:root{color:#f4f0e8;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f4f0e8;--muted:#929a96;--line:#343a38;--panel:#111413;--signal:#6ee7de;--switch:#ffd147;--danger:#ff6c5f;--success:#9be564;--topbar:74px;background:#0a0b0b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:#0a0b0b;width:100%;min-height:100%;margin:0}body{min-width:320px;min-height:100svh;color:var(--ink);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.topbar{z-index:30;height:var(--topbar);border-bottom:1px solid var(--line);background:#0a0b0bf0;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;display:grid;position:fixed;inset:0 0 auto}.wordmark{color:var(--ink);letter-spacing:0;justify-self:start;align-items:center;gap:12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.wordmark-mark{border:2px solid var(--signal);width:22px;height:22px;transform:rotate(45deg)}.wordmark-mark:after{content:"";background:var(--switch);width:7px;height:7px;margin:5px;display:block}.desk-label{color:var(--muted);text-transform:uppercase;letter-spacing:0;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toolbar{justify-self:end;gap:8px;display:flex}.icon-button,.result-action{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:4px}.icon-button{place-items:center;width:44px;height:44px;padding:0;display:grid}.icon-button svg,.result-action svg{stroke-width:1.8px;width:18px;height:18px}.icon-button:hover,.result-action:hover{color:#0a0b0b;border-color:var(--switch);background:var(--switch)}.icon-button:focus-visible,.result-action:focus-visible,.junction:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.game-stage{isolation:isolate;width:100%;height:100svh;min-height:650px;padding-top:var(--topbar);background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:96px 96px;background-position:-1px calc(var(--topbar) - 1px);position:relative;overflow:hidden}.game-stage:before{content:"";z-index:-1;inset:var(--topbar) 0 0;background:#0a0b0be6;position:absolute}.title-lockup{z-index:4;top:calc(var(--topbar) + 42px);width:250px;position:absolute;left:28px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;align-items:center;gap:8px;margin:0;font:700 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.live-dot{background:var(--danger);border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 0 4px #ff6c5f1f}h1{color:var(--ink);letter-spacing:0;margin:22px 0 0;font-size:76px;font-weight:900;line-height:.8}h1 span{display:block}h1 span:last-child{color:#0000;-webkit-text-stroke:1px var(--ink)}.metrics{z-index:4;top:calc(var(--topbar) + 42px);border:1px solid var(--line);background:#0a0b0b;grid-template-columns:repeat(3,88px);margin:0;display:grid;position:absolute;right:28px}.metrics div{min-height:66px;padding:11px 12px 9px}.metrics div+div{border-left:1px solid var(--line)}.metrics dt{color:var(--muted);text-transform:uppercase;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.metrics dd{margin:9px 0 0;font:700 17px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.board-shell{z-index:2;inset:var(--topbar) 0 0;position:absolute}#track-canvas,.junction-layer{width:100%;height:100%;position:absolute;inset:0}.junction-layer{pointer-events:none}.junction{width:62px;height:62px;color:var(--switch);cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%)}.junction:before{content:"";background:#0a0b0b;border:2px solid;transition:transform .14s,background .14s;position:absolute;inset:14px;transform:rotate(45deg)}.junction:after{content:"";background:currentColor;position:absolute;inset:25px}.junction:hover:before,.junction:active:before{background:var(--switch);transform:rotate(135deg)}.junction:hover:after,.junction:active:after{background:#0a0b0b}.junction[data-selected="1"]:before{background:var(--switch);transform:rotate(135deg)}.junction[data-selected="1"]:after{background:#0a0b0b}.junction.is-primary:not(.is-running):before{animation:1.25s ease-out infinite switch-pulse}@keyframes switch-pulse{0%{box-shadow:0 0 #ffd1478c}80%,to{box-shadow:0 0 0 18px #ffd14700}}.line-progress{z-index:5;gap:7px;margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:34px;right:28px}.dispatch-queue{z-index:5;top:calc(var(--topbar) + 42px);align-items:center;gap:15px;display:flex;position:absolute;left:34%}.dispatch-label{color:var(--muted);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.dispatch-strip{align-items:center;gap:20px;min-height:38px;margin:0;padding:0;list-style:none;display:flex}.dispatch-strip li{width:32px;height:32px;color:var(--signal);opacity:.42;place-items:center;display:grid;position:relative}.dispatch-strip li+li:before{content:"";border-top:1px dashed var(--muted);width:20px;position:absolute;top:15px;right:32px}.dispatch-strip li[data-shape=circle]{color:var(--success)}.dispatch-strip li[data-shape=diamond]{color:var(--ink)}.signal-token{border:2px solid;width:16px;height:16px}[data-shape=circle] .signal-token{border-radius:50%}[data-shape=diamond] .signal-token{transform:rotate(45deg)}.dispatch-strip li.is-moving{opacity:1;box-shadow:inset 0 -3px}.dispatch-strip li.is-arrived{opacity:1}.dispatch-strip li.is-arrived .signal-token{background:currentColor}.dispatch-strip li.is-failed{color:var(--danger);opacity:1}.line-progress li{background:#0a0b0b;border:1px solid #59605d;width:44px;height:5px}.line-progress li.is-complete{border-color:var(--success);background:var(--success)}.line-progress li.is-current{border-color:var(--switch);background:var(--switch)}.status-line{z-index:5;color:var(--ink);text-transform:uppercase;align-items:center;gap:15px;margin:0;font:700 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;position:absolute;bottom:27px;left:28px}.status-index{color:#0a0b0b;background:var(--switch);place-items:center;width:38px;height:32px;display:grid}.result-overlay{z-index:20;inset:var(--topbar) 0 0;background:#0a0b0bf5;place-items:center;padding:28px;display:grid;position:absolute}.result-overlay[hidden]{display:none}.result-copy{text-align:center;width:min(740px,100%)}.result-copy .eyebrow{justify-content:center}.result-copy h2{color:var(--ink);letter-spacing:0;margin:20px 0 18px;font-size:82px;font-weight:900;line-height:.9}.result-copy p:not(.eyebrow){color:var(--muted);margin:0 auto;font-size:17px}.result-action{justify-content:center;align-items:center;gap:10px;min-width:160px;margin-top:30px;padding:0 20px;font-weight:800;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){:root{--topbar:64px}.topbar{grid-template-columns:1fr auto;padding:0 14px}.desk-label{display:none}.wordmark{font-size:12px}.game-stage{background-size:64px 64px;min-height:620px}.title-lockup{top:calc(var(--topbar) + 22px);width:180px;left:16px}.eyebrow{font-size:8px}h1{margin-top:14px;font-size:50px;line-height:.82}.metrics{top:calc(var(--topbar) + 18px);grid-template-columns:70px;right:14px}.metrics div{min-height:45px;padding:8px 10px 7px}.metrics div+div{border-top:1px solid var(--line);border-left:0}.metrics dd{margin-top:5px;font-size:13px}.junction{width:54px;height:54px}.junction:before{inset:12px}.junction:after{inset:22px}.status-line{max-width:calc(100% - 28px);font-size:11px;bottom:44px;left:14px}.line-progress{width:calc(100% - 28px);bottom:20px;left:14px;right:auto}.dispatch-queue{top:calc(var(--topbar) + 178px);gap:12px;left:16px}.dispatch-strip{gap:15px}.dispatch-strip li{width:28px;height:28px}.dispatch-strip li+li:before{width:15px;top:13px;right:28px}.line-progress li{flex:1;width:auto;height:4px}.result-copy h2{font-size:50px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
