:root,:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--surface: #181818;--surface-2: #202020;--surface-3: #313131;--line: #313131;--line-strong: rgba(255, 255, 255, .5);--text: #ffffff;--text-2: #f5f5f5;--muted: #969696;--accent: #ffc000;--accent-hover: #917300;--accent-text: #ffce3e;--on-accent: #000000;--info: #29abe2;--signal: #1ec8ff;--signal-halo: rgba(30, 200, 255, .35);--signal-tint: rgba(30, 200, 255, .12);--link-hover: #3860be;--ok: #2fbf62;--warn: #f28c28;--bad: #ff4436;--batt-mid: #e8d33a;--teal: #1eaedb;--on-teal: #000000;--overlay: rgba(0, 0, 0, .7);--on-overlay: #ffffff;--grid-minor: rgba(255, 255, 255, .06);--grid-major: rgba(255, 255, 255, .16);--plane: rgba(32, 32, 32, .92)}:root[data-theme=light]{color-scheme:light;--bg: #f8f8f8;--surface: #ffffff;--surface-2: #e6e6e6;--surface-3: #d0d0d0;--line: #d6d6d6;--line-strong: rgba(0, 0, 0, .55);--text: #000000;--text-2: #202020;--muted: #555555;--accent: #ffc000;--accent-hover: #917300;--accent-text: #7a6000;--on-accent: #000000;--info: #1878a8;--signal: #1565c0;--signal-halo: rgba(21, 101, 192, .3);--signal-tint: rgba(21, 101, 192, .1);--link-hover: #3860be;--ok: #1d8a42;--warn: #b85c00;--bad: #c8261b;--batt-mid: #806c00;--teal: #1eaedb;--on-teal: #000000;--overlay: rgba(0, 0, 0, .7);--on-overlay: #ffffff;--grid-minor: rgba(0, 0, 0, .06);--grid-major: rgba(0, 0, 0, .18);--plane: rgba(255, 255, 255, .94)}:root{--font: "LamboType", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--gutter: clamp(16px, 4vw, 40px);--top: 64px}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}code{font-family:var(--font);font-size:.9em;letter-spacing:.04em}a{color:inherit}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--info);outline-offset:2px}::selection{background:var(--accent);color:var(--on-accent)}html{scroll-behavior:smooth}[id]{scroll-margin-top:calc(var(--topbar-h, var(--top)) + 16px)}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}.table-scroll,.ask-log,.record-list,.queue,.queue-detail,.part-panel,.tabs,.run-rail{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;z-index:100;padding:8px 16px;background:var(--accent);color:var(--on-accent)}.skip:focus{left:8px}h1,h2,h3,h4{margin:0;font-weight:400;text-transform:uppercase;letter-spacing:0}h1{font-size:clamp(40px,7vw,96px);line-height:.92}h2{font-size:clamp(27px,3.4vw,40px);line-height:1.15}h3{font-size:20px;line-height:1.3;margin:28px 0 12px}h4{font-size:13px;letter-spacing:.12em;line-height:1.4;margin:20px 0 8px;color:var(--muted)}h1,h2,h3,h4{text-wrap:balance}p{margin:0 0 12px;text-wrap:pretty}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}.lead{font-size:18px;line-height:1.56;color:var(--text-2);max-width:70ch}.muted{color:var(--muted)}.tone-ok{color:var(--ok)}.tone-warn{color:var(--warn)}.tone-bad{color:var(--bad)}.tone-accent{color:var(--accent-text)}.tone-info{color:var(--info)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:0;cursor:pointer;font-size:14px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover:not(:disabled){background:var(--accent-hover);color:#fff}.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:var(--teal);background:var(--teal);color:var(--on-teal)}.btn-ghost[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--bg)}.btn-ghost[aria-pressed=true]:hover:not(:disabled){border-color:var(--teal);background:var(--teal);color:var(--on-teal)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:#9c1a12}.btn-sm{min-height:36px;padding:6px 14px;font-size:12px}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line-strong);border-radius:0;background:transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.icon-btn:hover{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.segmented{display:inline-flex;border:1px solid var(--line-strong)}.segmented button{min-height:36px;padding:6px 14px;border:0;border-radius:0;background:transparent;cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:background-color .15s,color .15s}.segmented button+button{border-left:1px solid var(--line)}.segmented button.is-on{background:var(--text);color:var(--bg)}.segmented button:not(.is-on):hover{background:var(--surface-2)}.badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:10px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;white-space:nowrap}.badge.tone-muted{color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:0;background:var(--overlay);color:var(--on-overlay);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-align:left;transition:background-color .15s,color .15s,border-color .15s}.chip:hover{border-color:var(--on-overlay)}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.dot{display:inline-block;width:10px;height:10px;flex:none;background:var(--muted);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.dot.tone-ok,.tone-ok>.dot{background:var(--ok)}.dot.tone-warn,.tone-warn>.dot{background:var(--warn);clip-path:polygon(50% 0,100% 100%,0 100%)}.dot.tone-bad,.tone-bad>.dot{background:var(--bad);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.field{display:grid;gap:6px;min-width:0}.field-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field-hint{font-size:12px;color:var(--muted)}input,select,textarea{min-height:44px;padding:10px 12px;border:1px solid #7d7d7d;border-radius:0;background:var(--bg);color:var(--text);transition:border-color .15s}textarea{resize:vertical;min-height:64px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--info);box-shadow:inset 0 0 0 1px var(--info)}.form-row{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.form-row>.field{flex:1 1 160px}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px}.check input{min-height:0;width:18px;height:18px;accent-color:var(--text)}.note{padding:12px 16px;border-left:3px solid var(--info);background:var(--surface)}.note-error{border-left-color:var(--bad)}.note .btn{margin-left:12px}.skeleton{min-height:120px;background:var(--surface);animation:skeleton 1.4s ease-in-out infinite}@keyframes skeleton{50%{background-color:var(--surface-2)}}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--top);display:flex;align-items:center;gap:24px;padding:0 var(--gutter);background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:15px;letter-spacing:.18em;text-transform:uppercase}.brand:hover{color:inherit}.brand svg{width:22px;height:22px;fill:var(--text)}.brand b{color:var(--accent-text);font-weight:400}.tabs{display:flex;gap:4px;margin-right:auto}.tabs button{min-height:var(--top);padding:0 16px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;cursor:pointer;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .15s,border-color .15s}.tabs button:hover{color:var(--text)}.tabs button.is-on{color:var(--text);border-bottom-color:var(--accent)}.topbar-tools{display:flex;align-items:center;gap:12px}.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.live i{width:8px;height:8px;background:var(--muted)}.live-live{color:var(--ok)}.live-live i{background:var(--ok);animation:blink 1.6s infinite}@keyframes blink{50%{opacity:.3}}.main{flex:1}.main>:not(.hero):not(.stat-grid){padding-left:var(--gutter);padding-right:var(--gutter)}.main>.stat-grid{margin-left:max(var(--gutter),(100% - 1440px) / 2);margin-right:max(var(--gutter),(100% - 1440px) / 2)}.section{padding-top:56px;padding-bottom:8px;max-width:1440px;margin:0 auto}.section>:not(.skeleton),.map-layout>:not(.skeleton),.map-side>*,.player-map>*,.part-panel>:not(.part-close),.queue-detail>*{transition:opacity .2s ease-out}@starting-style{.section>:not(.skeleton),.map-layout>:not(.skeleton),.map-side>*,.player-map>*,.part-panel>:not(.part-close),.queue-detail>*{opacity:0}}.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;max-width:1440px;margin:0 auto;padding-top:48px}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:72px;padding:24px var(--gutter) 96px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);max-width:1440px;margin:24px auto 0}.stat-grid .stat{background:var(--surface)}.stat{display:grid;gap:4px;padding:20px;align-content:start}.stat-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stat-value{font-size:32px;line-height:1.1;font-weight:400;font-variant-numeric:tabular-nums}.stat.tone-accent .stat-value{color:var(--accent-text)}.stat.tone-ok .stat-value{color:var(--ok)}.stat.tone-warn .stat-value{color:var(--warn)}.stat.tone-bad .stat-value{color:var(--bad)}.stat-sub{font-size:13px;color:var(--muted)}.stat:not(.stat-grid .stat){color:inherit}.stat-row{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin:16px 0}.stat-row .stat{flex:1 1 120px;background:var(--surface-2);padding:14px 16px}.stat-row .stat-value{font-size:22px}.bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.bars li{display:grid;grid-template-columns:minmax(110px,1.2fr) 2fr auto;align-items:center;gap:10px;font-size:13px}.bars-label{text-transform:capitalize;color:var(--text-2)}.bars-track{height:8px;background:var(--surface-3)}.bars-fill{display:block;height:100%;background:var(--text)}.bars-fill.tone-bad{background:var(--bad)}.bars-fill.tone-warn{background:var(--warn)}.bars-value{font-variant-numeric:tabular-nums;color:var(--muted)}.batt-low{--batt: var(--bad)}.batt-mid{--batt: var(--batt-mid)}.batt-high{--batt: var(--ok)}.batt-none{--batt: var(--muted)}.batt{display:inline-flex;align-items:center;gap:.3em;color:var(--batt);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}.batt-icon{width:1.5em;height:.81em;flex:none;color:var(--batt)}.batt-shell{fill:none;stroke:currentColor;stroke-width:1.5}.batt-cap,.batt-fill{fill:currentColor}.hero{position:relative}.stage{position:relative;height:calc(100vh - var(--top));min-height:560px;max-height:920px;overflow:hidden;background:var(--surface-3)}:root[data-theme=light] .stage{background:var(--surface-2)}.stage-skeleton{position:absolute;inset:0}.hero-copy{position:absolute;top:40px;left:var(--gutter);z-index:3;max-width:440px;pointer-events:none}.hero-copy>*{pointer-events:auto}.hero-copy .lead{margin-top:16px;font-size:16px}.mission-facts{display:flex;flex-wrap:wrap;margin-top:4px;font-size:13px;color:var(--muted)}.mission-facts span{white-space:nowrap}.mission-facts span+span:before{content:"·";margin:0 8px;color:var(--muted)}.part-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.part-picker .chip{background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);border-color:var(--line);transition:color .15s,border-color .15s,background-color .15s}.part-picker .chip:hover,.part-picker .chip.is-hover{color:var(--text);border-color:var(--signal)}.part-picker .chip[aria-pressed=true]{background:var(--signal-tint);color:var(--text);border-color:var(--signal);outline:1px solid var(--signal);outline-offset:-2px}.stage-controls{position:absolute;left:var(--gutter);bottom:24px;z-index:3;display:flex;flex-wrap:wrap;gap:8px}.stage-controls .segmented,.stage-controls .btn-ghost:not([aria-pressed=true]){background:var(--bg)}.part-panel{position:absolute;top:24px;right:var(--gutter);bottom:100px;z-index:4;width:min(400px,40%);overflow-y:auto;padding:28px 24px;background:var(--surface);border:1px solid var(--line);animation:slide-in .35s ease-out}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}.part-panel h3{margin-top:0;font-size:27px;line-height:1.2;padding-right:40px}.part-panel .lead{font-size:15px}.part-close{position:absolute;top:16px;right:16px}.reading-card{padding:12px 14px;margin:8px 0;border-left:3px solid var(--info);background:var(--surface-2);font-size:14px}.reading-card p{margin:0}.evidence{margin:20px 0 0}.evidence img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.fade-img{opacity:0;transition:opacity .3s ease-out}.fade-img.is-loaded{opacity:1}.evidence figcaption{margin-top:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.evidence-sm img{aspect-ratio:16 / 9}.map-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:32px}.map-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.legend{display:flex;gap:16px;margin:0;padding:0;list-style:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.legend li{display:flex;align-items:center;gap:6px}.map-stage{position:relative;height:540px;perspective:1600px;perspective-origin:50% 30%;overflow:hidden}.floors{position:absolute;left:50%;top:56%;width:min(460px,66%);aspect-ratio:1.45;transform:translate(-50%,-50%) rotateX(56deg) rotate(-32deg);transform-style:preserve-3d}.floor{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(var(--offset) * 150px));opacity:.22;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s;pointer-events:none}.floor.is-active{opacity:1;pointer-events:auto}.floor-tag{position:absolute;left:0;top:-30px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}.plane{position:absolute;inset:0;background:var(--plane);border:1px solid var(--text);transform-style:preserve-3d}.floor:not(.is-active) .plane{border-color:var(--line-strong)}.plane-grid{position:absolute;inset:0;width:100%;height:100%}.grid-minor{stroke:var(--grid-minor);stroke-width:.3}.grid-major{stroke:var(--grid-major);stroke-width:.4}.route{fill:none;stroke:var(--text-2);stroke-width:.5;stroke-dasharray:1.5 1.2;opacity:.55;vector-effect:non-scaling-stroke}.wp{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;border:0;background:none;cursor:pointer;transform:translate(-50%,-50%);color:var(--text)}.floors .wp{transform:translate(-50%,-100%) rotate(32deg) rotateX(-56deg);transform-origin:50% 100%}.wp-pin{order:2;width:18px;height:18px;background:var(--muted);border:2px solid var(--bg);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.wp.tone-ok .wp-pin{background:var(--ok)}.wp.tone-warn .wp-pin{background:var(--warn);clip-path:polygon(50% 0,100% 100%,0 100%)}.wp.tone-bad .wp-pin{background:var(--bad);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.wp-label{order:1;padding:1px 6px;background:var(--overlay);color:var(--on-overlay);font-size:11px;letter-spacing:.08em;transition:background-color .15s,color .15s}.wp:hover .wp-label,.wp.is-selected .wp-label{background:var(--text);color:var(--bg)}.wp.is-selected .wp-pin{outline:2px solid var(--text);outline-offset:2px;width:24px;height:24px}.wp.is-pulsing .wp-pin{animation:pulse 1s infinite;width:24px;height:24px;background:var(--bad)}@keyframes pulse{50%{transform:scale(1.5);opacity:.5}}.plane-compact{position:relative;aspect-ratio:1.45}.map-side{min-width:0}.map-hint{padding:24px;border:1px dashed var(--line)}.wp-detail h3{margin-top:0;font-size:27px}.record-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);max-height:420px;overflow-y:auto}.record-list li{padding:12px 14px;background:var(--surface);font-size:14px}.record-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}.record-list p{margin:0 0 4px}.next-step{color:var(--accent-text);font-size:14px}.attention{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.attention-item{display:grid;grid-template-columns:auto auto 1fr;gap:6px 12px;align-items:center;width:100%;padding:16px 20px;border:0;border-radius:0;background:var(--surface);text-align:left;cursor:pointer}.attention-item{transition:background-color .15s}.attention-item:hover{background:var(--surface-2)}.attention-text{grid-column:1 / -1;color:var(--text-2);font-size:14px}.table-wrap{display:grid;gap:12px}.table-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.table-tools input[type=search]{flex:1 1 220px}.table-tools select{flex:0 1 auto}.table-count{margin-left:auto;font-size:13px}.table-scroll{overflow-x:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}thead th{position:sticky;top:0;background:var(--surface-2);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}thead th button{padding:0;border:0;background:none;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;transition:color .15s}thead th button:hover{color:var(--text)}.table-scroll-y{max-height:min(72vh,760px);overflow:auto}.table-scroll-y thead th{z-index:1;box-shadow:inset 0 -1px 0 var(--line);transition:box-shadow .2s}.table-scroll-y.is-scrolled thead th{box-shadow:inset 0 -1px 0 var(--line-strong)}tbody th{font-weight:400}tbody tr{transition:background-color .15s}tbody tr:hover{background:var(--surface)}.num{text-align:right}.delta{white-space:nowrap}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:13px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.confusion td{text-align:center;font-size:26px;padding:18px}.confusion td small{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted)}.login{max-width:860px}.login-compact .form-row>.field{flex-basis:120px}.queue-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px;align-items:start}.queue{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);max-height:72vh;overflow-y:auto}.queue-item{display:grid;gap:6px;width:100%;padding:14px 16px;border:0;border-left:3px solid transparent;border-radius:0;background:var(--surface);text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s}.queue-item:hover{background:var(--surface-2)}.queue-item.is-selected{border-left-color:var(--text);background:var(--surface-2)}.queue-item.is-danger{border-left-color:var(--bad)}.queue-item .muted{font-size:13px}.queue-badges,.badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.queue-detail{position:sticky;top:calc(var(--top) + 16px);max-height:calc(100vh - var(--top) - 32px);overflow-y:auto;padding:24px;background:var(--surface);border:1px solid var(--line)}.issue-detail h3{margin-top:0}.issue-form{display:grid;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.issue-form .btn{justify-self:start}.timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-strong)}.timeline li{position:relative;display:grid;gap:2px;padding:8px 0 14px 18px;font-size:14px}.timeline li:before{content:"";position:absolute;left:-5px;top:13px;width:9px;height:9px;background:var(--text)}.timeline li .btn{justify-self:start;margin-top:4px}.timeline-when{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.snapshot-form{margin:24px 0;padding:20px;background:var(--surface);border:1px solid var(--line)}.compare-pick{margin-bottom:16px}.chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.chart-head h3{margin:0}.chart{margin:12px 0 0;padding:16px;background:var(--surface);border:1px solid var(--line)}.chart svg{width:100%;height:auto;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1}.chart-tick{fill:var(--muted);font-size:10px;font-family:var(--font)}.chart-series path{fill:none;stroke:currentColor;stroke-width:2}.chart-series circle{fill:currentColor}.chart-series.tone-muted,.chart-legend .tone-muted{color:var(--muted)}.chart-series.tone-accent,.chart-legend .tone-accent{color:var(--text)}.chart-series.tone-ok,.chart-legend .tone-ok{color:var(--ok)}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:14px;height:3px;background:currentColor}.ask{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.ask-fab{width:60px;height:60px;border:0;border-radius:0;cursor:pointer;background:var(--accent);color:var(--on-accent);font-size:16px;letter-spacing:.14em;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transition:background-color .15s,color .15s}.ask-fab:hover{background:var(--accent-hover);color:#fff}.ask-panel{display:flex;flex-direction:column;width:min(420px,calc(100vw - 32px));height:min(560px,calc(100vh - 140px));background:var(--surface);border:1px solid var(--line-strong)}.ask-head{display:flex;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.ask-head .eyebrow{margin:0}.ask-context{margin:4px 0 0;font-size:13px;color:var(--muted)}.ask-log{flex:1;overflow-y:auto;padding:16px;display:grid;align-content:start;gap:12px}.ask-empty{display:grid;gap:8px}.ask-empty .chip{background:transparent;color:var(--text);text-transform:none;letter-spacing:0;font-size:14px}.msg{max-width:92%;padding:10px 14px;font-size:14px;white-space:pre-wrap}.msg p{margin:0}.msg-user{justify-self:end;background:var(--surface-3);color:var(--text)}.msg-ai{justify-self:start;background:var(--surface-2)}.msg-error{border-left:3px solid var(--bad)}.typing{color:var(--muted)}.citations{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 0;padding:0;list-style:none}.citations li{padding:1px 6px;border:1px solid var(--line-strong);font-size:11px}.ask-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.ask-form input{flex:1;min-width:0}.sev-ok{--sev: var(--ok)}.sev-warn{--sev: var(--warn)}.sev-bad{--sev: var(--bad)}.sev-muted{--sev: var(--muted)}.hero-replay{margin-top:4px}.page-head .lead{margin-top:16px}.replay-runs{padding-top:40px}.runs-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.runs-head .eyebrow{margin:0}.run-rail{position:relative;display:flex;gap:1px;margin:0;padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;background:var(--line);border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.run-rail li{flex:none;display:flex;scroll-snap-align:start}.run{display:grid;gap:8px;width:176px;min-height:116px;align-content:start;padding:14px 16px 12px;border:0;border-top:2px solid transparent;border-radius:0;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s}.run:hover{background:var(--surface-2)}.run[aria-pressed=true]{background:var(--surface-2);border-top-color:var(--text)}.run-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.run-top b{font-weight:400;font-size:20px;letter-spacing:.04em}.run-cfg{font-size:10px;letter-spacing:.16em;color:var(--muted)}.run-tag{padding:1px 6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);border:1px solid currentColor;border-radius:2px}.run-when{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-bar{display:flex;gap:1px;height:4px;background:var(--surface-3)}.run-bar i{display:block;background:var(--sev)}.run-foot{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-2)}.replay-stats{margin:0 0 24px}.player-skeleton{min-height:480px}.player{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);grid-template-areas:"map now" "transport transport";gap:1px;background:var(--line);border:1px solid var(--line)}.player-map{grid-area:map;display:grid;align-content:center;min-width:0;padding:28px 28px 24px;background:var(--bg)}.player-now{grid-area:now;display:flex;min-width:0;background:var(--surface)}.player-transport{grid-area:transport;min-width:0;padding:20px 28px 24px;background:var(--surface)}.rmap{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rmap-floor{min-width:0}.rmap-floor .plane-grid,.rmap-floor .rmap-plane{transition:opacity .4s,background-color .4s}.rmap-floor:not(.is-active) .plane-grid{opacity:.3}.rmap-floor:not(.is-active) .rmap-plane{background:color-mix(in srgb,var(--plane) 45%,transparent)}.rmap-floor:not(.is-active) .rmap-wp{opacity:.85}.rmap-floor:not(.is-active) .rmap-wp.is-off{opacity:.35}.rmap-tag{display:block;margin-bottom:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.rmap-floor.is-active .rmap-tag{color:var(--accent-text)}.rmap-tag b{font-weight:400;color:var(--text)}.plane.rmap-plane{position:relative;inset:auto;aspect-ratio:1.25;border-color:var(--line-strong)}.rmap-floor.is-active .rmap-plane{border-color:var(--text)}.rmap-planned{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;opacity:.7;vector-effect:non-scaling-stroke}.rmap-walked{fill:none;stroke:var(--text);stroke-width:2.5;vector-effect:non-scaling-stroke}.rmap-wp{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;padding:0;border:0;background:none;color:var(--muted);font:inherit;pointer-events:auto}button.rmap-wp{cursor:pointer}button.rmap-wp:before{content:"";position:absolute;inset:-8px}.rmap-wp i{position:absolute;inset:0;background:var(--surface-3);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.rmap-id{position:absolute;font-size:10px;line-height:1;letter-spacing:.06em;white-space:nowrap;font-variant-numeric:tabular-nums}.side-below .rmap-id{top:calc(100% + 3px);left:50%;transform:translate(-50%)}.side-above .rmap-id{bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.side-right .rmap-id{left:calc(100% + 4px);top:50%;transform:translateY(-50%)}.side-left .rmap-id{right:calc(100% + 4px);top:50%;transform:translateY(-50%)}.rmap-name{position:absolute;bottom:calc(100% + 18px);left:50%;z-index:3;transform:translate(-50%);padding:3px 8px;background:var(--overlay);color:var(--on-overlay);font-size:11px;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}.rmap-wp:hover,.rmap-wp:focus-visible{z-index:3}.rmap-wp:hover .rmap-name,.rmap-wp:focus-visible .rmap-name{opacity:1}.rmap-wp:focus-visible{outline:none}.rmap-wp:focus-visible i{outline:2px solid var(--info);outline-offset:2px}.rmap-wp.is-off{opacity:.35}.rmap-wp.is-pending i{background:var(--line-strong)}.rmap-wp.is-seen i{background:var(--sev)}.rmap-wp.is-seen.sev-warn i{clip-path:polygon(50% 0,100% 100%,0 100%)}.rmap-wp.is-seen.sev-bad i{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.rmap-wp.is-seen .rmap-id{color:var(--text)}.rmap-spot{position:absolute;z-index:2;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none}.rmap-spot i,.rmap-spot:before{position:absolute;inset:0;background:var(--info);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.rmap-spot i{border:0}.rmap-spot:before{content:"";inset:-9px;opacity:.22}.rmap-spot.is-working:before{animation:spot-ring 1.2s ease-out infinite}@keyframes spot-ring{0%{transform:scale(.7);opacity:.45}to{transform:scale(1.5);opacity:0}}.now{display:flex;flex-direction:column;gap:6px;width:100%;padding:28px 24px 24px;border-left:3px solid transparent}.now-finding{border-left-color:var(--sev)}.now-clock{display:grid;gap:4px;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--line)}.now-time{font-size:44px;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums}.now-clock .muted{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.now-phase{margin:0}.now h3{margin:0;font-size:27px;line-height:1.15}.now-where{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.now-what{margin:6px 0 0;color:var(--text-2)}.now .btn{align-self:flex-start;margin-top:8px}.now-result{margin-top:10px;padding:12px 14px;background:var(--surface-2);font-size:14px}.now-result p:last-child{margin-bottom:0}.now-finding .now-result{border-left:3px solid var(--sev)}.now-reading{margin-left:10px;color:var(--text-2)}.now-meters{display:grid;gap:12px;margin-top:auto;padding-top:20px}.now-count{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:13px;color:var(--muted)}.now-count b{font-weight:400;font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}.now-count .tone-warn b{color:var(--warn)}.now-note{margin:12px 0 0;font-size:13px;border-left-color:var(--warn)}.meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.meter-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.meter-track{height:6px;background:var(--surface-3)}.now-clock-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.play-state{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line-strong);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}.play-state i{width:8px;height:8px;background:var(--muted)}.play-state.is-playing{border-color:var(--info);color:var(--info)}.play-state.is-playing i{background:var(--info);animation:blink 1.6s infinite}.play-state.is-finding{border-color:var(--warn);color:var(--warn)}.play-state.is-finding i{background:var(--warn)}.play-state.is-done i{background:var(--ok)}.meter-track span{display:block;height:100%;background:var(--batt, var(--sev));transition:width .25s ease-out,background-color .3s}.meter.is-live .meter-track span{transition:background-color .3s}.meter-value{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.controls-right{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-left:auto}.controls-hint{margin:10px 0 0;font-size:12px}.hex-play{width:64px;height:64px;padding:0;border:0;background:none;cursor:pointer;color:var(--text)}.hex-play svg{width:100%;height:100%;display:block}.hex-play .hex{fill:var(--accent);stroke:var(--accent);stroke-width:1.5;transition:fill .15s,stroke .15s}.hex-play:hover .hex{fill:var(--accent-hover);stroke:var(--accent-hover)}.hex-play .glyph{fill:none;stroke:var(--on-accent);stroke-width:3.5}.hex-play .glyph-fill{fill:var(--on-accent);stroke:none}.hex-play.is-playing .hex{fill:var(--surface);stroke:var(--text)}.hex-play.is-playing:hover .hex{fill:var(--surface-2)}.hex-play.is-playing .glyph{stroke:var(--text)}.hex-play:focus-visible{outline:none}.hex-play:focus-visible .hex{stroke:var(--info);stroke-width:3}.track{margin-top:8px}.track-flags{position:relative;height:92px}.flag{position:absolute;bottom:0;width:1px;height:18px;padding:0;border:0;background:none;cursor:pointer;color:var(--sev)}.flag:hover,.flag:focus-visible{z-index:1}.flag:before{content:"";position:absolute;left:0;bottom:0;width:1px;height:100%;background:currentColor}.flag:after{content:"";position:absolute;left:-10px;bottom:0;width:21px;height:100%}.flag-label{position:absolute;bottom:100%;left:0;transform:translate(-50%);display:grid;gap:1px;padding:4px 8px;white-space:nowrap;text-align:left;background:var(--surface);border:1px solid currentColor;transition:background-color .15s}.flag.is-left .flag-label{transform:translate(-1px)}.flag.is-right .flag-label{transform:translate(calc(-100% + 1px))}.flag-time{font-size:13px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--text)}.flag-what{font-size:10px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:currentColor}.flag.is-seen .flag-label{background:currentColor}.flag.is-seen .flag-time,.flag.is-seen .flag-what{color:var(--bg)}.flag:hover .flag-label{background:var(--surface-2)}.flag.is-seen:hover .flag-label{background:currentColor}.flag.is-seen:hover .flag-time{text-decoration:underline}.flag:focus-visible{outline:none}.flag:focus-visible .flag-label{outline:2px solid var(--info);outline-offset:2px}.track-scrub{position:relative;height:36px}.track-scrub:focus-within{outline:2px solid var(--info);outline-offset:2px}.track-lane{position:absolute;left:0;right:0;top:10px;height:14px;background:var(--surface-3)}.track-stop{position:absolute;top:0;bottom:0;background:var(--sev);opacity:.35}.track-stop.is-past{opacity:1}.track-progress{position:absolute;left:0;top:calc(100% + 5px);height:2px;background:var(--text)}.track-head{position:absolute;top:-8px;bottom:-8px;width:2px;margin-left:-1px;background:var(--text)}.track-head:before{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;background:var(--text);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.track-range{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}.track-axis{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}.stops{margin:0;padding:0;list-style:none}.stop{display:grid;grid-template-columns:96px 28px minmax(0,1fr);transition:opacity .3s}.stop-next{opacity:.62}.stop-time{display:grid;align-content:start;justify-items:end;gap:2px;padding-top:16px;font-variant-numeric:tabular-nums}.stop-time time{font-size:16px}.stop-time span{font-size:11px;letter-spacing:.08em;color:var(--muted)}.stop-node{position:relative}.stop-node:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-strong)}.stop:first-child .stop-node:before{top:22px}.stop:last-child .stop-node:before{bottom:auto;height:22px}.stop-node:after{content:"";position:absolute;left:50%;top:16px;width:14px;height:14px;margin-left:-7px;background:var(--sev);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.stop.sev-ok .stop-node:after{width:10px;height:10px;margin-left:-5px;top:18px}.stop-now .stop-node:after{background:var(--info);width:18px;height:18px;margin-left:-9px;top:14px}.stop-body{min-width:0;padding:12px 0 20px 8px;border-bottom:1px solid var(--line)}.stop:last-child .stop-body{border-bottom:0}.stop-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}.stop-head strong{font-weight:400;font-size:20px;line-height:1.3;text-transform:uppercase;transition:color .15s}.stop-head:hover strong{color:var(--link-hover)}.stop-head .muted{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.stop-n{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stop-now .stop-head strong{color:var(--info)}.stop-what{margin:4px 0 8px;color:var(--text-2)}.stop-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px}.stop-result b{font-weight:400}.stop-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--info)}.stop-live:before{content:"";width:8px;height:8px;background:var(--info);animation:blink 1.6s infinite}.stop-finding{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:16px;margin-top:12px;padding:14px 16px;background:var(--surface);border-left:3px solid var(--sev);font-size:14px}.stop-finding p:last-child{margin-bottom:0}.stop-found{margin-bottom:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sev)}.stop-found time{font-size:13px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.stop-evidence{margin:0}.stop-evidence img{aspect-ratio:4 / 3}.stop-note{margin:8px 0 0;font-size:14px}.stat-link{width:100%;border:0;border-radius:0;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .15s}.stat-grid .stat-link{background:var(--surface)}.stat-link:hover{background:var(--surface-2)}.stat-go{margin-left:6px;color:var(--muted);transition:color .15s;display:inline-block}.stat-link:hover .stat-go,.stat-link:focus-visible .stat-go{color:var(--info)}.hint{display:inline-flex;vertical-align:middle;margin-left:6px}.hint-btn{display:inline-grid;place-items:center;width:16px;height:16px;padding:0;border:1px solid var(--line-strong);border-radius:0;background:none;color:var(--muted);font-size:10px;line-height:1;letter-spacing:0;text-transform:none;cursor:help;transition:color .15s,border-color .15s}.hint-btn:before{content:"";position:absolute;inset:-8px}.hint-btn{position:relative}.hint-btn:hover,.hint-btn:focus-visible{color:var(--text);border-color:var(--text)}.hint-tip{position:fixed;z-index:70;width:280px;padding:10px 12px;background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);font-size:13px;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:400;text-align:left;white-space:normal;visibility:hidden;opacity:0;transition:opacity .12s;pointer-events:none}.hint-tip.is-on{visibility:visible;opacity:1}.zoom-btn{position:relative;display:block;width:100%;padding:0;border:0;background:var(--surface-2);cursor:zoom-in}.zoom-cue{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;background:var(--overlay);color:var(--on-overlay);font-size:15px;opacity:.75;transition:opacity .15s}.zoom-btn:hover .zoom-cue,.zoom-btn:focus-visible .zoom-cue{opacity:1}.lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:16px;overflow:auto;border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}.lightbox::backdrop{background:#000000d1}.lightbox-figure{margin:0}.lightbox-figure img{width:100%;max-height:calc(100vh - 120px);object-fit:contain}.lightbox-figure figcaption{margin-top:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lightbox-close{position:absolute;top:12px;right:12px;background:var(--overlay);color:var(--on-overlay)}.empty{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:20px;border:1px dashed var(--line)}.empty p{margin:0}.all-clear{display:flex;align-items:center;gap:12px;padding:20px;background:var(--surface);border-left:3px solid var(--ok)}.all-clear p{margin:0}.refreshing{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.refreshing:before{content:"";width:8px;height:8px;background:var(--info);animation:blink 1s infinite}.note-warn{border-left-color:var(--warn);font-size:14px}.is-stale{opacity:.45;transition:opacity .15s}.to-top{position:fixed;right:32px;bottom:96px;z-index:29;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line-strong);border-radius:0;background:var(--surface-2);color:var(--text);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s,background-color .15s,border-color .15s,color .15s}.to-top.is-shown{opacity:1;visibility:visible;transition:opacity .2s,background-color .15s,border-color .15s,color .15s}.to-top:hover{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}.to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.ask.is-open+.to-top{display:none}#main:focus{outline:none}.toasts{position:fixed;left:24px;bottom:24px;z-index:60;display:grid;gap:8px;pointer-events:none}.toast{margin:0;padding:10px 16px;background:var(--surface-2);color:var(--text);border-left:3px solid var(--ok);font-size:14px;animation:toast-in .2s ease-out}.toast span{color:var(--ok)}@keyframes toast-in{0%{opacity:0}}.status{display:inline-flex;flex-direction:column;align-items:flex-end;gap:1px}.refreshed{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.stage-hint{align-self:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.attention-go{grid-column:1 / -1;justify-self:end;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .15s}.attention-item:hover .attention-go,.attention-item:focus-visible .attention-go{color:var(--info)}.wp-panel{outline:2px solid transparent;outline-offset:4px}.wp-panel.is-flash{animation:flash 1.6s ease-out}@keyframes flash{0%,30%{outline-color:var(--info);background-color:var(--surface)}to{outline-color:transparent;background-color:transparent}}.jump-links{display:flex;flex-wrap:wrap;gap:8px;max-width:1440px;margin:24px auto 0}.jump-links a{padding:6px 12px;border:1px solid var(--line-strong);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s}.jump-links a:hover{color:var(--on-teal);border-color:var(--teal);background:var(--teal)}.table-scroll{transition:border-color .15s}.table-scroll.more-right{border-right:2px solid var(--text)}.table-scroll.more-left{border-left:2px solid var(--text)}.more-cols{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}.sort-ind{margin-left:6px;font-size:9px;opacity:.45}th.is-sorted{color:var(--text)}th.is-sorted .sort-ind{opacity:1;color:var(--text)}thead th button:hover .sort-ind{opacity:.9}.data-table tbody th,.data-table thead th:first-child{position:sticky;left:0;z-index:1;background:var(--bg)}.data-table thead th:first-child{z-index:2;background:var(--surface-2)}.data-table tbody th{box-shadow:inset -1px 0 0 var(--line);white-space:nowrap}.data-table tbody tr:hover th{background:var(--surface)}.table-empty{padding:20px 12px;color:var(--muted)}.table-empty .btn{margin-left:8px}.filtered-tag{color:var(--accent-text)}select.is-active{border-color:var(--info)}.filter-note{margin:-4px 0 12px;font-size:13px}.verdict{margin-right:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.table-note{margin:8px 0 0;font-size:13px}.badge-status{border-color:var(--line-strong);color:var(--text-2);background:var(--surface-2)}.badge-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;vertical-align:1px;background:var(--muted)}.badge-status.tone-info:before{background:var(--info)}.badge-status.tone-warn:before{background:var(--warn)}.badge-status.tone-ok:before{background:var(--ok)}.signin-bar{max-width:1440px;margin:24px auto 0;padding:12px 16px;background:var(--surface);border:1px solid var(--line)}.signin-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.signin-row p{margin:0;font-size:14px}.signin-bar.is-open .login{margin-top:12px}.chart{position:relative}.chart-series rect,.chart-series path:not(:first-child){fill:currentColor;stroke:none}.chart-hit{fill:transparent;stroke:none;cursor:pointer}.chart-hit:focus{outline:none}.chart-hit:focus-visible{stroke:var(--info);stroke-width:2}.chart-tip{position:absolute;z-index:2;display:grid;gap:2px;min-width:160px;padding:8px 10px;transform:translate(-50%,calc(-100% - 12px));background:var(--surface-2);border:1px solid var(--line-strong);font-size:13px;pointer-events:none}.chart-tip.is-right{transform:translate(calc(-100% + 16px),calc(-100% - 12px))}.chart-tip b{font-weight:400;font-size:16px}.chart-key{width:28px;height:10px;overflow:visible}.chart-key line{stroke:currentColor;stroke-width:2}.chart-key circle,.chart-key rect,.chart-key path{fill:currentColor}.ask-panel{position:relative}.citations li{padding:0;border:0;font-family:inherit;font-size:12px}.cite{border:1px solid var(--line-strong)}.cite summary{display:flex;gap:6px;align-items:baseline;padding:2px 6px;cursor:pointer;list-style:none;max-width:300px}.cite summary::-webkit-details-marker{display:none}.cite summary code{flex:none;font-size:11px}.cite-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.cite[open] summary{border-bottom:1px solid var(--line)}.cite-body{padding:6px 8px;white-space:normal}.cite-body p{margin:0 0 6px}.ask-new{position:absolute;left:50%;bottom:72px;transform:translate(-50%)}.ask-new.btn-ghost:not(:hover){background:var(--surface-3)}.msg-retry{margin-top:8px}.rail-wrap{position:relative}.rail-wrap .run-rail{transition:border-color .15s}.rail-wrap.has-before .run-rail{border-left:2px solid var(--text)}.rail-wrap.has-after .run-rail{border-right:2px solid var(--text)}.rail-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:36px;height:36px;margin-top:-18px;padding:0;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:opacity .2s,background-color .15s,border-color .15s,color .15s}.rail-arrow:hover{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}.rail-arrow:disabled{opacity:0;pointer-events:none}.rail-prev{left:6px}.rail-next{right:6px}.pause-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 14px;padding:10px 14px;background:var(--surface-2);border-left:3px solid var(--sev)}.pause-note p{margin:0}.track-ghost{position:absolute;top:-4px;bottom:-4px;width:1px;background:var(--text);opacity:.5;pointer-events:none}.scrub-tip{position:absolute;bottom:calc(100% + 6px);z-index:3;display:grid;gap:1px;padding:4px 8px;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--line-strong);font-size:12px;white-space:nowrap;pointer-events:none}.scrub-tip.is-left{transform:none}.scrub-tip.is-right{transform:translate(-100%)}.scrub-tip b{font-weight:400;font-size:14px;font-variant-numeric:tabular-nums}.scrub-tip span{color:var(--muted)}.kbd-hint kbd{display:inline-block;min-width:1.6em;padding:0 4px;border:1px solid var(--line-strong);font:inherit;font-size:11px;text-align:center}.mini-player{position:fixed;top:var(--topbar-h, var(--top));left:0;right:0;z-index:15;display:flex;align-items:center;gap:12px;padding:6px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);animation:mini-in .2s ease-out}@keyframes mini-in{0%{opacity:0}}.hex-play.hex-play-sm{width:40px;height:40px;flex:none}.mini-time{font-size:20px;font-variant-numeric:tabular-nums}.mini-where{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.mini-progress{flex:0 1 200px;height:3px;background:var(--surface-3)}.mini-progress span{display:block;height:100%;background:var(--text)}.stop-view{margin-left:auto}@media(min-width:761px)and (max-height:920px){.replay-head{padding-top:24px}.replay-head h1{font-size:clamp(36px,4.6vw,60px)}.replay-head .lead{margin:8px 0 0;font-size:15px}.replay-runs{padding-top:16px}.run{min-height:96px;padding:10px 14px;gap:6px}.section.replay-run{padding-top:28px}.replay-run .section-head{margin-bottom:14px;padding-bottom:10px}.replay-run .stat-grid .stat{padding:12px 16px}.replay-run .stat-value{font-size:24px}.replay-stats{margin-bottom:14px}}@media(min-width:761px)and (max-width:1660px){.main>:not(.hero):not(.stat-grid),.footer{padding-right:calc(var(--gutter) + 64px)}.main>.stat-grid{margin-right:calc(var(--gutter) + 64px)}}@media(pointer:coarse){.btn-sm,.segmented button,.chip,.tabs button{min-height:44px}.icon-btn{width:44px;height:44px}.check input{width:22px;height:22px}.hotspot:before{content:"";position:absolute;inset:-14px}.flag:after{left:-16px;width:33px}.kbd-hint,.stage-hint{display:none}}@media(max-width:1024px){.map-layout,.queue-layout{grid-template-columns:1fr}.queue-detail{position:static;max-height:none}.player{grid-template-columns:1fr;grid-template-areas:"map" "now" "transport"}}@media(max-width:760px){:root{--top: 56px}.topbar{gap:8px;height:auto;min-height:var(--top);flex-wrap:wrap;padding-top:8px}.tabs{order:3;width:100%;overflow-x:auto;margin:0}.tabs button{min-height:44px;padding:0 12px;font-size:12px}.topbar-tools{margin-left:auto}.live-text,.refreshed{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.brand span{font-size:13px;letter-spacing:.12em}.topbar-tools .btn-sm{padding:6px 10px;letter-spacing:.08em}.stage{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:visible}.stage>.canvas-host,.stage>.stage-skeleton{position:relative;order:1;height:56vh;min-height:340px}.hero-copy{position:static;order:0;max-width:none;padding:24px var(--gutter) 0}.hero-copy h1{font-size:48px}.stage-controls{position:static;order:2;padding:12px var(--gutter) 0}.part-panel{position:static;order:3;width:auto;margin:16px var(--gutter) 0;animation:none}.map-stage{height:360px}.floors{width:86%}.ask{right:16px;bottom:16px}.attention-item{grid-template-columns:auto 1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px}.stat-value{font-size:26px}.player-map,.player-transport{padding:20px 16px}.rmap{gap:12px}.rmap-wp span{display:none}.now{padding:20px 16px}.now-time{font-size:34px}.controls-right{margin-left:0;width:100%;justify-content:space-between}.stop{grid-template-columns:64px 22px minmax(0,1fr)}.stop-time time{font-size:14px}.stop-finding{grid-template-columns:1fr}.stop-evidence{max-width:260px}.flag-label{padding:3px 6px}.mini-player{gap:8px}.mini-progress{display:none}.mini-time{font-size:16px}.toasts{left:16px;right:92px;bottom:16px}.to-top{right:24px;bottom:88px}.rail-arrow,.flag-what{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.live-run{color:var(--signal)}.live-run i{background:var(--signal);animation:blink 1.2s infinite}.live-hold{color:var(--warn)}.live-hold i{background:var(--warn);animation:none}.live-cta{display:grid;gap:16px;max-width:760px}.live-cta-actions,.live-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.live-controls .check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.live-state{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px}.live-grid{display:grid;grid-template-columns:minmax(280px,5fr) minmax(320px,7fr);gap:32px;align-items:start}.live-facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:14px}.live-facts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}.live-facts dd{margin:0;display:flex;align-items:center;gap:10px}.live-progress{position:relative;display:inline-block;width:140px;height:6px;background:var(--surface-3)}.live-progress span{position:absolute;inset:0 auto 0 0;background:var(--signal);transition:width .4s ease}.live-tally{margin-top:24px}.ticker{list-style:none;margin:0;padding:0;max-height:440px;overflow-y:auto;border:1px solid var(--line);background:var(--surface)}.ticker>li{padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}.ticker-item{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:baseline;animation:ticker-in .35s ease-out}.ticker-item:first-child{background:var(--surface-2)}.ticker-icon{color:var(--muted);text-align:center}.ticker-item.tone-ok .ticker-icon{color:var(--ok)}.ticker-item.tone-bad .ticker-icon,.ticker-item.tone-bad .ticker-body{color:var(--bad)}.ticker-item.tone-warn .ticker-icon{color:var(--warn)}.ticker-item.tone-accent .ticker-icon{color:var(--signal)}.ticker-time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.live-risk{margin-left:8px;padding:1px 6px;font-size:11px;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);white-space:nowrap}.live-risk.is-flagged{color:var(--bad);border-color:var(--bad)}@keyframes ticker-in{0%{opacity:0;transform:translateY(-6px)}}.takeaways{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px;max-width:980px}.takeaways li{padding:12px 16px;border-left:3px solid var(--signal);background:var(--surface);font-size:15px;line-height:1.55}@media(max-width:860px){.live-grid{grid-template-columns:1fr}.ticker{max-height:320px}}.decision{position:fixed;top:calc(var(--topbar-h, var(--top)) + 16px);right:24px;z-index:50;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - var(--topbar-h, var(--top)) - 32px);overflow-y:auto;padding:18px 20px 20px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-top:3px solid var(--warn);box-shadow:0 18px 48px #00000059;animation:decision-in .35s ease-out,decision-breathe 3.2s ease-in-out .35s infinite}.decision:focus{outline:none}@keyframes decision-in{0%{opacity:0;transform:translateY(-10px)}}@keyframes decision-breathe{0%,to{box-shadow:0 18px 48px #00000059,0 0 color-mix(in srgb,var(--warn) 0%,transparent)}50%{box-shadow:0 18px 48px #00000059,0 0 0 6px color-mix(in srgb,var(--warn) 22%,transparent)}}.decision-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.decision-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--warn)}.decision-dot{width:8px;height:8px;border-radius:50%;background:var(--warn);flex:none;animation:blink 2.4s ease-in-out infinite}.decision-tools{display:inline-flex;gap:12px}.link-btn{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:12px;letter-spacing:.04em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--text)}.decision h2{margin:0 0 12px;font-size:22px;line-height:1.25;text-transform:none;letter-spacing:0;font-weight:500}.decision-sev{display:inline-block;margin-right:10px;padding:2px 8px;vertical-align:3px;font-size:11px;letter-spacing:.12em;color:var(--warn);border:1px solid var(--warn)}.decision.sev-critical .decision-sev{color:#000;background:var(--warn)}.decision-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 10px;font-size:14px}.decision-facts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}.decision-facts dd{margin:0}.decision-detail{margin:0 0 10px;font-size:14px;color:var(--muted)}.decision-more{margin-bottom:12px}.decision-visuals{display:grid;gap:12px;margin-bottom:14px}.decision-map{height:150px}.decision-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.decision-actions .btn{flex:1 1 140px}.decision-why{display:grid;gap:10px}.decision-signin{display:grid;gap:8px}.decision-chip{position:fixed;top:calc(var(--topbar-h, var(--top)) + 16px);right:24px;z-index:50;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--warn);font:inherit;font-size:13px;box-shadow:0 8px 24px #0000004d;animation:decision-in .3s ease-out}.stream-bubble{position:fixed;left:24px;bottom:24px;z-index:40;display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;cursor:pointer;font:inherit;color:var(--text);background:var(--surface);border:1px solid color-mix(in srgb,var(--signal) 45%,var(--line));box-shadow:0 10px 30px #00000059;animation:decision-in .3s ease-out}.stream-bubble:hover{border-color:var(--signal)}.stream-bubble.is-waiting{border-color:var(--warn)}.stream-ring{position:relative;width:48px;height:48px;flex:none}.stream-ring svg{width:48px;height:48px;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-3);stroke-width:3}.ring-fill{fill:none;stroke:var(--signal);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.stream-bubble.is-waiting .ring-fill{stroke:var(--warn)}.stream-core{position:absolute;inset:17px;border-radius:50%;background:var(--signal)}.stream-bubble.is-waiting .stream-core{background:var(--warn)}.stream-ping{position:absolute;inset:17px;border-radius:50%;background:var(--signal-halo);animation:stream-ping 1.4s ease-out}@keyframes stream-ping{0%{transform:scale(1);opacity:.9}to{transform:scale(3);opacity:0}}.stream-label{display:grid;text-align:left;line-height:1.3}.stream-label strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.stream-label span{font-size:12px;color:var(--muted)}body:has(.stream-bubble,.stream-dialog) .toasts{bottom:96px}.stream-dialog{position:fixed;left:24px;bottom:24px;z-index:40;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - var(--topbar-h, var(--top)) - 40px);overflow-y:auto;padding:16px 18px 18px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-top:3px solid var(--signal);box-shadow:0 18px 48px #0006;animation:decision-in .3s ease-out}.stream-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stream-head .eyebrow{color:var(--signal);margin-bottom:4px}.stream-head h2{margin:0;font-size:18px;letter-spacing:.02em;text-transform:none;font-weight:500}.pipe{position:relative;display:grid;gap:4px;margin:18px 0 16px;padding-top:4px}.pipe-2{grid-template-columns:repeat(2,1fr)}.pipe-4{grid-template-columns:repeat(4,1fr)}.pipe-track{position:absolute;top:19px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--surface-3) 0 6px,transparent 6px 10px)}.packet{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--signal);box-shadow:0 0 8px var(--signal-halo);animation-name:packet-run;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}.packet-ok,.packet-saved{background:var(--ok)}.packet-failed{background:var(--muted)}.packet-finding,.packet-alarm{background:var(--warn);box-shadow:0 0 10px color-mix(in srgb,var(--warn) 60%,transparent)}.packet-start{background:var(--text)}@keyframes packet-run{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:calc(100% - 10px);opacity:0}}.pipe-node{position:relative;display:grid;justify-items:center;gap:6px;text-align:center}.pipe-icon{width:32px;height:32px;border-radius:50%;background:var(--surface-2);border:2px solid var(--signal)}.node-spot .pipe-icon{background:var(--signal)}.node-lake.is-saving .pipe-icon{border-color:var(--ok);box-shadow:0 0 0 6px color-mix(in srgb,var(--ok) 25%,transparent);transition:box-shadow .3s}.pipe-label{font-size:11px;letter-spacing:.06em;color:var(--muted)}.route{display:flex;gap:6px;margin-bottom:14px}.route-step{flex:1;height:6px;background:var(--surface-3)}.step-ok{background:var(--ok)}.step-failed{background:var(--warn)}.step-now{background:var(--signal);animation:blink 1.2s ease-in-out infinite}.stream-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.stream-stats dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stream-stats dd{margin:2px 0 0;font-size:15px;font-variant-numeric:tabular-nums}.stream-events{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;font-size:13px}.ev{display:flex;align-items:center;gap:8px;animation:ticker-in .35s ease-out}.ev-dot{width:8px;height:8px;border-radius:50%;background:var(--signal);flex:none}.ev-ok .ev-dot,.ev-saved .ev-dot{background:var(--ok)}.ev-failed .ev-dot{background:var(--muted)}.ev-finding .ev-dot,.ev-alarm .ev-dot{background:var(--warn)}.ev-alarm{color:var(--warn)}@media(max-width:640px){.decision,.decision-chip{right:16px;left:16px;width:auto}.stream-bubble,.stream-dialog{left:16px;bottom:16px}.stream-stats{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.decision{animation:none}.packet{display:none}}.sandbox-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0;padding:10px var(--gutter);font-size:13px;line-height:1.5;background:color-mix(in srgb,var(--signal) 10%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--signal) 35%,var(--line))}.sandbox-notice>span:nth-child(2){flex:1 1 320px}.sandbox-notice-dot{width:8px;height:8px;border-radius:50%;background:var(--signal);flex:none}@media(min-width:641px){body:has(.decision) .sandbox-notice{padding-right:470px}}.stat-trend{display:inline-flex;align-items:center;gap:3px;margin-left:10px;font-size:13px;font-weight:500;letter-spacing:.02em;vertical-align:middle;white-space:nowrap;animation:trend-in .4s ease-out}.stat-trend.is-good{color:var(--ok)}.stat-trend.is-bad{color:var(--bad)}@keyframes trend-in{0%{opacity:0;transform:translateY(4px)}}.live-idle{padding:0;border:0;background:none;font:inherit;font-size:11px;cursor:pointer}.live-idle i{background:var(--muted);animation:none}.live-idle u{text-underline-offset:3px}.live-idle:hover,.live-idle:focus-visible{color:var(--text)}.live-idle:hover u{color:var(--signal)}.stage-controls .btn-ghost.stage-reset{background:transparent;border-color:transparent;color:var(--muted);padding-left:10px;padding-right:10px}.stage-controls .btn-ghost.stage-reset:hover,.stage-controls .btn-ghost.stage-reset:focus-visible{background:transparent;border-color:var(--line-strong);color:var(--text)}.cite-ref{margin-left:2px;padding:0 4px;font-size:10px;line-height:1;color:var(--signal);border:1px solid color-mix(in srgb,var(--signal) 45%,transparent);vertical-align:super;cursor:help}.cite-n{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-right:6px;font-size:11px;color:var(--signal);border:1px solid color-mix(in srgb,var(--signal) 45%,transparent);flex:none}:root{--ask-dock: 400px}.ask-head-tools{display:inline-flex;gap:8px;align-items:flex-start}@media(min-width:900px){.ask.is-docked{top:var(--topbar-h, var(--top));right:0;bottom:0;display:block}.ask.is-docked .ask-panel{width:var(--ask-dock);height:100%;border-width:0 0 0 1px;animation:dock-in .25s ease-out}.ask.is-docked .ask-fab{display:none}body:has(.ask.is-docked) .app>main,body:has(.ask.is-docked) .app>footer{margin-right:var(--ask-dock);transition:margin-right .25s ease-out}body:has(.ask.is-docked) .decision,body:has(.ask.is-docked) .decision-chip{right:calc(var(--ask-dock) + 24px)}body:has(.ask.is-docked) .to-top{display:none}}@media(max-width:899px){.ask-dock{display:none}}@keyframes dock-in{0%{transform:translate(24px);opacity:0}}.hf-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.hf-links .btn{text-decoration:none}.split-missions{margin:8px 0 0;font-size:14px}.split-missions summary{cursor:pointer;color:var(--muted)}.split-missions summary:hover{color:var(--text)}.split-missions dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0 8px}.split-missions dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}.split-missions dd{margin:0;font-variant-numeric:tabular-nums}.ai-brief{margin:20px 0 8px;border:1px solid var(--line);border-left:3px solid var(--signal);background:var(--surface)}.ai-brief summary{padding:14px 16px;cursor:pointer}.ai-brief-title{font-weight:500}.ai-brief-body{padding:0 16px 16px;max-width:900px}.ai-brief-body p{margin:0 0 12px;line-height:1.6}.ai-brief-source{font-size:12px;color:var(--muted)}
