:root{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--ground);--button-primary:var(--accent);--button-primary-hover:var(--accent-hover);--on-button-primary:var(--on-accent);--accent:#fced04;--ground:#081a23;--ink:#f1f0df;--on-accent:#18231d;--surface:#1b363b;--control:#172e34;--selected:#253d39;--display-ink:#395358;--control-border:#607476;--scene-light:#385247;--accent-hover:color-mix(in srgb,var(--accent),white 25%);--muted:#acbebc;--line:#31464d;--panel:#10232b;color-scheme:dark;scrollbar-color:var(--control-border) var(--ground);font-synthesis:none}:root[data-palette=stadium]{--accent:#fced04;--rally-red:#f90314;--ground:#080e19;--ink:#f5f5ef;--on-accent:#10131a;--panel:#111d33;--surface:#054499;--control:#162947;--selected:#21395d;--muted:#c8d6ea;--line:#334968;--display-ink:#6387bd;--control-border:#7d96b9;--scene-light:#054499}:root[data-palette=glacier]{--button-primary:#054499;--button-primary-hover:#155bb5;--on-button-primary:#fff;--accent:#85cfff;--ground:#101c2b;--panel:#182839;--surface:#20374c;--control:#1d3044;--selected:#28435b;--muted:#b0c4d6;--line:#3b5269;--display-ink:#436784;--control-border:#69869f;--scene-light:#355c74}:root[data-palette=arcade]{--accent:#ffe000;--ground:#111213;--ink:#f6f2e7;--on-accent:#171717;--panel:#202225;--surface:#29323b;--control:#282b2f;--selected:#3d3b21;--muted:#c5c5bb;--line:#515456;--display-ink:#6483a0;--control-border:#86898b;--scene-light:#274b70}:root[data-palette=stripes]{--accent:#a31c2a;--accent-hover:#901b26;--ground:#e9e1cf;--ink:#242324;--on-accent:#fff7df;--panel:#f5f0e4;--surface:#f4c72b;--control:#e4ddcb;--selected:#ead2ba;--muted:#5b493b;--line:#b5a38b;--display-ink:#ae8423;--control-border:#89745d;--scene-light:#f0bb58;color-scheme:light}:root[data-palette=dirt]{--accent:#b5d8ff;--ground:#47200d;--ink:#fff1cc;--on-accent:#191d2e;--panel:#602d12;--surface:#873e12;--control:#522810;--selected:#744020;--muted:#ead1b0;--line:#aa632d;--display-ink:#b97e50;--control-border:#ca9259;--scene-light:#91400f}:root{--border:var(--line);--panel-overlay:color-mix(in srgb,var(--panel),transparent 4%);--control-text:var(--ink);--display-font:Impact,"Arial Narrow",Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:none;box-shadow:inset 0 -2px 0 currentColor}@media(forced-colors:active){button:focus-visible,a:focus-visible{outline:1px solid;outline-offset:2px}}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}.eyebrow{font:9px monospace;letter-spacing:2px;color:var(--muted)}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--border);border-radius:3px}.icon-button:hover{border-color:var(--accent)}.primary{display:flex;align-items:center;justify-content:space-between;gap:50px;background:var(--button-primary);color:var(--on-button-primary);border:0;border-radius:2px;padding:17px 22px;font-size:12px;font-weight:900;letter-spacing:1px;min-width:220px;transition:background .15s,transform .15s}.primary:hover{background:var(--button-primary-hover);transform:translateY(-1px)}.secondary{border:0;background:none;font-size:10px;letter-spacing:1px;display:block;margin:18px auto 0;color:#b0bba5}.secondary:hover{color:var(--accent)}kbd{font:9px monospace;border:1px solid #ffffff22;border-bottom:2px solid #ffffff30;border-radius:3px;padding:3px 5px;color:#c6cbbb;letter-spacing:1px}#app{height:100dvh;min-height:600px;display:flex;flex-direction:column;--page-inset:22px}.topbar,footer{padding-inline:var(--page-inset);position:relative;z-index:1;background:color-mix(in srgb,var(--ground) 78%,transparent)}.topbar{height:94px;flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-template-areas:"brand track hud truck actions";align-items:center;gap:24px;border-bottom:1px solid var(--border)}.brand{grid-area:brand;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-logo{display:block;width:120px;height:auto;object-fit:contain}.brand-title{font-size:20px;font-weight:800;letter-spacing:-.4px;text-transform:uppercase;white-space:nowrap}.top-right{grid-area:actions;display:flex;align-items:center;gap:8px}.hide-camera-controls .camera-controls{display:none}#race-scene{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#stadium{margin-inline:var(--page-inset);position:relative;flex:1;min-height:0;overflow:hidden}#world{position:absolute;width:100%;height:100%;inset:0;outline:0}.world-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 55%,#07192338 100%)}body.boosting .world-vignette{box-shadow:inset 0 0 80px #fced0418}footer{height:42px;flex-shrink:0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px;font:8px monospace;color:var(--muted);letter-spacing:.7px}.controls{display:flex;gap:19px;align-items:center;align-self:stretch}.controls>span{display:flex;align-items:center;gap:8px;white-space:nowrap}#camera-cycle{display:flex;align-items:center;gap:8px;align-self:stretch;min-width:84px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:uppercase;white-space:nowrap}#camera-cycle:hover{color:var(--accent)}#device-status{align-self:stretch;flex:none;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-decoration:underline;text-underline-offset:3px}#device-status:hover{color:var(--accent)}@media(max-width:1000px){.controls{gap:12px}}@media(max-width:700px){#app{--page-inset:12px;min-height:660px}.topbar{height:auto;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand brand actions" "track track track";padding-block:8px 12px;gap:8px}.topbar .track-label{justify-self:start}.brand{gap:8px}.brand-logo{width:92px}.brand-title{font-size:16px;letter-spacing:-.25px}.controls{gap:8px}.controls span{gap:4px;font-size:7px}#camera-cycle{gap:4px;min-width:66px}#device-status{display:none}}@media(max-width:450px){.controls{gap:4px}.controls>.reset-hint{display:none}}.track-label{grid-area:track;justify-self:end;display:flex;flex-direction:column;gap:5px;min-width:0;max-width:100%;pointer-events:none}.track-label .eyebrow{font-size:8px}#track-label{font-size:15px;font-weight:800;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud{grid-area:hud;display:flex;gap:22px;padding:8px 0}.stat{display:flex;align-items:center;gap:8px;min-width:0}.stat label{display:block;font:8px monospace;color:var(--muted);letter-spacing:1.5px;white-space:nowrap}.stat strong{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.stat strong small{font-size:13px;color:#89957f;font-weight:400;margin-left:5px}.position strong{color:var(--accent)}.time-stat strong{font:20px monospace;display:block}.nitro-bar{width:90px;height:13px;background:#303927;overflow:hidden;transform:skew(-12deg)}#nitro{height:100%;background:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 8px,#27321a 8px,#27321a 10px)}.player-truck{grid-area:truck;display:flex;align-items:center;gap:4px;pointer-events:none}.player-truck img{width:56px;height:42px;object-fit:contain}.player-truck strong{display:block;font:700 10px monospace;margin:0 0 4px}.player-paint{display:flex;align-items:center;gap:6px;font:9px monospace;color:var(--muted)}.player-paint i{width:9px;height:9px;background:var(--paint);border:1px solid #ffffff40;border-radius:50%}.racing .topbar{height:64px}.racing .brand{width:120px;flex-direction:column;gap:0}.racing .brand-logo{width:84px}.racing .brand-title{font-size:10px;letter-spacing:0;line-height:14px}.racing .track-label{justify-self:start}.racing #track-series{display:none}@media(max-width:1200px){.racing #track-label{font-size:13px;letter-spacing:.5px;white-space:normal}}@media(min-width:901px)and (max-width:1200px){.racing .topbar{gap:16px}.racing .hud{gap:18px}.racing .stat{flex-direction:column;align-items:flex-start;gap:3px}.racing .nitro-bar{width:80px;margin-top:5px}.racing .player-truck img{width:42px;height:36px}}@media(max-width:900px){.racing .topbar{height:auto;grid-template-columns:120px minmax(0,1fr) auto;grid-template-rows:56px auto;grid-template-areas:"brand track actions" "hud hud hud";gap:0 12px;padding-block:0 8px}.racing .hud{justify-content:center;gap:24px;padding:4px 0}.racing .player-truck{display:none}}@media(max-width:500px){.racing .topbar{grid-template-columns:100px minmax(0,1fr) auto;column-gap:8px}.racing .brand{width:100px}.racing .brand-title{font-size:9px}.racing .hud{justify-content:space-between;gap:8px}.stat{flex-direction:column;align-items:flex-start;gap:4px}.stat strong{font-size:20px}.time-stat strong{font-size:18px}.nitro-bar{width:70px;margin-top:5px}}.telemetry{position:absolute;bottom:16px;left:16px;display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-radius:4px;background:#0009;color:#f1f0df;pointer-events:none}.telemetry>span{font:9px monospace;letter-spacing:2px;color:#d6dec9}.telemetry strong{font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}.telemetry small{font:8px monospace;color:#d6dec9;margin-left:7px}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:150px;font-style:italic;font-weight:900;color:var(--accent);text-shadow:0 6px 30px #0008;pointer-events:none}.center-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:420px;max-width:calc(100% - 32px);padding:34px;background:var(--panel-overlay);border:1px solid var(--border);box-shadow:0 20px 100px #0009;border-radius:5px;backdrop-filter:blur(16px)}.center-card h2{font-size:35px;letter-spacing:-1.5px;line-height:1.1;margin:20px 0 14px}.center-card p{font-size:12px;color:#aab69f;line-height:1.6}.center-card .primary{width:100%;margin-top:25px}.loading-track{height:3px;background:var(--selected);margin-top:27px}.loading-track div{height:100%;background:var(--accent);width:5%;transition:width .2s}.loading #loading-text{font:10px monospace}.game-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:310px;max-width:calc(100% - 32px);padding:26px;background:var(--panel);border:1px solid var(--control-border);box-shadow:0 14px 35px #0005;border-radius:4px;text-align:center;text-transform:uppercase}.game-menu h2{font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1.1;margin:0 0 25px}.menu-actions{display:grid;gap:8px}.menu-actions button,.start-collapsed{width:100%;min-height:44px;padding:13px 18px;border:1px solid var(--control-border);border-radius:3px;background:transparent;color:var(--control-text);font-size:12px;font-weight:900;letter-spacing:1px;line-height:1.2;text-transform:inherit}.menu-actions .menu-primary,.start-collapsed{background:var(--button-primary);border-color:var(--button-primary);color:var(--on-button-primary)}.menu-actions button:hover,.start-collapsed:hover{border-color:var(--accent)}.menu-actions .menu-primary:hover,.start-collapsed:hover{background:var(--button-primary-hover)}.menu-hint{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:19px;font:10px monospace;letter-spacing:1px;color:var(--muted)}.menu-hint kbd{border:1px solid var(--control-border);color:var(--muted)}.start-details{font:11px/1.5 monospace;letter-spacing:.7px;color:var(--muted);margin:5px 0 24px}.track-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;text-align:left}.track-picker button{padding:8px 9px;background:var(--control);border:1px solid var(--control-border);border-radius:3px;font:10px monospace;line-height:1.5}.track-picker button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--selected)}.start-menu{left:0;top:12px;transform:none;width:300px;max-width:100%;max-height:calc(100% - 24px);overflow-y:auto;padding:12px;background:color-mix(in srgb,var(--panel),transparent 8%);text-align:left;scrollbar-width:thin;scrollbar-color:var(--control-border) transparent}.start-menu h2{font-size:16px;margin-bottom:12px}.start-menu-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.start-menu-header h2{margin:0}.start-menu-toggle,.camera-controls button{padding:0;background:var(--control);border:1px solid var(--control-border);border-radius:50%;color:var(--control-text)}.start-menu-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.start-menu-toggle:hover,.camera-controls button:hover{color:var(--accent);border-color:var(--accent)}.start-collapsed{width:auto;min-height:28px;padding:0 12px}.start-menu.collapsed h2{display:none}.start-menu.collapsed{width:auto;padding:0;overflow:visible;background:none;border:0;box-shadow:none}.start-menu.collapsed .start-menu-header{margin:0}.start-menu.collapsed .start-menu-toggle svg{transform:rotate(180deg)}.camera-controls{position:absolute;right:8px;bottom:12px;display:flex;align-items:center;gap:10px}.camera-controls button{display:grid;place-items:center;width:44px;height:44px;font:22px Arial,sans-serif;touch-action:manipulation}.camera-controls button:active{background:var(--selected)}.camera-dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:3px}.camera-up{grid-area:1/2}.camera-left{grid-area:2/1}.camera-center{grid-area:2/2}.camera-right{grid-area:2/3}.camera-down{grid-area:3/2}.camera-zoom{display:grid;gap:8px}@media(max-width:520px){#stadium:has(.start-menu:not([hidden]):not(.collapsed)) .camera-controls{display:none}}.start-menu .start-details{margin:8px 0;text-transform:none}@media(max-width:700px){.start-menu{top:8px;max-height:calc(100% - 16px)}}.track-picker button:last-child:nth-child(odd){grid-column:1/-1}.garage{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;max-width:100%;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.garage>div:first-child{min-width:0;display:flex;align-items:center;gap:10px}.garage strong{display:block;margin:0;font-size:11px;letter-spacing:1px}.swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:3px}.swatch{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:54px;background:#152a32b3;border:1px solid #ffffff20;border-radius:4px;outline:1px solid transparent;outline-offset:2px;overflow:hidden;transition:transform .15s}.swatch img{width:76px;height:39px;object-fit:contain;pointer-events:none}.swatch span{font:7px monospace;letter-spacing:.8px;padding-bottom:5px;color:var(--muted)}.swatch[aria-pressed=true]{border-color:var(--paint);background:#233c43d9;outline-color:#edf6ed}.swatch[aria-pressed=true] span{color:#edf6ed}.swatch:hover{transform:translateY(-2px)}.paint-row{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:5px;border-top:1px solid var(--border);padding-top:8px;min-width:0}.paint-heading{display:flex;align-items:center;gap:10px;flex-shrink:0}.paint-heading strong{font-size:9px;margin:0}.paint-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:100%;min-width:0;padding:4px}.paint-chip{width:22px;height:22px;flex-shrink:0;padding:0;border:2px solid #ffffff28;border-radius:50%;background:var(--paint);outline:1px solid transparent;outline-offset:2px}.paint-chip[aria-pressed=true]{outline:2px solid #edf6ed}.paint-chip:hover{border-color:#fff}.paint-chip.original{background:conic-gradient(#e8fa38 0deg 60deg,#eb3b20 60deg 120deg,#24a3c7 120deg 180deg,#b063c7 180deg 240deg,#b8c4c8 240deg 300deg,#75ed27 300deg)}@media(max-width:700px){.garage{align-items:flex-start}.garage .eyebrow{font-size:7px}}@media(max-width:700px)and (max-height:740px){body:not(.racing) .track-label{display:none}.swatch{height:48px}.swatch img{height:33px}}.finish-ribbon{position:absolute;z-index:2;left:50%;top:44%;width:112%;padding:20px 9%;transform:translate(-50%,-50%) rotate(-5deg);background:linear-gradient(90deg,#10232b80,#10232bbd 25%,#10232baa 75%,#10232b70);border-block:1px solid #fced0466;pointer-events:none;animation:finish-arrive .34s cubic-bezier(.2,.8,.2,1);transition:opacity .06s linear}.finish-ribbon:before,.finish-ribbon:after{content:"";position:absolute;top:0;bottom:0;width:8%;background:repeating-conic-gradient(#e4ecce90 0% 25%,transparent 0% 50%) 0/24px 24px;mask-image:linear-gradient(90deg,#000,transparent)}.finish-ribbon:before{left:2%}.finish-ribbon:after{right:2%;transform:rotate(180deg)}.finish-ribbon-content{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:650px;margin:auto;text-shadow:0 3px 15px #0008}.finish-copy h2{font-size:clamp(36px,6vw,72px);font-weight:900;font-style:italic;letter-spacing:-2px;margin:0 0 8px}.finish-copy>span{font:12px monospace;letter-spacing:.5px}.finish-placement{font-style:italic;line-height:1;letter-spacing:-8px;white-space:nowrap;color:#fced04d4;text-shadow:0 5px 0 #25320b70,0 12px 30px #0005}.finish-placement b{font-size:clamp(98px,16vw,184px);font-weight:900;-webkit-text-stroke:1px #fdf67470}.finish-placement sup{font-size:clamp(32px,6vw,68px);font-weight:900;vertical-align:top;position:relative;top:15px;letter-spacing:-3px}.finish-badge{position:absolute;top:88px;left:0;display:flex;align-items:center;gap:16px;text-shadow:0 3px 12px #0009;animation:finish-settle .35s ease-out}.finish-badge>strong{font-size:62px;font-style:italic;letter-spacing:-4px;color:var(--accent)}.finish-badge>div{font-size:11px;font-weight:800;letter-spacing:1px}.finish-badge span{display:block;font:10px monospace;margin-top:7px;color:#c7d5bd}body.outro .controls>span,body.outro #camera-cycle{display:none}@keyframes finish-arrive{0%{transform:translate(-65%,-50%) rotate(-5deg)}to{transform:translate(-50%,-50%) rotate(-5deg)}}@keyframes finish-settle{0%{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}@media(max-width:700px){.finish-ribbon{padding:18px 9%}.finish-ribbon-content{gap:12px}.finish-copy h2{font-size:34px}.finish-copy>span{font-size:11px}.finish-placement{letter-spacing:-5px}.finish-placement b{font-size:104px}.finish-placement sup{font-size:34px;top:10px;letter-spacing:-2px}.finish-badge{top:64px;gap:8px}.finish-badge>strong{font-size:44px}.finish-badge>div{display:none}}@media(max-width:420px){.finish-badge{top:14px;left:auto;right:0}.finish-badge>strong{font-size:34px}.finish-copy h2{font-size:28px}.finish-placement b{font-size:88px}.finish-placement sup{font-size:28px}}@media(prefers-reduced-motion:reduce){.finish-ribbon,.finish-badge{animation:none;transition:none}}.results{--panel-width:310px;--scene-height:0px;--copy-width:100%;position:fixed;z-index:3;left:auto;right:32px;top:112px;transform:none;width:var(--panel-width);max-width:calc(100vw - 24px);height:365px;padding:0;border:1px solid #758a8860;border-radius:5px;background:var(--panel-overlay);box-shadow:0 16px 55px #0005;backdrop-filter:none;overflow:hidden;animation:none;transition:width .65s ease,height .65s ease,top .65s ease,right .65s ease}.results.has-podium{--scene-height:calc(var(--panel-width) * .75);height:min(calc(var(--scene-height) + 365px),calc(100dvh - 130px))}.results.celebrating{--copy-width:33.333333%;right:max(24px,calc((100vw - ((100dvh - 74px)*2))/2));top:48px;width:min(calc(100vw - 48px),calc((100dvh - 74px)*2));max-width:none;height:min(calc((100vw - 48px)/2),calc(100dvh - 74px));box-shadow:0 20px 100px #0009;background:var(--panel)}.results-copy{position:absolute;right:0;top:var(--scene-height);bottom:0;width:var(--copy-width);padding:12px;overflow:auto;transition:top .65s ease,width .65s ease}.results-copy,.leaderboard-panel{background:linear-gradient(135deg,#153039,#091e26)}.celebrating .results-copy>*{flex-shrink:0}.celebrating .results-copy{top:0;display:flex;flex-direction:column;justify-content:safe center;padding:clamp(18px,2vw,36px);border-left:2px solid #76958a35}.results h2{font-family:var(--display-font);font-size:26px;font-style:italic;font-weight:900;letter-spacing:-.5px;line-height:1;margin:10px 0 6px;color:var(--accent)}.results p{margin:8px 0}.results .eyebrow{font:9px/1.5 monospace;letter-spacing:1px;color:#d7dec9}.results #result-summary{font:10px/1.5 monospace;color:#e8ecdf;margin:0 0 5px}.result-time{display:block;font:italic 900 29px/1 var(--display-font);letter-spacing:.5px;color:#f8f0da;margin-bottom:8px}.celebrating h2{font-size:clamp(36px,4.3vw,76px);margin-top:18px}.celebrating .result-time{font-size:clamp(38px,4.6vw,80px);margin:4px 0 18px}.celebrating #result-summary{font-size:clamp(10px,1.1vw,17px)}.celebrating .eyebrow{font-family:var(--display-font);font-size:clamp(15px,1.65vw,27px);font-style:italic;letter-spacing:.5px;border-bottom:3px solid var(--accent);padding-bottom:12px}.results ol{padding:0;list-style:none;margin:5px 0}.results li{display:flex;align-items:center;gap:9px;padding:3px 0;border-top:1px solid #ffffff16;font:11px monospace}.results li b{order:0;color:#c7d2c5;min-width:18px}.results li img{order:1;width:32px;height:24px;object-fit:contain}.results li span{order:2}.results li span:last-of-type{order:3;margin-left:auto;font:10px monospace;white-space:nowrap}.results li.player,.results li.player b{color:var(--accent)}.celebrating li{border:1px solid #60838370;border-radius:3px;padding:5px 9px;margin:7px 0;background:#07192340;font-weight:700}.celebrating li.player{border-color:var(--accent);background:#fced0408}.celebrating li img{width:46px;height:35px}.celebrating li span:last-of-type{font-weight:700}.results #outro-status{font:9px/1.5 monospace;color:#b9c9c2;margin:6px 0}.results .primary{width:100%;min-width:0;margin:10px 0 0;padding:12px 16px;font-size:11px}.results .secondary{margin:12px auto 0;font-size:9px;line-height:1.5}.celebrating .primary{padding:16px;font:italic 900 clamp(14px,1.4vw,23px) var(--display-font);letter-spacing:.5px}.celebrating .secondary{width:100%;padding:12px 4px;border:1px solid #d9e0c8aa;border-radius:3px;font:italic 700 clamp(11px,1vw,17px) var(--display-font);color:#f2ebd6}.celebration-skip{display:flex;justify-content:space-between;gap:12px;border:0;background:none;color:#c1cec3;font:9px monospace;letter-spacing:.5px;padding:12px 0 0;margin-top:6px}.celebration-skip:hover{color:var(--accent)}.victory-scene{position:absolute;inset:0 auto auto 0;width:100%;height:var(--scene-height);overflow:hidden;background:#1e231e;transition:width .65s ease,height .65s ease;container-type:size}.celebrating .victory-scene{width:calc(100% - var(--copy-width));height:100%;cursor:pointer}.victory-composition{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,calc(100cqh * 4 / 3));height:min(100cqh,75cqw);background:url(/assets/podium/stage.webp) center/100% 100%;container-type:size;overflow:hidden}.victory-composition h3{position:absolute;z-index:4;left:5%;top:3%;margin:0;color:#fff3d9;font:italic 900 9.5cqw/.95 var(--display-font);letter-spacing:-.03em;text-shadow:0 3px 14px #26180a55;border-bottom:.65cqw solid var(--accent);padding-bottom:1cqw;transform:rotate(-3deg) skew(-8deg) scaleX(1.35);transform-origin:left bottom}.victory-composition h3 small{display:block;font-size:3.2cqw;letter-spacing:0;margin-bottom:1cqw}.podium{position:absolute;inset:0}.podium-place{position:absolute;left:4%;bottom:35.8%;width:30%;z-index:1}.podium-place[data-place="1"]{left:35%;bottom:39.1%;width:32%;z-index:2}.podium-place[data-place="3"]{left:68%;bottom:30.5%;width:26.5%}.podium-place:before{content:"";position:absolute;left:4%;bottom:-1%;width:92%;height:10%;border-radius:50%;background:#23160ad9;filter:blur(.45cqw);transform:skew(-15deg)}.podium-truck{position:relative;display:block;width:100%;height:auto;max-width:none}.victory-driver{position:absolute;left:44.5%;bottom:39.4%;height:38%;width:auto;z-index:3;filter:drop-shadow(.2cqw .2cqw .15cqw #33211150)}@media(max-width:1000px){.results{right:20px}.celebrating .results-copy{padding:16px}.celebrating li{gap:6px}.celebrating li img{width:34px;height:27px}.celebrating h2{font-size:35px}.celebrating .result-time{font-size:37px}}@media(max-height:850px)and (min-width:701px){.celebrating .results-copy{justify-content:flex-start;padding:14px}.celebrating .eyebrow{font-size:15px;padding-bottom:7px}.celebrating h2{font-size:32px;margin-top:10px}.celebrating .result-time{font-size:34px;margin-bottom:7px}.celebrating li{margin:4px 0;padding:3px 7px}.celebrating .primary{padding:12px}.celebrating .secondary{padding:9px}}@media(min-height:650px)and (max-height:850px)and (min-width:1001px){.celebrating .eyebrow{font-size:18px}.celebrating h2{font-size:42px}.celebrating .result-time{font-size:48px}.celebrating li{font-size:14px}.celebrating li span:last-of-type{font-size:12px}}@media(max-width:700px){.results{--panel-width:260px;right:12px;top:140px;height:350px}.results.has-podium{height:min(560px,calc(100dvh - 152px))}.results-copy{padding:13px}.results li{gap:6px;font-size:10px}.results li img{width:28px;height:21px}.results .eyebrow{font-size:8px}.results li span:last-of-type{font-size:9px}.results.celebrating{--scene-height:min(36%, calc((100vw - 24px)*.75) );--copy-width:100%;top:12px;right:12px;width:calc(100vw - 24px);height:calc(100dvh - 24px)}.celebrating .victory-scene{width:100%;height:var(--scene-height)}.celebrating .results-copy{top:var(--scene-height);padding:18px;justify-content:flex-start;border-left:0}.celebrating .eyebrow{font-size:15px;padding-bottom:8px}.celebrating h2{font-size:34px;margin-top:12px}.celebrating .result-time{font-size:38px;margin-bottom:8px}.celebrating li{margin:4px 0}.celebrating .primary{padding:12px}.celebrating .secondary{padding:10px}}@media(prefers-reduced-motion:reduce){.results,.results-copy,.victory-scene{transition:none}}.race-results{display:contents}.leaderboard-panel{position:absolute;z-index:3;left:16px;top:16px;width:290px;max-height:calc(100% - 112px);overflow:auto;padding:12px;border:1px solid #758a8860;border-radius:5px;box-shadow:0 16px 55px #0005;color:#f8f0da;scrollbar-color:#76958a var(--panel)}.leaderboard-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.leaderboard-panel h2{font:italic 900 26px/1 var(--display-font);letter-spacing:-.5px;text-transform:uppercase;margin:10px 0 6px;color:var(--accent)}.board-count{font:9px/1.5 monospace;letter-spacing:1px;color:#d7dec9;white-space:nowrap}#board-course{font:10px/1.5 monospace;text-transform:uppercase;color:#e8ecdf;margin:0 0 12px}#result-board-status{font:10px/1.5 monospace;color:#b9c9c2;margin:0;padding:10px 0;border-top:1px solid #ffffff16}#result-board-status:empty{display:none}.leaderboard-panel ol{padding:0;margin:0;list-style:none}.leaderboard-panel li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #ffffff16;font:11px/1.5 monospace}.leaderboard-panel li>b{color:#c7d2c5}.leaderboard-panel li>span{color:#e8ecdf;overflow-wrap:anywhere}.leaderboard-panel li strong{font:10px monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.leaderboard-panel li:first-child>b,.leaderboard-panel li:first-child>span,.leaderboard-panel li:first-child strong{color:var(--accent)}#score-retry{background:none;border:1px solid #76958a;padding:9px 12px;border-radius:3px;color:#e8ecdf;font-size:11px;margin-top:14px}#score-retry:hover{border-color:var(--accent);color:var(--accent)}.result-time-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0}.result-time-row .result-time{margin:0}.record-flair{font:italic 800 11px/1.3 Arial,sans-serif;color:var(--accent);white-space:nowrap}.finish-copy .record-flair{display:inline-block;margin-left:12px;font-size:13px}.celebrating .result-time-row{margin:8px 0 16px}.celebrating .record-flair{font-size:clamp(11px,1.1vw,16px)}#score-status{font-size:11px;line-height:1.5;color:#e8ecdf}.initials-dialog{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:32px;background:var(--panel);border:1px solid #76958a;border-radius:5px;color:#f8f0da;box-shadow:0 24px 80px #0008;text-align:center}.initials-dialog::backdrop{background:#081719bb}.initials-dialog h2{font:italic 900 38px/1.1 var(--display-font);color:var(--accent);margin:0 0 10px}#initials-summary{font:12px/1.6 monospace;color:#d7dec9;margin:0 0 26px}.initials-dialog label{display:block;font-size:13px;font-weight:700;margin-bottom:12px}#record-initials{display:block;width:5ch;margin:0 auto;padding:10px 0 10px .3em;border:0;border-bottom:3px solid var(--accent);border-radius:0;background:#091e26;color:#f8f0da;font:700 48px/1.2 monospace;letter-spacing:.3em;text-align:center;caret-color:var(--accent)}#record-initials::placeholder{color:#a2b4af;opacity:1}#record-initials:focus-visible{outline:2px solid var(--accent);outline-offset:5px}#record-initials::selection{color:var(--panel);background:var(--accent)}#initials-status{font-size:12px;line-height:1.5;color:#f8f0da}#initials-status:empty{display:none}.initials-dialog .primary{width:100%;min-width:0;margin-top:24px}.initials-dialog .secondary{padding:8px;margin-top:10px}@media(min-width:701px){body.outro .finish-badge{top:auto;bottom:20px}.leaderboard-panel{width:min(290px,calc(50vw - 190px))}.race-results>.results:not(.celebrating){position:absolute;top:16px;right:16px;display:flex;flex-direction:column;height:auto;max-height:calc(100% - 32px)}.race-results>.results:not(.celebrating) .victory-scene{position:relative;flex-shrink:0}.race-results>.results:not(.celebrating) .results-copy{position:relative;inset:auto;min-height:0}}@media(min-width:701px)and (max-width:1000px){.leaderboard-panel header{align-items:flex-start;flex-direction:column;gap:5px}.leaderboard-panel li{gap:6px}}@media(max-width:700px){.race-results{display:flex;flex-direction:column;gap:12px;position:absolute;z-index:3;inset:16px 0 12px;overflow:auto;scrollbar-color:#76958a var(--panel)}.race-results>.results:not(.celebrating){order:0;position:relative;flex:none;inset:auto;width:100%;max-width:none;height:auto;overflow:visible;transition:none}.race-results>.results:not(.celebrating) .results-copy{position:relative;inset:auto;width:100%;overflow:visible}.race-results>.results:not(.celebrating) .victory-scene{position:relative;inset:auto;height:auto;aspect-ratio:4/3}.leaderboard-panel{order:1;position:relative;flex:none;inset:auto;width:100%;max-height:none;padding:13px}.race-results:has(.celebrating){position:fixed;inset:12px;overflow:hidden}.race-results .results.celebrating{position:absolute;inset:0;width:100%;height:100%}.initials-dialog{padding:28px 22px}}
