/* A conceptual network motif; animated traces represent connections, not telemetry. */
.network-hero{position:relative;isolation:isolate}
.network-hero:before{content:'';position:absolute;inset:30px 0 20px;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.16;mask-image:radial-gradient(ellipse at 85% 50%,#000 10%,transparent 66%)}
.network-hero:after{content:'';position:absolute;inset:10% 0 10% 48%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 7%,transparent),transparent 68%)}
.network-map{transform:none;position:relative;box-shadow:0 14px 42px #00000008}
.network-map .map-heading{position:relative}
.network-map .map-heading:before{content:'';position:absolute;top:-1px;left:22px;width:54px;height:2px;background:var(--accent)}
.network-map .map-line{opacity:.28;stroke-width:1.25}
.map-signals{opacity:0}.map-signal{stroke:var(--accent);stroke-width:2;stroke-linecap:round;fill:none;stroke-dasharray:7 93;stroke-dashoffset:7}
.network-map.motion-enabled .map-signals{opacity:.8}
.network-map.motion-enabled .map-signal{animation:network-trace 7s linear infinite}
.network-map.motion-enabled .signal-automation{animation-delay:-2.3s}
.network-map.motion-enabled .signal-systems{animation-delay:-4.6s}
.map-junction-ring{stroke:var(--accent);stroke-width:1;fill:none;opacity:.2}
.network-map .map-junction{r:4;opacity:.9}
.network-map .map-node{transition:stroke .2s,fill .2s}
.network-map a:hover .map-node,.network-map a:focus-visible .map-node{stroke:var(--accent);stroke-width:2;fill:var(--surface)}
.network-map a:focus-visible{outline:none}
.network-map .map-index{font-size:9px}
.network-map .map-text{font-size:13px}
.network-map .map-footer{gap:14px;min-height:62px}
.map-motion-toggle{display:inline-flex;gap:8px;align-items:center;min-height:32px;padding:4px 9px;font-size:10px;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:6px;white-space:nowrap}
.map-motion-toggle[hidden]{display:none}
.map-motion-toggle:hover{color:var(--text);border-color:var(--accent)}
.network-map .map-footer .map-motion-toggle span{font-size:12px;color:var(--accent)}
.network-map.motion-paused .map-signal{animation-play-state:paused}
@keyframes network-trace{0%{stroke-dashoffset:7;opacity:0}8%{opacity:.85}85%{opacity:.85}100%{stroke-dashoffset:-100;opacity:0}}
@media(max-width:700px){.network-hero:before{background-size:36px 36px;inset:45% 0 0;mask-image:radial-gradient(ellipse at 50% 75%,#000,transparent 72%)}.network-hero:after{inset:50% 0 0}.network-map .map-footer{padding:16px}.network-map .map-text{font-size:14px}}
@media(prefers-reduced-motion:reduce){.network-map.motion-enabled .map-signal{animation:none}.network-map .map-signals{opacity:0}.map-motion-toggle{display:none}.network-map .map-node{transition:none}}
