@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2)format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode-variable.woff2)format("woff2")}:root{--void:#000;--paper:#f4f1ea;--muted:#f4f1ea9e;--ir:#c45c3e;--xray:#7ee0e8;--gold:#e4b44c;--loss:#ff5a4a;--line:#f4f1ea29;--fill:#000000b8;--mono:"Fira Code", ui-monospace, monospace;--sans:"Poppins", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--void);height:100%;color:var(--paper);font-family:var(--sans);margin:0;font-size:15px;font-weight:500}#app{height:100%;position:relative;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{width:100%;height:100%;display:block}.hud{pointer-events:none;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(180px,220px) 1fr minmax(200px,240px);gap:12px;padding:16px 18px 14px;display:grid;position:absolute;inset:0}.hud>*{pointer-events:auto}.plate{pointer-events:none;grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.plate h1{font-family:var(--mono);letter-spacing:-.02em;text-shadow:0 1px 12px #000;margin:0;font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.1}.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--ir);text-shadow:0 1px 8px #000;margin:0 0 4px;font-size:11px}.lede{max-width:46ch;color:var(--muted);text-shadow:0 1px 8px #000;margin:8px 0 0;font-size:14px;line-height:1.5}.meta{font-family:var(--mono);text-shadow:0 1px 8px #000;gap:22px;margin:0;font-size:13px;display:flex}.meta div,.stats div{margin:0}dt{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:11px}dd{font-variant-numeric:tabular-nums;margin:2px 0 0}.rail,.readout,.clock{background:var(--fill);border:1px solid var(--line)}.rail,.readout{align-self:start;max-height:calc(100% - 8px);padding:12px;overflow:auto}.rail{grid-column:1}.readout{grid-column:3}.star-list{margin:10px 0 0;padding:0;list-style:none}.star-list button{width:100%;min-height:44px;color:var(--paper);border:0;border-bottom:1px solid var(--line);font:inherit;font-family:var(--mono);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:8px 4px;font-size:13px;display:flex}.star-list button.on{color:var(--gold);background:0 0}.star-list button.captured{color:var(--loss);text-decoration:line-through}.star-list .e{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.readout{justify-self:end}.readout h2{font-family:var(--mono);margin:4px 0 12px;font-size:36px;font-weight:500;line-height:1.1}.stats{font-family:var(--mono);grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;font-size:13px;display:grid}.note{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.5}.clocks{grid-column:1/-1;grid-template-columns:1.3fr 1.2fr .9fr;gap:12px;display:grid}.clock{padding:12px 14px}.clock-head{text-transform:uppercase;letter-spacing:.14em;color:var(--xray);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}button{font-family:var(--sans);color:var(--paper);border:1px solid var(--line);cursor:pointer;background:0 0;min-height:44px;padding:8px 14px;font-size:14px;font-weight:500}.clock-head button{min-width:132px}.clock-head button.on{border-color:var(--gold);color:#000;background:var(--gold)}button:hover{border-color:var(--gold)}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}input[type=range]{width:100%;accent-color:var(--ir);min-height:32px}.clock p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.check{color:var(--paper);letter-spacing:.02em;text-transform:none;align-items:center;gap:6px;min-height:44px;font-size:13px;display:inline-flex}.fine{font-size:13px}.boot,.fail{background:var(--void);font-family:var(--mono);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.fail{color:var(--loss)}@media (width<=860px){.hud{grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr 1fr}.plate{grid-column:1/-1}.rail,.readout{max-height:140px}.clocks{grid-column:1/-1;grid-template-columns:1fr}.plate{flex-direction:column;align-items:flex-start}}
