@font-face{font-family:Barlow;src:url(/fonts/BarlowCondensed-Bold.ttf)format("truetype");font-display:swap;font-weight:700}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:#f4f3e9;background:#10191e;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,select,input{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #d7ff36}button{color:inherit}::selection{color:#141c20;background:#d7ff36}#scene{width:100%;height:100%;display:block;position:absolute;inset:0}.vignette{pointer-events:none;background:linear-gradient(90deg,#081117c2,#0000 64%),linear-gradient(#0811175c,#0000 15% 76%,#060d12d9);position:absolute;inset:0}header{z-index:3;justify-content:space-between;align-items:center;padding:30px 42px;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:inherit;letter-spacing:2px;align-items:center;gap:13px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand svg{fill:#d7ff36;width:40px}.brand-city{letter-spacing:2.3px;color:#b9c8ca;margin-top:5px;font-size:8px;display:block}.top-actions{align-items:center;gap:12px;display:flex}.local-time{letter-spacing:1.4px;color:#d6dcdb;margin-right:14px;font-size:10px}.local-time i{background:#d7ff36;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.icon-button,.car-caption button{background:#12202b7a;border:1px solid #e5ecec40;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}button svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:20px}.icon-button:hover,.car-caption button:hover{color:#0b151a;background:#d7ff36}.hero-copy{z-index:2;position:absolute;top:23%;left:6%}.chapter{letter-spacing:3px;align-items:center;gap:12px;font-size:10px;font-weight:700;display:flex}.chapter-line{background:#d7ff36;width:28px;height:2px}h1{letter-spacing:-.02em;transform-origin:0 100%;margin:25px 0 0;font-family:Barlow,sans-serif;font-size:clamp(94px,10.5vw,160px);font-weight:700;line-height:.8;transform:skew(-7deg)}h1>span{margin-top:12px;font-size:.49em;display:block}.outline{-webkit-text-stroke:1px #f4f3e9;color:#0000}.handwritten{color:#d7ff36;margin-top:5px;margin-left:155px;font-family:Barlow,sans-serif;font-size:40px;font-style:italic;position:relative;transform:rotate(-8deg)}.handwritten:after{content:"";background:#d7ff36;width:175px;height:3px;display:block;transform:rotate(-3deg)}.hero-copy p{color:#d5dddd;margin:28px 0 24px;font-size:14px;line-height:1.7}.primary{color:#17210a;letter-spacing:1.4px;background:#d7ff36;border:0;justify-content:space-between;align-items:center;gap:30px;min-width:235px;padding:18px 25px;font-size:12px;font-weight:700;transition:background .2s,transform .2s;display:flex}.primary:hover{background:#e5ff83;transform:translateY(-2px)}.primary svg{width:22px}.start-hint{color:#c2cdd0;letter-spacing:1.3px;margin-top:17px;font-size:8px}.event-strip{background:#0b141846;border-top:1px solid #edf3f326;justify-content:space-between;align-items:center;gap:25px;width:100%;padding:27px 42px;display:flex;position:absolute;bottom:0;left:0}.event-strip>div>span,.event-name>div>span{color:#b4c7ce;letter-spacing:1.8px;margin-bottom:9px;font-size:8px;display:block}.event-strip b{letter-spacing:1.3px;font-size:11px;font-weight:600}.event-strip small{color:#d7ff36;margin:0 9px}.event-name{align-items:center;gap:16px;display:flex}.event-icon{color:#d7ff36!important;margin:0!important;font-size:30px!important}.event-strip button{letter-spacing:1px;background:0 0;border:0;padding:15px 0;font-size:10px}.event-strip button span{color:#d7ff36;margin-left:20px}.car-caption{align-items:center;gap:12px;display:flex;position:absolute;bottom:20%;right:7%}.car-caption b,.car-caption span{display:block}.car-caption b{letter-spacing:2px;font-size:12px}.car-caption div>span{letter-spacing:1.3px;color:#c0ced0;margin-top:7px;font-size:8px}.color-chip{background:#d7ff36;width:4px;height:34px}.car-caption button{width:32px;height:32px;margin-left:13px}.car-caption button svg{width:15px}.hidden{display:none!important}.race-only{display:none}.in-race .race-only{display:grid}.race-stats{text-shadow:0 1px 3px #000;background:linear-gradient(110deg,#0a1723eb,#0a1723ba);border-left:2px solid #d7ff36;gap:35px;padding:14px 18px;display:flex;position:absolute;top:125px;left:42px}.race-stats span,.objective span,.nitro-label,.map-panel>span{letter-spacing:2px;font-size:9px}.race-stats b{font-family:Barlow,sans-serif;font-size:52px;line-height:1.2;display:block}.race-stats small{color:#c0cdcf;font-size:22px}.timer b{font-variant-numeric:tabular-nums;min-width:125px;margin-top:8px;font-size:32px}.objective{text-align:right;text-shadow:0 1px 4px #000;background:linear-gradient(110deg,#0a1723d9,#0a1723b8);border-right:2px solid #d7ff36;padding:14px 16px;position:absolute;top:128px;right:42px}.objective span{color:#d7ff36}.objective b{letter-spacing:1px;margin:10px 0;font-size:12px;display:block}.objective>div{background:#f0ffff30;width:205px;height:3px}.objective i{background:#d7ff36;width:0;height:100%;display:block}.map-panel svg{filter:drop-shadow(0 3px 5px #0008);width:130px;height:165px;margin-left:20px;overflow:visible}#map-road{fill:none;stroke:#b9d5d4;stroke-width:3px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;opacity:.55}#map-progress{fill:none;stroke:#d7ff36;stroke-width:1.5px;vector-effect:non-scaling-stroke}#map-player{fill:#d7ff36;stroke:#192820;stroke-width:2px;vector-effect:non-scaling-stroke}#district-leg{letter-spacing:.7px;color:#c6d2d6;margin:9px 0 12px;font-size:8px;display:block}.map-panel>span{margin-top:5px;font-size:8px;display:block}.map-panel small{color:#d7ff36;margin-top:8px;font-size:7px;display:block}.speed-panel{width:230px;position:absolute;bottom:55px;right:45px}.speed-panel:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(280deg,#0a1723e8,#0a1723a8);position:absolute;inset:-12px -16px;transform:skew(-5deg)}.speed-panel{isolation:isolate;text-shadow:0 1px 3px #000}.map-panel{filter:drop-shadow(0 1px 2px #07131a)}.speed-number{justify-content:flex-end;align-items:baseline;gap:13px;display:flex}.speed-number>b{font-variant-numeric:tabular-nums;font-family:Barlow,sans-serif;font-size:94px;font-style:italic;line-height:1}.speed-number>span{color:#d7ff36;font-family:Barlow;font-size:34px}.nitro-label{justify-content:space-between;margin:14px 0 8px;font-size:8px;display:flex}.nitro-label span:last-child{color:#c1ced1}.nitro-bar{background:#829d9e50;height:7px;transform:skew(-20deg)}.nitro-bar i{background:#d7ff36;width:100%;height:100%;display:block}.race-controls{white-space:nowrap;color:#d2d9d8;letter-spacing:1px;gap:22px;font-size:8px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.burst-label{letter-spacing:1.3px;color:#f5b76c;justify-content:space-between;margin:14px 0 8px;font-size:8px;display:flex}.burst-label kbd{padding:1px 4px}.burst-bars{gap:5px;display:flex;position:relative;transform:skew(-20deg)}.burst-active-track{background:#6b4431;border:1px solid #ffe7c0;display:none;position:absolute;inset:0;overflow:hidden}.burst-active-track b{transform-origin:0;background:#ffe0a2;width:100%;height:100%;transition:none;display:block}.burst-bars.active>i{visibility:hidden}.burst-bars.active .burst-active-track{display:block}.pad-hint{display:none}.gamepad-connected .pad-hint{display:inline}.gamepad-connected .keyboard-hint{display:none}.controller-help,#result-splits{color:#d0dddd;margin:16px 0;font-size:.75rem;line-height:1.6}.controller-help summary,#result-splits summary{cursor:pointer;color:#e5ebde;letter-spacing:.4px;box-sizing:border-box;min-height:44px;padding:8px 0}#split-opportunity{color:#e5d4a9;font-size:.7rem;line-height:1.5}#result-splits td:first-child{white-space:normal;font-size:.65rem}.burst-bars i{background:#98826844;flex:1;height:11px;overflow:hidden}.burst-bars b{background:#ffc677;width:0;height:100%;transition:width .12s linear;display:block}#skill-event{text-align:right;letter-spacing:.65px;color:#efd4ad;height:15px;margin-top:9px;font-size:8px}body.bursting .burst-bars b{background:#fff0c1;box-shadow:0 0 14px #ffbf64}kbd{font:inherit;border:1px solid #fff5;border-radius:2px;margin-right:4px;padding:4px}#drift-score{text-align:right;color:#d7ff36;min-height:34px;font-family:Barlow;font-size:28px;font-style:italic}#countdown{text-align:center;color:#d7ff36;text-shadow:0 6px 25px #0009;pointer-events:none;width:100%;font-family:Barlow;font-size:140px;position:absolute;top:35%}#callout{color:#d7ff36;text-align:center;text-shadow:0 3px 10px #001;pointer-events:none;white-space:nowrap;font-family:Barlow,sans-serif;font-size:33px;font-style:italic;position:absolute;top:28%;left:50%;transform:translate(-50%)rotate(-3deg)}dialog{color:#f5f3e8;background:#14222a;border:1px solid #63767c;width:calc(100% - 32px);max-width:490px;max-height:90dvh;padding:42px;overflow:auto;box-shadow:0 25px 80px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#071017b8}dialog h2{margin:0 0 25px;font-family:Barlow;font-size:42px;line-height:1}dialog p{color:#c4d2d4;margin:20px 0;font-size:13px;line-height:1.65}dialog .primary{width:100%;margin-top:25px}.close{color:#d3e0e2;background:0 0;border:0;font-size:27px;position:absolute;top:9px;right:13px}.secondary{letter-spacing:1.5px;background:0 0;border:1px solid #71888b;width:100%;margin-top:15px;padding:15px 10px;font-size:11px}.secondary:hover{background:#ffffff14}.text-button{letter-spacing:1.3px;background:0 0;border:0;margin:20px auto 0;padding:8px;font-size:10px;display:block}.text-button:hover{text-decoration:underline}.audio-mix{border-bottom:1px solid #ffffff24;padding:0 0 20px}.audio-mix label{border:0;min-height:32px;padding:8px 0 0}.audio-mix output{color:#d7ff36;font-variant-numeric:tabular-nums}.audio-mix input[type=range]{accent-color:#d7ff36;cursor:pointer;width:100%;height:32px;margin:0;display:block}.audio-mix details{color:#bac3c5;margin-top:12px;font-size:.75rem}.audio-mix summary{cursor:pointer;min-height:32px}.audio-mix a{color:#d7ff36;text-underline-offset:3px}dialog label{letter-spacing:1px;border-bottom:1px solid #e6eeee20;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:11px;display:flex}select{color:#e9efed;background:#21333c;border:1px solid #7f9598;max-width:200px;padding:8px;font-size:12px}input[type=checkbox]{accent-color:#d7ff36;width:18px;height:18px}dl{grid-template-columns:145px 1fr;gap:18px 10px;margin-top:28px;font-size:11px;display:grid}dt{color:#d7ff36;font-weight:700}dd{color:#dce3e1;margin:0}.finish-label{color:#d7ff36;letter-spacing:1.7px;margin-bottom:18px;font-size:9px;display:block}.result-grid{justify-content:space-between;gap:25px;display:flex}.result-grid span{letter-spacing:1px;font-size:8px}.result-grid b{margin-top:7px;font-family:Barlow;font-size:35px;display:block}#loading{z-index:10;letter-spacing:3px;background:#111e27;flex-direction:column;justify-content:center;align-items:center;gap:22px;font-size:11px;display:flex;position:absolute;inset:0}#loading>div{background:#44565e;width:210px;height:2px}#loading i{background:#d7ff36;width:70%;height:100%;animation:1.8s ease-in-out infinite load;display:block}#error{z-index:15;background:#13212b;padding:20vh 10vw;position:absolute;inset:0}#error h2{font-family:Barlow;font-size:50px}#error p{max-width:600px;line-height:1.8}#perf{z-index:10;color:#d7ff36;pointer-events:none;background:#071218eb;padding:12px;font-size:10px;position:absolute;top:85px;right:20px}#touch-controls{pointer-events:none;justify-content:space-between;display:none;position:absolute;bottom:12px;left:15px;right:15px}#touch-controls>div{align-items:end;gap:8px;display:flex}#touch-controls>div:first-child{align-self:end}#touch-controls button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#101b27cf;border:1px solid #abc4c18c;border-radius:7px;min-width:48px;height:48px;font-size:11px;font-weight:700}#touch-controls button.pressed{color:#152019;background:#d7ff36}#touch-controls .accelerator{color:#d7ff36;border-color:#d7ff36;width:58px;height:70px}.pedals{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:6px!important;display:grid!important}.pedals [data-input=drift]{grid-area:1/1}.pedals [data-input=brake]{grid-area:1/2}.pedals [data-input=boost]{grid-area:2/1}.pedals [data-input=burst]{grid-area:2/2}#touch-controls .pedals .accelerator{grid-area:1/3/3;width:48px;height:102px}@keyframes load{50%{opacity:.5;width:100%}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}#app{height:100dvh;position:relative}.brand-title{line-height:1.15}.brand-city{color:#d7ff36;margin:0 0 3px;font-size:12px}button,.brand{min-height:44px}.icon-button,.car-caption button,.close{flex-shrink:0;width:44px;height:44px}.brand{min-width:0}.touch-hint{display:none}.start-hint span{color:#c2cdd0;margin:0}#hud{pointer-events:none}.rival-gap{color:#f3eddb;letter-spacing:.6px;background:#0d1c26ed;margin:0;padding:8px 11px;font-size:11px;font-weight:700;position:absolute;top:239px;left:42px}.direction-icon{float:left;fill:none;stroke:#d5ff57;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px;margin:6px 14px 0 0}#direction-arrow{transform-origin:16px 16px;transition:transform .2s}.objective #turn{letter-spacing:.5px;color:#f4f3e9;margin:13px 0 5px;font-family:Barlow,sans-serif;font-size:24px;display:block}.objective #gate-distance{color:#d0dddd;font-size:11px}.objective #brake-advice{color:#d0dddd;letter-spacing:.25px;min-height:14px;margin-top:7px;font-size:11px;line-height:1.3;display:block}.objective #brake-advice.brake-now{color:#ffe59c;font-weight:700}.garage-links{align-items:center;gap:24px;display:flex}#pace-open{color:#d6edb7}#result-run-summary{color:#d0dddd;font-size:.75rem;line-height:1.7}select:disabled{opacity:.65}.color-chip{background:#131a21;border:1px solid #8d9da0}.car-caption{background:#0a151d99;padding:12px 15px}.map-panel{width:210px}.map-panel svg{width:165px;height:190px}.race-stats{gap:26px}#callout{white-space:normal;max-width:calc(100% - 32px);top:max(306px,31vh)}@media (pointer:fine) and (width>=701px) and (height>=501px){.in-race header{padding-top:20px;padding-bottom:20px}#callout{text-align:left;max-width:calc(100% - 84px);font-size:1.375rem;line-height:1.15;top:91px;left:42px;transform:none}}.history-link{letter-spacing:1.4px;margin:10px 0 0;padding-left:0;font-size:12px}.history-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:20px 0}.history-table th{text-align:left;letter-spacing:.5px;color:#c8d5d2;font-size:.6875rem}.history-table td{border-bottom:1px solid #506060;padding:11px 4px;font-size:.875rem}.history-table td:nth-child(2){color:#dcff63;white-space:nowrap;font-weight:700}.history-table th:first-child{width:10%}dialog{scrollbar-color:#8caaab #14222a;padding-top:52px}dialog h2{text-wrap:balance;padding-right:22px}dialog p{font-size:.875rem}dialog label{letter-spacing:.5px;min-height:64px;padding:12px 0;font-size:.75rem}dialog select{min-width:0;max-width:60%;min-height:44px;font-size:.8125rem}dialog input[type=checkbox]{flex-shrink:0}dialog .close{top:6px;right:6px}dialog .primary{min-width:0}.secondary,.text-button{font-size:.75rem}.muted{font-size:.75rem!important}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.result-actions>button{flex:150px;width:auto}#race-card-status:empty{display:none}#race-card-status{overflow-wrap:anywhere}.result-grid{flex-wrap:wrap}.result-grid span{font-size:.625rem}.result-grid b{font-variant-numeric:tabular-nums}.in-race #scene{touch-action:none}body.boosting .vignette{box-shadow:inset 0 -50px 90px #60f5d022}body.boosting .speed-number{transform:skew(-3deg)scale(1.035)}body.impact .vignette{box-shadow:inset 0 0 90px #ff633344}.speed-number{transition:transform .12s}body.boosting .nitro-bar i{background:#75ffe5}@media (pointer:coarse),(width<=700px),(height<=500px){:root{--ui-edge:12px;--header-bottom:calc(60px + var(--safe-top))}header{padding:calc(8px + var(--safe-top)) max(var(--ui-edge), var(--safe-right)) 8px max(var(--ui-edge), var(--safe-left));gap:8px}.brand{letter-spacing:.6px;gap:6px;font-size:12px}.brand svg{flex-shrink:0;width:25px}.brand-city{letter-spacing:2.5px;font-size:10px}.top-actions{gap:4px}.local-time{display:none}.icon-button{width:44px;height:44px}#hud{inset:var(--header-bottom) max(var(--ui-edge), var(--safe-right)) calc(16px + var(--safe-bottom)) max(var(--ui-edge), var(--safe-left));grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px;display:grid;position:absolute}.race-summary{grid-template-rows:auto auto;gap:2px;min-width:0;display:grid}.race-stats{grid-template-columns:1fr 1fr 1.5fr;gap:10px;min-width:0;padding:6px 10px;display:grid;position:static}.race-stats span{letter-spacing:.6px;font-size:.625rem}.race-stats b{font-size:2rem;line-height:1}.race-stats small{font-size:1rem}.race-stats .timer b{min-width:0;margin:0;font-size:1.75rem;line-height:1.14}.rival-gap{letter-spacing:.35px;padding:3px 10px;font-size:.625rem;line-height:1.3;position:static}.objective{text-align:left;grid-template-rows:auto auto auto auto 3px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:3px 8px;min-width:0;padding:7px 10px 6px;display:grid;position:static}.direction-icon{float:none;grid-area:1/1/4;width:28px;height:28px;margin:0}.objective #district{letter-spacing:.6px;grid-area:1/2/auto/4;font-size:.625rem}.objective #turn{letter-spacing:.2px;grid-area:2/2;margin:0;font-size:1.375rem;line-height:1}.objective #gate-distance{letter-spacing:0;white-space:nowrap;grid-area:2/3;font-size:.625rem}.objective #checkpoint{letter-spacing:.3px;text-align:right;grid-area:3/3;margin:0;font-size:.625rem}.objective #district-leg{letter-spacing:0;grid-area:3/2;margin:0;font-size:.625rem;display:block}.objective #brake-advice{grid-area:4/1/auto/4;min-height:12px;margin:0;font-size:.625rem;line-height:1.2}.objective>div{grid-area:5/1/auto/4;width:100%;margin:2px 0 0}#callout{place-self:start center;max-width:100%;margin:0;font-size:1.5rem;line-height:1.05;position:static;transform:none}.driving-dashboard{justify-content:space-between;align-items:end;gap:18px;min-width:0;display:flex}.map-panel,.speed-panel{position:relative;inset:auto}.map-panel{flex-shrink:0;width:100px}.map-panel svg{width:90px;height:102px;margin:0;display:block}.map-panel>span{letter-spacing:.2px;font-size:.625rem;line-height:1.2}.map-panel small{letter-spacing:0;margin-top:3px;font-size:.5625rem}.speed-panel{background:#0a1723ed;width:168px;min-width:0;padding:8px 10px}.speed-panel:before{display:none}.speed-number{gap:7px}.speed-number>b{font-size:3rem}.speed-number>span{font-size:1.4rem}.speed-number>small{letter-spacing:0;font-size:.625rem}.nitro-label,.burst-label{letter-spacing:.5px;margin:6px 0 4px;font-size:.625rem}.nitro-bar{height:5px}.burst-bars i{height:7px}#drift-score{min-height:0;font-size:1rem;line-height:1.1}#skill-event{letter-spacing:0;height:auto;min-height:0;margin-top:5px;font-size:.5625rem}#skill-event:empty,.race-controls{display:none}#countdown{font-size:100px;top:42%}#touch-controls{left:max(var(--ui-edge), var(--safe-left));right:max(var(--ui-edge), var(--safe-right));bottom:max(12px, var(--safe-bottom))}#touch-controls button{padding:0 2px;font-size:.6875rem}#touch-controls>div:first-child button{font-size:1.4rem}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));padding:48px 20px 24px}dialog h2{margin-bottom:20px;font-size:2rem}dialog label{gap:10px}dl{grid-template-columns:105px 1fr;gap:14px 10px;font-size:.75rem}.history-table td{padding:9px 3px;font-size:.75rem}.result-grid{gap:14px}.result-grid b{font-size:1.875rem}#error{padding:max(24px, var(--safe-top)) max(24px, var(--safe-right)) max(24px, var(--safe-bottom)) max(24px, var(--safe-left));overflow:auto}#error h2{margin:0 0 20px;font-size:2.5rem}#error .primary{margin-top:24px}}@media (pointer:coarse){.in-race #touch-controls{display:flex}.touch-hint{display:block}.keyboard-hint,.keyboard-help{display:none}#hud{bottom:calc(126px + var(--safe-bottom))}}@media (width<=380px){:root{--ui-edge:8px}.brand{letter-spacing:.5px;gap:4px;font-family:Barlow,sans-serif;font-size:12px}.brand svg{width:20px}.brand-city{font-family:Arial,sans-serif;font-size:9px}.map-panel{width:88px}.map-panel svg{width:82px;height:88px}.speed-panel{width:162px}}@media (width<=500px) and (height<=680px){.speed-panel{grid-template-columns:.9fr 1.1fr;gap:3px 10px;width:190px;padding:6px 8px;display:grid}#drift-score{text-align:left;grid-area:1/1;align-self:center;font-size:.8125rem;line-height:1.1}.speed-number{grid-area:1/2;justify-content:flex-end;gap:4px}.speed-number>b{font-size:2.125rem}.speed-number>span{font-size:1rem}.speed-number>small{font-size:.625rem}.nitro-label{grid-area:2/1;margin:0}.nitro-bar{grid-area:3/1}.burst-label{grid-area:2/2;margin:0}.burst-bars{grid-area:3/2}#skill-event{grid-area:4/1/auto/3;margin-top:2px;font-size:.5625rem;line-height:1.1}}@media (pointer:coarse) and (width>=701px) and (height>=501px){#hud{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}.race-summary{grid-area:1/1;align-self:start;max-width:300px}.objective{grid-area:1/2;justify-self:end;width:min(100%,312px)}#callout{grid-area:2/1/auto/3}.driving-dashboard{grid-area:3/1/auto/3}}@media (height<=500px) and (width>=501px){#hud{bottom:calc(12px + var(--safe-bottom));grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}.race-summary{grid-area:1/1;align-self:start;max-width:260px}.objective{grid-area:1/2;justify-self:end;width:min(100%,288px)}#callout{grid-area:2/1/auto/3;justify-self:end;max-width:calc(100% - 270px);font-size:1.375rem}.driving-dashboard{justify-content:flex-start;gap:10px;width:252px;position:absolute;bottom:62px;left:0}.map-panel{width:68px}.map-panel svg{width:64px;height:72px}.map-panel>span{font-size:.5625rem}.map-panel small{display:none}.speed-panel{flex-shrink:0;width:152px;padding:5px 8px}.speed-number>b{font-size:2.5rem}.speed-number>span{font-size:1.25rem}.nitro-label,.burst-label{margin-top:4px}#skill-event{font-size:.5625rem}.race-stats b{font-size:1.75rem}.race-stats .timer b{font-size:1.5rem}}@media (width<=700px),(pointer:coarse){.hero-copy{top:calc(86px + var(--safe-top));left:max(20px, var(--safe-left));right:max(20px, var(--safe-right));max-width:370px}h1{margin-top:0;font-size:clamp(4.5rem,23vw,6.75rem)}.handwritten{margin-left:80px;font-size:1.875rem}.handwritten:after{width:140px}.hero-copy p{margin:20px 0 18px;font-size:.875rem;line-height:1.45}.primary{width:100%;min-width:0;max-width:300px;padding:16px 18px;font-size:.75rem}dialog .primary{max-width:none}.start-hint{letter-spacing:.5px;margin-top:12px;font-size:.625rem;line-height:1.4}.history-link{margin-top:2px;font-size:.75rem}.event-strip{padding:12px max(20px, var(--safe-right)) calc(12px + var(--safe-bottom)) max(20px, var(--safe-left));gap:12px}.event-strip>div:nth-child(2),.event-strip>div:nth-child(3){display:none}.event-name{gap:8px;min-width:0}.event-icon{font-size:24px!important}.event-name>div>span{letter-spacing:.5px;margin-bottom:5px;font-size:.625rem}.event-strip b{letter-spacing:.4px;font-size:.6875rem}.event-strip button{letter-spacing:.5px;flex-shrink:0;padding:8px 0;font-size:.625rem}.event-strip button span{margin-left:4px}.car-caption{right:max(20px, var(--safe-right));bottom:calc(92px + var(--safe-bottom));gap:8px;padding:8px 10px}.car-caption b{letter-spacing:.8px;font-size:.625rem}.car-caption div>span{letter-spacing:.5px;font-size:.5625rem}.car-caption button{margin-left:4px}.vignette{background:linear-gradient(90deg,#071017a0,#0000),linear-gradient(#09131a35,#0000 40% 70%,#09131ada)}}@media (width<=380px){.hero-copy{top:calc(76px + var(--safe-top))}.handwritten{margin-left:70px;font-size:1.5rem}.hero-copy p{margin:14px 0}.car-caption{bottom:calc(82px + var(--safe-bottom))}.event-strip{padding-left:12px;padding-right:12px}}@media (height<=500px) and (width>=501px){.hero-copy{top:calc(64px + var(--safe-top));left:max(24px, var(--safe-left));max-width:300px}h1{font-size:4.25rem}.handwritten{margin-top:-6px;margin-left:120px;font-size:1.5rem}.handwritten:after{width:110px}.hero-copy p{margin:8px 0 10px;font-size:.75rem}.primary{padding:12px 16px}.start-hint{margin-top:7px}.garage-links{left:50%;bottom:calc(4px + var(--safe-bottom));gap:8px;position:fixed;transform:translate(-50%)}.history-link{white-space:nowrap;letter-spacing:.4px;min-height:44px;margin:0;padding:8px;font-size:.625rem}.car-caption{right:max(20px, var(--safe-right));bottom:calc(76px + var(--safe-bottom))}.event-strip{padding-top:4px;padding-bottom:calc(4px + var(--safe-bottom))}}@media (pointer:fine) and (width>=701px) and (height>=501px) and (height<=800px){.hero-copy{top:max(112px,14%)}h1{margin-top:0;font-size:clamp(94px,9vw,120px)}.handwritten{font-size:32px}.hero-copy p{margin:18px 0 20px}}@media (width<=500px) and (height<=600px){h1{font-size:clamp(3.5rem,16vw,4.5rem)}.handwritten{font-size:1.375rem}.hero-copy p{margin:12px 0}}@media (width>=501px) and (height<=350px){.hero-copy{top:calc(60px + var(--safe-top))}h1{margin-top:0;font-size:3rem}.handwritten{display:none}.hero-copy p{margin:10px 0}.driving-dashboard{bottom:50px}.map-panel{width:52px}.map-panel svg{width:48px;height:54px}.map-panel>span{display:none}.speed-panel{grid-template-columns:1fr 1fr;gap:3px 8px;width:186px;display:grid}#drift-score{grid-area:1/1;align-self:center;font-size:.75rem}.speed-number{grid-area:1/2;gap:3px}.speed-number>b{font-size:1.75rem}.speed-number>span{font-size:.875rem}.nitro-label{grid-area:2/1;margin:0}.nitro-bar{grid-area:3/1}.burst-label{grid-area:2/2;margin:0}.burst-bars{grid-area:3/2}#skill-event{grid-area:4/1/auto/3;margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}body.boosting .speed-number{transform:none}}.in-race header{gap:0;padding:10px 24px;left:auto}.in-race .brand,.in-race .local-time{display:none}.in-race .top-actions{gap:4px}.in-race .icon-button{background:#0a17234d;border-color:#d2e4e433}.in-race .icon-button svg{width:18px;height:18px}.in-race .vignette{background:linear-gradient(#08131b35,#0000 12% 82%,#07101b50)}#hud{display:block;position:absolute;inset:0}.race-summary,.driving-dashboard{display:contents}.race-stats{background:#0a17234d;border:0;gap:18px;padding:4px 8px;display:flex;position:absolute;top:18px;left:24px}.race-stats span{letter-spacing:.6px;font-size:9px}.race-stats b{font-size:28px;line-height:1}.race-stats small{font-size:14px}.race-stats .timer b{min-width:90px;margin:3px 0 0;font-size:23px;line-height:1}.rival-gap{text-shadow:0 1px 3px #000;background:0 0;padding:0;font-size:10px;position:absolute;top:70px;left:32px}.objective{text-align:left;background:#0a17234d;border:0;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr) auto;gap:3px 8px;width:260px;padding:5px 8px;display:grid;position:absolute;top:18px;left:50%;right:auto;transform:translate(-50%)}.direction-icon{float:none;grid-area:1/1/3;align-self:center;width:24px;height:24px;margin:0}.objective #district{letter-spacing:.8px;grid-area:1/2/auto/4;font-size:9px}.objective #turn{letter-spacing:0;grid-area:2/2;margin:0;font-size:18px;line-height:1.1}.objective #gate-distance{letter-spacing:0;white-space:nowrap;grid-area:2/3;align-self:center;font-size:9px}.objective #checkpoint,.objective #district-leg,.objective>div,.objective #brake-advice{display:none}.objective #brake-advice.brake-now{background:#18202aa6;min-height:0;margin:4px 0 0;padding:3px 6px;font-size:10px;display:block;position:absolute;top:100%;right:0}#callout{text-align:center;width:max-content;max-width:80%;margin:0;font-size:18px;line-height:1.1;position:absolute;top:88px;left:50%;transform:translate(-50%)}.map-panel{width:80px;position:absolute;bottom:20px;left:24px}.map-panel svg{width:80px;height:96px;margin:0;display:block}.map-panel>span{display:none}.speed-panel{background:#0a17234d;grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr;gap:4px 10px;width:160px;padding:6px 8px;display:grid;position:absolute;bottom:24px;left:auto;right:24px}.speed-panel:before{display:none}.speed-number{grid-area:1/1/auto/3;justify-content:flex-end;gap:6px}.speed-number>b{font-size:44px}.speed-number>span{font-size:18px}.speed-number>small{letter-spacing:0;font-size:9px}.nitro-label,.burst-label{letter-spacing:.4px;margin:0;font-size:9px}.nitro-label{grid-area:2/1}.burst-label{grid-area:2/2}.nitro-bar{grid-area:3/1;height:4px}.burst-bars{grid-area:3/2}.burst-bars i{height:4px}#drift-score{min-height:0;font-size:13px;position:absolute;bottom:100%;right:0}#skill-event,.race-controls{display:none}@media (pointer:coarse),(width<=800px),(height<=500px){.in-race header{top:var(--safe-top);padding:4px max(12px,var(--safe-right))}.in-race .icon-button{width:44px;height:44px}.race-stats{top:calc(8px + var(--safe-top));left:max(12px,var(--safe-left));background:0 0;justify-content:space-between;gap:10px;width:calc(100% - 218px);max-width:180px;padding:3px 0}.race-stats span{letter-spacing:0;font-size:8px}.race-stats b{font-size:22px}.race-stats small{font-size:11px}.race-stats .timer b{min-width:0;margin-top:2px;font-size:18px}.rival-gap{top:calc(56px + var(--safe-top));left:max(12px,var(--safe-left));font-size:9px}.objective{top:calc(73px + var(--safe-top));left:max(12px,var(--safe-left));right:max(12px,var(--safe-right));gap:2px 6px;width:auto;padding:4px 6px;transform:none}.objective #turn{font-size:16px}#callout{top:calc(130px + var(--safe-top));font-size:16px}.speed-panel{right:max(12px,var(--safe-right));bottom:calc(16px + var(--safe-bottom));gap:3px 8px;width:120px;padding:4px 6px}.speed-number>b{font-size:32px}.speed-number>span{font-size:14px}.map-panel{left:max(12px,var(--safe-left));bottom:calc(14px + var(--safe-bottom));width:56px}.map-panel svg{width:56px;height:66px}#touch-controls button{background:#101b2766;border-color:#d4e7e66b;min-width:44px;height:44px;font-size:10px}#touch-controls>div{gap:6px}#touch-controls .pedals{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,44px);gap:5px!important}#touch-controls .pedals .accelerator{width:44px;height:93px}}@media (pointer:coarse){.speed-panel{bottom:calc(112px + var(--safe-bottom))}.map-panel{bottom:calc(66px + var(--safe-bottom))}}@media (width>=501px) and (height<=500px){.race-stats{max-width:160px}.rival-gap{top:calc(56px + var(--safe-top))}.objective{top:calc(8px + var(--safe-top));width:220px;left:50%;right:auto;transform:translate(-50%)}.objective #turn{font-size:14px}.objective #district,.objective #gate-distance{font-size:8px}#callout{top:calc(65px + var(--safe-top));max-width:45%;font-size:14px}.speed-panel{left:max(12px,var(--safe-left));right:auto;bottom:calc(65px + var(--safe-bottom));width:142px}.map-panel{left:calc(max(12px,var(--safe-left)) + 156px);bottom:calc(12px + var(--safe-bottom));width:42px}.map-panel svg{width:42px;height:50px}}.hero-copy h1{font-size:clamp(64px,7vw,104px)}.hero-copy .handwritten{margin-left:60px;font-size:26px}.hero-copy p{margin:14px 0;font-size:13px}@media (pointer:coarse),(width<=700px){.hero-copy{top:calc(76px + var(--safe-top));max-width:280px}.hero-copy h1{font-size:52px}.hero-copy .handwritten{display:none}.hero-copy p{margin:10px 0 14px;font-size:12px}.hero-copy .primary{max-width:240px;padding:12px 14px}.garage-links{gap:14px}.history-link{font-size:10px}}@media (width>=501px) and (height<=500px){.hero-copy{top:calc(60px + var(--safe-top))}.hero-copy h1{font-size:42px}.hero-copy .handwritten{display:none}.hero-copy p{margin:8px 0;font-size:11px}}.finish-arrival{z-index:8;pointer-events:none;color:#f5f3e8;text-shadow:0 2px 16px #071017;justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:fixed;inset:auto clamp(20px,5vw,80px) max(32px,7vh)}.finish-arrival[hidden]{display:none}.finish-arrival-copy{background:linear-gradient(100deg,#071017db,#07101735);border-left:4px solid #d7ff36;max-width:calc(100% - 220px);padding:18px 24px 16px}.finish-arrival-copy>span{letter-spacing:2px;font-size:10px;line-height:1.6}.finish-arrival h2{letter-spacing:-2px;color:#d7ff36;margin:7px 0 12px;font-family:Barlow,sans-serif;font-size:clamp(52px,8vw,106px);font-style:italic;line-height:.95}.finish-arrival p{letter-spacing:1px;font-variant-numeric:tabular-nums;margin:0;font-size:15px}#finish-skip{pointer-events:auto;color:#10191f;letter-spacing:1px;background:#d7ff36;border:1px solid #edfba8;min-width:190px;min-height:54px;padding:15px 20px;font-size:12px;font-weight:700;box-shadow:0 5px 24px #07101766}#finish-skip span{letter-spacing:1.5px;opacity:.7;margin-top:5px;font-size:9px;display:block}#finish-skip:hover{background:#e8ff82}#finish-skip:focus-visible{outline-offset:5px;outline:3px solid #fff}body.finish-arriving #hud,body.finish-arriving #touch-controls,body.finish-arriving #callout{visibility:hidden!important;pointer-events:none!important}#results::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#07101764}@media (width>=1000px) and (height>=650px){#results{max-width:440px;margin-left:clamp(24px,4vw,64px);margin-right:auto}#results::backdrop{background:linear-gradient(90deg,#07101760,#07101710 70%)}}@media (width<=600px){.finish-arrival{inset:auto 18px max(22px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:14px}.finish-arrival-copy{max-width:none;padding:14px 18px}.finish-arrival-copy>span{letter-spacing:1.3px;font-size:9px}.finish-arrival h2{margin-bottom:8px;font-size:62px}.finish-arrival p{font-size:13px}#finish-skip{min-height:48px}#finish-skip span{margin-left:12px;display:inline}}@media (height<=480px) and (width>=601px){.finish-arrival{bottom:18px}.finish-arrival-copy{padding:10px 16px}.finish-arrival h2{margin:4px 0 6px;font-size:52px}.finish-arrival-copy>span{font-size:9px}}@media (pointer:coarse){#finish-skip span{display:none}}
