.hero-shell { pointer-events:none; }
.hero .copy { pointer-events:auto; }
.hero .copy { position:relative; z-index:3; }
.network-scene { position:absolute; inset:0; color:#fff; pointer-events:none; z-index:1; }
.network-stage { position:absolute; inset:0; width:100%; }
.network-scene button,.network-scene a { pointer-events:auto; z-index:2; }
.network-art { display:block; width:100%; height:100%; }
.network-routes path { stroke-dasharray:7 900; animation:network-travel 6s linear infinite; filter:drop-shadow(0 0 5px #ff3344); }
.network-routes path:nth-child(2) { animation-delay:-2s; }
.network-routes path:nth-child(3) { animation-delay:-4s; }
.radar-spin { opacity:.35; animation:network-sweep 24s linear infinite; }
.network-shield { transform-origin:1415px 325px; transition:filter .25s ease; filter:drop-shadow(0 0 3px #ef3345); animation:network-glow 6s ease-in-out infinite; }
.shield-sheen { animation:shield-sheen 12s ease-in-out infinite; }
.network-stage:has(.network-shield-hit:hover, .network-shield-hit:focus-visible) .network-shield { animation:none; filter:drop-shadow(0 0 9px #ff4655); }
.network-shield-hit { position:absolute; left:39%; top:23%; width:22%; height:38%; border:0; background:transparent; cursor:pointer; color:#fff; border-radius:6px; }
.network-shield-hit span { position:absolute; top:100%; left:50%; transform:translateX(-50%); padding:7px 12px; white-space:nowrap; background:#131517; border:1px solid #8e424a; border-radius:5px; font-size:13px; }
.network-marker { position:absolute; display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 13px; background:#111315; border:1px solid #b65360; border-radius:6px; color:#fff; font:600 13px Inter,sans-serif; cursor:pointer; }
.network-marker span { color:#ff5262; }
.network-marker:hover { border-color:#fff; background:#252124; }
.marker-feed { left:8%; top:28%; }
.marker-protection { right:3%; top:60%; }
.marker-appeals { left:12%; top:69%; }
.network-scene button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.network-footer { position:absolute; bottom:18px; right:24px; width:48%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 22px; color:#aab0b8; font-size:12px; }
.network-footer button { color:#d8dce2; background:#16181b; border:1px solid #626872; border-radius:5px; padding:8px 10px; cursor:pointer; }
.network-report { position:absolute; bottom:65px; right:24px; display:block; margin:12px 22px; padding:12px 16px; color:#fff; background:#40141c; border:1px solid #f24a5d; border-radius:6px; font-size:14px; }
.network-report[hidden] { display:none; }
.publication-ring { opacity:0; transform-origin:1415px 325px; }
.network-scene.new-publication .publication-ring { animation:publication-pulse 1.8s ease-out; }
.network-scene.motion-paused *,.network-scene.scene-hidden * { animation-play-state:paused !important; }
.network-scene.motion-paused .network-shield { transform:none !important; }
#network-dialog { width:min(440px,calc(100% - 32px)); max-height:85dvh; overflow:auto; margin:auto; padding:24px; border:1px solid #86444d; border-radius:8px; background:#101214; color:#fff; }
#network-dialog::backdrop { background:rgba(0,0,0,.75); }
.network-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.network-dialog-head h2 { margin:0; font-size:22px; }
#network-close { width:36px; height:36px; background:#25282d; color:#fff; border:1px solid #5e626b; border-radius:5px; cursor:pointer; font-size:24px; }
#network-dialog-body p { color:#c5cad2; margin:14px 0; line-height:1.6; }
#network-dialog-body dl { margin:0; }
#network-dialog-body dl div { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #303238; }
#network-dialog-body dd { font-weight:700; margin:0; }
#network-dialog-body a { display:inline-flex; padding:12px 18px; border-radius:6px; background:#dc293d; color:#fff; font-weight:600; }
@keyframes network-travel { to { stroke-dashoffset:-907; } }
@keyframes network-sweep { to { transform:rotate(360deg); } }
@keyframes network-glow { 50% { filter:drop-shadow(0 0 7px #ef3345); } }
@keyframes shield-sheen { 0%,65% { transform:translateX(0); } 85%,100% { transform:translateX(350px); } }
@keyframes publication-pulse { 0% { opacity:.8; transform:scale(.75); } 100% { opacity:0; transform:scale(1.45); } }
@media(max-width:1300px) {
  .hero { display:block !important; }
  .network-scene { position:relative; inset:auto; width:100%; padding:0 24px 24px; }
  .network-stage { position:relative; inset:auto; display:flex; flex-wrap:wrap; gap:10px; }
  .network-art { display:none; }
  .network-marker,.network-shield-hit { position:static; width:auto; height:auto; min-height:44px; padding:9px 13px; }
  .network-shield-hit { background:#131517; border:1px solid #8e424a; }
  .network-shield-hit span { position:static; transform:none; padding:0; border:0; background:none; }
  .network-footer { position:relative; bottom:auto; right:auto; width:auto; padding:18px 0 0; }
  .network-report { position:relative; bottom:auto; right:auto; margin:12px 0; }
}
@media(prefers-reduced-motion:reduce) { .network-scene * { animation:none !important; transition:none !important; } .network-shield { transform:none !important; } }
