/* Black space, locally illuminated geometry, and precise points without trails. */
:root { color-scheme: dark; background: #000; }
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
.network {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #000;
}
.geometry { position: absolute; top: 0; width: 51%; height: 100%; overflow: visible; pointer-events: none; }
.geometry--left { left: 0; }
.geometry--right { right: 0; }
/* Hidden until an empty (fully dark) SVG mask has been installed. */
.structure { visibility: hidden; }
.structure.is-lit { visibility: visible; }
.routes, .ambient-light { display: none; }
.structure path, .structure polygon { vector-effect: non-scaling-stroke; }
.depth-back, .spatial-back, .depth-mid, .depth-front, .technical, .matrix {
  fill: none;
  stroke: #9ed7eb;
  stroke-width: .75;
}
.depth-back { opacity: .22; filter: blur(.65px); transform: translate(18px, -12px) scale(.96); }
.spatial-back { opacity: .38; filter: blur(.35px); transform: translate(-12px, 16px) scale(.98); }
.depth-mid { opacity: .55; }
.depth-front { opacity: .85; stroke: #cef3ff; stroke-width: .9; }
.facets { opacity: 1; }
.spatial-faces { fill: #7ecbed; opacity: .075; }
.technical { opacity: .28; stroke-dasharray: 1 9 2 6; }
.matrix { opacity: .28; stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: .1 16; }
.nodes { fill: #d4f5ff; opacity: .95; filter: drop-shadow(0 0 2px #7bdcff); }
/* The wide light field exists only in a mask: no visible spotlight disc.
   The point itself is small and has a compact, circular bloom. */
.pulse { opacity: 0; }
.pulse__bloom { fill: #59ccff; opacity: .48; filter: blur(3px); }
.pulse__halo { fill: #b6f1ff; opacity: .85; filter: blur(1px); }
.pulse__core { fill: #f4fdff; }
@media (max-width: 600px) {
  .geometry { width: 68%; }
  .geometry--left { left: -15%; }
  .geometry--right { right: -15%; }
  .matrix, .technical { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pulse, .structure { display: none; }
}
