:root{--ink: #07100d;--paper: #f4f0e6;--signal: #ff4c18;--acid: #d9ff43;--line: rgba(255, 255, 255, .18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--ink)}body{color:#fff;font-family:Avenir Next Condensed,Helvetica Neue Condensed,sans-serif;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid var(--acid);outline-offset:4px}#game,#scene{position:fixed;inset:0;width:100%;height:100%}#scene{display:block;touch-action:none}#game:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,10,8,.44),transparent 23% 75%,rgba(3,10,8,.34)),linear-gradient(0deg,rgba(3,10,8,.6),transparent 28% 76%,rgba(3,10,8,.26));z-index:2}.race-header,.speed-cluster,.timing-panel,.race-message,.touch-controls{position:fixed;z-index:4}.race-header{top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.race-brand{display:flex;align-items:center;gap:11px}.race-brand .number{display:grid;place-items:center;width:49px;height:49px;color:var(--ink);background:var(--acid);border-radius:2px 16px;font-family:Impact,sans-serif;font-size:23px;transform:skew(-5deg);box-shadow:5px 5px #0006}.race-brand small,.race-brand strong{display:block;line-height:1}.race-brand small{margin-bottom:4px;color:#ffffff94;font-size:9px;font-weight:800;letter-spacing:.17em}.race-brand strong{font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(17px,2vw,26px);font-style:italic;letter-spacing:.035em}.race-stats{display:flex;align-items:stretch;border:1px solid var(--line);background:#06100db8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:skew(-5deg)}.race-stats>div{min-width:94px;padding:9px 16px;border-right:1px solid var(--line);transform:skew(5deg)}.race-stats>div:last-child{border-right:0}.race-stats small,.race-stats strong{display:block}.race-stats small{margin-bottom:2px;color:#ffffff75;font-size:8px;font-weight:900;letter-spacing:.14em}.race-stats strong{font-family:Impact,sans-serif;font-size:21px;font-style:italic}.race-stats strong span{color:#ffffff61;font-size:12px}.sound-button{justify-self:end;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#06100db8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;font-size:19px}.speed-cluster{left:max(18px,env(safe-area-inset-left));bottom:max(25px,env(safe-area-inset-bottom));width:165px}.speed-number{display:flex;align-items:flex-end;gap:7px}.speed-number strong{font-family:Impact,sans-serif;font-size:62px;font-style:italic;line-height:.8;letter-spacing:-.03em;text-shadow:0 4px 18px rgba(0,0,0,.55)}.speed-number span{margin-bottom:2px;color:#ffffff8a;font-size:9px;font-weight:900;letter-spacing:.14em}.speed-arc{width:100%;height:5px;margin-top:10px;overflow:hidden;background:#ffffff29;transform:skew(-18deg)}.speed-arc i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--acid),var(--signal));transition:width .1s linear}.gear-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.gear-row span{color:#ffffff6b;font-size:8px;font-weight:900;letter-spacing:.16em}.gear-row strong{color:var(--acid);font-family:Impact,sans-serif;font-size:20px}.timing-panel{top:92px;left:max(18px,env(safe-area-inset-left));width:190px;padding:13px;border-left:3px solid var(--signal);background:#06100db3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-label{color:#ffffff6b;font-size:8px;font-weight:900;letter-spacing:.17em}.timing-panel ol{display:grid;gap:6px;padding:0;margin:10px 0 0;list-style:none}.timing-panel li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;font-size:10px;font-weight:800}.timing-panel li b{display:grid;place-items:center;width:19px;height:19px;background:#ffffff1a}.timing-panel li.player{color:var(--acid)}.timing-panel li span:last-child{color:#ffffff6b;font-size:8px}.race-message{inset:50% auto auto 50%;opacity:0;transform:translate(-50%,-50%) scale(.75);text-align:center;pointer-events:none}.race-message.show{animation:race-message .65s ease both}.race-message strong{display:block;color:var(--acid);font-family:Impact,sans-serif;font-size:clamp(92px,18vw,210px);font-style:italic;line-height:.8;text-shadow:7px 7px 0 rgba(0,0,0,.5)}.race-message span{display:inline-block;margin-top:13px;padding:5px 13px;color:var(--ink);background:#fff;font-size:11px;font-weight:900;letter-spacing:.18em;transform:skew(-7deg)}.touch-controls{left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));pointer-events:none}.steering-controls,.pedal-controls{display:flex;gap:12px;pointer-events:auto}.drive-button{position:relative;display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(255,255,255,.26);background:#040d0ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 5px #ffffff06,0 8px 25px #0000004d;cursor:pointer;touch-action:none}.drive-button.steer{border-radius:50%;color:#fff;font-family:Georgia,serif;font-size:56px;line-height:1}.drive-button.brake,.drive-button.throttle{border-radius:9px}.drive-button.throttle{color:var(--ink);border-color:var(--acid);background:#d9ff43e0}.drive-button span,.drive-button strong{display:block}.drive-button span{position:absolute;top:9px;font-size:7px;font-weight:900;letter-spacing:.13em}.drive-button strong{font-size:25px}.drive-button.active{transform:scale(.94);filter:brightness(1.3)}.start-screen,.finish-screen{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(circle at 75% 48%,rgba(255,76,24,.2),transparent 29%),linear-gradient(125deg,#030a08f7,#091611e6);transition:opacity .42s ease,visibility .42s ease}.start-screen.hidden,.finish-screen{opacity:0;visibility:hidden}.finish-screen.show{opacity:1;visibility:visible}.start-grid{width:min(1180px,100%);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(25px,6vw,80px)}.start-kicker{margin:0 0 12px;color:var(--acid);font-size:10px;font-weight:900;letter-spacing:.25em}.start-copy h1{margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(62px,9vw,128px);font-style:italic;font-weight:900;line-height:.76;letter-spacing:-.025em}.start-copy h1 em{color:var(--signal);font-style:inherit}.start-lede{margin:24px 0;color:#ffffff94;font-size:clamp(15px,2vw,22px);font-weight:700;letter-spacing:.03em}.race-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:650px;background:#ffffff21}.race-specs>div{position:relative;min-height:86px;padding:14px 12px 12px 44px;background:#0b1713}.race-specs span{position:absolute;left:12px;top:14px;color:var(--signal);font-family:Impact,sans-serif;font-size:20px}.race-specs strong,.race-specs small{display:block}.race-specs strong{font-size:12px;text-transform:uppercase}.race-specs small{margin-top:5px;color:#ffffff61;font-size:9px}.start-button{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;min-width:250px;min-height:68px;margin-top:25px;padding:12px 21px;overflow:hidden;color:var(--ink);border:0;background:var(--acid);box-shadow:8px 8px 0 var(--signal);cursor:pointer;text-align:left;transform:skew(-5deg)}.start-button:after{content:"→";font-family:Georgia,serif;font-size:28px}.start-button span,.start-button small{display:block;transform:skew(5deg)}.start-button span{font-family:Impact,sans-serif;font-size:22px;font-style:italic}.start-button small{margin-top:2px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.52}.car-card{position:relative;height:min(72vh,650px);min-height:430px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.025) 23px 24px),#101f1a;transform:skew(-4deg)}.car-number{position:absolute;top:-28px;right:-6px;color:#ffffff0a;font-family:Impact,sans-serif;font-size:250px;font-style:italic}.track-lines{position:absolute;inset:12% -35% 10%;border:28px solid rgba(255,255,255,.035);border-radius:50%;transform:rotate(-25deg)}.formula-silhouette{position:absolute;left:50%;top:48%;width:120px;height:360px;transform:translate(-50%,-50%);filter:drop-shadow(22px 30px 24px rgba(0,0,0,.4))}.formula-silhouette i{position:absolute;display:block;background:var(--signal)}.formula-silhouette .nose{left:46px;top:42px;width:28px;height:210px;border-radius:45% 45% 22% 22%}.formula-silhouette .front-wing{left:10px;top:72px;width:100px;height:17px}.formula-silhouette .cockpit{left:35px;top:145px;width:50px;height:72px;border:12px solid var(--signal);border-radius:45%;background:#101f1a}.formula-silhouette .sidepod{top:185px;width:38px;height:95px;border-radius:35% 35% 14% 14%}.formula-silhouette .sidepod.left{left:7px;transform:rotate(6deg)}.formula-silhouette .sidepod.right{right:7px;transform:rotate(-6deg)}.formula-silhouette .rear-wing{left:4px;bottom:12px;width:112px;height:24px;background:var(--acid)}.card-caption{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(255,255,255,.18);padding-top:12px;transform:skew(4deg)}.card-caption span{color:#ffffff6e;font-size:8px;font-weight:900;letter-spacing:.17em}.card-caption strong{font-family:Impact,sans-serif;font-size:20px;font-style:italic}.finish-card{width:min(520px,94vw);padding:34px;border-top:8px solid var(--acid);background:#0c1814;box-shadow:18px 18px #ff4c18a6}.finish-card>p{margin:0;color:var(--acid);font-size:10px;font-weight:900;letter-spacing:.23em}.finish-card h2{margin:9px 0 25px;font-family:Impact,sans-serif;font-size:clamp(48px,12vw,84px);font-style:italic;line-height:.9}.finish-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff24}.finish-stats>div{padding:15px;background:#0f211b}.finish-stats small,.finish-stats strong{display:block}.finish-stats small{color:#fff6;font-size:8px;font-weight:900;letter-spacing:.14em}.finish-stats strong{margin-top:4px;font-family:Impact,sans-serif;font-size:22px}@keyframes race-message{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}22%,76%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.16)}}@media(hover:hover)and (pointer:fine){.touch-controls{opacity:.45}.drive-button:hover{border-color:var(--acid)}}@media(max-width:760px){.race-header{grid-template-columns:1fr auto}.race-stats{position:fixed;top:max(73px,calc(env(safe-area-inset-top) + 60px));left:50%;transform:translate(-50%) skew(-5deg)}.race-brand strong{font-size:17px}.race-brand .number{width:42px;height:42px;font-size:20px}.sound-button{width:43px;height:43px}.hide-phone{display:none!important}.speed-cluster{bottom:max(119px,calc(env(safe-area-inset-bottom) + 105px));width:125px}.speed-number strong{font-size:48px}.touch-controls{bottom:max(16px,env(safe-area-inset-bottom));padding-inline:max(12px,env(safe-area-inset-left))}.drive-button{width:68px;height:68px}.drive-button.steer{font-size:48px}.steering-controls,.pedal-controls{gap:8px}.start-screen{overflow-y:auto;place-items:start center}.start-grid{display:block}.start-copy h1{font-size:clamp(58px,20vw,90px)}.start-lede{margin:18px 0}.race-specs{grid-template-columns:1fr}.race-specs>div{min-height:57px}.car-card{display:none}.start-button{width:calc(100% - 10px);margin-bottom:8px}}@media(max-height:580px)and (orientation:landscape){.race-header{top:8px}.race-brand small{display:none}.timing-panel{top:70px}.drive-button{width:62px;height:62px}.speed-cluster{bottom:16px}.start-grid{grid-template-columns:1.25fr .75fr}.start-copy h1{font-size:62px}.start-lede{margin:12px 0}.race-specs>div{min-height:60px}.start-button{min-height:55px;margin-top:14px}.car-card{min-height:320px;height:84vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
