.explorer-page{background:#05111b}
.explorer-header{position:sticky}.explorer-nav{display:flex;align-items:center;gap:20px;color:#9bb3bf;font-size:.84rem}.explorer-nav a:hover{color:#fff}
.explorer-hero{min-height:720px;display:grid;grid-template-columns:1fr .9fr;gap:64px;align-items:center;padding:74px 0 70px}.explorer-hero h1{font-size:clamp(4.5rem,8.2vw,8.6rem);line-height:.84;letter-spacing:-.072em;margin:0 0 28px}.explorer-hero h1 span{color:var(--mint)}.explorer-lead{font-size:1.14rem;color:#afc5cf;max-width:720px;margin:0}.explorer-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.truth-note{margin-top:30px;border-left:2px solid var(--orange);padding:13px 0 13px 17px;color:#7f9aa7;max-width:720px;font-size:.88rem}.truth-note strong,.truth-note b{color:#d9e9ef}
.hero-orbit{position:relative;height:520px;border:1px solid rgba(114,220,255,.14);border-radius:28px;background:radial-gradient(circle at 50% 50%,rgba(57,207,189,.12),transparent 34%),rgba(7,26,38,.68);overflow:hidden}.hero-orbit svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-orbit svg path,.hero-orbit svg circle{fill:none;stroke:rgba(114,220,255,.18);stroke-width:1.4;stroke-dasharray:7 9}.orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-items:center;align-content:center;z-index:2;text-align:center;border:1px solid rgba(98,237,185,.42);background:radial-gradient(circle,rgba(19,77,72,.94),rgba(7,27,38,.98));box-shadow:0 0 70px rgba(57,207,189,.12)}.orbit-center span{font-size:.62rem;letter-spacing:.18em;color:var(--mint);font-weight:900}.orbit-center strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;margin-top:7px}.orbit-center small{color:#74919e;margin-top:4px}.orbit-card{position:absolute;z-index:2;width:170px;padding:15px;border:1px solid rgba(114,220,255,.16);border-radius:13px;background:rgba(5,20,30,.9)}.orbit-card b{display:block;font-size:.75rem;letter-spacing:.12em}.orbit-card span{font-size:.68rem;color:#718e9d}.o1{left:35px;top:55px}.o2{right:35px;top:55px}.o3{left:35px;bottom:55px}.o4{right:35px;bottom:55px}
.explorer-proof{border-block:1px solid rgba(114,220,255,.1);background:rgba(7,27,39,.62)}.explorer-proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.explorer-proof-grid>div{padding:23px 22px;border-right:1px solid rgba(114,220,255,.09)}.explorer-proof-grid>div:first-child{padding-left:0}.explorer-proof-grid>div:last-child{border-right:0}.explorer-proof strong{display:block;font-size:.84rem}.explorer-proof span{display:block;color:#6d8b99;font-size:.7rem;margin-top:3px}
.episode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.episode-card{display:grid;grid-template-columns:58px 1fr auto;gap:17px;align-items:start;min-height:156px;padding:20px;border:1px solid rgba(114,220,255,.12);border-radius:17px;background:linear-gradient(145deg,rgba(10,33,46,.78),rgba(5,20,29,.76))}.episode-card.featured{border-color:rgba(98,237,185,.34);box-shadow:inset 0 2px 0 rgba(98,237,185,.4)}.episode-no{font-size:2rem;line-height:1;color:#577888;font-weight:850;letter-spacing:-.04em}.episode-card b{display:block;font-size:1.05rem}.episode-card p{color:#7895a3;font-size:.79rem;margin:7px 0 0;max-width:560px}.episode-card a{display:inline-block;color:var(--mint);font-size:.73rem;font-weight:800;margin-top:11px}.evidence{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 8px;border-radius:999px;border:1px solid rgba(114,220,255,.18);font-size:.58rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}.evidence.simulated{color:#c8a8ff;border-color:rgba(200,168,255,.3);background:rgba(157,111,220,.08)}.evidence.target{color:var(--cyan);border-color:rgba(114,220,255,.28);background:rgba(114,220,255,.06)}.evidence.pass{color:var(--mint);border-color:rgba(98,237,185,.3);background:rgba(98,237,185,.06)}.evidence.fail{color:var(--danger);border-color:rgba(255,116,116,.3);background:rgba(255,116,116,.06)}.evidence.automated{color:#9fd1ff;border-color:rgba(97,174,248,.3);background:rgba(97,174,248,.06)}.evidence.not-proven{color:#a7b1b7;border-color:rgba(167,177,183,.25);background:rgba(167,177,183,.05)}
.explorer-player-section{background:#06141f;border-block:1px solid rgba(114,220,255,.08)}.player-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;max-width:none}.source-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:390px}.source-chip,.protocol-chip{padding:7px 9px;border:1px solid rgba(114,220,255,.14);border-radius:999px;color:#72909e;font-size:.6rem;font-weight:850;letter-spacing:.08em}.protocol-chip{color:#93bdca}
.player-shell{border:1px solid rgba(114,220,255,.16);border-radius:22px;background:#071a27;overflow:hidden;box-shadow:0 26px 90px rgba(0,0,0,.24)}.player-toolbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid rgba(114,220,255,.1);background:#0a2130}.mode-switch{display:flex;gap:5px;padding:4px;border:1px solid rgba(114,220,255,.12);border-radius:999px;background:#061721}.mode-btn{border:0;border-radius:999px;background:transparent;color:#7694a2;padding:8px 13px;font-size:.68rem;font-weight:900;letter-spacing:.08em}.mode-btn.active{background:linear-gradient(110deg,var(--cyan),var(--mint));color:#052934}.scenario-actions{display:flex;gap:7px;align-items:center}.file-action,.tiny-button{border:1px solid rgba(114,220,255,.14);border-radius:999px;background:rgba(114,220,255,.03);color:#91aab5;padding:8px 11px;font-size:.67rem;font-weight:800}.file-action{cursor:pointer}.file-action input{display:none}.tiny-button{cursor:pointer}
.player-main{display:grid;grid-template-columns:1fr 330px;min-height:620px}.topology-panel{position:relative;min-width:0;border-right:1px solid rgba(114,220,255,.1);padding:20px}.topology-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.topology-head strong{display:block;font-size:.92rem;margin-top:3px}.topology-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;color:#668594;font-size:.62rem}.topology-legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;background:#648693}.dot.mesh{background:var(--teal)}.dot.wan{background:var(--cyan)}.dot.response{background:var(--orange)}
.topology-svg{width:100%;min-height:455px;margin-top:4px;overflow:visible}.topology-svg .edge{stroke:#376479;stroke-width:2;fill:none}.topology-svg .logical-edge{stroke:#31576a;stroke-width:1.4;stroke-dasharray:6 8;fill:none;opacity:.7}.topology-svg .node-shape{fill:#0c2736;stroke:#56899d;stroke-width:1.6}.topology-svg .node.gateway .node-shape{fill:#103c43;stroke:var(--mint);stroke-width:2.1}.topology-svg .node.cloud .node-shape{fill:#0d2d41;stroke:var(--cyan);stroke-width:2}.topology-svg .node.organizer .node-shape{fill:#2d271f;stroke:var(--orange)}.topology-svg .node.origin .node-shape{stroke:#c8a8ff;stroke-width:2.2}.topology-svg .node.active .node-shape{filter:drop-shadow(0 0 8px rgba(114,220,255,.7));stroke:#fff}.topology-svg .node-title{fill:#e8f7fd;font-size:12px;font-weight:850}.topology-svg .node-meta{fill:#6f8d9c;font-size:8px;font-weight:700}.topology-svg .wan-badge{fill:#093329;stroke:#3fcc9e}.topology-svg .wan-text{fill:#8bf0c9;font-size:7px;font-weight:900}.topology-svg .flow-line{stroke:var(--cyan);stroke-width:4;stroke-linecap:round;stroke-dasharray:11 9;animation:dashflow 1.2s linear infinite;filter:drop-shadow(0 0 4px rgba(114,220,255,.45))}.topology-svg .flow-line.mesh{stroke:var(--teal)}.topology-svg .flow-line.response{stroke:var(--orange)}.topology-svg .packet{fill:#fff;filter:drop-shadow(0 0 7px currentColor)}@keyframes dashflow{to{stroke-dashoffset:-40}}
.milestone-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border-top:1px solid rgba(114,220,255,.08);padding-top:14px}.milestone{padding:9px;border-radius:10px;border:1px solid rgba(114,220,255,.09);background:rgba(4,17,26,.55)}.milestone b{display:block;font-size:.59rem}.milestone span{display:block;font-size:.55rem;color:#637f8d;margin-top:3px}.milestone.done{border-color:rgba(98,237,185,.26);background:rgba(98,237,185,.04)}.milestone.done b{color:var(--mint)}
.inspector-panel{background:#081e2c;padding:20px;display:grid;align-content:start;gap:12px}.inspector-block{padding:15px;border:1px solid rgba(114,220,255,.09);border-radius:13px;background:rgba(5,20,30,.52)}.inspector-block h3{font-size:1.12rem;margin:8px 0 7px}.inspector-block p{font-size:.78rem;color:#819ca8;margin:0}.evidence-block{display:grid;gap:8px}.evidence-block .evidence{justify-self:start}.engineer-only{display:none}.player-shell[data-mode="engineer"] .engineer-only{display:block}.player-shell[data-mode="engineer"] #story-copy{color:#9bb2bd}.engineer-data,.passport dl,#message-passport{margin:10px 0 0;display:grid;grid-template-columns:1fr;gap:7px}.engineer-data>div,#message-passport>div{display:grid;grid-template-columns:110px 1fr;gap:8px;border-top:1px solid rgba(114,220,255,.07);padding-top:7px}.engineer-data>div:first-child,#message-passport>div:first-child{border-top:0;padding-top:0}.engineer-data dt,#message-passport dt{font-size:.61rem;color:#65828f}.engineer-data dd,#message-passport dd{margin:0;font-size:.63rem;color:#b8ced7;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.passport{border-color:rgba(98,237,185,.12)}
.timeline-shell{padding:16px 18px 18px;border-top:1px solid rgba(114,220,255,.1);background:#061721}.timeline-row{display:flex;align-items:center;gap:8px}.transport-button,.play-button{border:1px solid rgba(114,220,255,.15);background:#0b2635;color:#dff5ff;border-radius:9px;height:36px;min-width:36px}.play-button{background:linear-gradient(110deg,var(--cyan),var(--mint));color:#052934;border:0;font-weight:900}.time-label{color:#88a4b0;font-size:.7rem;margin-left:5px}.speed-select{margin-left:auto;border:1px solid rgba(114,220,255,.14);background:#0a2230;color:#d6e8ee;border-radius:9px;padding:7px 9px;font-size:.7rem}.timeline{width:100%;margin:15px 0 4px;accent-color:var(--mint)}.timeline-events{position:relative;height:16px}.timeline-mark{position:absolute;top:2px;width:4px;height:9px;border-radius:4px;background:#416c7e;transform:translateX(-50%)}.timeline-mark.major{height:13px;background:var(--mint)}
.pipeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center}.pipeline>div{min-height:105px;padding:16px;border:1px solid rgba(114,220,255,.12);border-radius:13px;background:rgba(8,29,42,.62)}.pipeline b{display:block;font-size:.82rem}.pipeline span{display:block;color:#6e8c9a;font-size:.67rem;margin-top:6px}.pipeline i{font-style:normal;color:#507d90}.guardrail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.guardrail-grid>div{padding:16px;border:1px solid rgba(255,157,77,.14);border-radius:12px;background:rgba(255,157,77,.025)}.guardrail-grid strong{display:block;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.guardrail-grid span{display:block;color:#8ea4ae;font-size:.68rem;margin-top:5px}
.explorer-replay{background:linear-gradient(180deg,#06131e,#081d29);border-top:1px solid rgba(114,220,255,.08)}.replay-grid{display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center}.replay-card{padding:26px;border:1px solid rgba(114,220,255,.15);border-radius:18px;background:rgba(5,20,30,.64)}.evidence-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 18px}.replay-card p{color:#7895a3;font-size:.82rem}.explorer-footer{width:min(var(--max),calc(100% - 56px));margin:auto;padding:34px 0 45px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;color:#688594;font-size:.74rem}.explorer-footer>a:last-child{color:#a7bdc7}
@media(max-width:1100px){.explorer-hero{grid-template-columns:1fr}.hero-orbit{height:480px}.player-main{grid-template-columns:1fr}.topology-panel{border-right:0;border-bottom:1px solid rgba(114,220,255,.1)}.inspector-panel{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:1fr}.pipeline i{transform:rotate(90deg);text-align:center}.replay-grid{grid-template-columns:1fr}.guardrail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.explorer-nav a:not(.nav-cta){display:none}.explorer-hero{padding:55px 0}.explorer-hero h1{font-size:clamp(4rem,16vw,6.5rem)}.episode-grid{grid-template-columns:1fr}.player-heading{display:block}.source-stack{justify-content:flex-start;margin-top:18px}.player-toolbar{align-items:flex-start;flex-direction:column}.scenario-actions{width:100%;flex-wrap:wrap}.topology-svg{min-height:390px}.inspector-panel{grid-template-columns:1fr}.milestone-rail{grid-template-columns:1fr 1fr}.guardrail-grid{grid-template-columns:1fr}.explorer-proof-grid{grid-template-columns:1fr 1fr}.explorer-proof-grid>div:nth-child(2){border-right:0}.explorer-footer{grid-template-columns:1fr}.episode-card{grid-template-columns:48px 1fr}.episode-card>.evidence{grid-column:2;justify-self:start}}
@media(max-width:560px){.explorer-hero h1{font-size:clamp(3.45rem,18vw,4.8rem)}.hero-orbit{height:430px}.orbit-card{width:132px;padding:11px}.o1,.o3{left:14px}.o2,.o4{right:14px}.orbit-center{width:155px;height:155px}.explorer-proof-grid{grid-template-columns:1fr}.explorer-proof-grid>div{border-right:0;border-bottom:1px solid rgba(114,220,255,.08);padding-left:0}.episode-card{padding:16px}.topology-panel{padding:12px}.topology-head{display:block}.topology-legend{justify-content:flex-start;margin-top:9px}.topology-svg{min-height:330px}.milestone-rail{grid-template-columns:1fr}.timeline-row{flex-wrap:wrap}.time-label{width:100%;order:5;margin:4px 0 0}.speed-select{margin-left:auto}.explorer-footer{width:calc(100% - 28px)}}

/* Narrator preview */
.narrator-file-action{border-color:rgba(98,237,185,.28);color:#bcebd8}
.narrator-toggle[aria-pressed="true"]{border-color:rgba(98,237,185,.3);color:var(--mint);background:rgba(98,237,185,.06)}
.narrator-status{font-size:.62rem;color:#708e9c;align-self:center;max-width:180px}
.narration-strip{margin:0 0 14px;padding:14px 16px;border:1px solid rgba(98,237,185,.16);border-radius:12px;background:linear-gradient(100deg,rgba(14,54,52,.28),rgba(5,20,30,.35))}
.narration-meta{display:flex;justify-content:space-between;gap:16px;color:var(--mint);font-size:.61rem;font-weight:900;letter-spacing:.11em}
.narration-strip p{margin:7px 0 0;color:#c3d5dc;font-size:.86rem;line-height:1.48;min-height:2.6em}
.engineer-only-control{display:none}
.player-shell[data-mode="engineer"] .engineer-only-control{display:inline-flex}
@media(max-width:820px){.narrator-status{max-width:none;width:100%}.narration-strip p{font-size:.8rem}}

/* Episode narration shelf */
.episode-play{margin-top:12px;border:0;background:transparent;color:var(--mint);font:inherit;font-size:.73rem;font-weight:850;padding:0;cursor:pointer}
.episode-play:hover{color:#fff}
.episode-card.is-playing{border-color:rgba(98,237,185,.38);box-shadow:inset 0 2px 0 rgba(98,237,185,.36),0 12px 34px rgba(0,0,0,.12)}
.episode-listener{position:sticky;bottom:0;z-index:20;padding:0 0 14px;pointer-events:none}
.episode-listener-card{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;align-items:center;padding:16px 18px;border:1px solid rgba(98,237,185,.24);border-radius:16px;background:rgba(5,20,30,.96);box-shadow:0 18px 55px rgba(0,0,0,.38);backdrop-filter:blur(14px)}
.episode-listener-card h3{margin:3px 0 4px;font-size:1rem}
.episode-listener-card p{margin:0;color:#83a0ad;font-size:.76rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.episode-listener-controls{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center}
#episode-listener-range{width:100%;accent-color:var(--mint)}
#episode-listener-time{font-size:.68rem;color:#8aa6b3;white-space:nowrap}
@media(max-width:820px){.episode-listener-card{grid-template-columns:1fr}.episode-listener-controls{grid-template-columns:auto 1fr auto}.episode-listener-controls #episode-listener-range{grid-column:1/-1;grid-row:2}.episode-listener-card p{-webkit-line-clamp:3}}


/* synchronized STORY visuals */
.episode-listener-card-visual{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);grid-template-areas:"copy visual" "controls controls";gap:18px 24px;align-items:start}
.episode-listener-copy{grid-area:copy;padding:4px 0}
.episode-listener-visual{grid-area:visual;min-height:300px;border:1px solid rgba(114,220,255,.13);border-radius:18px;background:radial-gradient(circle at 50% 25%,rgba(87,224,193,.07),transparent 42%),rgba(3,13,21,.52);overflow:hidden}
.episode-listener-controls{grid-area:controls}
.episode-visual-placeholder{min-height:300px;display:grid;place-items:center;color:#6f8a97;font-size:.78rem;padding:24px;text-align:center}
.episode-visual-head{padding:14px 16px 4px;display:flex;gap:8px;flex-direction:column}
.episode-visual-head strong{font-size:.92rem;color:#e7f4f8}
.episode-visual-head span{font-size:.72rem;line-height:1.45;color:#819aa6;max-width:760px}
.episode-visual-svg{display:block;width:100%;height:auto;min-height:238px}
.episode-edge{fill:none;stroke:rgba(109,146,161,.34);stroke-width:2.5;stroke-linecap:round}
.episode-edge.mesh-active,.episode-edge.wan-active{stroke:var(--mint);stroke-dasharray:10 8;animation:episode-flow 1.05s linear infinite}
.episode-edge.wan-active{stroke:#72dcff}
.episode-edge.mesh-soft,.episode-edge.wan-soft,.episode-edge.scan{stroke:#d3a95c;stroke-dasharray:6 8;animation:episode-flow 1.7s linear infinite}
.episode-edge.wan-dead,.episode-edge.dead{stroke:#ff796d;stroke-dasharray:3 8}
.episode-edge.role-link{stroke:#b28cff;stroke-dasharray:8 7;animation:episode-flow 1.4s linear infinite}
@keyframes episode-flow{to{stroke-dashoffset:-36}}
.edge-label{font-size:10px;fill:#9cb2bc;paint-order:stroke;stroke:#06121b;stroke-width:4px;stroke-linejoin:round}
.device-shell{fill:#0b1d28;stroke:#527182;stroke-width:2}
.device-screen{fill:#07131c;stroke:rgba(114,220,255,.18);stroke-width:1}
.device-detail{fill:#527182}.device-title{font-size:11px;fill:#bcd0d9;font-weight:650}
.screen-text{font-size:10px;fill:#7ef0cf;font-weight:750;letter-spacing:.02em}
.gateway-antenna,.tower-cross{stroke:#698696;stroke-width:3;stroke-linecap:round}.gateway-led{fill:#70e0c5}
.cloud-shape{fill:#0d2230;stroke:#72dcff;stroke-width:2}.cloud-title{font-size:11px;fill:#bfeafa;font-weight:700}
.laptop-base{fill:#132c3a;stroke:#527182;stroke-width:1.5}.tower-mast{fill:#0d2230;stroke:#617f8f;stroke-width:2}
.tower-wave{fill:none;stroke:#ff796d;stroke-width:2;stroke-dasharray:4 5;animation:episode-pulse 1.5s ease-in-out infinite}
@keyframes episode-pulse{50%{opacity:.3}}
@media(max-width:900px){.episode-listener-card-visual{grid-template-columns:1fr;grid-template-areas:"copy" "visual" "controls"}.episode-listener-visual{min-height:260px}.episode-visual-svg{min-height:210px}}
@media(max-width:560px){.episode-listener-card-visual{padding:12px}.episode-listener-visual{border-radius:14px;overflow-x:auto}.episode-visual-svg{width:720px;max-width:none}.episode-visual-head{position:sticky;left:0;max-width:calc(100vw - 52px)}}


/* practical device silhouettes in episode 03 */
.topology-svg .phone-shell{fill:#0a1c27;stroke:#58798a;stroke-width:2}
.topology-svg .phone-screen{fill:#06131c;stroke:rgba(114,220,255,.22);stroke-width:1}
.topology-svg .phone-speaker{fill:#58798a}
.topology-svg .phone-screen-text{font-size:9px;fill:#7ef0cf;font-weight:800;letter-spacing:.04em}
.topology-svg .phone-screen-subtext{font-size:6.7px;fill:#9bb8c4;font-weight:700;letter-spacing:.02em}
.topology-svg .node.origin .phone-shell{stroke:#ff9c69;stroke-width:2.6}
.topology-svg .node.active .phone-shell,.topology-svg .node.active .gateway-shell,.topology-svg .node.active .operator-screen{filter:drop-shadow(0 0 10px rgba(126,240,207,.28));stroke:var(--mint)}
.topology-svg .gateway-shell{fill:#0b1f2b;stroke:#597b8c;stroke-width:2}
.topology-svg .gateway-antenna{stroke:#7692a1;stroke-width:2.5;stroke-linecap:round}
.topology-svg .gateway-led{fill:#70e0c5}
.topology-svg .cloud-node-shape{fill:#0d2230;stroke:#72dcff;stroke-width:2}
.topology-svg .operator-screen{fill:#102632;stroke:#58798a;stroke-width:2}
.topology-svg .operator-screen-inner{fill:#07151e;stroke:rgba(114,220,255,.16);stroke-width:1}
.topology-svg .operator-base{fill:#173340;stroke:#58798a;stroke-width:1.5}
.topology-svg .device-caption{font-size:10px}


/* Explorer interactive episode controls + anchored SOS evidence badges */
.topology-svg .graph-status-badge{fill:#0a2530;stroke:#69d8bd;stroke-width:1.2}
.topology-svg .graph-status-text{fill:#bff5e6;font-size:7.2px;font-weight:900;letter-spacing:.045em}
.topology-svg .graph-status.cloud .graph-status-badge{fill:#0a2738;stroke:#72dcff}
.topology-svg .graph-status.cloud .graph-status-text{fill:#c5efff}
.topology-svg .graph-status.gateway .graph-status-badge{fill:#0b2b29;stroke:#62edb9}
.topology-svg .graph-status.origin .graph-status-badge{fill:#332119;stroke:#ff9c69}
.topology-svg .graph-status.origin .graph-status-text{fill:#ffd2bd}
.topology-svg .graph-status.response .graph-status-badge{fill:#34251b;stroke:#ff9d4d}
.topology-svg .graph-status.response .graph-status-text{fill:#ffd8b8}

.episode-listener-card-visual{grid-template-areas:"copy visual" "steps steps" "controls controls"}
.episode-listener-steps{grid-area:steps;display:flex;gap:7px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}
.episode-step-chip{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(130px,220px);gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid rgba(114,220,255,.12);border-radius:11px;background:rgba(6,23,33,.82);color:#7f9ba8;cursor:pointer}
.episode-step-chip span{font-size:.58rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#587c8d}
.episode-step-chip b{font-size:.65rem;line-height:1.25;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.episode-step-chip:hover{border-color:rgba(114,220,255,.32);color:#d9eef5}
.episode-step-chip.active{border-color:rgba(98,237,185,.42);background:rgba(98,237,185,.075);color:#dffbf1;box-shadow:inset 0 2px 0 rgba(98,237,185,.36)}
.episode-step-chip.active span{color:var(--mint)}
.episode-listener-controls{grid-template-columns:auto auto auto auto auto minmax(160px,1fr) auto}
.episode-listener-step{font-size:.65rem;color:var(--mint);white-space:nowrap}
.episode-step-button:disabled{opacity:.35;cursor:not-allowed}

.episode-device.interactive{cursor:pointer;outline:none;transition:filter .16s ease,opacity .16s ease}
.episode-device.interactive:hover,.episode-device.interactive:focus{filter:drop-shadow(0 0 8px rgba(114,220,255,.42))}
.episode-device.interactive.selected{filter:drop-shadow(0 0 11px rgba(98,237,185,.7))}
.episode-visual-inspector{margin:0 14px 14px;padding:10px 12px;border:1px solid rgba(114,220,255,.1);border-radius:11px;background:rgba(5,20,30,.68);display:grid;gap:3px}
.episode-visual-inspector strong{font-size:.7rem;color:#dceef4}
.episode-visual-inspector span{font-size:.64rem;line-height:1.4;color:#7894a1}

@media(max-width:900px){
  .episode-listener-card-visual{grid-template-areas:"copy" "visual" "steps" "controls"}
  .episode-listener-controls{grid-template-columns:auto auto auto 1fr auto}
  .episode-listener-step{grid-column:1/3;grid-row:2}
  #episode-listener-time{grid-column:3/5;grid-row:2}
  .episode-listener-controls #episode-listener-range{grid-column:1/-1;grid-row:3}
}
@media(max-width:560px){
  .episode-step-chip{grid-template-columns:auto minmax(118px,170px)}
  .episode-listener-controls{grid-template-columns:auto auto auto auto}
  .episode-listener-step{grid-column:1/3;grid-row:2}
  #episode-listener-time{grid-column:3/5;grid-row:2;text-align:right}
  .episode-listener-controls #episode-listener-range{grid-column:1/-1;grid-row:3}
  #episode-listener-close{grid-column:1/-1;grid-row:4;justify-self:end}
}
