@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a0a1e;font-family:Outfit,sans-serif}#game-canvas{display:block;width:100%;height:100%}#hud{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;transition:opacity .3s ease}.hud-bar{position:absolute;top:0;left:0;width:100%;height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:linear-gradient(180deg,#0a0c1ee6,#0a0c1e00)}.hud-speed{display:flex;align-items:center;gap:10px}.hud-speed-label{color:#ffe040;font-size:13px;text-transform:uppercase;letter-spacing:2px;font-weight:600}.hud-speed-value{color:#ffe040;font-size:28px;font-weight:800;min-width:60px;text-align:right}.hud-speed-unit{color:#ffe040aa;font-size:13px;font-weight:400;margin-left:-4px}.hud-speed-bar{position:absolute;top:38px;left:50%;transform:translate(-50%);width:240px;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.hud-speed-fill{height:100%;width:0%;border-radius:4px;background:linear-gradient(90deg,#32dc32,#50ee50);transition:width .1s ease,background .3s ease;box-shadow:0 0 12px #32dc3266}.hud-score{display:flex;align-items:center;gap:8px}.hud-score-label{color:#fffa;font-size:13px;text-transform:uppercase;letter-spacing:2px;font-weight:600}.hud-score-value{color:#fff;font-size:28px;font-weight:800}.hud-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);color:#ffffff59;font-size:12px;letter-spacing:1px}.overlay-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}.overlay-screen.visible{opacity:1;pointer-events:auto}#title-screen{background:radial-gradient(ellipse at center,#0a0c1ebf,#0a0c1ef2)}.title-text{font-size:clamp(48px,8vw,96px);font-weight:800;color:#ff3030;text-shadow:0 0 30px rgba(255,48,48,.6),0 0 60px rgba(255,48,48,.3),0 4px 0 #990000;letter-spacing:4px;margin-bottom:12px}.title-subtitle{font-size:18px;color:#ffffffb3;margin-bottom:40px;letter-spacing:3px;text-transform:uppercase}.title-prompt{font-size:22px;color:#ffe040;font-weight:600;animation:pulse 1.8s ease-in-out infinite;text-shadow:0 0 20px rgba(255,224,64,.4)}.title-esc{margin-top:24px;font-size:13px;color:#ffffff4d}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.98)}}#crash-screen{background:radial-gradient(ellipse at center,#640000b3,#1e0000eb)}.crash-title{font-size:clamp(42px,7vw,80px);font-weight:800;color:#ff5050;text-shadow:0 0 30px rgba(255,80,80,.5),0 4px 0 #880000;letter-spacing:6px;margin-bottom:16px}.crash-score{font-size:30px;color:#fff;font-weight:600;margin-bottom:8px}.crash-score span{color:#ffe040;font-weight:800}.crash-prompt{font-size:20px;color:#ffe040;font-weight:600;margin-top:30px;animation:pulse 1.8s ease-in-out infinite}.title-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:26px}.screen-button{pointer-events:auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:155px;min-height:50px;padding:10px 18px;border:2px solid rgba(255,224,64,.7);border-radius:14px;background:#ffe040;color:#141628;font:800 1rem/1.2 Outfit,system-ui,sans-serif;cursor:pointer;box-shadow:0 4px #8e6d10}.screen-button.secondary{background:#1b2645;color:#fff;border-color:#8e9ebf;box-shadow:0 4px #090f21}.screen-button small{font-size:.7rem;font-weight:600}.screen-button:focus-visible,#touch-controls button:focus-visible{outline:3px solid #fff;outline-offset:4px}.overlay-screen .screen-button{margin-top:12px}#title-screen{padding:20px;text-align:center}.title-text span{color:#ffe040}.title-prompt{font-size:clamp(.85rem,2.6vw,1.08rem);line-height:1.5;animation:none;max-width:90vw}#touch-controls{display:none;position:fixed;left:0;right:0;bottom:0;z-index:15;pointer-events:none;justify-content:space-between;align-items:end;padding:0 max(14px,env(safe-area-inset-right)) max(15px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}#touch-controls .touch-steer,#touch-controls .touch-speed{display:flex;gap:10px;pointer-events:auto}#touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none;min-width:62px;min-height:68px;padding:10px;border:2px solid #b1c2db99;border-radius:16px;background:#101b3dbb;color:#fff;font:800 1.05rem Outfit,system-ui,sans-serif;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#touch-controls button.pressed{background:#ffe040;color:#151934;transform:translateY(2px)}@media (max-width:800px),(pointer:coarse){body.is-playing #touch-controls{display:flex}.hud-controls{display:none}.hud-bar{height:55px;padding:0 12px;gap:4px}.hud-speed-value,.hud-score-value{font-size:21px}.hud-score{gap:4px;margin-left:3px!important}.hud-speed-label,.hud-score-label{font-size:10px;letter-spacing:1px}.hud-speed-bar{top:51px;width:min(46vw,200px)}.overlay-screen{padding:20px 12px}.title-text{font-size:clamp(2.3rem,9vw,4.8rem)}.title-subtitle{font-size:.8rem;letter-spacing:1px;margin-bottom:12px}.title-prompt{margin-top:15px}.crash-title{font-size:clamp(2.5rem,10vw,4rem)}.crash-score{font-size:1.4rem}.crash-prompt{font-size:1rem;margin-top:12px}}@media (max-width:380px){#touch-controls button{min-width:58px;min-height:58px;font-size:.9rem}#touch-controls .touch-steer,#touch-controls .touch-speed{gap:7px}}@media (prefers-reduced-motion:reduce){.title-prompt,.crash-prompt{animation:none}}#screen-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 45%,transparent 34%,rgba(9,14,27,.14) 79%,rgba(4,9,19,.33) 100%)}.hud-bar{top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#081223db,#0c172e78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hud-speed-value,.hud-score-value{font-variant-numeric:tabular-nums;text-shadow:0 2px 16px rgba(0,0,0,.24)}.hud-speed-bar{background:#ffffff1f;height:7px}#speed-fill{width:100%!important;transform-origin:left center;will-change:transform;transition:transform .12s linear,background .2s}.race-telemetry{position:absolute;top:calc(58px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;padding:9px 13px;min-width:250px;border:1px solid rgba(255,255,255,.14);border-radius:0 0 15px 15px;background:#09142b99;box-shadow:0 6px 30px #0000001a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#e7f0ff;letter-spacing:.09em;font-size:10px;font-weight:800}#mode-value{white-space:nowrap;color:#ffe785}#progress-label{min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.progress-track{width:95px;height:5px;overflow:hidden;border-radius:99px;background:#ffffff29}#progress-fill{width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#6ed9ff,#ffe785);border-radius:99px;transition:transform .15s linear}.overlay-screen{z-index:11;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#title-screen{background:linear-gradient(145deg,#070e1fe6,#0f1e39c7 58%,#04101fe6)}.title-text{line-height:1.02;letter-spacing:.035em;text-shadow:0 4px 0 #78170f,0 0 48px rgba(255,94,63,.24)}.title-subtitle{color:#e2e8f2}.screen-button{transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.screen-button:active{transform:translateY(3px);box-shadow:0 1px #8e6d10}@media (hover:hover){.screen-button:hover{filter:brightness(1.1);transform:translateY(-2px)}}#touch-controls button{border-radius:21px;min-width:68px;background:linear-gradient(155deg,#243860de,#09142acc);box-shadow:0 5px 20px #00000036}#touch-controls button.pressed{background:linear-gradient(145deg,#fff6a9,#ffc35b);box-shadow:0 0 18px #ffca5a33}@media (max-width:800px),(pointer:coarse){.hud-bar{padding-inline:10px}.race-telemetry{top:calc(57px + env(safe-area-inset-top,0px));min-width:0;width:220px;padding:7px 10px}.progress-track{width:57px}#touch-controls button{min-width:58px;min-height:65px}}@media (prefers-reduced-motion:reduce){.screen-button,#speed-fill,#progress-fill{transition:none}}
