@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/onest-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/onest-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Teko;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/teko-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Teko;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/teko-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-strong:oklch(11% .018 325);--bg-soft:oklch(18% .014 327);--text:oklch(94% .02 330);--text-dim:oklch(72% .018 326);--text-muted:color-mix(in oklab, var(--text) 78%, var(--bg-soft));--accent:#ff26c9;--accent-ink:oklch(16% .04 340);--line:color-mix(in oklab, var(--text) 13%, transparent);--line-strong:color-mix(in oklab, var(--text) 28%, transparent);--font-display:"Teko", sans-serif;--font-wordmark:"Onest Variable", "Onest", sans-serif;--font-body:"Onest Variable", "Onest", sans-serif;--text-label:.72rem;--wordmark-size:clamp(3rem, min(13vw, 22vh), 15.5rem);--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--gutter:clamp(1rem, 2.2vw, 2rem);--gap:clamp(1.25rem, 2.5vw, 2.5rem);--block:clamp(1.25rem, 3.2vh, 2.25rem);--ease-stage:cubic-bezier(.19, 1, .22, 1);--duration-stage:.94s;--error:#ffb7c5}*{box-sizing:border-box}body{color:var(--text);font-family:var(--font-body);font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--accent-ink)}body>.lil-gui{--background-color:var(--bg-soft);--text-color:var(--text);--title-background-color:var(--bg-strong);--title-text-color:var(--text);--widget-color:color-mix(in oklab, var(--text) 8%, var(--bg-soft));--hover-color:color-mix(in oklab, var(--text) 14%, var(--bg-soft));--focus-color:color-mix(in oklab, var(--accent) 20%, var(--bg-soft));--number-color:var(--accent);--string-color:var(--text);--font-family:var(--font-body);--widget-border-radius:0;--widget-height:24px;--padding:8px;border:1px solid var(--line);border-top:2px solid var(--accent)}.lil-gui .title{letter-spacing:.08em;text-transform:uppercase}.lil-gui :focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--menu-ink:var(--text);--menu-muted:var(--text-dim);--menu-accent:var(--accent)}.in-menu #help,.in-menu #lobby,.in-menu .driving-hud,.in-menu>.lil-gui{visibility:hidden}[hidden]{display:none!important}.menu-backdrop{contain:paint;background:var(--bg-strong);position:fixed;inset:0;overflow:hidden}.menu-backdrop:before{content:"";will-change:transform, translate;backface-visibility:hidden;background:url(/menu-road.jpg) 50%/cover;animation:12s cubic-bezier(.37,0,.63,1) infinite alternate aerial-pan-x,12s cubic-bezier(.37,0,.63,1) -6s infinite alternate aerial-pan-y;position:absolute;inset:-3%}.menu-backdrop:after{content:"";background:linear-gradient(90deg, var(--bg-strong) 0%, color-mix(in oklab, var(--bg-strong) 90%, transparent) 36%, color-mix(in oklab, var(--bg-strong) 35%, transparent) 100%), linear-gradient(0deg, var(--bg-strong), transparent 45%);position:absolute;inset:0}@keyframes aerial-pan-x{0%{translate:-2.8%}to{translate:2.8%}}@keyframes aerial-pan-y{0%{transform:translateY(-1.8%)scale(1.12)}to{transform:translateY(1.8%)scale(1.12)}}#menu-scenery{z-index:2}body:not(.in-menu) #menu-scenery{display:none}#menu,#loading{z-index:10;color:var(--menu-ink);font:14px/1.5 var(--font-body);position:fixed;inset:0}#menu{padding:0 var(--gutter);box-sizing:border-box;flex-direction:column;justify-content:space-between;display:flex;overflow-y:auto}.menu-footer{justify-content:space-between;align-items:center;gap:24px;font-size:11px;display:flex;position:relative}.menu-content{width:min(100%,520px);margin:auto 0;padding:clamp(32px,5vh,64px) 0;position:relative}#menu h1{font-family:var(--font-wordmark);letter-spacing:-.065em;margin:0 0 24px;font-size:clamp(52px,8.5vw,128px);font-weight:600;line-height:.96}:is(#menu,#quick-menu) h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 20px;font-size:clamp(44px,5vw,68px);font-weight:600;line-height:1.05}.menu-description{max-width:320px;color:var(--text-muted);margin:0 0 30px;font-size:14px;line-height:1.8}.menu-actions{gap:10px;max-width:340px;display:grid}:is(#menu,#quick-menu) button,#menu input{box-sizing:border-box;font:inherit;border-radius:0}:is(#menu,#quick-menu) button{border:1px solid var(--line-strong);background:var(--bg-soft);min-height:54px;color:var(--menu-ink);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;transition:background .18s,border-color .18s,transform .18s;display:flex}:is(#menu,#quick-menu) button.primary{background:var(--menu-accent);border-color:var(--menu-accent);color:var(--accent-ink);font-weight:700}:is(#menu,#quick-menu) button:hover:enabled{background:color-mix(in oklab, var(--text) 10%, var(--bg-soft));border-color:var(--text-dim)}:is(#menu,#quick-menu) button.primary:hover:enabled{background:color-mix(in oklab, var(--accent) 80%, white);border-color:var(--accent)}:is(#menu,#quick-menu) button:disabled{opacity:.5;cursor:wait}:is(#menu,#quick-menu) button.back{color:var(--menu-muted);background:0 0;border-color:#0000;justify-content:flex-start;min-height:40px;padding-left:0}:is(#menu,#quick-menu) :focus-visible,#loading a:focus-visible{outline:2px solid var(--menu-accent);outline-offset:5px}#menu label{color:var(--menu-muted);margin:0 0 8px;font-size:11px;display:block}#menu input{background:var(--bg-strong);border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--menu-ink);height:54px;padding:15px 16px}#menu input::placeholder{color:var(--text-dim)}#menu input[name=code]{text-transform:uppercase;letter-spacing:.25em;font-family:monospace}#menu form{gap:12px;max-width:340px;display:grid}.menu-status{color:var(--error);max-width:340px;min-height:18px;margin:14px 0 0;font-size:12px}.menu-footer{color:var(--text-dim);letter-spacing:1px;align-items:flex-end}.menu-controls{flex-wrap:wrap;gap:10px 24px;display:flex}.menu-controls b{color:var(--text);margin-right:6px;font-weight:400}.menu-code{letter-spacing:.25em;margin:0 0 18px;font:36px/1.5 monospace;display:block}.menu-drivers{max-width:340px;margin:8px 0 20px;padding:0;list-style:none}.menu-drivers li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:9px 0}.menu-count,.menu-waiting{color:var(--menu-muted);font-size:12px}#loading{z-index:20;padding:clamp(28px, 6vw, 96px) var(--gutter);box-sizing:border-box;background:0 0;align-items:flex-end;transition:opacity .4s;display:flex}#loading:before{content:"";background:linear-gradient(0deg, var(--bg-strong), color-mix(in oklab, var(--bg-strong) 40%, transparent) 90%);position:absolute;inset:0}.loading-content{width:min(100%,520px);position:relative}.loading-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 36px;font-size:clamp(64px,8vw,112px);font-weight:600;line-height:1.1}.loading-meta{color:var(--text-muted);justify-content:space-between;gap:20px;font-size:12px;display:flex}#loading progress{appearance:none;background:var(--line-strong);width:100%;height:3px;color:var(--menu-accent);border:0;margin:14px 0 22px;display:block}#loading progress::-webkit-progress-bar{background:var(--line-strong)}#loading progress::-webkit-progress-value{background:var(--menu-accent);transition:width .2s}#loading progress::-moz-progress-bar{background:var(--menu-accent)}#loading a{color:var(--menu-accent)}#loading.loading-complete{opacity:0;pointer-events:none}@media (width<=600px){.menu-backdrop:after{background:color-mix(in oklab, var(--bg-strong) 85%, transparent)}.menu-content{margin:auto 0}}@media (height<=600px) and (width>=601px){#menu{padding-top:20px;padding-bottom:20px}.menu-content{margin:auto 0}#menu h1{font-size:56px}.menu-description{margin-bottom:18px}:is(#menu,#quick-menu) button{min-height:44px;padding-top:10px;padding-bottom:10px}}@media (prefers-reduced-motion:reduce){#menu-scenery:before,#menu *,#menu :before,#menu :after,#loading,#loading *,#loading :before,#loading :after{transition:none!important;animation:none!important}}#menu select{width:100%;min-width:0;height:48px;font:inherit;border:1px solid var(--line-strong);background:var(--bg-strong);color:var(--menu-ink);border-radius:0;padding:10px 12px}.setup-fields{gap:16px;margin:20px 0 24px;display:grid}.setup-hint{color:var(--menu-muted);margin:8px 0 0;font-size:11px;line-height:1.6}#menu select:disabled{opacity:.65;cursor:not-allowed}#menu .setting-row{border-bottom:1px solid var(--line);min-height:44px;color:var(--menu-ink);justify-content:space-between;align-items:center;gap:20px;margin:0;padding:6px 0;font-size:12px;display:flex}#menu .setting-row select{flex-shrink:0;width:140px;height:38px}#menu .setting-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--menu-accent)}.graphics-form details{margin:16px 0 24px}.graphics-form summary{cursor:pointer;color:var(--menu-muted);padding:8px 0;font-size:12px}#quick-menu{box-sizing:border-box;border:1px solid var(--line-strong);border-top:2px solid var(--accent);background:var(--bg-soft);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--menu-ink);font:14px/1.5 var(--font-body);border-radius:0;padding:clamp(24px,4vw,40px);overflow-y:auto;box-shadow:0 24px 80px #0006}#quick-menu::backdrop{background:color-mix(in oklab, var(--bg-strong) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#quick-menu h2{font-size:clamp(32px,5vw,44px)}.quick-menu-open>.lil-gui,.quick-menu-open #help{visibility:hidden}.choice-group{border:0;min-width:0;margin:0;padding:0}.choice-group legend{color:var(--menu-muted);margin-bottom:10px;padding:0;font-size:12px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}#menu .choice-tile{border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--menu-ink);cursor:pointer;margin:0;display:block;position:relative}#menu .choice-tile:has(input:checked){border-color:var(--menu-accent);box-shadow:inset 0 -2px var(--menu-accent)}#menu .choice-tile:has(input:focus-visible){outline:2px solid var(--menu-accent);outline-offset:4px}#menu .choice-tile:has(input:disabled){cursor:default}#menu .choice-tile input{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.choice-tile img{aspect-ratio:1.8;object-fit:cover;width:100%;height:auto;display:block}.choice-caption{color:var(--menu-muted);gap:2px;padding:10px 12px 12px;font-size:11px;display:grid}.choice-caption strong{color:var(--menu-ink);font-size:14px;font-weight:600}.car-grid,.weather-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-grid .choice-caption{padding-left:10px;padding-right:10px}.menu-content.has-setup{width:min(100%,900px);padding-block:28px}.car-grid .choice-tile img{aspect-ratio:2.4}.has-setup .choice-caption{min-height:60px}.time-grid .time-preview{height:40px}.environment-fields{grid-template-columns:1fr 1fr;gap:24px;display:grid}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-preview{height:56px;display:block}.time-preview-morning{background:radial-gradient(circle at 72% 70%,#fff5cd 0 6px,#0000 7px),linear-gradient(#729cc8,#f8d4b3)}.time-preview-day{background:radial-gradient(circle at 65% 28%,#fff9dc 0 7px,#0000 8px),linear-gradient(#377ac2,#b2d7ef)}.time-preview-golden{background:radial-gradient(circle at 72% 88%,#ffe5a4 0 7px,#0000 8px),linear-gradient(#627aa4,#edab70)}.time-preview-night{background:radial-gradient(circle at 72% 28%,#dee9fa 0 5px,#0000 6px),linear-gradient(#101a30,#354863)}@media (width<=700px){.environment-fields{grid-template-columns:1fr;gap:16px}}#menu:before{content:"";inset:0 var(--gutter);pointer-events:none;background:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), var(--line) calc(25% - 1px), var(--line) 25%);opacity:.3;position:absolute;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.menu-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:80px;display:flex;position:relative}.menu-brand{letter-spacing:-.06em;font-size:24px;font-weight:600}.brand-dot{color:var(--accent)}.menu-footer,#menu label:not(.choice-tile):not(.setting-row),.choice-group legend{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.menu-footer{border-top:1px solid var(--line);flex:none;min-height:72px;padding:20px 0}:is(#menu,#quick-menu) button{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}:is(#menu,#quick-menu) button:not(.back):after{content:"↗";transition:transform .22s var(--ease-stage);font-size:18px}:is(#menu,#quick-menu) button:hover:enabled:after{transform:translate(2px,-2px)}#menu h1 .brand-dot{letter-spacing:0}#menu .choice-tile{transition:border-color .18s,background-color .18s}#menu .choice-tile:hover{border-color:var(--text-dim)}#menu .choice-tile:has(input:checked){border-color:var(--accent);background:color-mix(in oklab, var(--accent) 7%, var(--bg-soft))}#menu .choice-tile:has(input:disabled){opacity:.65}#menu .choice-tile:has(input:checked:disabled){opacity:1}.choice-caption{min-height:76px;line-height:1.6}.choice-caption strong{font-weight:500}.setup-fields{counter-reset:setup;gap:24px}.choice-group{counter-increment:setup}.choice-group legend{border-top:1px solid var(--line);width:100%;padding-top:16px}.choice-group legend:before{content:counter(setup, decimal-leading-zero) " / ";color:var(--accent)}#menu .setting-row{gap:12px}#menu .setting-row select{width:min(140px,48%)}#menu .setting-row input[type=checkbox]{padding:0}@media (width<=600px){.menu-header{min-height:64px}.menu-brand{font-size:20px}.menu-footer{flex-direction:column;align-items:flex-start;gap:16px}.menu-controls{gap:10px 16px;font-size:9px}.menu-content{padding-block:28px}.car-grid{grid-template-columns:1fr;gap:8px}#menu .car-grid .choice-tile{grid-template-columns:38% minmax(0,1fr);align-items:center;display:grid}.car-grid .choice-tile img{aspect-ratio:1.5;height:100%}.choice-caption{padding:10px;font-size:10px}.choice-caption strong{font-size:13px}.weather-grid{gap:8px}}:root{--driving-hud-width:clamp(381px, 24vw, 636px);--driving-hud-bottom:max(32px, env(safe-area-inset-bottom))}body>.lil-gui.lil-root{max-height:calc(100dvh - var(--driving-hud-width) * .666667 - var(--driving-hud-bottom) - 16px)}.driving-hud{--hud-amber:#e8a164;--hud-red:#ed644b;right:max(32px, env(safe-area-inset-right));bottom:var(--driving-hud-bottom);z-index:1;width:var(--driving-hud-width);aspect-ratio:480/320;color:var(--hud-amber);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Arial,Helvetica,sans-serif;position:fixed;container-type:inline-size}.driving-hud:before{z-index:-1;content:"";background:radial-gradient(at 50% 62%,#0a0c097a,#0000 70%);position:absolute;inset:5% -4% -5%}.hud-dials{fill:none;filter:drop-shadow(0 1px 2px #00000073);width:100%;height:100%;display:block;overflow:visible}.hud-illuminated{filter:drop-shadow(0 0 2px #e9833840)}.hud-tachometer{filter:drop-shadow(-2px 0 2px #00000073)}.hud-bezel{stroke:#9b9b89;stroke-width:.8px;opacity:.24}.hud-track{stroke:var(--hud-amber);stroke-width:.7px;opacity:.2}.hud-red-zone{stroke:var(--hud-red);stroke-width:4.5px}.hud-tick{stroke:var(--hud-amber);stroke-width:1px;opacity:.7}.hud-tick-major{stroke-width:1.6px;opacity:1}.hud-tick-number{fill:var(--hud-amber);text-anchor:middle;dominant-baseline:central;font-size:17px;font-weight:700}.hud-rpm-scale .hud-tick-number{font-size:22px}.hud-tick-red{stroke:var(--hud-red)}text.hud-tick-red{fill:var(--hud-red);stroke:none}.hud-dial-unit{fill:var(--hud-amber);letter-spacing:.1px;text-anchor:middle;font-size:11px;font-weight:700}.hud-rpm-unit{letter-spacing:.1px;font-size:10px}.hud-readout-well{fill:url(#hud-led-lens);fill-opacity:.96;stroke:#865235;stroke-width:.5px;stroke-opacity:.35}.hud-needle-blade{fill:#f5a267;filter:drop-shadow(0 0 2px #ff82324d)}.hud-needle-tail{fill:#bd693f}.hud-needle-highlight{stroke:#ffd2a4;stroke-width:.6px;opacity:.65}.hud-hub-rim{fill:#090d09;stroke:#58594b;stroke-width:.7px}.hud-hub{fill:#262921}.hud-speed,.hud-gear{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hud-matrix-display{color:#ff9a48}.hud-matrix-unlit{opacity:.07}.hud-matrix-lit{fill:currentColor;filter:url(#hud-led-glow)}.at-redline .hud-gear-display{color:var(--hud-red)}@media (height<=500px){:root{--driving-hud-width:min(340px, calc(100vw - 24px));--driving-hud-bottom:max(44px, env(safe-area-inset-bottom))}}@media (width<=600px){:root{--driving-hud-width:min(381px, calc(100vw - 24px));--driving-hud-bottom:max(76px, env(safe-area-inset-bottom))}#help{font-size:10px;right:12px}}@media (width<=600px),(height<=500px){.driving-hud{right:max(8px, env(safe-area-inset-right))}}
