.readout{place-items:center;width:100%;display:grid;position:relative}.readout__gear{flex-direction:column;align-items:center;gap:0;margin-top:-20px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.readout__gearRow{justify-content:center;width:100%;display:flex;position:relative}.readout__gearArrow{width:12px;height:16px;color:var(--redline);opacity:0;transition:opacity .24s var(--ease-out);place-items:center;display:grid;position:absolute;top:50%;left:calc(50% + 19px);transform:translateY(-50%)}.readout__gearArrow svg{width:100%;height:100%;filter:drop-shadow(0 1px 6px rgb(var(--halo-rgb)/92%))}.readout--isShiftReady .readout__gearArrow{animation:.2s infinite readoutArrow}.readout__gearSlot{width:28px;height:54px;display:block;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 19% 81%,#0000);mask-image:linear-gradient(#0000 0,#000 19% 81%,#0000)}.readout__gearValue{font-variant-numeric:tabular-nums;color:var(--chalk-000);text-shadow:0 2px 18px rgb(var(--halo-rgb)/92%);place-items:center;font-size:32px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.readout__gearKey{letter-spacing:.18em;text-transform:uppercase;color:var(--chalk-200);text-shadow:0 1px 10px rgb(var(--halo-rgb)/92%);font-size:9px;font-weight:600}.readout--isShiftReady .readout__gearValue{animation:.2s infinite readoutFlash}.readout__speed{transform:scale(var(--speed-scale,1));transform-origin:50%;transition:translate .44s var(--ease-out);will-change:transform;flex-direction:column;grid-area:1/1;align-items:center;gap:2px;display:flex}.readout--isGeared .readout__speed{translate:0 -12px}.readout__value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--chalk-000);text-shadow:0 0 44px rgb(var(--halo-rgb)/72%);font-size:clamp(72px,15vw,148px);font-weight:600;line-height:.86}.readout--isShiftReady .readout__value{animation:.2s infinite readoutFlash}.readout__unit{letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;color:var(--chalk-200);transform:scale(var(--unit-scale,1));transform-origin:top;font-size:15px;font-weight:500}@keyframes readoutArrow{0%,45%{opacity:1}55%,to{opacity:.12}}@keyframes readoutFlash{0%,45%{color:var(--redline)}55%,to{color:var(--chalk-000)}}@media(prefers-reduced-motion:reduce){.readout--isShiftReady .readout__gearValue,.readout--isShiftReady .readout__value{color:var(--redline);animation:none}.readout--isShiftReady .readout__gearArrow{opacity:1;animation:none}}.gauge{z-index:3;bottom:calc(26px + var(--safe-bottom));width:min(460px,76%);opacity:var(--reveal-hud,1);flex-direction:column;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}@media(max-width:650px){.gauge{bottom:calc(var(--dock-button) + var(--dock-gap)*2 + var(--safe-bottom))}}.gauge__bar{border-radius:var(--radius-pill);background:var(--ink-400);height:8px;position:relative;overflow:hidden}.gauge__redline{left:var(--gauge-mark,82%);background:var(--redline-dim);right:0}.gauge__fill,.gauge__redline{position:absolute;inset-block:0}.gauge__fill{width:var(--gauge-fill,0);background:var(--chalk-000);left:0}.gauge__redlineFill{inset-block:0;left:var(--gauge-mark,82%);width:var(--gauge-redline,0);background:var(--redline);box-shadow:0 0 14px var(--redline);position:absolute}.gauge--isShiftReady .gauge__fill,.gauge--isShiftReady .gauge__redlineFill{animation:.2s infinite gaugeFlash}.gauge__stats{grid-template-columns:1fr auto 1fr;align-items:end;display:grid}.gauge__stat{flex-direction:column;gap:2px;display:flex}.gauge__stat--isStart{align-items:flex-start}.gauge__stat--isCentre{align-items:center}.gauge__stat--isEnd{align-items:flex-end}.gauge__key{letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-200);font-size:8px}.gauge__figure,.gauge__key{text-shadow:0 1px 10px rgb(var(--halo-rgb)/92%)}.gauge__figure{font-variant-numeric:tabular-nums;color:var(--chalk-000);font-size:11px;font-weight:500}@keyframes gaugeFlash{0%,45%{opacity:1}55%,to{opacity:.18}}@media(prefers-reduced-motion:reduce){.gauge--isShiftReady .gauge__fill,.gauge--isShiftReady .gauge__redlineFill{animation:none}}.debug{flex-direction:column;gap:10px;display:flex}.debug__head{justify-content:space-between;align-items:center;display:flex}.debug__title{letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-100);font-size:12px;font-weight:600}.debug__switch{border-radius:var(--radius-pill);background:var(--ink-400);width:40px;height:22px;transition:background .25s var(--ease-out);padding:3px}.debug__switch--isOn{background:var(--accent)}.debug__knob{background:var(--chalk-000);width:16px;height:16px;transition:background .25s var(--ease-out),transform .25s var(--ease-out);border-radius:50%;display:block}.debug__switch--isOn .debug__knob{background:var(--accent-ink);transform:translate(18px)}.debug__hint{color:var(--chalk-300);font-size:11px;line-height:1.45}.debug__field{grid-template-columns:1fr auto;gap:6px 10px;display:grid}.debug__label{color:var(--chalk-200);font-size:11px}.debug__value{font-variant-numeric:tabular-nums;color:var(--chalk-000);font-size:11px}.debug__track{flex-direction:column;gap:8px;display:flex}.debug__load{border:1px solid var(--ink-400);border-radius:var(--radius-pill);letter-spacing:.06em;color:var(--chalk-100);cursor:pointer;place-items:center;padding:9px 14px;font-size:11px;font-weight:600;display:grid}.debug__file{display:none}.debug__kicks{grid-template-columns:1fr 1fr;gap:8px;display:grid}.debug__kick{border:1px solid var(--ink-400);border-radius:var(--radius-m);color:var(--chalk-100);transition:border-color .2s var(--ease-out),color .2s var(--ease-out);padding:9px 8px;font-size:12px;font-weight:600}.debug__kick--isSurge:hover{border-color:var(--accent);color:var(--chalk-000)}.debug__kick--isBrake:hover{border-color:var(--redline);color:var(--redline)}.debug__range{border-radius:var(--radius-pill);background:var(--ink-400);appearance:none;cursor:pointer;grid-column:1/-1;width:100%;height:4px}.debug__range:disabled{opacity:.4;cursor:default}.debug__range::-webkit-slider-thumb{background:var(--accent);appearance:none;border:0;border-radius:50%;width:14px;height:14px}.debug__range::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:14px;height:14px}.settingsSlider{transition:opacity .2s var(--ease-out);flex-direction:column;gap:6px;display:flex}.settingsSlider--isOff{opacity:.42}.settingsSlider__head{justify-content:space-between;align-items:baseline;display:flex}.settingsSlider__label{color:var(--chalk-100);font-size:13px}.settingsSlider__value{font-variant-numeric:tabular-nums;color:var(--chalk-200);font-size:12px}.settingsSlider__bar{border-radius:var(--radius-m);background:var(--ink-400);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:52px;transition:transform .14s var(--ease-out);position:relative;overflow:hidden}.settingsSlider__bar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settingsSlider__fill{width:var(--fill,0);background:var(--chalk-000);pointer-events:none;inset-block:0;position:absolute;left:0}.settingsSlider--isSliding .settingsSlider__bar{transform:scaleY(1.06)}.settingsSlider--isOff .settingsSlider__bar{cursor:default}.settingsToggle{--switch-pad:3px;--switch-gap:2px;gap:var(--switch-gap);padding:var(--switch-pad);border:1px solid var(--ink-400);flex:none;grid-auto-columns:1fr;grid-auto-flow:column}.settingsToggle,.settingsToggle__slot{border-radius:var(--radius-pill);display:grid;position:relative}.settingsToggle__slot{z-index:2;min-width:34px;height:20px;color:var(--chalk-300);transition:color .28s var(--ease-out);place-items:center;padding:0 8px;font-size:11px;font-weight:500}.settingsToggle__slot svg{width:13px;height:13px}.settingsToggle__slot:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.settingsToggle__slot--isOn{color:var(--accent-ink)}.settingsToggle__pill{z-index:1;inset:var(--switch-pad) auto var(--switch-pad) var(--switch-pad);border-radius:var(--radius-pill);background:var(--accent);transform:translate(calc((100% + var(--switch-gap))*var(--active,0)));transition:transform .28s var(--ease-out);position:absolute}@media(prefers-reduced-motion:reduce){.settingsToggle__pill,.settingsToggle__slot{transition:none}}.settings{z-index:30;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings__scrim{background:rgb(var(--scrim-rgb)/62%);-webkit-backdrop-filter:blur(7px);cursor:default;transition:background .32s var(--ease-out),backdrop-filter .32s var(--ease-out);position:absolute;inset:0}.settings__panel{overscroll-behavior:contain;border:1px solid var(--ink-300);border-radius:var(--radius-l);background:var(--ink-200);flex-direction:column;gap:20px;width:min(420px,100%);max-height:100%;padding:20px;display:flex;position:relative;overflow-y:auto;box-shadow:0 26px 70px #00000061}.settings__head{justify-content:space-between;align-items:center;display:flex}.settings__title{color:var(--chalk-000);font-size:17px;font-weight:600}.settings__close{width:28px;height:28px;color:var(--chalk-200);transition:color .2s var(--ease-out),background .2s var(--ease-out);border-radius:50%;place-items:center;display:grid}.settings__close svg{width:14px;height:14px}.settings__close:hover{color:var(--chalk-000);background:var(--ink-300)}.settings__group{flex-direction:column;gap:12px;display:flex}.settings__group--isMuted{opacity:.55}.settings__legend{letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-300);font-size:11px;font-weight:600}.settings__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings__label{min-width:0;color:var(--chalk-100);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.settings__select{border:1px solid var(--ink-400);border-radius:var(--radius-pill);max-width:60%;color:var(--chalk-100);background-color:var(--ink-200);appearance:none;cursor:pointer;transition:border-color .2s var(--ease-out);background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%206%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23888f99%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.4%22%20d%3D%22m1%201%204%204%204-4%22%2F%3E%3C%2Fsvg%3E);background-position:right 11px center;background-repeat:no-repeat;background-size:10px 6px;flex:none;padding:6px 30px 6px 12px;font-family:inherit;font-size:11px}.settings__select:hover{border-color:var(--chalk-300)}.settings__select option{color:var(--chalk-000);background:var(--ink-200)}.settings__choices{align-items:center;gap:8px;display:flex}.settings__choice{border:1px solid var(--ink-400);border-radius:var(--radius-pill);height:28px;color:var(--chalk-200);transition:border-color .2s var(--ease-out),color .2s var(--ease-out),background .2s var(--ease-out);place-items:center;padding:0 12px;font-size:11px;display:grid}.settings__choice:hover{border-color:var(--chalk-300)}.settings__choice--isOn{border-color:var(--accent);color:var(--accent-ink);background:var(--accent)}.settings__switch{border-radius:var(--radius-pill);background:var(--ink-400);cursor:pointer;width:40px;height:22px;transition:background .25s var(--ease-out);flex:none;padding:3px;display:block;position:relative}.settings__switch--isOn{background:var(--accent)}.settings__checkbox{opacity:0;cursor:pointer;position:absolute;inset:0}.settings__knob{background:var(--chalk-000);width:16px;height:16px;transition:background .25s var(--ease-out),transform .25s var(--ease-out);border-radius:50%;display:block}.settings__switch--isOn .settings__knob{background:var(--accent-ink);transform:translate(18px)}.settings__soon{color:var(--chalk-300);font-size:12px;line-height:1.5}.settings__feedback{border-radius:var(--radius-m);color:var(--accent-ink);background:var(--accent);transition:opacity .2s var(--ease-out);padding:12px 16px;font-size:13px;font-weight:600}.settings__feedback:hover{opacity:.88}.settings__legal{color:var(--chalk-300);text-underline-offset:3px;transition:color .2s var(--ease-out);align-self:flex-start;font-size:12px;text-decoration:underline}.settings__legal:hover{color:var(--chalk-100)}.settings-enter-active .settings__panel{transition:opacity .25s var(--ease-out),transform .3s var(--ease-out)}.settings-leave-active .settings__scrim{transition:background .18s var(--ease-in),backdrop-filter .18s var(--ease-in)}.settings-leave-active .settings__panel{transition:opacity .14s var(--ease-in),transform .18s var(--ease-in)}.settings-enter-from .settings__scrim,.settings-leave-to .settings__scrim{background:rgb(var(--scrim-rgb)/0);-webkit-backdrop-filter:blur()}.settings-enter-from .settings__panel,.settings-leave-to .settings__panel{opacity:0;transform:translateY(12px)scale(.98)}.update{z-index:20;bottom:calc(14px + var(--safe-bottom));border:1px solid var(--ink-300);border-radius:var(--radius-pill);max-width:min(440px,100vw - 24px);color:var(--chalk-000);background:rgb(var(--scrim-rgb)/72%);-webkit-backdrop-filter:blur(10px);align-items:center;gap:12px;padding:10px 10px 10px 16px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000004d}.update__copy{white-space:nowrap}.update__apply{border-radius:var(--radius-pill);color:var(--accent-ink);background:var(--accent);transition:opacity .2s var(--ease-out);flex:none;padding:8px 14px;font-size:12px;font-weight:600}.update__apply:hover{opacity:.88}.update__close{width:26px;height:26px;color:var(--chalk-200);border-radius:50%;flex:none;place-items:center;display:grid}.update__close svg{width:12px;height:12px}.update__close:hover{color:var(--chalk-000);background:var(--ink-300)}.update-enter-active,.update-leave-active{transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.update-enter-from,.update-leave-to{opacity:0;transform:translate(-50%,12px)}.diagnostic{z-index:90;color:#fff;pointer-events:none;background:#000000c7;border:1px solid #ffffff38;border-radius:8px;flex-direction:column;gap:4px;max-width:min(560px,100vw - 20px);padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;line-height:1.45;display:flex;position:fixed;bottom:10px;right:10px}.diagnostic__line{word-break:break-all}.diagnostic__line--isFault{color:#ff6b5e}
