:root{--asphalt:#272c31;--graphite:#343b42;--ink:#1f242a;--ink-soft:#545e66;--ink-faint:#5e686f;--verdigris-ink:#1f6a5e;--signal-ink:#ad3615;--vellum:#d7dbd4;--vellum-lift:#e4e7e1;--vellum-sink:#c4c9c1;--verdigris:#2e7f71;--signal:#e04b27;--sodium:#e6a23c;--hairline:#343b4238;--hairline-soft:#343b421f;--panel:#d7dbd4db;--panel-solid:#e2e5df;--gutter:14px;--radius:3px;--sans:"Saira", ui-sans-serif, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--step-micro:.6875rem;--step-small:.75rem;--step-base:.8125rem;--step-mid:1rem;--step-large:1.5625rem}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--sans);font-size:var(--step-base);font-variation-settings:"wdth" 100;color:var(--ink);background:var(--asphalt);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden}h1,h2,p,dl,dd,dt,ul,li,figure{margin:0;padding:0}ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:2px}#viewport{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.vignette{z-index:1;pointer-events:none;background:radial-gradient(130% 95% at 50% 42%,#0000 38%,#10151980 100%),linear-gradient(#10151957,#0000 22% 70%,#1015196b);position:fixed;inset:0}body{gap:var(--gutter);padding:var(--gutter);padding-bottom:max(var(--gutter), env(safe-area-inset-bottom));grid-template:"top""free"minmax(0,1fr)"bottom"/1fr;display:grid}body>*{z-index:2;position:relative}.rail--top{grid-area:top}.docks{grid-area:free}.rail--bottom{grid-area:bottom}.panel,.rail{background:var(--panel);border:1px solid var(--hairline);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px)saturate(1.08);position:relative;overflow:hidden}.panel{padding:11px 12px 12px}.panel h2{font-size:var(--step-small);font-variation-settings:"wdth" 92;letter-spacing:.012em;color:var(--ink);border-bottom:1px solid var(--hairline-soft);margin-bottom:9px;padding-bottom:7px;font-weight:600}.panel__note{font-size:var(--step-micro);color:var(--ink-soft);max-width:34ch;margin-top:8px;line-height:1.45}.panel--wiring{border-left:3px solid var(--signal)}.rail{align-items:center;gap:16px;padding:9px 13px;display:flex}.mark{color:var(--ink);font-weight:600;font-size:var(--step-base);font-variation-settings:"wdth" 88;letter-spacing:.008em;white-space:nowrap;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.mark svg{fill:none;width:17px;height:17px;stroke:var(--signal);stroke-width:2px;stroke-linecap:round;flex:none}.mark:hover{color:var(--signal-ink)}.readouts{gap:22px;min-width:0;margin-left:auto;display:flex}.readout{flex-direction:column;gap:1px;min-width:0;display:flex}.readout dt{font-size:var(--step-micro);color:var(--ink-soft);font-variation-settings:"wdth" 94;white-space:nowrap}.readout dd{font-family:var(--mono);font-size:var(--step-base);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500;line-height:1.15}.readout[data-tone=best] dd{color:var(--verdigris-ink)}.modes{border:1px solid var(--hairline);border-radius:var(--radius);background:#343b4212;flex:none;gap:2px;padding:2px;display:flex}.modes button{color:var(--ink-soft);font-size:var(--step-small);background:0 0;border:0;border-radius:2px;padding:4px 11px;font-weight:500;transition:background .14s,color .14s}.modes button:hover{color:var(--ink)}.modes button.is-active{background:var(--graphite);color:var(--vellum-lift)}.docks{justify-content:space-between;align-items:flex-start;gap:var(--gutter);pointer-events:none;min-height:0;display:flex}.docks>*{pointer-events:auto}.instruments{gap:var(--gutter);flex-direction:column;flex:none;width:296px;min-height:0;display:flex}#wiring{width:100%;height:206px;display:block}.panel--trace{flex:none;align-self:flex-end;width:300px}#trace{width:100%;height:104px;display:block}.trace__empty{font-size:var(--step-micro);color:var(--ink-soft);margin-top:8px}.trace__empty[hidden]{display:none}.legend{font-size:var(--step-micro);color:var(--ink-soft);gap:14px;margin-top:9px;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend__swatch{border-radius:1px;width:14px;height:2px}.legend__swatch--best{background:var(--verdigris)}.legend__swatch--mean{background:var(--ink-faint)}.gauges{flex-direction:column;gap:9px;display:flex}.gauge{grid-template-columns:58px 1fr auto;align-items:center;gap:9px;display:grid}.gauge__label{font-size:var(--step-micro);color:var(--ink-soft)}.gauge__track{background:#343b4224;border-radius:1px;height:5px;position:relative;overflow:hidden}.gauge__track i{inset-block:0;background:var(--verdigris);transition:width 90ms linear,left 90ms linear,background .2s;position:absolute;left:0}.gauge--bipolar .gauge__track:before{content:"";inset-block:0;z-index:1;background:#343b424d;width:1px;position:absolute;left:50%}.gauge__value{font-family:var(--mono);font-size:var(--step-micro);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:56px}.facts{border-top:1px solid var(--hairline-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:11px;padding-top:10px;display:grid}.facts>div{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.facts dt{font-size:var(--step-micro);color:var(--ink-soft);white-space:nowrap}.facts dd{font-family:var(--mono);font-size:var(--step-micro);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;text-align:right;min-width:0;overflow:hidden}.rail--bottom{flex-wrap:wrap;justify-content:center;gap:10px 18px}.cluster{align-items:center;gap:7px;display:flex}.cluster--tight{gap:4px}.cluster__label{font-size:var(--step-micro);color:var(--ink-soft);margin-right:3px}.chips{gap:4px;display:flex}.control,.chip{border:1px solid var(--hairline);color:var(--ink);border-radius:var(--radius);background:#ffffff57;transition:background .14s,color .14s,border-color .14s}.control{font-size:var(--step-small);padding:6px 13px;font-weight:500}.chip{font-size:var(--step-micro);font-family:var(--mono);font-variant-numeric:tabular-nums;padding:5px 9px}.control:hover,.chip:hover{background:#ffffffb8;border-color:#343b4266}.chip.is-active{background:var(--graphite);border-color:var(--graphite);color:var(--vellum-lift)}.control--primary{background:var(--graphite);border-color:var(--graphite);color:var(--vellum-lift);min-width:82px}.control--primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}.control--ghost{background:0 0;margin-left:auto}.control[aria-expanded=true]{background:var(--graphite);border-color:var(--graphite);color:var(--vellum-lift)}.sheet{top:var(--gutter);right:var(--gutter);bottom:var(--gutter);width:min(368px, calc(100vw - var(--gutter) * 2));z-index:6;background:var(--panel-solid);border:1px solid var(--hairline);border-radius:var(--radius);-webkit-backdrop-filter:blur(20px)saturate(1.08);flex-direction:column;animation:.22s cubic-bezier(.22,.8,.3,1) sheet-in;display:flex;position:fixed}.sheet[hidden]{display:none}@keyframes sheet-in{0%{opacity:0;transform:translate(14px)}}.sheet__head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.sheet__head h2{font-size:var(--step-mid);font-variation-settings:"wdth" 92;font-weight:600}.sheet__close{color:var(--ink-soft);background:0 0;border:0;border-radius:2px;padding:2px 6px;font-size:1.3rem;line-height:1}.sheet__close:hover{color:var(--signal-ink)}.sheet__body{overscroll-behavior:contain;flex:1;padding:4px 14px 14px;overflow-y:auto}.sheet__foot{border-top:1px solid var(--hairline);gap:8px;padding:12px 14px;display:flex}.sheet__foot .control{flex:1}.group{border-bottom:1px solid var(--hairline-soft);padding:13px 0}.group:last-child{border-bottom:0}.group>h3{font-size:var(--step-small);font-variation-settings:"wdth" 92;margin-bottom:3px;font-weight:600}.group>p{font-size:var(--step-micro);color:var(--ink-soft);max-width:42ch;margin-bottom:11px;line-height:1.45}.field{grid-template-columns:1fr auto;align-items:center;gap:4px 10px;margin-bottom:11px;display:grid}.field:last-child{margin-bottom:0}.field>label{font-size:var(--step-small)}.field__value{font-family:var(--mono);font-size:var(--step-micro);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.field input[type=range]{appearance:none;background:0 0;grid-column:1/-1;width:100%;height:18px;margin:0}.field input[type=range]::-webkit-slider-runnable-track{background:#343b4233;border-radius:2px;height:3px}.field input[type=range]::-moz-range-track{background:#343b4233;border-radius:2px;height:3px}.field input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--graphite);border:2px solid var(--vellum-lift);border-radius:50%;width:13px;height:13px;margin-top:-5px}.field input[type=range]::-moz-range-thumb{border:2px solid var(--vellum-lift);background:var(--graphite);border-radius:50%;width:13px;height:13px}.field__hint{font-size:var(--step-micro);color:var(--ink-faint);grid-column:1/-1;line-height:1.4}.segmented{grid-column:1/-1;gap:4px;display:flex}.segmented button{border:1px solid var(--hairline);border-radius:var(--radius);font-size:var(--step-micro);background:#ffffff57;flex:1;padding:5px 6px;transition:background .14s,color .14s,border-color .14s}.segmented button.is-active{background:var(--graphite);border-color:var(--graphite);color:var(--vellum-lift)}.switch{font-size:var(--step-small);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.switch:last-child{margin-bottom:0}.switch input{appearance:none;border:1px solid var(--hairline);cursor:pointer;background:#343b4238;border-radius:9px;flex:none;width:32px;height:18px;margin:0;transition:background .16s;position:relative}.switch input:after{content:"";background:var(--vellum-lift);border-radius:50%;width:12px;height:12px;transition:transform .16s cubic-bezier(.22,.8,.3,1);position:absolute;top:2px;left:2px}.switch input:checked{background:var(--verdigris-ink);border-color:var(--verdigris-ink)}.switch input:checked:after{transform:translate(14px)}.gate{z-index:8;-webkit-backdrop-filter:blur(3px);background:linear-gradient(140deg,#171c20c2,#171c2085);place-items:center;padding:24px;transition:opacity .5s,visibility .5s;display:grid;position:fixed;inset:0}.gate.is-gone{opacity:0;visibility:hidden;pointer-events:none}.gate__card{background:var(--panel-solid);border:1px solid var(--hairline);border-left:3px solid var(--signal);border-radius:var(--radius);width:min(560px,100%);padding:26px 28px 24px;animation:.6s cubic-bezier(.22,.8,.3,1) both gate-in}@keyframes gate-in{0%{opacity:0;transform:translateY(12px)}}.gate__kicker{font-size:var(--step-small);color:var(--ink-soft);font-variation-settings:"wdth" 96;margin-bottom:7px}.gate__card h1{font-variation-settings:"wdth" 108;letter-spacing:-.021em;text-wrap:balance;margin-bottom:14px;font-size:clamp(1.8rem,4.6vw,2.6rem);font-weight:600;line-height:1.03}.gate__body{font-size:var(--step-base);color:var(--graphite);max-width:56ch;margin-bottom:20px;line-height:1.62}.gate__actions{flex-wrap:wrap;gap:9px;margin-bottom:16px;display:flex}.gate__actions .control{font-size:var(--step-base);padding:9px 18px}.gate__hint{font-size:var(--step-micro);color:var(--ink-faint);border-top:1px solid var(--hairline-soft);padding-top:13px}.curtain{z-index:7;-webkit-backdrop-filter:blur(2px);background:#171c2085;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.curtain[hidden]{display:none}.curtain__card{background:var(--panel-solid);border:1px solid var(--hairline);border-left:3px solid var(--signal);border-radius:var(--radius);width:min(400px,100%);padding:22px 24px;animation:.3s cubic-bezier(.22,.8,.3,1) both gate-in}.curtain__card h2{font-size:var(--step-large);font-variation-settings:"wdth" 104;letter-spacing:-.014em;margin-bottom:16px;font-weight:600}.curtain__score{gap:8px;padding-bottom:18px;display:grid}.curtain__score>div{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:7px;display:flex}.curtain__score dt{font-size:var(--step-small);color:var(--ink-soft)}.curtain__score dd{font-family:var(--mono);font-size:var(--step-base);font-variant-numeric:tabular-nums;font-weight:500}.curtain__actions{gap:8px;display:flex}.curtain__actions .control{flex:1;padding:9px 12px}.toast{z-index:9;background:var(--graphite);max-width:min(440px,100vw - 32px);color:var(--vellum-lift);border-radius:var(--radius);font-size:var(--step-small);opacity:0;pointer-events:none;padding:8px 15px;transition:opacity .22s,transform .22s;position:fixed;bottom:86px;left:50%;transform:translate(-50%,10px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast[data-tone=warn]{background:var(--signal)}@media (max-width:1180px){.readout--wide{display:none}}@media (max-width:1040px){.instruments,.panel--trace{width:262px}}@media (max-width:920px){:root{--gutter:10px}.rail--top{flex-wrap:wrap;gap:9px 14px}.readouts{order:3;justify-content:space-between;gap:18px;width:100%;margin-left:0}.modes{margin-left:auto}.docks{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-direction:row;align-items:flex-end;padding-bottom:2px;overflow:auto hidden}.instruments,.panel--trace{scroll-snap-align:start;width:254px}.panel--trace{align-self:flex-end}.rail--bottom{flex-wrap:nowrap;justify-content:flex-start;gap:14px;overflow-x:auto}.control--ghost{margin-left:0}.toast{bottom:110px}}@media (max-width:700px){.panel--wiring{display:none}.readout--wide{display:flex}.gate__card{padding:20px 20px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body[data-mode=drive] [data-action=next-generation],body[data-mode=drive] [data-action=reset],body[data-mode=drive] .cluster[aria-label=Simulation\ speed],body[data-mode=drive] .legend,body[data-mode=drive] .panel--trace{display:none}body[data-mode=drive] .readout dd[data-field=overtakes]{color:var(--verdigris-ink)}.instruments{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#343b424d transparent;max-height:100%;overflow-y:auto}.instruments::-webkit-scrollbar{width:6px}.instruments::-webkit-scrollbar-thumb{background:#343b4247;border-radius:3px}@media (max-height:820px){#wiring{height:176px}}@media (max-height:680px){#wiring{height:150px}#trace{height:84px}.panel__note,.trace__empty{display:none}.panel{padding:9px 11px 10px}}.touchpad{left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + 62px);z-index:5;pointer-events:none;justify-content:space-between;gap:12px;display:none;position:fixed}.touchpad__group{pointer-events:auto;gap:10px;display:flex}.touchpad__key{border:1px solid var(--hairline);background:var(--panel);-webkit-backdrop-filter:blur(16px);touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;width:58px;height:58px;transition:background .1s,transform .1s;display:grid}.touchpad__key svg{fill:none;width:24px;height:24px;stroke:var(--graphite);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.touchpad__key--go svg{stroke:var(--signal-ink)}.touchpad__key.is-down{background:var(--graphite);transform:scale(.94)}.touchpad__key.is-down svg{stroke:var(--vellum-lift)}@media (pointer:coarse){body[data-mode=drive] .touchpad{display:flex}}body.has-touch[data-mode=drive] .touchpad{display:flex}.control,.chip,.cluster__label{white-space:nowrap}@media (max-width:700px){.facts{grid-template-columns:minmax(0,1fr)}.docks{padding-right:2px}.instruments,.panel--trace{width:min(276px,82vw)}}body.has-touch[data-mode=drive] .docks{padding-bottom:74px}@media (pointer:coarse){body[data-mode=drive] .docks{padding-bottom:74px}}@media (max-width:760px){body.has-touch[data-mode=drive] .docks{display:none}}@media (max-width:760px) and (pointer:coarse){body[data-mode=drive] .docks{display:none}}.rail__progress{background:color-mix(in srgb, var(--ink-faint) 18%, transparent);height:2px;position:absolute;inset:auto 0 0}.rail__progress span{background:var(--verdigris-ink);width:0;height:100%;transition:width .12s linear;display:block}@media (prefers-reduced-motion:reduce){.rail__progress span{transition:none}}.trace__note{font-size:var(--step-tiny);color:var(--ink-faint);max-width:46ch;margin:8px 0 0;line-height:1.45}@media (max-height:540px){.trace__note{display:none}}
