:root{color:#f5ead5;font-synthesis:none;--ink:#172127;--paper:#f5ead5;--accent:#f77651;--muted:#b7b8ad;background:#191f24;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #70d1d1}button{border:0}button:hover{filter:brightness(1.1)}[hidden]{display:none!important}#app,#game-canvas,#overlay{width:100%;height:100dvh;position:absolute;inset:0}#game-canvas{touch-action:none;display:block}#overlay{pointer-events:none;overflow:hidden}#overlay button,#overlay input,#overlay select,#overlay summary,#overlay details{pointer-events:auto}h1,h2,p{margin:0}.brand{letter-spacing:.09em;align-items:center;gap:10px;margin-bottom:58px;font-size:22px;font-weight:900;display:flex}.brand-symbol{background:var(--accent);color:var(--ink);place-items:center;width:36px;height:36px;font-size:35px;font-weight:900;display:inline-grid;transform:skew(-8deg)}.garage{pointer-events:auto;scrollbar-width:thin;background:linear-gradient(90deg,#111a20fa,#111a20eb 78%,#111a2000);width:430px;padding:42px 42px 25px;position:absolute;top:0;bottom:0;left:0;overflow:auto}.eyebrow{letter-spacing:.18em;color:var(--muted);font-size:10px;font-weight:800}h1{letter-spacing:-.06em;margin:16px 0 23px;font-size:60px;font-weight:900;line-height:.99}h2{letter-spacing:-.045em;margin:14px 0;font-size:38px;line-height:1.05}.intro{color:#c5c7bd;max-width:290px;font-size:15px;line-height:1.55}.track-picker{margin:34px 0 23px}.track-tabs{gap:4px;margin-top:12px;display:flex}.track-tab{color:#b6bab2;background:#ffffff12;border-bottom:2px solid #0000;padding:12px 10px;font-size:12px;font-weight:700}.track-tab.selected{color:#fff3db;border-color:var(--accent);background:#ffffff1f}#track-description{color:#aeb5af;margin-top:11px;font-size:12px}.primary{text-align:left;color:#171f22;background:var(--accent);justify-content:space-between;align-items:center;width:100%;padding:17px 20px;font-size:16px;font-weight:800;display:flex;box-shadow:0 4px #a64730}.primary span{font-size:24px;line-height:1}.format{color:#aeb5af;margin-top:13px;font-size:11px}.controls-guide p{margin-top:8px}.build-note{color:#75878a;margin-top:22px;font-size:10px}.race-top{top:max(23px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.race-left,.race-right{align-items:center;gap:24px;display:flex}.race-left{border-left:4px solid var(--accent);background:#18252bea;padding:13px 23px 12px 17px;transform:skew(-5deg);box-shadow:0 4px 18px #0002}.race-top span{letter-spacing:.16em;color:#bec2b7;font-size:9px;font-weight:800;display:block}.position strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:#ffce70;font-size:49px;font-weight:900;line-height:1}.position strong span{color:#b3bdb9;letter-spacing:0;font-size:20px;display:inline}.lap strong{font-variant-numeric:tabular-nums;font-size:25px;line-height:1.6}.clock{text-align:right;text-shadow:0 2px 5px #0009;background:#18252bd9;padding:9px 12px}.clock strong{font-variant-numeric:tabular-nums;font-size:22px;line-height:1.5}.icon-button{width:48px;height:48px;color:var(--paper);background:#19262cea;border-bottom:3px solid #435253;font-size:20px;font-weight:900}.race-bottom{bottom:max(24px,env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;display:flex;position:absolute;left:28px;right:28px}#minimap{background:#172127ca;border:1px solid #e7dfcb22;border-radius:5px;width:170px;height:117px}.speed-cluster{text-align:right;text-shadow:0 2px 4px #0008;border-right:3px solid var(--accent);background:#172127d9;min-width:120px;padding:12px 18px 15px}.speed-cluster strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:33px;font-weight:900}.speed-cluster>span{margin-left:8px;font-size:10px}.speed-line{background:#ffffff30;width:100px;height:3px;margin-top:7px;overflow:hidden}.speed-line i{background:var(--accent);height:100%;display:block}#countdown{color:var(--paper);text-shadow:5px 5px 0 var(--ink);letter-spacing:-.08em;font-size:clamp(84px,15vw,150px);font-weight:900;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)}#countdown.go{color:#ffcf76}#race-notice{letter-spacing:.15em;color:var(--ink);white-space:nowrap;background:#f6ca6c;padding:10px 18px;font-size:14px;font-weight:900;position:absolute;top:126px;left:50%;transform:translate(-50%)}#race-notice:empty{display:none}#race-notice.warning{background:#ef7454}.modal-backdrop{pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d161a88;place-items:center;padding:20px;display:grid;position:absolute;inset:0;overflow:auto}.modal{border-top:4px solid var(--accent);background:#19262b;width:min(440px,100%);padding:34px;box-shadow:0 20px 80px #0006}.modal>p:not(.eyebrow){color:#afbcb8;margin:14px 0 25px;font-size:14px;line-height:1.5}.settings{border-top:1px solid #46504d;margin:26px 0 22px;padding-top:20px}.settings label{justify-content:space-between;align-items:center;gap:18px;margin-top:14px;font-size:13px;display:flex}.settings input{width:160px;accent-color:var(--accent)}.settings select{color:var(--paper);background:#2c3a3e;border:1px solid #53635f;padding:8px}.text-button{color:#c5cec5;text-underline-offset:4px;background:0 0;padding:12px 0;font-size:12px;text-decoration:underline}.secondary{color:var(--paper);background:#304045;padding:12px 14px;font-size:12px;font-weight:700}.button-row{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.results ol{margin:22px 0 28px;padding:0;list-style:none}.results li{border-bottom:1px solid #ffffff12;align-items:center;gap:12px;padding:14px 10px;font-size:14px;display:flex}.results li.you{border-left:2px solid var(--accent);background:#f776511a}.results li>span{color:#99aaa5;font-size:12px}.results li i{border-radius:50%;width:9px;height:9px}.results time{font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.loading-screen{text-align:center;pointer-events:auto;background:#18242b;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-screen .brand-symbol{width:60px;height:60px;margin-bottom:20px;font-size:52px}.loading-screen p{color:#adbbb5;max-width:90%;font-size:14px}#touch-controls{bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));justify-content:space-between;align-items:end;gap:12px;display:none;position:absolute}.steering-controls,.pedal-controls{align-items:end;gap:10px;display:flex}#touch-controls button{width:58px;height:58px;color:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none;background:#1c2a32cf;border:1px solid #dce8db44;border-bottom:4px solid #101b21;font-size:23px}#touch-controls .throttle{color:#14212a;background:#ee7954eb;border-bottom-color:#943e2a;height:76px;font-size:36px}#touch-controls .brake{color:#efce82;width:48px;height:52px}#touch-controls .recover{background:#17212780;width:44px;height:44px;font-size:22px}#touch-controls .pressed{filter:brightness(1.35);border-bottom-width:1px;transform:translateY(3px)}#diagnostics{color:#fff;white-space:pre;pointer-events:none;background:#001b;font:11px monospace;position:absolute;top:120px;left:8px}@media (pointer:coarse){#touch-controls{display:flex}.race-bottom{bottom:110px}#minimap{width:126px;height:86px}.speed-cluster{min-width:90px;padding:8px 12px}.speed-line{width:70px}.speed-cluster strong{font-size:27px}}@media (width<=600px){.garage{background:linear-gradient(90deg,#111c22ee,#111c22c9 65%,#111c2270);width:100%;padding:27px 28px}.brand{margin-bottom:32px;font-size:18px}.brand-symbol{width:30px;height:30px;font-size:30px}h1{font-size:52px}.intro{max-width:260px}.track-picker{margin-top:26px}.primary{max-width:340px}.race-top{top:max(12px,env(safe-area-inset-top));left:12px;right:12px}.race-left{gap:16px;padding:10px 15px 9px 11px}.position strong{font-size:35px}.position strong span{font-size:16px}.lap strong{font-size:20px}.race-top span{font-size:8px}.race-right{gap:8px}.clock{padding:7px 8px}.clock strong{font-size:16px}.icon-button{width:43px;height:43px}.race-bottom{left:14px;right:14px}#minimap{width:108px;height:74px}.speed-cluster{min-width:90px;padding:8px 10px}.speed-cluster strong{font-size:24px}.speed-line{width:64px}#race-notice{font-size:11px;top:94px}.modal{padding:25px}h2{font-size:32px}.modal-backdrop{padding:14px}.button-row{flex-wrap:wrap}.results li{padding:11px 8px}.settings input{width:140px}}@media (height<=650px){.garage{padding-top:20px}.brand{margin-bottom:23px}h1{margin:12px 0;font-size:44px}.track-picker{margin:20px 0 16px}.build-note{display:none}.modal{padding:20px}.settings{margin:16px 0;padding-top:12px}.modal h2{font-size:30px}.modal>p:not(.eyebrow){margin:10px 0 15px}.button-row{margin-top:12px}.results ol{margin:12px 0 18px}.results li{padding:10px}.primary{padding:14px 18px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.vehicle-picker{max-width:340px;margin:18px 0 20px}.vehicle-picker label{margin-bottom:7px;display:block}.vehicle-picker select{width:100%;color:var(--paper);background:#203037;border:1px solid #526064;padding:10px 12px;font-weight:700}.vehicle-picker p{color:var(--muted);min-height:34px;margin:7px 0 0;font-size:12px;line-height:1.4}.garage{overflow-y:auto}.garage h1{font-size:clamp(42px,5.6vw,70px)}.garage .track-picker{margin-top:20px}@media (width<=600px){.garage{padding-top:22px;padding-bottom:24px}.garage .brand{margin-bottom:20px}.garage h1{font-size:46px}.garage .track-picker{margin-top:18px}.vehicle-picker{margin:12px 0 15px}.vehicle-picker p{min-height:0}}@media (height<=700px){.garage .brand{margin-bottom:15px}.garage h1{font-size:42px}.vehicle-picker{margin:10px 0 12px}.garage .track-picker{margin-top:12px}}.setting-help{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.4}.settings select{min-width:0;max-width:60%}.modal-backdrop{align-items:safe center}.studio-launch{color:#c5c7bd;text-underline-offset:4px;pointer-events:auto;margin:16px 0 8px;font-size:12px;line-height:1.6;display:block}.studio-launch:hover{color:#f77651}.studio-launch:focus-visible{outline-offset:4px;outline:3px solid #70d1d1}.track-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:340px;display:grid}.track-tab{text-align:left;align-items:center;gap:7px;min-height:48px;padding:5px 8px;font-size:11px;line-height:1.25;display:flex}.track-tab svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linejoin:round;flex:none;width:51px;height:35px}.track-tab.selected svg{color:var(--accent)}#track-description{max-width:340px;min-height:35px;line-height:1.45}#track-music{color:#92c9c4;margin-top:4px;font-size:11px;line-height:1.4}.garage .brand{margin-bottom:18px}.garage h1{margin:12px 0 14px;font-size:42px}.garage .intro{font-size:13px}.garage .track-picker{margin:18px 0}.garage .track-tabs{margin-top:9px}@media (width<=600px){.garage h1{font-size:36px}.garage .brand{margin-bottom:14px}.garage .track-picker{margin:14px 0}.track-tab{min-height:48px}}#touch-controls .pedal-controls{grid-template-columns:48px 58px;gap:8px 10px;display:grid}#touch-controls .drift{color:#70d1d1;grid-area:1/1;width:48px;height:44px;font-size:11px;font-weight:800}#touch-controls .brake{grid-area:2/1;height:44px}#touch-controls .throttle{grid-area:1/2/span 2;height:96px}:is(.garage,#options-overlay) .editor-launch{max-width:340px;color:var(--paper);text-align:left;text-underline-offset:4px;background:0 0;margin-top:10px;padding:10px 0;font-size:12px;text-decoration:underline;display:block}:is(.garage,#options-overlay) .studio-launch{margin-top:4px}#overlay .gamepad-focus{outline-offset:4px;outline:3px solid #70d1d1;scroll-margin:12px}#overlay .gamepad-help{color:#92c9c4;margin:16px 0 4px;font-size:11px;line-height:1.6;display:none}#overlay[data-input=gamepad] .gamepad-help{display:block}.race-vehicle-picker{max-width:340px;margin:20px 0 22px}.vehicle-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0;display:grid}.vehicle-card{min-width:0;color:var(--paper);text-align:left;background:#203037;border:1px solid #455359;padding:0 0 10px;transition:border-color .15s,background .15s;position:relative}.vehicle-card:hover{filter:none;background:#293c42;border-color:#85958f}.vehicle-card:active{transform:translateY(1px)}.vehicle-card.selected{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);background:#342e2a}.vehicle-card-image{background:#15242b;height:76px;display:block;position:relative;overflow:hidden}.vehicle-card img{object-fit:cover;width:100%;height:100%;display:block}.vehicle-check{background:var(--accent);width:19px;height:19px;color:var(--ink);opacity:0;place-items:center;font-size:12px;font-weight:900;display:grid;position:absolute;top:5px;right:5px}.vehicle-card.selected .vehicle-check{opacity:1}.vehicle-card-name{min-height:44px;padding:10px 8px 5px;font-size:12px;line-height:1.2;display:block}.vehicle-card-stats{gap:7px;padding:4px 8px 3px;display:grid}.vehicle-stat>span{color:#bac3bd;white-space:nowrap;justify-content:space-between;align-items:baseline;gap:3px;font-size:9px;display:flex}.vehicle-stat b{font-variant-numeric:tabular-nums;color:var(--paper);font-size:10px;font-weight:700}.vehicle-stat small{font-size:8px;font-weight:400}.vehicle-stat i{background:linear-gradient(to right,#829c96 var(--stat-fill),#ffffff15 var(--stat-fill));height:3px;margin-top:4px;display:block}.vehicle-card.selected .vehicle-stat i{background:linear-gradient(to right,var(--accent) var(--stat-fill),#ffffff15 var(--stat-fill))}.race-vehicle-picker select{min-height:44px;font-size:13px}.race-vehicle-picker p{min-height:34px;margin-top:9px}@media (width<=600px){.vehicle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.garage{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom))}.race-vehicle-picker{margin:18px 0}.vehicle-card-image{height:72px}.vehicle-card-name{padding-left:6px;padding-right:6px;font-size:11px}.vehicle-card-stats{padding-left:6px;padding-right:6px}}@media (width<=350px){.vehicle-cards{gap:5px}.vehicle-stat>span{font-size:9px;display:block}.vehicle-stat b{margin-top:2px;display:block}.vehicle-card-name{min-height:42px}.vehicle-card-image{height:62px}}.garage #start-button{z-index:2;position:sticky;bottom:0;box-shadow:0 4px #a64730,0 0 0 8px #172127}.incident-tools{z-index:45;color:#f3ecdc;background:#192a2fee;border:1px solid #6e898b;border-radius:8px;max-width:min(320px,100vw - 24px);padding:10px;font:13px system-ui;position:fixed;bottom:12px;left:12px}.incident-tools summary{cursor:pointer}.incident-tools button,.incident-preview button{color:inherit;cursor:pointer;background:#2b4449;border:1px solid #829b9b;border-radius:5px;margin:8px 4px 0 0;padding:9px 12px}.incident-tools p:empty{display:none}.incident-preview{color:#f3ecdc;background:#192a2f;border:1px solid #829b9b;border-radius:12px;width:min(960px,100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;font:14px system-ui;overflow:auto}.incident-preview::backdrop{background:#071419bb}.incident-preview header{justify-content:space-between;align-items:center;gap:12px;display:flex}.incident-canvas canvas{max-width:100%;height:auto;display:block}.incident-preview [role=status]{min-height:2em}.multiplayer-lobby{z-index:70;color:#f0e8d4;pointer-events:auto;isolation:isolate;background:#11100ef5;justify-content:center;align-items:safe center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.multiplayer-lobby[hidden],.multiplayer-lobby [hidden]{display:none!important}.multiplayer-panel{background:#22211e;border:1px solid #655c4e;border-top:4px solid #ed853e;width:min(720px,100%);margin:auto;padding:32px;box-shadow:0 24px 80px #0008}.multiplayer-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.multiplayer-eyebrow{color:#efaa70;letter-spacing:.14em;margin:0 0 12px;font-size:11px;font-weight:800}.multiplayer-lobby h1{letter-spacing:-.04em;margin:0;font-size:clamp(34px,5vw,52px);font-style:italic;line-height:1.05}.multiplayer-lobby h2{letter-spacing:-.02em;margin:0 0 8px;font-size:22px}.multiplayer-lobby p{line-height:1.6}.multiplayer-intro{color:#c7beac;max-width:540px;margin:18px 0 26px;font-size:14px}.multiplayer-options{grid-template-columns:1fr 1fr;gap:16px;display:grid}.multiplayer-option{background:#2d2b26;border:1px solid #645c4d;flex-direction:column;min-width:0;padding:20px;display:flex}.multiplayer-option p{color:#c7beac;min-height:42px;margin:0 0 18px;font-size:12px}.multiplayer-lobby label{color:#ded4c1;margin:0 0 8px;font-size:12px;font-weight:700;display:block}.multiplayer-lobby input,.multiplayer-lobby select{color:#f0e8d4;width:100%;min-width:0;min-height:46px;font:inherit;box-sizing:border-box;background:#171714;border:1px solid #8a7e68;border-radius:2px;padding:11px 12px;font-size:14px}.multiplayer-lobby input::placeholder{color:#99917f}.multiplayer-lobby button{color:#f0e8d4;min-height:46px;font:inherit;cursor:pointer;background:#3e3b32;border:1px solid #8a7e68;border-radius:2px;padding:12px 16px;font-size:13px;font-weight:800}.multiplayer-option button{margin-top:16px}.multiplayer-lobby button.multiplayer-primary{color:#261b11;background:#ed853e;border-color:#ed853e}.multiplayer-lobby button:hover:not(:disabled){filter:brightness(1.12)}.multiplayer-lobby button:disabled{opacity:.45;cursor:not-allowed;filter:none}.multiplayer-lobby .multiplayer-close{background:0 0;flex:none;min-width:46px;padding:10px}.multiplayer-lobby :focus-visible{outline-offset:4px;outline:3px solid #70d1d1}.multiplayer-advanced{border-bottom:1px solid #645c4d;margin-top:20px;padding-bottom:16px}.multiplayer-advanced summary{cursor:pointer;color:#d5cbb7;padding:10px 0;font-size:12px}.multiplayer-advanced label{margin-top:14px}.multiplayer-advanced p,.multiplayer-note{color:#bdb39f;margin:12px 0;font-size:12px}#multiplayer-code{letter-spacing:.16em;text-transform:uppercase;font-weight:800}.multiplayer-room-heading{border-bottom:1px solid #655c4e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 24px;padding-bottom:18px;display:flex}.multiplayer-room-heading>span{letter-spacing:.1em;color:#c7beac;font-size:11px;font-weight:800}.multiplayer-room-heading>strong{letter-spacing:.16em;color:#efaa70;font-variant-numeric:tabular-nums;font-size:30px}.multiplayer-share{align-items:stretch;gap:8px;display:flex}.multiplayer-share button{flex:none}.multiplayer-roster{gap:8px;margin:24px 0 16px;padding:0;list-style:none;display:grid}.multiplayer-roster li{box-sizing:border-box;background:#282720;border:1px solid #4e493e;align-items:center;gap:14px;min-height:68px;padding:10px 14px;display:flex}.multiplayer-roster li.is-connected{background:#302d26;border-color:#82735b}.multiplayer-car{background:var(--car-color);color:#171714;border-radius:4px;flex:none;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid;transform:skew(-5deg)}.multiplayer-roster strong{font-size:13px;display:block}.multiplayer-roster small{color:#c7beac;margin-top:5px;font-size:11px;display:block}.multiplayer-player-state{text-align:right;color:#bdb39f;margin-left:auto;font-size:11px}.is-connected .multiplayer-player-state{color:#97d4be}#multiplayer-start{width:100%;margin-top:14px}.multiplayer-waiting{text-align:center;color:#d0c6b1;margin:14px 0 0;font-size:12px}.multiplayer-status{color:#d8d6c4;overflow-wrap:anywhere;background:#191a17;border-left:3px solid #a2b7a0;min-height:24px;margin:18px 0 0;padding:12px 14px;font-size:12px}.multiplayer-status.is-error{color:#ffb09a;border-color:#ff947b}@media (width<=600px){.multiplayer-lobby{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.multiplayer-panel{padding:22px 18px}.multiplayer-options{grid-template-columns:1fr}.multiplayer-option{padding:17px}.multiplayer-option p{min-height:0;margin-bottom:14px}.multiplayer-intro{margin:16px 0 20px;font-size:12px}.multiplayer-share{flex-wrap:wrap}.multiplayer-share button{width:100%}.multiplayer-roster li{gap:10px;padding:10px}.multiplayer-roster strong{font-size:12px}.multiplayer-player-state{max-width:70px;line-height:1.5}.multiplayer-room-heading>strong{font-size:25px}}#overlay .vehicle-card .vehicle-stat{grid-template-columns:12px 62px minmax(0,1fr);align-items:center;gap:5px;display:grid}#overlay .vehicle-card .vehicle-stat>span{color:#d2ded7;text-align:left;grid-area:1/2;font-size:9px;line-height:1.2}#overlay .vehicle-card .vehicle-stat>svg{grid-area:1/1;width:12px;height:12px}#overlay .vehicle-card .vehicle-stat>meter{grid-area:1/3;width:100%;min-width:0}#garage-vehicle-role{clip:auto;clip-path:none;white-space:normal;color:#c7d4cd;text-align:center;width:auto;max-width:460px;height:auto;margin:6px auto 0;padding:0 12px;font-size:12px;line-height:1.45;position:static;overflow:visible}#arcade-hud{left:50%;bottom:max(22px,env(safe-area-inset-bottom));color:#f5ead5;pointer-events:none;background:#132129ed;border-radius:4px;min-width:240px;padding:12px 16px;position:absolute;transform:translate(-50%)}.arcade-weapon svg{fill:none;stroke:#72d5df;stroke-width:1.8px;stroke-linejoin:round;width:29px;height:29px}.arcade-weapon strong{font-size:14px;display:block}.arcade-weapon small{font-variant-numeric:tabular-nums;color:#c5c7bd;margin-top:3px;font-size:12px;display:block}.arcade-weapon kbd{color:#dce6d8;border:1px solid #738780;margin-left:auto;padding:4px;font:11px Arial,sans-serif}.arcade-tuning{color:#c5c7bd;margin-top:8px;font-size:10px}.arcade-letters{gap:6px;margin-top:8px;font-size:13px;font-weight:800;display:flex}.arcade-letters span{color:#82918d}.arcade-letters .collected{color:#ffd080}#arcade-effect{color:#94efce;margin-top:6px;font-size:11px}#touch-controls .arcade-fire{color:#edfff5;background:#23464cea;border:1px solid #8ee4e2;width:66px;height:48px;font-size:12px;font-weight:800;position:absolute;bottom:172px;right:0}#touch-controls .arcade-fire:disabled{opacity:.45}@media (pointer:coarse){#arcade-hud{min-width:180px;padding:8px 10px;bottom:111px}.arcade-weapon strong{font-size:12px}.arcade-weapon svg{width:22px;height:22px}.arcade-weapon kbd{display:none}.arcade-tuning{font-size:9px}.arcade-letters{gap:5px;margin-top:5px;font-size:11px}}@media (width<=600px){#arcade-hud{min-width:0;max-width:190px;top:95px;bottom:auto;left:12px;transform:none}.arcade-weapon{gap:7px}.arcade-weapon strong{font-size:12px}.arcade-weapon svg{width:22px;height:22px}.arcade-weapon kbd,.arcade-tuning{font-size:9px}.arcade-letters{gap:5px;font-size:11px}#arcade-effect{font-size:10px}#race-notice{white-space:normal;text-align:center;letter-spacing:.04em;max-width:calc(100% - 24px);top:230px}}@media (height<=500px) and (width>=601px){#arcade-hud{padding:8px 12px;bottom:14px}.arcade-tuning,.arcade-letters{display:none}}.title-screen{pointer-events:auto;isolation:isolate;scrollbar-width:thin;scrollbar-color:#71817b #172127;background:linear-gradient(90deg,#111c22fa 0%,#111c22ed 29%,#111c2270 58%,#111c2200 82%),linear-gradient(#0000 72%,#111c22ce);align-items:center;padding:clamp(28px,5vw,76px);display:flex;position:absolute;inset:0;overflow-y:auto}.title-content{width:min(430px,100%);margin-block:auto;padding-block:12px}.title-logo{color:var(--paper);letter-spacing:-.04em;margin:0;font-size:clamp(66px,7.5vw,96px);font-style:italic;font-weight:900;line-height:.86}.title-logo>span{display:block}.title-logo>span+span{color:var(--accent);margin-top:5px}.title-logo svg{fill:currentColor;width:.37em;height:.64em;margin-left:12px}.title-tagline{letter-spacing:.16em;color:#d3d7c9;margin-top:22px;font-size:11px;font-weight:700;line-height:1.6}.title-modes{gap:10px;margin-top:42px;display:grid}.title-mode{min-height:86px;color:var(--paper);text-align:left;background:#223238;border:1px solid #79857a;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.title-mode strong{letter-spacing:-.02em;font-size:23px;font-weight:800;display:block}.title-mode small{color:#c6cec4;margin-top:7px;font-size:12px;line-height:1.5;display:block}.title-mode svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:25px;height:25px;transition:transform .18s ease-out}.title-mode-primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}.title-continue{color:#f5ce86;text-align:left;background:0 0;min-height:48px;padding:13px 0}.title-continue strong{font-size:14px;display:block}.title-continue span{color:#d2d6c9;margin-top:5px;font-size:12px;line-height:1.5;display:block}.title-links{align-items:center;gap:26px;margin-top:23px;display:flex}.title-links button,.title-links a{color:#d3d7c9;text-underline-offset:5px;pointer-events:auto;background:0 0;align-items:center;min-height:44px;padding:0;font-size:12px;text-decoration:underline;display:inline-flex}.title-links a:focus-visible{outline-offset:4px;outline:3px solid #70d1d1}.title-world-caption{text-align:right;text-shadow:0 2px 8px #000;font-size:18px;font-weight:700;position:absolute;bottom:44px;right:5vw}.title-world-caption span{color:#d3d7c9;margin-top:9px;font-size:11px;font-weight:400;display:block}.title-screen::selection{background:var(--accent);color:var(--ink)}.garage-title-back{min-height:44px;margin-bottom:15px;padding-block:10px;display:block}.on-title #loading{z-index:30}@media (width<=700px){.title-screen{padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:linear-gradient(90deg,#111c22ed,#111c22b8),linear-gradient(#0000,#111c22dd)}.title-content{width:min(430px,100%);margin-inline:auto}.title-logo{font-size:clamp(64px,19vw,86px)}.title-modes{margin-top:32px}.title-mode{min-height:82px;padding:17px 18px}.title-mode strong{font-size:22px}.title-world-caption{display:none}}@media (height<=650px) and (width>=701px){.title-screen{padding-block:24px}.title-logo{font-size:68px}.title-tagline{margin-top:14px}.title-modes{margin-top:24px}.title-mode{min-height:74px;padding-block:12px}.title-links{margin-top:12px}.title-world-caption{bottom:25px}}@media (prefers-reduced-motion:reduce){.title-mode svg{transition:none}}.title-screen{background:#191a19;align-items:center}.title-screen:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#100f0dda,#100f0d50 42%,#0000 68%),linear-gradient(#0000 70%,#100f0d99);position:absolute;inset:0}.title-content{width:min(590px,48%)}.title-logo{width:100%;margin:0;line-height:1}.title-logo img{object-fit:contain;object-position:left center;width:100%;height:auto;max-height:180px;display:block}.title-tagline{color:#e5dbc6;margin-top:8px}.title-modes{max-width:430px;margin-top:38px}.title-mode{background:#242321e8;border-color:#8d8170;border-radius:3px;min-height:80px;transform:skew(-5deg)}.title-mode>span,.title-mode>svg{transform:skew(5deg)}.title-mode strong{font-style:italic}.title-mode:hover svg{transform:skew(5deg)translate(4px)}.title-mode-primary{color:#21170f;background:#eb7b35f5;border-color:#eb7b35}.title-mode-primary small{color:#37261c}.title-links{margin-top:20px}.title-music{color:#e5dbc6;text-align:left;background:0 0;align-items:center;gap:12px;min-height:48px;margin-top:15px;padding:8px 0;display:flex}.title-music svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;width:22px;height:22px}.title-music strong{font-size:12px;font-weight:700;display:block}.title-music small{color:#c7bca6;margin-top:5px;font-size:11px;display:block}.title-music[aria-pressed=true]{color:#ffb375}@media (width<=700px){.title-screen{background:#191a19;align-items:flex-start;padding-top:clamp(190px,28vh,260px)}.title-screen:before{background:linear-gradient(#191a1922,#191a1980 34%,#191a19 62%)}.title-content{width:min(430px,100%);margin-block:0;padding-top:0;padding-bottom:12px}.title-logo img{max-height:115px}.title-tagline{letter-spacing:.12em;font-size:9px}.title-modes{margin-top:25px}.title-mode{min-height:74px;padding:14px 18px}.title-links{margin-top:14px}.title-music{margin-top:8px}}@media (height<=650px) and (width>=701px){.title-content{width:min(480px,52%)}.title-logo img{max-height:105px}.title-modes{margin-top:18px}.title-mode{min-height:62px;padding:10px 18px}.title-mode strong{font-size:20px}.title-mode small{margin-top:4px}.title-links{margin-top:8px}.title-music{margin-top:0}.title-world-caption{display:none}.title-music{background:#191a19ed;border:1px solid #8d8170;padding:10px 14px;position:absolute;bottom:20px;right:28px}}.title-player{color:var(--paper);margin-top:22px}.title-player label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.title-player input,.player-settings input[type=text]:not([readonly]){color:#faf3dc;width:100%;min-height:44px;font:inherit;background:#152125;border:1px solid #79857a;border-radius:8px;padding:10px 12px}.title-player input:focus-visible{outline-offset:2px;outline:2px solid #f3c768}.title-player p{color:#c6cec4;margin:8px 0;font-size:11px;line-height:1.5}.title-player #title-save-status:empty{display:none}.title-player #title-save-status{color:#ffd19d}.title-player+.title-modes{margin-top:18px}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed/extra-bold.ttf)format("truetype");font-style:normal;font-weight:800;font-display:swap}#garage{width:100%;color:var(--paper);background:linear-gradient(100deg,#14232cf5 15%,#172329ed 55%,#33291fd9),url(/title/workshop-cinematic.webp) 50%/cover;flex-direction:column;padding:0;display:flex;overflow:hidden}#garage .garage-scroll{scrollbar-width:thin;scrollbar-color:#69716a #182329;flex-direction:column;flex:1;min-height:0;padding:18px clamp(20px,5vw,80px) 0;display:flex;overflow-y:auto}#garage .garage-header{flex:none;grid-template-columns:1fr auto;align-items:center;margin-bottom:18px;display:grid}#garage .garage-title-back{color:#c8c6b8;justify-self:start;align-items:center;gap:9px;min-height:44px;margin:0 0 4px;padding:0;font-size:12px;text-decoration:none;display:flex}#garage .garage-title-back svg{fill:none;stroke:currentColor;stroke-width:2px;width:20px;height:20px}#garage h1{text-transform:uppercase;letter-spacing:0;grid-column:1;margin:0;font:800 clamp(30px,4vw,48px)/1 Barlow Condensed,sans-serif}#garage .garage-wordmark{object-fit:contain;opacity:.8;grid-area:1/2/3;width:150px;height:auto}#garage .garage-steps{color:#9baba9;grid-column:1/-1;align-items:center;gap:14px;margin-top:12px;font-size:12px;display:flex}#garage .garage-steps [aria-current]{color:#ffcb85;font-weight:800}#garage .garage-steps i{color:#7c8f8f;font-style:normal}#garage h2{text-transform:uppercase;letter-spacing:0;text-wrap:balance;margin:0;font:800 clamp(30px,3.5vw,46px)/1 Barlow Condensed,sans-serif}#garage .race-vehicle-picker{text-align:center;flex-direction:column;flex:1 0 auto;align-items:center;width:100%;min-width:0;max-width:900px;min-height:380px;margin:0 auto;display:flex}#garage .garage-vehicle-role{color:#f6c181;margin:8px 0 0;font-size:13px}#garage .garage-vehicle-preview{cursor:grab;touch-action:pan-y;isolation:isolate;flex:1;width:100%;min-height:160px;max-height:380px;position:relative}#garage .garage-vehicle-preview:before{content:"";z-index:-1;background:#0c171b66;border-radius:50%;position:absolute;inset:67% 23% 6%;transform:rotate(-5deg);box-shadow:0 18px 32px #080e1255}#garage .garage-vehicle-preview[data-dragging=true]{cursor:grabbing}#garage .garage-vehicle-preview canvas{width:100%;height:100%;display:block;position:absolute;inset:0}#garage .garage-vehicle-preview[data-model=fallback]{background:var(--vehicle-fallback) center/contain no-repeat}#garage .vehicle-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;max-width:900px;margin:12px 0 0;display:grid}#garage .vehicle-card{text-align:center;box-shadow:none;background:#152229b8;border:2px solid #b9c5be40;border-radius:3px;padding:0 0 12px;transition:background .16s,transform .16s,border-color .16s;overflow:visible}#garage .vehicle-card:hover{background:#34433e;transform:translateY(-4px)}#garage .vehicle-card.selected{border-color:var(--accent);box-shadow:0 3px 0 var(--accent);background:#54382cc9}#garage .vehicle-card-image{background:0 0;height:90px;overflow:hidden}#garage .vehicle-card img{object-fit:contain;mix-blend-mode:lighten}#garage .vehicle-card-name{text-transform:uppercase;min-height:0;padding:6px 5px 0;font:800 20px/1.1 Barlow Condensed,sans-serif}#garage .vehicle-role{display:none}#garage .vehicle-check{width:20px;height:20px;font-size:14px;top:8px;right:8px}#garage .track-picker{flex:1;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;column-gap:clamp(24px,5vw,80px);width:100%;min-width:0;max-width:1200px;margin:auto;display:grid}#garage #garage-track-name{text-align:center;align-self:end;margin-top:20px}#garage .garage-route{pointer-events:none;color:#f6c181;grid-area:2/1;align-self:stretch;place-items:center;min-height:180px;display:grid;position:relative}#garage .garage-route svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 10px 6px #0b101488);width:90%;height:90%;max-height:300px;overflow:visible}#garage .track-tabs{grid-area:1/2/3;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:none;margin:0;display:grid}#garage .track-tab{color:#d0d2c8;background:#152229b8;border:2px solid #b9c5be40;border-radius:3px;flex-direction:column;justify-content:center;gap:10px;min-height:112px;padding:12px 8px;font-size:13px;line-height:1.2;transition:background .16s,transform .16s;display:flex}#garage .track-tab svg{stroke-width:2.5px;flex:none;width:62px;height:42px}#garage .track-tab:hover{background:#34433e;transform:translateY(-3px)}#garage .track-tab.selected{color:#fff0d0;border-color:var(--accent);box-shadow:0 3px 0 var(--accent);background:#54382cc9}#garage .track-tab.selected svg{color:#ffcb85}#garage-options{color:#c5c7bd;cursor:pointer;border-top:1px solid #bdc8bc30;flex:none;width:fit-content;min-height:44px;margin:18px 0 0;padding:13px 0;font-size:12px}#options-overlay .garage-options-body{color:#c5c7bd;max-width:620px;padding:10px 0 22px;font-size:12px;line-height:1.5}#garage #vehicle-specs{font-variant-numeric:tabular-nums;margin:8px 0 20px}#options-overlay .driving-picker label{font-size:13px;font-weight:700}#options-overlay #track-description,#options-overlay #track-music{color:#c5c7bd;margin:12px 0;font-size:12px}#garage #garage-tools{border-top:1px solid #435057;padding-top:8px}#garage .competition-launch{border:0;margin:0;padding:0}#garage .competition-launch .secondary{text-underline-offset:4px;background:0 0;width:auto;padding:12px 0;text-decoration:underline}#garage .competition-launch p{margin:0 0 8px}#garage .editor-launch,#garage .studio-launch{min-height:44px;margin:0;padding:12px 0}#garage .garage-footer{padding:16px clamp(20px,5vw,80px) max(18px,env(safe-area-inset-bottom));background:#101d24f5;flex:none;align-items:center;gap:24px;display:flex}#garage .format{color:#aebcb7;white-space:nowrap;margin:0;font-size:12px}#garage-selected-vehicle{text-transform:uppercase;color:#f6c181;font:800 22px/1 Barlow Condensed,sans-serif}#garage #start-button{width:280px;max-width:none;min-height:58px;box-shadow:none;border-radius:2px;order:2;margin-left:auto;padding:14px 22px;position:static}#garage #start-button .start-label{text-transform:uppercase;letter-spacing:.02em;font:800 26px/1 Barlow Condensed,sans-serif}#garage #start-button svg{fill:none;stroke:currentColor;stroke-width:2px;width:25px;height:25px}#garage .gamepad-help{color:#c5c7bd;margin:0;font-size:12px;line-height:1.4}#garage[data-step=track] .gamepad-help{display:none}#garage .pad-key{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font:700 14px/1 Arial,sans-serif;display:none}#overlay[data-input=gamepad] #garage .pad-key{display:inline-flex}#overlay[data-input=gamepad] #garage :is(#start-button,.garage-title-back)>svg{display:none}#garage :is(button,summary,select,a):focus-visible,#garage .gamepad-focus{outline-offset:4px;outline:3px solid #fff3cd}#garage .vehicle-card.gamepad-focus,#garage .track-tab.gamepad-focus{transform:translateY(-3px)}@media (width<=900px){#garage .garage-scroll{padding-inline:24px}#garage .garage-footer{gap:16px;padding-inline:24px}#garage .track-tab{min-height:100px;font-size:12px}#garage .track-tabs{gap:9px}#garage .format{display:none}}@media (width<=600px){#garage .garage-scroll{padding:8px 20px 0}#garage .garage-header{margin-bottom:16px}#garage h1{font-size:30px}#garage .garage-wordmark{width:85px}#garage .garage-title-back{font-size:11px}#garage .garage-steps{margin-top:10px;font-size:11px}#garage .race-vehicle-picker{min-height:350px}#garage h2{font-size:28px}#garage .garage-vehicle-preview{min-height:150px;max-height:250px}#garage .vehicle-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#garage .vehicle-card-image{height:74px}#garage .vehicle-card-name{min-height:40px;font-size:15px}#garage .vehicle-card{padding-bottom:5px}#garage .vehicle-check{width:17px;height:17px;top:5px;right:5px}#garage .track-picker{flex-direction:column;flex:none;display:flex}#garage #garage-track-name{align-self:center;margin:0;font-size:26px}#garage .garage-route{flex:none;align-self:center;width:100%;height:100px;min-height:100px}#garage .garage-route svg{filter:none;width:150px;height:84px}#garage .track-tabs{gap:8px}#garage .track-tab{gap:6px;min-height:88px;padding:8px 5px;font-size:11px}#garage .track-tab svg{width:46px;height:30px}#garage-options{margin-top:14px}#garage .garage-footer{padding:12px 20px max(14px,env(safe-area-inset-bottom));gap:12px}#garage #start-button{width:200px;min-height:52px;padding:12px 16px}#garage #start-button .start-label{font-size:23px}#garage .gamepad-help{display:none}#garage-selected-vehicle{max-width:110px;font-size:18px}}@media (height<=500px) and (width>=601px){#garage .garage-scroll{padding-top:4px}#garage .garage-header{grid-template-columns:auto 1fr auto;gap:20px;margin-bottom:8px}#garage .garage-title-back{margin:0}#garage h1{grid-column:2;font-size:28px}#garage .garage-wordmark{grid-area:1/3;width:100px}#garage .garage-steps{display:none}#garage .race-vehicle-picker{text-align:center;grid-template-rows:auto auto 1fr;grid-template-columns:1fr 1fr;column-gap:25px;min-height:180px;display:grid;position:relative}#garage h2{font-size:26px}#garage .garage-vehicle-role{margin-top:4px}#garage .garage-vehicle-preview{grid-area:3/1;height:110px;min-height:110px}#garage .vehicle-cards{grid-area:1/2/4;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}#garage .vehicle-card-image{height:46px}#garage .vehicle-card-name{min-height:40px;font-size:15px}#garage #garage-track-name{margin:0;font-size:26px}#garage .garage-route{min-height:110px;max-height:145px}#garage .track-tab{flex-direction:row;gap:5px;min-height:50px;padding:5px;font-size:10px}#garage .track-tab svg{width:28px;height:24px}#garage .track-tabs{gap:7px}#garage-options{margin-top:8px}#garage .garage-footer{padding-block:9px}#garage #start-button{width:240px;min-height:46px;padding-block:10px}#garage .gamepad-help{display:none}}@media (prefers-reduced-motion:reduce){#garage .vehicle-card,#garage .track-tab{transition:none}#garage .vehicle-card:hover,#garage .track-tab:hover{transform:none}}#victory-celebration{z-index:35;pointer-events:none;position:absolute;inset:0;overflow:hidden}.victory-confetti{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.victory-banner{top:max(18px,env(safe-area-inset-top));color:#ffd76b;white-space:nowrap;background:#18252af2;border:1px solid #ffd76b90;border-radius:50px;align-items:center;gap:12px;max-width:calc(100% - 28px);padding:8px 24px 8px 12px;animation:4s both victory-banner;display:flex;position:absolute;left:50%;box-shadow:0 6px 30px #0005}.victory-banner strong{letter-spacing:-.03em;font-size:clamp(16px,3vw,24px);font-weight:900}.victory-banner-trophy{flex-shrink:0;width:48px;height:48px;display:block}.victory-trophy{width:76px;height:76px;margin:0 auto 8px;display:none}.results.is-victory{background:radial-gradient(at 50% 0,#60502780,#0000 65%),#1b292e;border-color:#ffd76b80;animation:.65s cubic-bezier(.2,.8,.2,1) both victory-card;box-shadow:0 0 65px #ffd76b20}.results.is-victory .victory-trophy{animation:1s cubic-bezier(.2,.8,.2,1) both victory-trophy;display:block}.results.is-victory .eyebrow,.results.is-victory h2{color:#ffd76b}.results.is-victory li.you{background:#ffd76b18;border-color:#ffd76b}.competition-sheet.is-victory{border-color:#ffd76b80;animation:.65s cubic-bezier(.2,.8,.2,1) both victory-card}.competition-sheet.is-victory .competition-podium>strong{color:#ffd76b;animation:1s both victory-trophy}@keyframes victory-card{0%{opacity:0;transform:translateY(20px)scale(.94)}to{opacity:1;transform:none}}@keyframes victory-trophy{0%{opacity:0;transform:translateY(14px)scale(.5)rotate(-16deg)}65%{opacity:1;transform:translateY(-5px)scale(1.12)rotate(8deg)}to{opacity:1;transform:none}}@keyframes victory-banner{0%{opacity:0;transform:translate(-50%,-30px)scale(.85)}15%,80%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-18px)}}@media (height<=650px){.victory-trophy{width:48px;height:48px;margin-bottom:0}.victory-banner{padding:4px 16px 4px 8px;top:8px}.victory-banner-trophy{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.victory-banner{animation:none;transform:translate(-50%)}.victory-confetti{display:none}.results.is-victory,.results.is-victory .victory-trophy,.competition-sheet.is-victory,.competition-sheet.is-victory .competition-podium>strong{animation:none}}#overlay:has(#results-overlay:not([hidden])) .victory-banner{display:none}.control-grid kbd{min-width:42px;min-height:36px;color:var(--ui-gold);white-space:normal;background:#203944;border:1px solid #84a8b280;border-bottom:3px solid #68868d80;border-radius:4px;place-items:center;padding:6px 8px;font:700 13px Arial,sans-serif;display:grid}.title-practice-modes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.title-practice-modes .title-mode{gap:8px;min-height:50px;padding:12px;font-size:14px}.title-practice-modes .title-mode>svg{flex-shrink:0;width:20px}.garage-settings-open{flex-shrink:0}.player-settings{width:100%;max-width:660px}.player-settings summary,.binding-settings summary{cursor:pointer;min-height:44px;padding:12px 4px;font-weight:800}.player-settings-body{padding:8px 0}.player-settings-grid{grid-template-columns:1fr 1fr;gap:12px 18px;display:grid}.player-settings-grid>label{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:700;display:flex}.player-settings-grid select{width:100%;min-height:44px}.player-settings-grid input[type=range]{width:100%;min-height:32px}.player-settings-grid output{font-variant-numeric:tabular-nums;opacity:.7;font-size:11px}.player-settings-grid .setting-check,.settings .ghost-setting{flex-direction:row;align-items:center;gap:10px;min-height:44px;display:flex}.setting-check input,.ghost-setting input{width:20px;height:20px;accent-color:var(--accent,#e56b41)}.binding-settings{border-top:1px solid #ffffff18;margin-top:14px}.binding-grid{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.binding-grid>label{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.binding-grid input{width:100%;min-width:0;min-height:44px;color:inherit;cursor:pointer;background:#152125;border:1px solid #ffffff30;border-radius:8px;padding:8px 10px;font:600 12px inherit}.binding-grid input:focus{outline-offset:2px;outline:2px solid #f3c768}.binding-grid .binding-conflict{border-color:#ef946e}.binding-status{min-height:32px;margin:10px 0 4px;font-size:12px;line-height:1.5}.binding-status.is-error{color:#ffd19d}.binding-actions{flex-wrap:wrap;gap:8px;display:flex}.binding-actions button{min-height:44px;padding:10px 12px;font-size:12px}.binding-actions button:disabled{opacity:.42;cursor:default}#pause-overlay>.modal{max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.control-grid kbd{white-space:normal;overflow-wrap:anywhere;max-width:100%}.practice-hud{top:calc(20px + env(safe-area-inset-top));left:calc(20px + env(safe-area-inset-left));width:min(390px,calc(100vw - 110px - env(safe-area-inset-left)));color:#faf3dc;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142023e8;border:1px solid #f4d99a30;border-radius:12px;padding:14px 18px;position:absolute;box-shadow:0 8px 30px #0003}.practice-mode{text-transform:uppercase;letter-spacing:.08em;color:#efd28c;font-size:11px;font-weight:800}#trial-current{font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:36px;line-height:1.25;display:block}.trial-facts{grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:8px;display:grid}.trial-facts span{min-width:0}.trial-facts small{opacity:.7;font-size:10px;display:block}.trial-facts b{font-variant-numeric:tabular-nums;margin-top:3px;font-size:14px;display:block}.trial-facts .ahead{color:#96dfc3}.trial-facts .behind{color:#f8b38b}#trial-notice{min-height:14px;margin:7px 0 0;font-size:11px}.lesson-heading{justify-content:space-between;gap:8px;display:flex}#lesson-count{opacity:.75;font-size:11px}#lesson-instruction{margin:10px 0;font-size:15px;line-height:1.5}#lesson-progress{accent-color:#efd28c;width:100%;height:7px;display:block}#lesson-feedback{color:#ace5c4;min-height:16px;margin:7px 0 0;font-size:12px}#lesson-actions{gap:8px;margin-top:12px;display:flex}#lesson-actions button{min-height:44px;padding:10px;font-size:12px}.trial-result{justify-content:space-between;gap:12px;display:flex!important}.trial-result strong{font-size:13px}.trial-result time{margin-left:auto}body[data-race-mode=trial] .race-left,body[data-race-mode=trial] .clock,body[data-race-mode=lesson] .race-left,body[data-race-mode=lesson] .clock{visibility:hidden}body[data-race-mode=lesson] #first-race-guide{display:none}body[data-race-mode=lesson] #race-notice,body[data-race-mode=trial] #race-notice{top:220px}.reduced-motion *{scroll-behavior:auto!important}.reduced-motion .modal,.reduced-motion .title-mode,.reduced-motion .garage,.reduced-motion .practice-hud{transition:none!important;animation:none!important}@media (width<=600px){.practice-hud{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));padding:10px 12px}#trial-current{font-size:28px}.trial-facts{gap:8px}.trial-facts b{font-size:12px}.player-settings-grid,.binding-grid{gap:10px}.title-practice-modes .title-mode{padding:10px 8px;font-size:12px}#lesson-instruction{font-size:13px}}@media (height<=580px){.practice-hud{padding:8px 12px}#lesson-instruction{margin:5px 0;font-size:12px}.lesson-heading{font-size:10px}#lesson-feedback{margin-top:4px;font-size:10px}.trial-facts{margin-top:3px}#trial-current{font-size:26px}}.settings .player-settings-grid select{max-width:100%}.settings .player-settings-grid input[type=range],.settings .binding-grid input{width:100%}.settings .player-settings-grid>label,.settings .binding-grid>label{justify-content:flex-start;align-items:stretch;gap:6px}.settings .player-settings-grid .setting-check{flex-direction:row;align-items:center}.settings .setting-check input[type=checkbox]{width:20px}@media (width<=600px),(orientation:portrait) and (pointer:coarse),(height<=500px){body[data-race-mode=lesson] #arcade-hud{display:none}}#settings-overlay,#options-overlay{z-index:30;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.settings-modal{overscroll-behavior:contain;border-radius:12px;width:min(660px,100%);max-height:100%;overflow:auto}.settings-modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.settings-modal-header h2{margin:0}.settings-modal-header button{flex-shrink:0}.settings-modal .player-settings>summary,.settings .player-settings>summary{display:none}.settings-modal select{color:var(--paper);background:#2c3a3e;border:1px solid #53635f;border-radius:8px;padding:8px}.battle-brief{border-left:3px solid var(--accent,#e9bd68);color:#d4e5df;max-width:680px;margin:20px auto 0;padding:4px 18px}.battle-brief h2{text-transform:uppercase;color:#f5d18b;margin:0 0 8px;font-size:20px}.battle-brief p{margin:8px 0;font-size:14px;line-height:1.5}.battle-brief small{opacity:.8;font-size:12px}.battle-hud{top:calc(95px + env(safe-area-inset-top));left:calc(24px + env(safe-area-inset-left));color:#f1ecd9;pointer-events:none;background:#12252ce8;border-left:3px solid #7ae2c4;width:230px;padding:12px 16px;position:absolute}.battle-hud>span{letter-spacing:.07em;text-transform:uppercase;color:#8ae7ce;font-size:11px;font-weight:800}.battle-health-row{justify-content:space-between;align-items:center;margin:8px 0 3px;font-size:12px;display:flex}.battle-health-row strong{font-variant-numeric:tabular-nums;font-size:20px}#battle-health{accent-color:#78e0bc;width:100%;height:12px;display:block}#battle-health::-webkit-meter-bar{background:#263c43;border:0;border-radius:0}#battle-health::-webkit-meter-optimum-value{background:#78e0bc}#battle-health::-webkit-meter-suboptimum-value{background:#eac45e}#battle-health::-webkit-meter-even-less-good-value{background:#ef7256}#battle-zone{font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:12px}.battle-hud.danger{border-color:#ff7850}.battle-hud.danger #battle-zone{color:#ffb194}body[data-race-mode=battle] .race-left .position,body[data-race-mode=battle] #arcade-letters,body[data-race-mode=battle] #arcade-tuning{display:none}body[data-race-mode=battle] .results time{white-space:normal;text-align:right;font-size:11px}@media (width<=600px){.battle-hud{left:calc(14px + env(safe-area-inset-left));top:calc(77px + env(safe-area-inset-top));width:184px;padding:8px 12px}.battle-health-row{margin-top:4px}.battle-health-row strong{font-size:17px}#battle-zone{font-size:11px}.battle-brief{margin-top:14px;padding-inline:12px}.battle-brief h2{font-size:17px}.battle-brief p{font-size:12px}}@media (width<=600px),(orientation:portrait) and (pointer:coarse),(height<=500px){body[data-race-mode=battle] #arcade-hud{display:none}}@media (height<=500px){.battle-hud{width:176px;padding:7px 10px;top:70px}.battle-hud>span{display:none}.battle-health-row{margin-top:0}#battle-zone{margin-top:4px}}.competition-launch{border-top:1px solid #54615b;max-width:340px;margin:18px 0 22px;padding-top:14px}.competition-launch>.secondary{border-left:3px solid var(--accent);justify-content:space-between;width:100%;min-height:48px;font-size:15px;display:flex}.competition-launch>.text-button{text-align:left;min-height:44px;line-height:1.5;display:block}.competition-launch p:empty{display:none}.competition-launch p{color:#ffce70;margin-top:8px;font-size:11px;line-height:1.5}.competition-backdrop{z-index:20;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overscroll-behavior:contain;background:#0d161add;align-items:safe center}.competition-sheet{border-top:4px solid var(--accent);pointer-events:auto;background:#19262b;width:min(850px,100%);padding:32px 36px;box-shadow:0 20px 80px #0006}.competition-sheet h2{letter-spacing:0;margin:12px 0 16px;font-size:clamp(29px,4vw,42px);line-height:1.12}.competition-sheet h3{margin:0;font-size:17px;line-height:1.3}.competition-lead,.competition-context{color:#bdc7be;font-size:14px;line-height:1.6}.competition-context{font-variant-numeric:tabular-nums;margin-bottom:20px}.competition-registration{border-block:1px solid #ffffff20;grid-template-columns:auto minmax(160px,1fr);align-items:center;gap:10px 22px;margin:24px 0;padding:16px 0;display:grid}.competition-registration label{font-size:13px;font-weight:700}.competition-registration select{min-height:46px;color:var(--paper);background:#2a3d43;border:1px solid #71827d;padding:10px}.competition-registration p{color:var(--muted);grid-column:1/-1;font-size:12px}.competition-cups{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.competition-cup{border-top:2px solid #74877d;flex-direction:column;min-width:0;padding-top:14px;display:flex}.competition-cup.locked{border-color:#495453}.competition-cup-heading{flex-direction:column;gap:9px;min-height:78px;display:flex}.competition-trophy{color:#ffce70;font-size:12px}.competition-format{color:#b9c4ba;margin-top:8px;font-size:12px}.competition-track-list{color:#d0d6cb;flex:1;margin:16px 0;padding-left:21px;font-size:12px;line-height:1.85}.competition-record{color:#9eafa7;margin:0 0 13px;font-size:11px;line-height:1.5}.competition-cup .secondary{text-align:left;justify-content:space-between;min-height:44px;display:flex}.competition-lock{color:#b9c4ba;min-height:44px;font-size:12px;line-height:1.6}.competition-rules{color:#bac7bf;border-top:1px solid #ffffff20;margin-top:24px;padding-top:16px;font-size:12px;line-height:1.7}.competition-save{color:#92c9c4;margin-top:12px;font-size:12px;line-height:1.5}.competition-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:25px;display:flex}.competition-actions>.primary{gap:24px;width:auto;min-width:240px;min-height:48px}.competition-actions>.text-button{text-align:right;min-height:44px}.competition-preview{grid-template-columns:1fr 1.35fr;gap:32px;margin-top:25px;display:grid}.competition-grid{margin:12px 0 0;padding:0;list-style:none}.competition-grid li{border-bottom:1px solid #ffffff15;align-items:center;gap:18px;padding:14px 12px;font-size:14px;display:flex}.competition-grid li span{color:#bcc6be;font-variant-numeric:tabular-nums}.competition-grid .you,.competition-table .you{box-shadow:inset 3px 0 var(--accent);background:#f7765118}.competition-table{border-collapse:collapse;table-layout:auto;width:100%;margin:22px 0 8px;font-size:14px}.competition-preview .competition-table{margin-top:0}.competition-table caption{text-align:left;color:var(--paper);padding-bottom:16px;font-size:16px;font-weight:700}.competition-table td,.competition-table th{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff16;padding:13px 10px;line-height:1.4}.competition-table th:nth-child(2){text-align:left}.competition-table thead th{color:#a9bab0;letter-spacing:.06em;font-size:10px}.competition-table td:first-child,.competition-table th:first-child{text-align:center;width:45px}.competition-table tbody th{font-size:14px}.competition-podium{border-bottom:1px solid #ffffff20;align-items:center;gap:24px;padding:22px 0;display:flex}.competition-podium>strong{color:#ffce70;font-variant-numeric:tabular-nums;font-size:78px;line-height:1}.competition-podium span{font-size:22px;font-weight:800}.competition-podium p{color:#bac7bf;margin-top:8px;font-size:14px;line-height:1.6}.competition-unlock{background:#70d1d11c;border-left:3px solid #70d1d1;margin-top:20px;padding:14px 16px;font-size:14px;font-weight:700}.competition-confirm{z-index:50;background:#081014d9}.competition-confirm-sheet{max-width:480px;padding:28px}.competition-confirm-sheet h2{font-size:26px}.competition-confirm-sheet p{color:#c0cbc2;font-size:14px;line-height:1.7}.competition-confirm-sheet .primary{min-width:130px}.competition-confirm-sheet .secondary{min-width:100px;min-height:48px}#competition-race-label{left:max(28px,env(safe-area-inset-left));top:max(112px,calc(env(safe-area-inset-top) + 90px));color:#f5ead5;font-variant-numeric:tabular-nums;background:#19262be8;padding:7px 11px;font-size:12px;font-weight:700;position:absolute}#competition-waiting{text-align:center;background:#19262bed;border-left:3px solid #ffce70;width:max-content;max-width:calc(100% - 36px);padding:12px 16px;font-size:13px;line-height:1.5;position:absolute;top:175px;left:50%;transform:translate(-50%)}#competition-storage-warning{z-index:60;bottom:max(10px,env(safe-area-inset-bottom));color:#ffdfac;pointer-events:none;background:#453324;width:max-content;max-width:calc(100% - 24px);padding:9px 13px;font-size:12px;line-height:1.5;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0008}@media (width<=650px){.competition-backdrop{padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.competition-sheet{padding:23px 19px}.competition-cups{grid-template-columns:1fr;gap:24px}.competition-cup-heading{flex-direction:row;justify-content:space-between;align-items:baseline;gap:14px;min-height:0}.competition-cup-heading h3{max-width:65%}.competition-trophy{text-align:right}.competition-track-list{grid-template-columns:1fr 1fr;gap:5px 25px;line-height:1.6;display:grid}.competition-registration{grid-template-columns:1fr;gap:10px}.competition-preview{grid-template-columns:1fr;gap:22px}.competition-grid{grid-template-columns:1fr 1fr;display:grid}.competition-actions{flex-wrap:wrap;gap:16px}.competition-actions>.primary{width:100%;min-width:0;max-width:none}.competition-actions>.text-button{text-align:left}.competition-table td,.competition-table th{padding:12px 6px;font-size:12px}.competition-table tbody th{font-size:12px}.competition-table thead th{font-size:9px}.competition-context{font-size:12px}.competition-podium{gap:18px}.competition-podium>strong{font-size:60px}.competition-podium span{font-size:20px}.competition-confirm-sheet .competition-actions{flex-wrap:nowrap}.competition-confirm-sheet .primary{width:auto;min-width:115px}#competition-race-label{padding:6px 9px;font-size:11px;top:86px;left:12px}#competition-waiting{padding:9px 12px;font-size:12px;top:143px}}@media (height<=600px){.competition-backdrop{align-items:start}.competition-sheet{padding-top:22px;padding-bottom:22px}#competition-waiting{top:125px}#competition-storage-warning{padding:6px 10px;font-size:11px}}.competition-error{color:#ffdfac;border-left:3px solid var(--accent);background:#443024;margin:16px 0;padding:12px 14px;font-size:13px;line-height:1.5}.competition-history{border-top:1px solid #ffffff20;margin-top:22px;padding-top:8px}.competition-history>summary{cursor:pointer;color:#c5cec5;min-height:44px;padding:13px 0;font-size:13px;font-weight:700}@media (width>=651px) and (height>=700px){.competition-sheet{padding:24px 32px}.competition-cup-heading{min-height:54px}.competition-track-list{margin:12px 0;line-height:1.6}.competition-registration{margin:18px 0;padding:12px 0}.competition-rules{margin-top:18px;padding-top:12px}.competition-backdrop{padding-bottom:60px}}#overlay:has(#competition-race-label:not([hidden])) #race-notice{top:148px}#overlay:has(#competition-waiting:not([hidden])) #race-notice{display:none}.competition-tabs{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.competition-tabs>button{min-height:44px;padding:10px 18px;font-weight:700}.competition-tabs>button[aria-pressed=true]{border-color:var(--accent);color:var(--paper);background:#f7765125}.competition-chassis{color:#d6e6db;align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.competition-chassis svg{fill:none;stroke:currentColor;stroke-width:2px;width:13px;height:13px}.competition-goal,.competition-objective{color:#c4d2c8;font-size:13px;line-height:1.55}.competition-goal{margin:6px 0 16px}.competition-objective{background:#70d1d112;border-left:3px solid #70d1d1;margin:14px 0;padding:10px 14px}.competition-objective>span{color:#70d1d1;margin-top:4px;font-weight:700;display:block}.competition-mastery{color:#70d1d1;margin:8px 0 14px;font-size:12px;font-weight:700}@media (width<=600px){#overlay:has(#competition-race-label:not([hidden])) #race-notice{top:122px}}:root{--ui-panel:#14232df2;--ui-border:#91a7aa40;--ui-gold:#ffcc81;--ui-focus:#fff1c7;--ui-font:"Barlow Condensed",Arial,sans-serif}.sr-only{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}#overlay h1,#overlay h2{font-family:var(--ui-font);text-transform:uppercase;letter-spacing:0;font-weight:800;line-height:1}#overlay button{touch-action:manipulation;border-radius:3px;min-height:44px}#overlay button svg,.circuit-facts svg,.competition-context svg,#arcade-hud svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}#overlay :is(button,a,summary,input,select):focus-visible,#overlay .gamepad-focus{outline:3px solid var(--ui-focus);outline-offset:4px;scroll-margin:16px}#overlay .primary{font:800 24px/1 var(--ui-font);text-transform:uppercase;letter-spacing:.02em;min-height:54px;box-shadow:none;border:0;gap:16px}#overlay .secondary{border:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:700;display:inline-flex}#overlay .text-button{align-items:center;gap:8px;min-height:44px;text-decoration:none;display:inline-flex}#overlay .text-button:hover{color:var(--ui-gold)}#overlay select{border:1px solid var(--ui-border);background:#20343d;border-radius:3px;min-height:44px}#overlay summary{cursor:pointer;min-height:44px}#overlay .modal,#overlay .competition-sheet{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:4px}#overlay .modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#0a151cd9}#overlay .gamepad-help{letter-spacing:.08em;color:#c4cdc6;font-size:11px}#title-screen{background:linear-gradient(90deg,#0b1822f5 0%,#10212cd9 42%,#13252b66 100%);padding:32px 5vw;overflow:auto}#title-screen .title-content{z-index:2;width:46%;max-width:540px;margin-block:auto;padding:12px 0;position:relative}#title-screen .title-logo img{width:100%;height:auto;max-height:150px}#title-screen .title-tagline{margin-top:8px;font-size:10px}#title-screen .title-modes{gap:16px;max-width:430px;margin-top:26px}#title-screen .title-mode{background:#162833ee;border:1px solid #8aa6ac66;border-radius:3px;align-items:center;gap:16px;min-height:68px;padding:14px 18px;display:flex;transform:none}#title-screen .title-mode>span,#title-screen .title-mode>svg{transform:none}#title-screen .title-mode>strong,#title-screen .title-mode strong{font:800 28px/1 var(--ui-font);letter-spacing:0;text-transform:uppercase;font-style:normal}#title-screen .title-mode>svg:first-child{color:#c9e0df;width:28px;height:28px}#title-screen .title-mode>svg:last-child{width:22px;margin-left:auto}#title-screen .title-mode-primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}#title-screen .title-mode-primary>svg:first-child{color:var(--ink)}#title-screen .title-mode small{color:inherit;margin:5px 0 0;font-size:11px}#title-screen .mode-count{white-space:nowrap;opacity:.7;margin:0 0 0 auto!important;font-size:12px!important}#title-screen .title-links{gap:22px;margin-top:14px}#title-screen .title-links button,#title-screen .title-links a{color:#b9c8c5;min-height:44px;font-size:12px}#title-screen .title-music{background:0 0;border:0;min-height:44px;margin:0;padding:0;font-size:12px;position:static}#title-screen .title-world-caption{font:800 22px/1 var(--ui-font);color:var(--ui-gold);letter-spacing:0;bottom:40px;right:5vw}#title-screen .title-world-caption span{letter-spacing:0;font:12px Arial,sans-serif}#garage{background:linear-gradient(110deg,#0c1b25f5,#122b34e8)}#garage .garage-scroll{overscroll-behavior:contain;padding:12px 5vw 0;scroll-padding-block:12px}#garage .garage-title-back{margin:0;font-size:12px}#garage h1{letter-spacing:0;font-size:40px}#garage .garage-steps{margin-top:10px;font-size:11px}#garage .race-vehicle-picker{max-width:860px;min-height:320px}#garage .garage-vehicle-role{min-height:0;margin-top:7px;font-size:12px}#garage .garage-vehicle-preview{height:clamp(130px,24vh,250px);min-height:130px;max-height:280px}#garage .vehicle-cards,.competition-registration .vehicle-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;max-width:860px;margin:12px auto 0;display:grid}#overlay .vehicle-card{border:2px solid var(--ui-border);text-align:center;min-width:0;color:var(--paper);background:#172c36 padding-box padding-box;border-radius:3px;padding:0 0 12px;transition:transform .16s,border-color .16s;position:relative;overflow:visible}#overlay .vehicle-card:hover{border-color:#91b1b9;transform:translateY(-2px)}#overlay .vehicle-card.selected{border-color:var(--accent);box-shadow:0 3px 0 var(--accent);background:#573a2e}#overlay .vehicle-card-image{background:radial-gradient(at 50% 80%,#41616a88,#0000 75%);height:76px;display:block;position:relative}#overlay .vehicle-card img{object-fit:contain;mix-blend-mode:normal;filter:grayscale();opacity:.6;width:100%;height:100%;display:block}#overlay .vehicle-card img[data-appearance=matched]{filter:none;opacity:1}#overlay .vehicle-card-name{font:800 22px/1.05 var(--ui-font);text-transform:uppercase;min-height:26px;padding:6px 8px 0;display:block}#overlay .vehicle-check{background:var(--accent);width:20px;height:20px;color:var(--ink);opacity:0;place-items:center;font-weight:900;display:grid;position:absolute;top:8px;right:8px}#overlay .vehicle-card.selected .vehicle-check{opacity:1}#overlay .vehicle-card-stats{gap:6px;padding:9px 16px 0;display:grid}#overlay .vehicle-stat{grid-template-columns:38px 1fr;align-items:center;gap:8px;display:grid}#overlay .vehicle-stat>span{color:#c8d3d0;text-align:left;font-size:9px;display:block}#overlay .vehicle-stat meter{appearance:none;background:#ffffff18;border:0;border-radius:0;width:100%;height:6px}#overlay .vehicle-stat meter::-webkit-meter-bar{background:#ffffff18;border:0;border-radius:0}#overlay .vehicle-stat meter::-webkit-meter-optimum-value{background:#99c6c3;border-radius:0}#overlay .vehicle-stat meter::-moz-meter-bar{background:#99c6c3}#overlay .selected .vehicle-stat meter::-webkit-meter-optimum-value{background:var(--ui-gold)}#overlay .selected .vehicle-stat meter::-moz-meter-bar{background:var(--ui-gold)}#garage-options{margin-top:12px}#options-overlay .garage-options-body{padding:0 0 14px}#garage .garage-footer{padding:12px 5vw max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--ui-border);background:#0c1a23fa;gap:16px}#garage .garage-help{border:1px solid var(--ui-border);background:#1c303a;flex:none;place-items:center;width:44px;height:44px;display:grid}#garage #start-button{border-bottom:3px solid #b84e35;flex:none;width:250px;min-height:54px;padding:12px 20px}#garage #start-button .start-label{font-size:26px}#garage-selected-vehicle{margin:0;font-size:20px}#garage .format{font-size:11px}#garage .garage-footer .gamepad-help{margin:0}#garage .track-picker{flex:1;grid-template-rows:auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:stretch;gap:24px;margin:0 auto;display:grid}.circuit-hero{border:1px solid var(--ui-border);background:#24414b;border-radius:4px;min-height:270px;position:relative;overflow:hidden}.circuit-hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.circuit-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 35%,#0b1823f5);position:absolute;inset:0}.circuit-hero-caption{z-index:1;position:absolute;bottom:22px;left:22px;right:22px}#garage #garage-track-name{text-align:left;align-self:auto;margin:0;font-size:42px}.circuit-facts{color:var(--ui-gold);align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.circuit-level{gap:4px;display:flex}.circuit-level i{background:#ffffff25;width:8px;height:12px;transform:skew(-12deg)}.circuit-level i.lit{background:var(--ui-gold)}#garage .garage-route{z-index:1;background:#11232bd9;border-radius:3px;place-items:center;width:70px;height:52px;min-height:0;padding:6px;display:grid;position:absolute;top:14px;right:14px}#garage .garage-route svg{filter:none;stroke-width:2.5px;width:100%;height:100%;max-height:none}#garage .track-tabs{grid-area:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}#garage .track-tab{isolation:isolate;background:#1c3541;justify-content:end;align-items:start;gap:0;min-height:90px;padding:12px;display:flex;position:relative;overflow:hidden}#garage .track-tab img{object-fit:cover;z-index:-2;opacity:.75;width:100%;height:100%;position:absolute;inset:0}#garage .track-tab:before{content:"";z-index:-1;background:linear-gradient(#0c1a2333,#0c1a23f5);position:absolute;inset:0}#garage .track-tab>span{font:800 20px/1.05 var(--ui-font);text-align:left;color:#fff0d5;max-width:calc(100% - 30px);position:relative}#garage .track-tab>svg{stroke-width:3px;color:#b7c7c4;width:30px;height:22px;position:absolute;bottom:10px;right:8px}#garage .track-tab.selected{border-color:var(--accent);box-shadow:0 3px 0 var(--accent);background:#513f32}#garage .track-tab.selected>svg{color:var(--ui-gold)}.race-top{top:max(18px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right))}.race-left{background:var(--ui-panel);border-radius:3px;gap:20px;padding:12px 16px;transform:none}.race-left>div{transform:none}.position strong{letter-spacing:0;font-family:var(--ui-font);font-size:48px}.lap strong{font-family:var(--ui-font);letter-spacing:0;font-size:28px;line-height:1.2}.clock strong{font-family:var(--ui-font);letter-spacing:0;font-size:26px}.clock{background:var(--ui-panel);border-radius:3px}#pause-button{place-items:center;width:48px;height:48px;display:grid}#competition-race-label{color:#b8cecb;letter-spacing:.06em;background:0 0;border:0;margin-top:3px;padding:0;font:10px Arial,sans-serif;display:block;position:static;top:auto;left:auto}#competition-race-label:before{content:"⚑ ";color:var(--ui-gold)}#fps-counter{right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(2px + env(safe-area-inset-bottom,0px));z-index:20;color:#c3d3ce;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;contain:content;background:#10212bc4;border-radius:2px;padding:1px 4px;font:10px/1.3 monospace;position:absolute}.race-bottom{left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));gap:12px}#minimap{border:1px solid var(--ui-border);border-radius:3px;width:146px;height:100px}.speed-cluster{border-radius:3px;min-width:110px;margin-left:auto;padding:9px 12px}.speed-cluster strong{font-family:var(--ui-font);letter-spacing:0;font-size:36px}.speed-line{width:80px}.race-tools{align-self:end;gap:8px;margin-left:auto;display:flex}#desktop-recover{background:var(--ui-panel);border:1px solid var(--ui-border);place-items:center;width:44px;height:44px;display:grid}.race-tools+.speed-cluster{margin-left:0}#race-notice{top:max(112px,calc(env(safe-area-inset-top) + 105px));letter-spacing:.06em;border-radius:3px;font-size:12px}#overlay:has(#competition-race-label:not([hidden])) #race-notice{top:max(112px,calc(env(safe-area-inset-top) + 105px));letter-spacing:.06em;border-radius:3px;font-size:12px}#countdown{font-family:var(--ui-font);letter-spacing:0;text-shadow:3px 4px #10212b;transform:translate(-50%,-50%)}#competition-waiting{font-size:12px;top:120px}#arcade-hud{top:auto;bottom:max(20px,env(safe-area-inset-bottom));border:1px solid var(--ui-border);background:var(--ui-panel);pointer-events:none;border-radius:3px;width:216px;min-width:0;padding:10px 12px;position:absolute;left:50%;transform:translate(-50%)}.arcade-weapon{align-items:center;gap:12px;display:flex}#overlay #weapon-trigger{color:var(--ui-gold);pointer-events:auto;background:0 0;align-items:center;gap:8px;min-height:44px;padding:0;display:flex}#overlay #weapon-trigger:disabled{opacity:.45}#arcade-weapon-icon svg{stroke:currentColor;stroke-width:1.8px;width:30px;height:30px}#arcade-ammo{font:800 34px/1 var(--ui-font);color:var(--paper);font-variant-numeric:tabular-nums;min-width:18px}.weapon-key{border:1px solid var(--ui-border);border-radius:3px;padding:4px;font:10px Arial,sans-serif}#overlay[data-input=gamepad] .weapon-key{font-size:0}#overlay[data-input=gamepad] .weapon-key:after{content:"RB";font-size:10px}#overlay[data-input=mouse] .weapon-key,#overlay[data-input=touch] .weapon-key{display:none}#arcade-tuning{gap:9px;margin:0 0 0 auto;display:flex}.tuning-stat{flex-direction:column;align-items:center;gap:4px;display:flex}#arcade-tuning svg{stroke:#a6c3c4;stroke-width:1.6px;width:16px;height:16px}.tuning-stat>span{gap:2px;display:flex}.tuning-stat i{background:#fff2;border-radius:1px;width:4px;height:4px}.tuning-stat .lit{background:var(--ui-gold)}#arcade-letters{font:800 10px/1 var(--ui-font);justify-content:center;gap:4px;margin:4px 0 0}#arcade-letters span{color:#91a4a3;opacity:.6}#arcade-letters .collected{color:var(--ui-gold);opacity:1}#arcade-effect{background:var(--ui-panel);white-space:nowrap;border-radius:3px;align-items:center;gap:4px;margin:0;padding:4px 7px;font-size:11px;display:flex;position:absolute;top:-30px;right:8px}#arcade-effect:empty{display:none}#arcade-effect svg{stroke:#95e1d7;width:16px;height:16px}#touch-controls{bottom:max(16px,env(safe-area-inset-bottom));gap:12px}#touch-controls button{touch-action:none;border-radius:4px;flex-shrink:0;min-height:44px}#touch-controls .steering-controls,#touch-controls .pedal-controls{flex:none}#touch-controls .arcade-fire{background:#214e52f0;border:1px solid #8fe7e2;justify-content:center;align-items:center;gap:3px;width:58px;height:50px;display:flex;position:absolute;bottom:110px;right:0}#touch-controls .arcade-fire svg{width:25px;height:25px}.fire-count{font:800 18px var(--ui-font)}#touch-controls .recover{align-self:end;margin-bottom:4px}.control-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.control-grid>div{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.control-grid span{color:#c7d5cf;font-size:10px}#controls-overlay{z-index:65}#controls-overlay .modal{width:min(650px,100%)}#controls-overlay h2{margin:0 0 28px;font-size:38px}#controls-overlay .primary{margin-top:28px}#first-race-guide{z-index:5;background:var(--ui-panel);border:1px solid var(--ui-border);pointer-events:none;border-radius:4px;width:min(480px,100% - 28px);padding:14px;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}#garage .control-grid{max-width:620px;padding:10px 0}#pause-overlay .modal>p:not(.eyebrow):empty{display:none}#pause-overlay .settings{margin:20px 0;padding-top:10px}#pause-overlay .setting-help{margin-top:4px;font-size:11px}#pause-overlay .pause-help{width:100%;margin-top:14px}#pause-overlay .button-row{margin-top:12px}#competition-overlay .competition-sheet{width:min(980px,100%);padding:24px 28px}#competition-overlay .competition-sheet h2{margin:10px 0 18px;font-size:38px}.competition-registration{border:0;margin:0 0 22px;padding:0;display:block}.competition-registration h3{font:800 18px var(--ui-font);text-transform:uppercase;color:#b7c9c6}.competition-registration .vehicle-cards{max-width:none;margin-top:10px}#competition-overlay .vehicle-card-image{height:66px}#competition-overlay .vehicle-card-name{font-size:21px}#competition-overlay .vehicle-card-stats{padding:7px 16px 0}.competition-cups{gap:16px}.competition-cup{border:1px solid var(--ui-border);background:#182e39;border-radius:4px;padding:0;display:flex;position:relative;overflow:hidden}.cup-art{isolation:isolate;background:#234853;place-items:center;height:100px;display:grid;position:relative;overflow:hidden}#competition-overlay .cup-art>svg{width:58px;height:58px;stroke:var(--ui-gold);fill:#182b35cc;stroke-width:1.4px;z-index:1;filter:drop-shadow(0 4px 8px #0008)}.cup-mosaic{z-index:-1;opacity:.6;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.cup-mosaic img{object-fit:cover;width:100%;min-width:0;height:100%}.competition-cup-heading{gap:4px;min-height:0;padding:12px 14px 0}#competition-overlay .competition-cup h3{font:800 24px/1 var(--ui-font);text-transform:uppercase}.competition-format{margin:7px 14px 0;font-size:11px}.competition-record{color:var(--ui-gold);margin:6px 14px 0;font-size:11px}#competition-overlay .competition-cup .secondary{background:#31505a;border-color:#70929666;min-height:44px;margin:12px 14px 0}.competition-cup.locked .cup-art{filter:grayscale(.8);opacity:.5}.competition-lock{color:#a8b8b6;align-items:center;min-height:44px;margin:12px 14px 0;font-size:11px;display:flex}.cup-routes{color:#b7cac6;margin:0 14px;font-size:11px}.cup-routes summary{padding:13px 0}.cup-routes .competition-track-list{margin:4px 0 12px;padding-left:18px;font-size:11px;line-height:1.6;display:block}.competition-points{border-top:1px solid var(--ui-border);justify-content:center;gap:22px;margin-top:18px;padding-top:14px;display:flex}.competition-points>span{color:var(--ui-gold);align-items:baseline;gap:7px;display:flex}.competition-points small{color:#a6bfbb;text-transform:uppercase;font-size:10px}.competition-points strong{font:800 24px var(--ui-font)}.competition-context{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;font-size:12px;display:flex}.competition-context svg{stroke:#a3c4c0;width:13px;height:13px}.competition-scene{border-radius:3px;height:170px;margin-bottom:14px;position:relative;overflow:hidden}.competition-scene img{object-fit:cover;width:100%;height:100%}.competition-scene .circuit-facts{background:#10232be8;border-radius:3px;margin:0;padding:8px 10px;position:absolute;bottom:12px;left:12px}.competition-preview{gap:20px;margin-top:14px}.competition-preview:not(:has(table)){grid-template-columns:1fr}.competition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.competition-grid li{border:1px solid var(--ui-border);background:#223942;border-radius:3px;gap:8px;padding:10px;font-size:12px}.competition-grid li>span{font:800 24px var(--ui-font);color:var(--ui-gold)}.pre-race-controls{border-top:1px solid var(--ui-border);margin-top:20px;padding-top:16px}.competition-actions{gap:14px;margin-top:20px}.competition-actions>.primary{min-width:220px}.competition-actions>.text-button{font-size:12px}.competition-score-details{border-top:1px solid var(--ui-border);color:#c2d4ce;margin-top:16px;font-size:13px}.competition-score-details summary{padding:12px 0}.competition-score-details .competition-table{margin-top:12px}.competition-table{margin-top:16px;font-size:13px}.competition-table td,.competition-table th{padding:10px 8px}.competition-podium>strong{font-family:var(--ui-font);font-size:84px}#competition-storage-warning{opacity:.8;padding:5px 10px;font-size:10px;bottom:4px}.competition-has-warning .garage{padding-bottom:0}.competition-has-warning .competition-backdrop{padding-bottom:35px}#competition-overlay .gamepad-help{margin-top:12px}#menu-keyboard{z-index:70}#menu-keyboard .modal{width:min(600px,100%)}#menu-keyboard h2{margin:0 0 20px;font-size:28px}#menu-keyboard output{border:1px solid var(--ui-border);word-break:break-all;background:#0a1c25;min-height:46px;margin-bottom:16px;padding:10px 12px;font:18px monospace;display:block}.keyboard-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.keyboard-grid button{color:var(--paper);background:#2c4852;padding:8px;font-size:17px}.keyboard-actions{grid-template-columns:44px 44px 1fr 1fr;gap:10px;margin-top:18px;display:grid}#menu-keyboard .keyboard-actions .primary{min-height:44px;padding:10px;font-size:21px}@media (pointer:coarse){.race-bottom{bottom:max(125px,calc(env(safe-area-inset-bottom) + 110px))}.race-tools{display:none}.speed-cluster{right:max(14px,env(safe-area-inset-right));top:max(98px,calc(env(safe-area-inset-top) + 88px));position:fixed;bottom:auto}#minimap{width:108px;height:74px}#arcade-hud{bottom:auto;top:max(100px,calc(env(safe-area-inset-top) + 92px));left:max(16px,env(safe-area-inset-left));width:176px;padding:7px 9px;transform:none}.weapon-key{display:none}}@media (width<=700px){#title-screen{padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:linear-gradient(#18303c88,#122937d9 35%,#0b1823fa 90%);align-items:start}#title-screen .title-content{width:100%;max-width:430px;margin:210px auto 0;padding:0}#title-screen .title-logo img{max-height:96px}#title-screen .title-tagline{font-size:9px}#title-screen .title-modes{gap:16px;margin-top:22px}#title-screen .title-mode{gap:13px;min-height:62px;padding:12px 16px}#title-screen .title-mode strong{font-size:26px}#title-screen .title-links{gap:20px;margin-top:9px}#title-screen .title-world-caption{display:none}#garage .garage-scroll{padding:8px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}#garage .garage-header{margin-bottom:12px}#garage h1{font-size:30px}#garage .garage-wordmark{width:82px}#garage h2{font-size:30px}#garage .race-vehicle-picker{min-height:340px}#garage .garage-vehicle-preview{height:200px;min-height:140px;max-height:240px}#garage .vehicle-cards,.competition-registration .vehicle-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#overlay .vehicle-card-image{height:64px}#overlay .vehicle-card-name{min-height:40px;padding:4px 6px 0;font-size:17px}#overlay .vehicle-card-stats{gap:6px;padding:8px 8px 0}#overlay .vehicle-stat{grid-template-columns:30px 1fr;gap:4px}#overlay .vehicle-stat>span{font-size:8px}#overlay .vehicle-check{width:17px;height:17px;font-size:12px;top:5px;right:5px}#garage .garage-footer{padding:12px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom));gap:10px}#garage #start-button{flex:none;width:auto;min-width:155px;min-height:52px;margin-left:auto;padding:12px 14px}#garage #start-button .start-label{font-size:24px}#garage-selected-vehicle{max-width:95px;font-size:18px}#garage .gamepad-help,#garage .format{display:none!important}#garage .track-picker{flex-direction:column;flex:none;gap:12px;display:flex}.circuit-hero{width:100%;height:140px;min-height:140px}.circuit-hero-caption{bottom:14px;left:14px;right:14px}#garage #garage-track-name{margin:0;font-size:30px}.circuit-facts{margin-top:8px;font-size:11px}#garage .garage-route{width:56px;height:42px;top:10px;right:10px}#garage .track-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}#garage .track-tab{min-height:82px;padding:10px}#garage .track-tab>span{max-width:calc(100% - 32px);font-size:20px}#garage-options{margin-top:12px}.race-top{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.race-left{gap:14px;padding:9px 12px}.race-top span{letter-spacing:.1em;font-size:8px}.position strong{font-size:38px}.position strong span{font-size:14px}.lap strong{font-size:24px}.race-right{gap:8px}.clock{padding:7px 9px}.clock strong{font-size:23px}#pause-button{width:44px;height:44px}#competition-race-label{margin-top:2px;font-size:9px}#arcade-hud{top:max(98px,calc(env(safe-area-inset-top) + 88px));bottom:auto;left:max(12px,env(safe-area-inset-left));width:174px;padding:6px 9px;transform:none}#arcade-ammo{font-size:30px}.arcade-weapon{gap:8px}#arcade-tuning{gap:7px}#arcade-weapon-icon svg{width:25px;height:25px}#arcade-letters{margin-top:2px;font-size:9px}.speed-cluster{min-width:78px;padding:7px 10px}.speed-cluster strong{font-size:30px}.speed-line{width:58px}#race-notice{top:max(180px,calc(env(safe-area-inset-top) + 170px));white-space:normal;text-align:center;max-width:calc(100% - 24px);font-size:11px}#overlay:has(#competition-race-label:not([hidden])) #race-notice{top:max(180px,calc(env(safe-area-inset-top) + 170px));white-space:normal;text-align:center;max-width:calc(100% - 24px);font-size:11px}#competition-waiting{font-size:11px;top:180px}#first-race-guide{padding:12px;bottom:220px}.control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 8px}.control-grid kbd{min-width:44px;min-height:34px;font-size:12px}.control-grid span{font-size:10px}#pause-overlay .modal{padding:22px}#pause-overlay .settings{margin:16px 0}#pause-overlay h2{margin-bottom:18px;font-size:36px}#competition-overlay .competition-sheet{padding:20px 16px}#competition-overlay .competition-sheet h2{margin-bottom:14px;font-size:32px}#competition-overlay .vehicle-card-image{height:55px}#competition-overlay .vehicle-card-name{font-size:17px}#competition-overlay .vehicle-card-stats{padding:6px 7px 0}.competition-registration{margin-bottom:18px}.competition-cups{grid-template-columns:1fr;gap:12px}.competition-cup{grid-template-rows:auto auto auto auto;grid-template-columns:100px minmax(0,1fr);column-gap:0;display:grid}.cup-art{grid-area:1/1/5;height:auto;min-height:150px}.cup-mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.competition-cup-heading{grid-column:2;padding:12px 12px 0;display:block}#competition-overlay .competition-cup h3{font-size:24px}.competition-trophy{font-size:10px}.competition-format{grid-column:2;margin:6px 12px 0}.competition-record{grid-column:2;margin:4px 12px 0}#competition-overlay .competition-cup .secondary{grid-column:2;margin:10px 12px 0;font-size:12px}.competition-lock{grid-column:2;margin:8px 12px 0}.cup-routes{grid-column:2;margin:0 12px}.cup-routes summary{padding:12px 0}.competition-points{gap:17px;margin-top:14px}.competition-context{margin-bottom:12px;font-size:11px}.competition-scene{height:135px}.competition-preview{grid-template-columns:1fr;gap:12px}.competition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.competition-grid li{padding:8px 10px}.pre-race-controls{margin-top:14px;padding-top:14px}.competition-actions{margin-top:18px}.competition-actions>.primary{width:100%;min-width:0}#menu-keyboard .modal{padding:18px}.keyboard-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.keyboard-actions{grid-template-columns:44px 44px 1fr 1fr;gap:7px}#menu-keyboard .keyboard-actions button{padding:7px}#menu-keyboard .keyboard-actions button svg{display:none}}@media (height<=500px) and (width>=701px){#title-screen{padding-block:18px}#title-screen .title-content{width:48%;padding:0}#title-screen .title-logo img{max-height:80px}#title-screen .title-tagline{display:none}#title-screen .title-modes{gap:16px;margin-top:14px}#title-screen .title-mode{min-height:48px;padding:8px 14px}#title-screen .title-mode strong{font-size:23px}#title-screen .title-links{margin-top:3px;display:inline-flex}#title-screen .title-music{margin-left:20px;display:inline-flex}#title-screen .title-world-caption,#title-screen .gamepad-help{display:none}#garage .garage-scroll{padding-top:4px}#garage .garage-header{grid-template-columns:auto 1fr auto;gap:16px;margin-bottom:8px}#garage h1{grid-column:2;font-size:27px}#garage .garage-wordmark{grid-area:1/3;width:95px}#garage .garage-steps{display:none}#garage .race-vehicle-picker{grid-template-rows:auto auto 1fr;grid-template-columns:.6fr 1.4fr;gap:4px 20px;min-height:155px;display:grid;position:relative}#garage h2{font-size:26px}#garage .garage-vehicle-role{margin:0}#garage .garage-vehicle-preview{grid-area:3/1;height:100px;min-height:100px}#garage .vehicle-cards{grid-area:1/2/4;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}#garage .vehicle-card-image{height:50px}#garage .vehicle-card-name{min-height:36px;font-size:15px}#garage .vehicle-card-stats{gap:4px;padding-top:6px}#garage .track-picker{grid-template-columns:.7fr 1.3fr;gap:16px}.circuit-hero{min-height:155px}#garage #garage-track-name{font-size:28px}.circuit-hero-caption{bottom:12px;left:12px;right:12px}#garage .track-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}#garage .track-tab{min-height:58px;padding:6px}#garage .track-tab>span{max-width:calc(100% - 19px);font-size:15px}#garage .track-tab>svg{width:19px;height:15px;bottom:7px;right:4px}#garage .garage-footer{padding-block:9px}#garage #start-button{min-height:46px;padding-block:10px}#garage #start-button .start-label{font-size:24px}#garage-options{margin-top:6px}#garage .gamepad-help{display:none}.race-left{padding:7px 12px}.position strong{font-size:36px}.lap strong,.clock strong{font-size:24px}#arcade-hud{top:max(18px,env(safe-area-inset-top));width:180px;padding:5px 9px;bottom:auto;left:50%;transform:translate(-50%)}#arcade-letters{display:none}#arcade-ammo{font-size:28px}#arcade-tuning{gap:6px}#minimap{width:106px;height:73px}#first-race-guide{width:420px;padding:8px;bottom:130px}.control-grid kbd{min-height:30px}#race-notice{top:95px}#overlay:has(#competition-race-label:not([hidden])) #race-notice{top:95px}#pause-overlay .modal{grid-template-columns:1fr 1fr;gap:12px 24px;width:min(580px,100%);padding:18px;display:grid}#pause-overlay .modal>.eyebrow{display:none}#pause-overlay .modal>h2{grid-column:1;margin:0}#pause-overlay .modal>.primary{grid-column:1;align-self:start}#pause-overlay .settings{border:0;grid-area:1/2/4;margin:0;padding:0}#pause-overlay .settings label{margin-top:7px}#pause-overlay .setting-help{display:none}#pause-overlay .pause-help{margin-top:8px}#pause-overlay .button-row{flex-direction:column;grid-column:1;align-items:stretch;gap:8px;margin-top:0}#pause-overlay .button-row button{justify-content:center}#controls-overlay .control-grid{grid-template-columns:repeat(6,minmax(0,1fr))}#controls-overlay h2{margin-bottom:18px}#controls-overlay .primary{margin-top:20px}}@media (width<=360px){#title-screen .title-content{margin-top:185px}#garage .garage-scroll{padding-inline:12px}#garage .garage-footer{gap:8px;padding-inline:12px}#garage #start-button{min-width:140px;padding-inline:10px}#overlay .vehicle-card-name{font-size:15px}#overlay .vehicle-card-stats{padding-inline:6px}.race-left{gap:10px;padding-inline:9px}.clock strong{font-size:20px}.race-right{gap:5px}#pause-button{width:44px}#touch-controls,#touch-controls .steering-controls{gap:8px}#touch-controls .steering-controls button{width:48px}}@media (prefers-reduced-motion:reduce){#overlay .vehicle-card,#overlay .track-tab{transition:none}#overlay .vehicle-card:hover,#overlay .track-tab:hover{transform:none}}#competition-storage-warning[data-kind=test]{opacity:.65;padding:3px 6px;font-size:8px;line-height:1;top:2px;bottom:auto}#title-screen .title-modes{gap:16px;margin-top:32px}#title-screen .title-mode{background:0 0;border:0;min-height:64px;padding:12px 20px}#title-screen .title-mode strong{font-size:36px}#title-screen .title-mode-primary{background:var(--accent);color:var(--ink)}#title-screen .title-mode:hover{background:#29424b}#title-screen .title-mode-primary:hover{background:#f68c60}#title-screen .title-mode>svg:first-child{display:none}#title-screen .title-mode>svg:last-child{opacity:0}#title-screen .title-mode:is(:hover,:focus-visible,.gamepad-focus)>svg:last-child{opacity:1}#title-screen .title-more{max-width:430px;margin-top:12px}#title-screen .title-more>summary{color:#c4d3cf;font:800 24px/1 var(--ui-font);text-transform:uppercase;padding:12px 20px;list-style:none}#title-screen .title-more>summary:after{content:"+";float:right}#title-screen .title-more[open]>summary:after{content:"−"}#title-screen .title-more>summary::-webkit-details-marker{display:none}#title-screen .title-more-body{border-top:1px solid var(--ui-border);padding:4px 20px 12px}#title-screen .title-practice-modes{flex-direction:column;gap:16px;display:flex}#title-screen .title-practice-modes .title-mode{min-height:44px;padding:12px 0}#title-screen .title-practice-modes .title-mode strong{font-size:24px}#title-screen .title-links{margin-top:4px}#title-screen .title-music{justify-content:center;width:44px;position:absolute;bottom:-56px;left:0}#title-screen .gamepad-help{margin-top:16px;padding-left:20px}#title-screen .title-content{padding-bottom:56px}#garage .garage-steps{display:none}#garage .garage-header{margin-bottom:24px}#garage .garage-wordmark{width:110px}#garage .vehicle-stat{grid-template-columns:18px 1fr;gap:8px}#overlay .vehicle-stat svg{stroke:#c4d3cf;width:14px;height:14px}#competition-overlay .vehicle-stat{grid-template-columns:18px 1fr}#garage .garage-footer .format{display:none}#garage .garage-secondary-modes{justify-content:flex-start;margin:0 0 12px}#garage #garage-options{margin-block:12px}#pause-overlay .modal{width:min(440px,100%);padding:32px;display:block}#pause-overlay .modal:has(.pause-options[open]){width:min(600px,100%)}#pause-overlay h2{margin:0 0 28px;font-size:48px}#pause-overlay .pause-options{border-bottom:1px solid var(--ui-border);margin-top:12px}#pause-overlay .pause-options>summary{font:800 24px/1 var(--ui-font);text-transform:uppercase;padding:16px 0}#pause-overlay .settings{border:0;margin:0 0 16px;padding:0}#pause-overlay .pause-help{font:800 24px/1 var(--ui-font);text-transform:uppercase;justify-content:space-between;margin:0}#pause-overlay .button-row{flex-direction:column;align-items:stretch;gap:0;margin-top:0;display:flex}#pause-overlay .button-row>button{font:800 24px/1 var(--ui-font);text-transform:uppercase;background:0 0;border:0;justify-content:flex-start;padding:14px 0}#competition-overlay .competition-registration{border:0;margin-bottom:24px}#competition-overlay .competition-registration>summary{color:#c4d3cf;padding:12px 0;font-size:14px}#competition-selected-vehicle{color:var(--paper);margin-left:12px}#competition-overlay .competition-rules{margin-top:16px}#competition-overlay :is(.competition-rules,.competition-race-details)>summary{color:#c4d3cf;padding:12px 0;font-size:13px}#competition-overlay .competition-points{border:0;justify-content:flex-start;margin:0;padding:8px 0 16px}.competition-cup-name{color:var(--ui-gold);margin:0 0 12px;font-size:13px}@media (width<=700px){#title-screen .title-content{margin-top:180px;padding-bottom:44px}#title-screen .title-logo img{max-height:100px}#title-screen .title-modes{margin-top:20px}#title-screen .title-mode{min-height:60px;padding:12px 16px}#title-screen .title-mode strong{font-size:30px}#title-screen .title-more>summary{padding-inline:16px}#title-screen .title-music{bottom:-4px}#garage .garage-header{margin-bottom:16px}#pause-overlay .modal{padding:24px}#pause-overlay h2{margin-bottom:20px;font-size:40px}#competition-overlay .competition-registration{margin-bottom:16px}}@media (height<=500px) and (width>=701px){#title-screen .title-content{padding-bottom:0}#title-screen .title-logo img{max-height:65px}#title-screen .title-modes{gap:16px;margin-top:12px}#title-screen .title-mode{min-height:48px;padding:8px 16px}#title-screen .title-mode strong{font-size:28px}#title-screen .title-more{margin-top:0}#title-screen .title-music{bottom:0;left:auto;right:-56px}#garage .garage-header{margin-bottom:8px}#pause-overlay .modal{padding:20px 28px}#pause-overlay h2{margin-bottom:12px;font-size:32px}#pause-overlay .pause-options{margin-top:4px}#pause-overlay .button-row>button{padding:10px 0}}#first-race-guide{width:min(340px,100% - 28px)}#first-race-guide .control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=700px) and (height<=650px){#title-screen .title-content{margin-top:140px}#title-screen .title-logo img{max-height:80px}#title-screen .title-mode{min-height:54px;padding-block:10px}#title-screen .title-modes{margin-top:16px}}#overlay[data-input=gamepad] :is([data-pad-back],[data-pad-confirm]){display:none!important}#overlay[data-input=gamepad] :is(#garage,#competition-overlay,#controls-overlay).gamepad-focus{outline:none}#overlay[data-input=gamepad] #garage .garage-header{grid-template-columns:1fr auto}#overlay[data-input=gamepad] #garage .garage-wordmark{grid-row:1}#overlay[data-input=gamepad] #garage .garage-footer .gamepad-help{margin-left:auto;display:block!important}#overlay[data-input=gamepad] [data-pad-alternate]{display:none!important}#overlay .controller-status{color:#b8d9ca;pointer-events:none;align-items:center;gap:8px;margin:14px 0 0;font:12px/1.4 Arial,sans-serif;display:flex}#overlay .controller-status svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}#garage .garage-footer:has(.controller-status:not([hidden])){flex-wrap:wrap}#garage .garage-footer .controller-status{flex-basis:100%;justify-content:flex-end;margin:0}#title-screen .controller-status{padding-left:20px}#title-screen{background:#141a1c}#title-screen:before{z-index:1;background:linear-gradient(90deg,#0a141ded 0%,#0a141db3 30%,#0a141d26 65%,#0000),linear-gradient(#0000 65%,#0a141d80)}.title-backdrop{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.title-backdrop img,.title-backdrop video{object-fit:cover;object-position:65% center;width:100%;height:100%;position:absolute;inset:0}.title-backdrop video{opacity:0}.title-backdrop video[data-playing=true]{opacity:1}@media (width<=700px){.title-backdrop{height:340px;-webkit-mask-image:linear-gradient(#000 65%,#0000 100%);mask-image:linear-gradient(#000 65%,#0000 100%)}.title-backdrop img,.title-backdrop video{object-position:73% center}#title-screen:before{background:linear-gradient(#0000 15%,#141a1c 65%)}#title-screen .title-content{margin-top:235px}}#overlay #startup-sound{color:var(--paper);box-sizing:border-box;pointer-events:auto;width:min(460px,100vw - 48px);max-height:calc(100dvh - 48px);padding:32px;overflow:auto}#startup-sound::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a151cd9}#startup-sound h2{margin:12px 0;font-size:clamp(28px,6vw,40px)}#startup-sound-description{color:#c4d3cf;margin:0 0 24px;line-height:1.5}#startup-sound .startup-sound-actions{gap:12px;display:grid}#startup-sound .startup-sound-actions button{justify-content:center;width:100%;min-height:54px}@media (height<=450px){#overlay #startup-sound{padding:20px}#startup-sound-description{margin-bottom:16px}}#overlay :is(.vehicle-card,.track-tab):focus-visible,#overlay :is(.vehicle-card,.track-tab).gamepad-focus{outline-offset:-4px}#garage .garage-footer>.icon-button{flex:none}#garage #start-button{flex:1;width:auto;min-width:0;max-width:280px}#overlay .modal{overscroll-behavior:contain;max-height:100%;overflow-y:auto}#overlay .button-row{gap:16px}#pause-overlay .button-row{gap:16px;margin-top:16px}#title-screen .title-mode>span{min-width:0}#title-screen .title-mode strong{overflow-wrap:break-word}@media (width<=420px){#overlay .settings-modal{padding:22px}#overlay .settings-modal .player-settings-grid,#overlay .settings-modal .binding-grid{grid-template-columns:minmax(0,1fr);gap:18px}#overlay .settings-modal-header{gap:16px}#title-screen .title-mode strong{font-size:28px}}@media (width<=700px),(height<=500px) and (width<=1000px){#garage .circuit-hero{aspect-ratio:8/5;flex:none;align-self:start;width:100%;height:auto;min-height:0}#garage .track-tab{aspect-ratio:8/5;min-height:0}}#overlay .orientation-overlay{z-index:60}#overlay .orientation-modal{text-align:center;width:min(420px,100%);padding:32px}#overlay .orientation-icon{fill:none;width:72px;height:72px;stroke:var(--ui-gold);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}#overlay .orientation-modal h2{font-size:36px}#overlay .orientation-modal p{margin:16px 0 24px}#overlay .orientation-modal button{justify-content:center;min-height:48px}#overlay.gamepad-connected #touch-controls{display:none}
