*{margin:0;padding:0;box-sizing:border-box}:root{--bg-page:#eef1f5;--bg-base:#f6f7f9;--bg-panel:#fff;--bg-elevated:#fff;--bg-hover:rgba(16,22,35,.04);--bg-sunk:rgba(16,22,35,.045);--bg-glass:hsla(0,0%,100%,.9);--border:rgba(16,22,35,.1);--border-strong:rgba(16,22,35,.16);--text:#1c2127;--text-muted:#5f6b7c;--text-faint:#8f99a8;--text-label:#738091;--accent:#2d72d2;--accent-soft:rgba(45,114,210,.11);--on-accent:#fff;--glow:rgba(45,114,210,.1);--scrim:rgba(16,22,35,.38);--shadow:rgba(16,22,35,.14);--grid-line:rgba(16,22,35,.05);--plan-line:rgba(16,22,35,.22);--scroll-thumb:rgba(16,22,35,.16);--ok:#238551;--warn:#c87619;--bad:#cd4246;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--font-mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;--rail-l:316px;--rail-r:360px;--statusbar:30px;--radius:3px;color-scheme:light}:root[data-theme=dark]{--bg-page:#0b0f16;--bg-base:#14181f;--bg-panel:#171b22;--bg-elevated:#222834;--bg-hover:hsla(0,0%,100%,.045);--bg-sunk:hsla(0,0%,100%,.05);--bg-glass:rgba(20,24,31,.86);--border:hsla(0,0%,100%,.09);--border-strong:hsla(0,0%,100%,.14);--text:#e6eaf0;--text-muted:#9aa3b0;--text-faint:#6a7280;--text-label:#828d9d;--accent:#4c90f0;--accent-soft:rgba(76,144,240,.16);--on-accent:#0a0c10;--glow:rgba(76,144,240,.13);--scrim:rgba(0,6,12,.67);--shadow:rgba(0,0,0,.53);--grid-line:hsla(0,0%,100%,.035);--plan-line:hsla(0,0%,100%,.16);--scroll-thumb:hsla(0,0%,100%,.14);--ok:#32a467;--warn:#ec9a3c;--bad:#cd4246;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;color-scheme:dark}body,html{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-page);color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#deck-container{position:fixed;inset:0}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rail-scroll{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}.rail-scroll::-webkit-scrollbar{width:8px;height:8px}.rail-scroll::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px}.rail-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.rail-scroll::-webkit-scrollbar-track{background:transparent}.drow{transition:background 90ms ease}.drow:hover{background:var(--bg-hover)}.maplibregl-ctrl-bottom-right{bottom:calc(var(--statusbar) + 4px);right:8px}.maplibregl-ctrl-attrib.maplibregl-compact{background:var(--bg-glass)}.maplibregl-ctrl-attrib a,.maplibregl-ctrl-attrib-inner{color:var(--text-faint)!important;font-size:10px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--bg-sunk);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-page)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:2px solid var(--bg-page);border-radius:50%;background:var(--accent);cursor:pointer}@keyframes prismPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.9)}}@keyframes prismScan{0%{transform:translateY(-10%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(1000%);opacity:0}}@keyframes prismFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes prismDash{to{stroke-dashoffset:-1000}}.tier1-grid{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:44px 44px}@keyframes prismFloorIn{0%{opacity:0;transform:perspective(1400px) rotateX(46deg) scale(.92)}to{opacity:1;transform:perspective(1400px) rotateX(0deg) scale(1)}}.t1-planenter{animation:prismFloorIn .42s cubic-bezier(.22,1,.36,1) both;transform-origin:center 60%}@keyframes prismSweep{0%{transform:translateX(-60%);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateX(320%);opacity:0}}.t1-sweep{animation:prismSweep 1.1s ease-in-out .12s 1 both}@keyframes t1LiveRowIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}.t1-liverow{animation:t1LiveRowIn .34s ease}@media (prefers-reduced-motion:reduce){.t1-liverow,.t1-planenter,.t1-sweep{animation-duration:1ms!important}}