/* The network perspective — self-contained, responsive scientific illustrations. */
.network-viz{--nv-ink:#ebf6f4;--nv-muted:#adc1cc;--nv-aqua:#79e1d9;--nv-amber:#ffbc79;position:relative;isolation:isolate;margin:36px 0 44px;background:#0a1b2b;color:var(--nv-ink);border:1px solid #264451;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px -36px #0a273f70;text-align:left}
.network-viz::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 20% 20%,#163c4740,transparent 62%),linear-gradient(135deg,#102b350a,#08182430);pointer-events:none}
.network-viz button{font:inherit;cursor:pointer}.network-viz button:focus-visible{outline:2px solid var(--nv-amber);outline-offset:5px}.network-viz [hidden]{display:none!important}
.nv-toolbar{min-height:77px;padding:17px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #29414c80}
.nv-tabs{display:flex;gap:6px}.nv-tab{display:flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid transparent;border-radius:7px;background:transparent;color:#b5c9d3;font-size:14px!important;font-weight:550!important;line-height:1.4;transition:background .2s,color .2s,border-color .2s}
.nv-tab span{font-size:10px;font-weight:450;letter-spacing:.06em;color:#77929f}.nv-tab:hover{background:#193542;color:white}.nv-tab[aria-selected=true]{background:#153e46;border-color:#326269;color:#b3f9ec}.nv-tab[aria-selected=true] span{color:#7bddcc}
.nv-series{color:#8ab7be;font-size:10px;font-weight:600;letter-spacing:.18em}.nv-play{flex-shrink:0;display:flex;align-items:center;gap:8px;background:transparent;color:#b8cbd4;border:1px solid #3a5360;border-radius:6px;padding:7px 11px;font-size:11px!important;line-height:1.4;min-height:33px}
.nv-play:hover{border-color:#7ac2c3;color:white}.nv-play-icon{display:block;width:9px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}.nv-paused .nv-play-icon{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;border-right:0}
.nv-panel{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(245px,1fr);align-items:center;gap:8px;padding:8px 35px 18px 12px;min-height:406px}
.nv-art{min-width:0}.nv-map{display:block;width:100%;height:auto;overflow:visible}.nv-map text{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#8eaebd;font-size:10px;font-weight:500;letter-spacing:.09em}
.nv-orbits{stroke-width:.6;opacity:.5}.nv-brain{stroke:#72a4ad;stroke-width:1.1;stroke-opacity:.52}.nv-folds{stroke:#6c9ba5;stroke-width:.8;opacity:.39}.nv-links{stroke:#82e1d9;stroke-linecap:round}.nv-node-aura{fill:#63e2d2}.nv-node-ring{fill:none;stroke:#8ce8db;stroke-width:.9}.nv-node-core{fill:#b1f7e9;stroke:#d1fff6;stroke-width:.6}.nv-target-ring{fill:none;stroke:#ffbc79;stroke-width:1.2;opacity:.72}.nv-target-wave{fill:none;stroke:#ffbc79;stroke-width:1.5;opacity:0}.nv-impulse-glow{fill:#86ffdd;opacity:.18}.nv-impulse-core{fill:#c6ffed}.nv-impulse-target .nv-impulse-glow{fill:#ffbc79;opacity:.25}.nv-impulse-target .nv-impulse-core{fill:#ffd7ad}
.nv-target-label{fill:none;stroke:var(--nv-amber);stroke-width:.8;opacity:.9}.nv-target-label text{fill:var(--nv-amber);stroke:none;font-size:9px;letter-spacing:.16em}.nv-target-label circle{fill:var(--nv-amber)}
.nv-chart-axis{fill:none;stroke:#547280;stroke-width:.6;opacity:.55}.nv-trace{fill:none;stroke-width:1.5;stroke-linecap:round}.nv-trace-second{opacity:.6}.nv-chart text{font-size:8px;letter-spacing:.18em;fill:#80a7b6}
.nv-task-timeline{display:none}.nv-timeline-line{stroke:#547582;stroke-width:.8}.nv-task-zero{stroke:#93d8d0;stroke-width:1.5}.nv-task-timeline text{font-size:10px}.nv-timing-marker path{fill:var(--nv-amber);stroke:var(--nv-amber);stroke-width:1.2}.nv-timing-marker text{fill:var(--nv-amber);font-size:10px;letter-spacing:.13em}
.nv-observation-label circle{fill:#79e1d9}.nv-observation-label text{font-size:9px;letter-spacing:.04em;fill:#9cbdc8}.nv-art-footer{display:flex;align-items:center;gap:9px;padding:0 23px 10px 26px;color:#aac7d1;font-size:10px;line-height:1.4;min-height:25px}.nv-phase-dot{height:4px;width:4px;flex-shrink:0;border-radius:50%;background:var(--nv-aqua);box-shadow:0 0 10px #79e1d950}.nv-schematic{margin-left:auto;font-size:8px;letter-spacing:.16em;color:#6f929f}
.nv-copy{padding:25px 0 25px 15px;max-width:430px}.network-viz .nv-eyebrow{margin:0 0 15px;color:var(--nv-aqua);font-size:10px;line-height:1.4;letter-spacing:.17em;text-transform:uppercase;font-weight:600}.network-viz .nv-title{color:#eef8f6;font-size:clamp(25px,2.65vw,36px);font-weight:500;line-height:1.15;letter-spacing:-.045em;margin:0 0 18px;max-width:360px;text-wrap:balance}.network-viz .nv-description{color:#c2d3da;font-size:14px;line-height:1.75;margin:0 0 14px}.network-viz .nv-detail{color:#91acb9;font-size:11px;line-height:1.7;margin:0 0 18px;max-width:330px}
.nv-timing{border:0;padding:0;margin:23px 0 19px}.nv-timing legend{padding:0;margin:0 0 9px;color:#99b2bd;font-size:10px;letter-spacing:.05em}.nv-timing>div{display:flex;gap:7px}.nv-timing button{min-width:68px;padding:8px 11px;border:1px solid #3c5762;border-radius:5px;background:transparent;color:#bccdd5;font-size:13px;font-weight:600;line-height:1.4}.nv-timing button span{font-size:10px;font-weight:450;opacity:.8}.nv-timing button:hover{border-color:#d19965}.nv-timing button[aria-pressed=true]{background:#ffbc7914;border-color:#b17f50;color:#ffd3a7}
.nv-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:9px;color:#9ab8c4;line-height:1.5}.nv-legend>span{display:flex;align-items:center;gap:7px}.nv-legend i{display:inline-block;width:6px;height:6px;background:#8ce8db;border-radius:50%;box-shadow:0 0 0 3px #8ce8db13}.nv-legend-pulse i{background:var(--nv-amber);box-shadow:0 0 0 3px #ffbc791a}
.network-viz .nv-caption{padding:15px 27px 16px;margin:0;border-top:1px solid #29414c80;color:#a5bcc7;font-size:11px;line-height:1.7;max-width:none;background:#05131d25}
.network-viz[data-network-mode=connectivity] .nv-target-label,.network-viz[data-network-mode=connectivity] .nv-target-ring,.network-viz[data-network-mode=connectivity] .nv-target-wave,.network-viz[data-network-mode=connectivity] .nv-legend-pulse{display:none}
.network-viz[data-network-mode=chrono] .nv-task-timeline{display:block}.network-viz[data-network-mode=chrono] .nv-observation-label{display:none}.network-viz:not([data-network-mode=connectivity]) [data-nv-node="0"] .nv-node-core{fill:#ffcc98;stroke:#ffe1bf}.network-viz:not([data-network-mode=connectivity]) [data-nv-node="0"] .nv-node-aura{fill:#ffbc79}.network-viz:not([data-network-mode=connectivity]) [data-nv-node="0"] .nv-node-ring{stroke:#ffbc79}
@media(min-width:1450px){.nv-panel{min-height:440px}.nv-copy{padding-right:12px}}
@media(max-width:900px){.nv-panel{grid-template-columns:minmax(0,1.25fr) minmax(220px,1fr);gap:0;padding:10px 25px 15px 2px}.nv-copy{padding-left:10px}.network-viz .nv-title{font-size:29px}.nv-chart{opacity:.65}.nv-art-footer{padding-inline:20px}.nv-schematic{display:none}}
@media(max-width:680px){.network-viz{border-radius:12px;margin:28px 0 34px}.nv-toolbar{padding:14px;min-height:65px;gap:10px}.nv-tabs{gap:3px}.nv-tab{padding:8px 9px;gap:5px;font-size:12px!important}.nv-tab span{font-size:8px}.nv-play{padding:7px 9px}.nv-play-label{display:none}.nv-series{font-size:9px}.nv-panel{grid-template-columns:1fr;padding:0 22px 22px;gap:0}.nv-art{margin-inline:-17px}.nv-map{margin-top:-1px}.nv-art-footer{padding:0 17px 9px;font-size:10px}.nv-schematic{display:block}.nv-copy{padding:23px 0 3px;border-top:1px solid #2d495670;max-width:none}.network-viz .nv-eyebrow{font-size:9px;margin-bottom:11px}.network-viz .nv-title{font-size:30px;max-width:440px;margin-bottom:14px}.network-viz .nv-description{font-size:13px;max-width:500px}.network-viz .nv-detail{font-size:11px;max-width:500px}.nv-legend{font-size:10px}.nv-timing{margin-block:19px 16px}.nv-timing button{padding:10px 15px;min-width:79px}.network-viz .nv-caption{padding:13px 22px;font-size:10px}.nv-chart{opacity:1}}
@media(prefers-reduced-motion:reduce){.network-viz *{transition:none!important}}
@media print{.network-viz{break-inside:avoid;box-shadow:none}.nv-play,.nv-tabs{display:none}.nv-panel{grid-template-columns:1.5fr 1fr}.network-viz{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
