@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@400;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--red:#f24;--blue:#00d4ff;--gold:gold;--green:#0f8;--orange:#f80;--dark:#060810;--glow-red:0 0 16px #f24,0 0 32px #f246;--glow-blue:0 0 16px #00d4ff,0 0 32px #00d4ff66;--glow-gold:0 0 16px gold,0 0 32px #ffd70066}body{background:var(--dark);color:#fff;font-family:Rajdhani,sans-serif;overflow:hidden}.app-root{width:100vw;height:100vh;position:relative}canvas{display:block}.menu-root{background:linear-gradient(135deg,#060810,#0a0f1e 50%,#060810);flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100vw;min-height:100vh;padding:30px 16px;display:flex;position:relative;overflow:hidden auto}.menu-bg-grid{z-index:0;background-image:linear-gradient(#00d4ff0f 1px,#0000 1px),linear-gradient(90deg,#00d4ff0f 1px,#0000 1px);background-size:60px 60px;animation:8s linear infinite gridMove;position:absolute;inset:0}@keyframes gridMove{0%{background-position:0 0}to{background-position:0 60px}}.menu-glow-orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.menu-glow-orb.red{background:#ff224426;width:400px;height:400px;top:-100px;right:-100px}.menu-glow-orb.blue{background:#00d4ff1a;width:500px;height:500px;bottom:-150px;left:-100px}.menu-logo,.car-select-section,.weather-section,.best-time-badge,.start-btn,.controls-hint{z-index:1}.menu-logo{text-align:center;animation:.8s ease-out logoIn}@keyframes logoIn{0%{opacity:0;transform:translateY(-30px)scale(.9)}to{opacity:1;transform:none}}.menu-logo h1{background:linear-gradient(90deg,#f24,#f68,#f24) 0 0/200%;-webkit-text-fill-color:transparent;letter-spacing:4px;filter:drop-shadow(0 0 20px #f24a);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,monospace;font-size:clamp(2.2rem,7vw,4.5rem);font-weight:900;animation:3s ease-in-out infinite shimmer}.menu-logo h1 span{background:linear-gradient(90deg,#00d4ff,#8ef,#00d4ff) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out .5s infinite shimmer}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.menu-subtitle{letter-spacing:5px;color:#00d4ff99;text-transform:uppercase;margin-top:4px;font-family:Orbitron,monospace;font-size:clamp(.5rem,1.8vw,.72rem)}.car-select-section,.weather-section{text-align:center;width:100%;padding:0 10px}.car-select-section h3,.weather-section h3{letter-spacing:6px;color:#ffffff59;text-transform:uppercase;margin-bottom:12px;font-family:Orbitron,monospace;font-size:.7rem}.car-cards{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.car-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:center;gap:7px;width:105px;padding:12px 8px;transition:all .25s;display:flex}.car-card:hover{background:#00d4ff0d;border-color:#00d4ff80;transform:translateY(-3px)}.car-card.selected{border-color:var(--blue);background:#00d4ff1a;box-shadow:0 0 15px #00d4ff4d}.car-emoji{font-size:1.8rem}.car-name{letter-spacing:2px;text-transform:uppercase;font-family:Orbitron,monospace;font-size:.52rem}.car-stat{width:100%}.car-stat-label{color:#fff6;letter-spacing:1px;justify-content:space-between;margin-bottom:3px;font-size:.52rem;display:flex}.car-stat-bar{background:#ffffff1a;border-radius:2px;height:3px;overflow:hidden}.car-stat-fill{border-radius:2px;height:100%;transition:width .4s}.weather-cards{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.weather-card{cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;padding:10px 18px;transition:all .2s}.weather-card:hover{border-color:#00d4ff66;transform:translateY(-2px)}.weather-card.selected{border-color:var(--blue);background:#00d4ff1a;box-shadow:0 0 12px #00d4ff40}.wx-label{letter-spacing:2px;color:#fffc;font-family:Orbitron,monospace;font-size:.7rem}.wx-desc{color:#ffffff59;margin-top:3px;font-size:.6rem}.best-time-badge{letter-spacing:2px;color:var(--gold);background:#ffd70014;border:1px solid #ffd7004d;border-radius:8px;align-items:center;gap:8px;padding:7px 18px;font-family:Orbitron,monospace;font-size:.7rem;display:flex}.start-btn{letter-spacing:6px;color:#fff;cursor:pointer;text-transform:uppercase;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#f24,#c02);border:none;border-radius:8px;padding:15px 55px;font-family:Orbitron,monospace;font-size:clamp(.85rem,2.5vw,1.05rem);font-weight:700;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 0 28px #f246}.start-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .4s;position:absolute;top:0;left:-100%}.start-btn:hover:before{left:100%}.start-btn:hover{transform:scale(1.05);box-shadow:0 0 50px #ff2244b3}.start-btn:active{transform:scale(.98)}.controls-hint{flex-wrap:wrap;justify-content:center;gap:clamp(10px,2.5vw,20px);display:flex}.ctrl-item{color:#ffffff4d;letter-spacing:1px;align-items:center;gap:6px;font-size:.65rem;display:flex}.ctrl-key{color:#ffffff80;background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;padding:2px 6px;font-family:Orbitron,monospace;font-size:.58rem}.hud{pointer-events:none;z-index:100;position:fixed;inset:0}.hit-overlay{pointer-events:none;background:#ff000038;animation:.35s ease-out hitPulse;position:absolute;inset:0}@keyframes hitPulse{0%{opacity:1}to{opacity:0}}.hud-info-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);white-space:nowrap;background:#000000ad;border:1px solid #ffffff14;border-radius:30px;align-items:center;gap:14px;padding:7px 20px;display:flex;position:absolute;top:clamp(10px,2.5vw,18px);left:50%;transform:translate(-50%)}.hud-item{flex-direction:column;align-items:center;min-width:55px;display:flex}.hud-label{letter-spacing:3px;color:#ffffff52;text-transform:uppercase;font-family:Orbitron,monospace;font-size:clamp(.42rem,1.1vw,.56rem)}.hud-value{color:var(--blue);text-shadow:var(--glow-blue);font-family:Orbitron,monospace;font-size:clamp(.88rem,2.3vw,1.15rem);font-weight:700}.hud-divider{background:#ffffff1a;width:1px;height:28px}.boost-text{animation:.4s ease-in-out infinite alternate blink;color:#0fc!important;text-shadow:0 0 12px #0fc!important}.drift-text{animation:.3s ease-in-out infinite alternate blink;color:var(--orange)!important;text-shadow:0 0 12px var(--orange)!important}@keyframes blink{0%{opacity:.65}to{opacity:1}}.hud-speed{justify-content:center;align-items:center;width:clamp(100px,19vw,138px);height:clamp(100px,19vw,138px);display:flex;position:absolute;bottom:clamp(14px,3.5vw,28px);right:clamp(14px,3.5vw,28px)}.speed-ring-svg{width:100%;height:100%;position:absolute;inset:0}.speed-inner{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 18px);height:calc(100% - 18px);display:flex;position:relative}.hud-speed-num{font-family:Orbitron,monospace;font-size:clamp(1.35rem,3.8vw,1.95rem);font-weight:900;line-height:1;transition:color .2s}.hud-speed-unit{letter-spacing:3px;color:#ffffff61;text-transform:uppercase;font-family:Rajdhani,sans-serif;font-size:clamp(.52rem,1.4vw,.68rem)}.hud-gear{pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000094;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:9px;padding:11px 14px;display:flex;position:absolute;bottom:clamp(14px,3.5vw,28px);left:clamp(14px,3.5vw,28px)}.gear-display{align-items:baseline;gap:7px;display:flex}.gear-label{letter-spacing:3px;color:#ffffff52;text-transform:uppercase;font-family:Orbitron,monospace;font-size:.52rem}.gear-num{color:var(--blue);text-shadow:var(--glow-blue);font-family:Orbitron,monospace;font-size:1.75rem;font-weight:900;line-height:1}.bar-row{align-items:center;gap:7px;display:flex}.bar-label{letter-spacing:2px;text-transform:uppercase;min-width:25px;font-family:Orbitron,monospace;font-size:.48rem}.nos-label{color:#00d4ffb3}.bar-pct{text-align:right;color:#ffffff73;min-width:30px;font-family:Orbitron,monospace;font-size:.48rem}.hud-bar{background:#ffffff12;border:1px solid #ffffff1a;border-radius:4px;width:88px;height:7px;position:relative;overflow:hidden}.hud-bar-fill{border-radius:4px;height:100%;transition:width .1s}.nos-fill{background:linear-gradient(90deg,#00d4ff,#8ef);box-shadow:0 0 6px #00d4ff}.bar-blink{background:#f246;border-radius:4px;animation:.4s ease-in-out infinite alternate barBlink;position:absolute;inset:0}@keyframes barBlink{0%{opacity:0}to{opacity:1}}.drift-indicator{letter-spacing:3px;color:var(--orange);text-transform:uppercase;align-items:center;gap:6px;font-family:Orbitron,monospace;font-size:.48rem;animation:.35s ease-in-out infinite alternate blink;display:flex}.drift-dot{background:var(--orange);width:7px;height:7px;box-shadow:0 0 8px var(--orange);border-radius:50%}.boost-active-hud{letter-spacing:4px;color:#0fc;text-transform:uppercase;background:#00ffc814;border:1px solid #00ffc859;border-radius:20px;align-items:center;gap:8px;padding:6px 18px;font-family:Orbitron,monospace;font-size:.58rem;animation:.5s ease-in-out infinite alternate boostPulse;display:flex;position:absolute;bottom:clamp(14px,3.5vw,28px);left:50%;transform:translate(-50%)}.boost-ring{background:#0fc;border-radius:50%;width:9px;height:9px;box-shadow:0 0 12px #0fc}@keyframes boostPulse{0%{box-shadow:0 0 8px #00ffc833}to{box-shadow:0 0 24px #00ffc880}}.countdown-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#0000007a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.countdown-num{color:var(--red);text-shadow:var(--glow-red);font-family:Orbitron,monospace;font-size:clamp(5rem,17vw,11rem);font-weight:900;animation:.35s cubic-bezier(.2,1.8,.4,1) cdPop}.countdown-num.go{color:var(--green);text-shadow:0 0 30px var(--green),0 0 60px var(--green);animation:.5s cubic-bezier(.2,2,.4,1) goPop}@keyframes cdPop{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}@keyframes goPop{0%{opacity:0;transform:scale(3)}to{opacity:1;transform:scale(1)}}.countdown-sub{letter-spacing:8px;color:#ffffff61;text-transform:uppercase;margin-top:10px;font-family:Orbitron,monospace;font-size:clamp(.65rem,1.8vw,.85rem)}.lap-flash{text-align:center;z-index:200;pointer-events:none;animation:.4s cubic-bezier(.2,1.8,.4,1) lapIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes lapIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.lap-flash-text{color:var(--gold);text-shadow:var(--glow-gold);font-family:Orbitron,monospace;font-size:clamp(2rem,6.5vw,3.8rem);font-weight:900}.lap-flash-sub{letter-spacing:6px;color:#ffffff73;text-transform:uppercase;margin-top:7px;font-family:Orbitron,monospace;font-size:clamp(.58rem,1.8vw,.8rem)}.boost-flash-banner,.wrong-way-banner,.oil-banner,.respawn-banner,.coin-flash,.drift-score-pop{letter-spacing:5px;text-transform:uppercase;pointer-events:none;white-space:nowrap;font-family:Orbitron,monospace;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.boost-flash-banner{color:#0fc;text-shadow:0 0 20px #0fc;font-size:clamp(.95rem,2.8vw,1.4rem);animation:.35s cubic-bezier(.2,2,.4,1) bannerPop;top:22%}.wrong-way-banner{color:#f24;text-shadow:0 0 20px #f24;font-size:clamp(1.2rem,4vw,2rem);animation:.4s ease-in-out infinite alternate wrongWayBlink;top:28%}@keyframes wrongWayBlink{0%{opacity:.5;transform:translate(-50%)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.oil-banner{color:#a4f;text-shadow:0 0 16px #a4f;font-size:clamp(.9rem,2.5vw,1.2rem);animation:.3s cubic-bezier(.2,2,.4,1) bannerPop;top:40%}.respawn-banner{color:#0f8;text-shadow:0 0 18px #0f8;font-size:clamp(.9rem,2.5vw,1.2rem);animation:.4s cubic-bezier(.2,2,.4,1) bannerPop;top:35%}.coin-flash{color:gold;text-shadow:0 0 18px gold;font-size:clamp(1rem,3vw,1.5rem);animation:.7s ease-out forwards popUp;top:30%}.drift-score-pop{color:var(--orange);text-shadow:0 0 14px var(--orange);font-size:clamp(.9rem,2.5vw,1.3rem);animation:.65s ease-out forwards popUp;top:38%}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%)scale(.5)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes popUp{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-45px)}}.respawn-hint{letter-spacing:3px;color:#ffffff38;text-transform:uppercase;font-family:Orbitron,monospace;font-size:.52rem;position:absolute;top:clamp(12px,3vw,20px);right:clamp(12px,3vw,20px)}.gameover-root{background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100vw;height:100vh;animation:.5s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gameover-title{color:var(--gold);filter:drop-shadow(0 0 20px var(--gold));letter-spacing:4px;text-align:center;font-family:Orbitron,monospace;font-size:clamp(1.8rem,6vw,3.2rem);font-weight:900}.gameover-stats{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.stat-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;min-width:115px;padding:18px 26px}.stat-card.gold{background:#ffd7000d;border-color:#ffd70066}.stat-val{color:var(--blue);font-family:Orbitron,monospace;font-size:1.7rem;font-weight:900}.stat-val.gold{color:var(--gold)}.stat-lbl{letter-spacing:3px;color:#ffffff52;text-transform:uppercase;margin-top:4px;font-family:Orbitron,monospace;font-size:.62rem}.new-record{letter-spacing:4px;color:var(--gold);text-transform:uppercase;font-family:Orbitron,monospace;font-size:.68rem;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.gameover-btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-primary{letter-spacing:4px;color:#fff;cursor:pointer;text-transform:uppercase;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#f24,#c02);border:none;border-radius:8px;padding:13px 38px;font-family:Orbitron,monospace;font-size:.82rem;font-weight:700;transition:all .2s;box-shadow:0 0 18px #f246}.btn-primary:hover{transform:scale(1.05);box-shadow:0 0 38px #f249}.btn-secondary{letter-spacing:4px;color:#fff9;cursor:pointer;text-transform:uppercase;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #fff3;border-radius:8px;padding:13px 38px;font-family:Orbitron,monospace;font-size:.82rem;font-weight:700;transition:all .2s}.btn-secondary:hover{color:var(--blue);border-color:#00d4ff80;transform:scale(1.03)}.mobile-controls{z-index:200;pointer-events:none;display:none;position:fixed;inset:0}.mobile-controls.visible{display:block}.mobile-steer{pointer-events:all;gap:13px;display:flex;position:absolute;bottom:clamp(18px,5vh,38px);left:clamp(10px,3vw,28px)}.mobile-accel{pointer-events:all;flex-direction:row-reverse;gap:13px;display:flex;position:absolute;bottom:clamp(18px,5vh,38px);right:clamp(10px,3vw,28px)}.touch-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;color:#fffc;pointer-events:all;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none;background:#00000085;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:clamp(56px,14vw,74px);height:clamp(56px,14vw,74px);font-size:clamp(1.1rem,3.8vw,1.7rem);transition:all 80ms;display:flex}.touch-btn:active,.touch-btn.pressed{border-color:var(--red);background:#ff224459;transform:scale(.91)}.touch-btn.nitro-btn{width:clamp(60px,15vw,78px);height:clamp(60px,15vw,78px);color:var(--blue);background:#00d4ff26;border-color:#00d4ff66;position:absolute;bottom:clamp(90px,18vh,130px);right:clamp(10px,3vw,28px)}.touch-btn.nitro-btn:active{background:#00d4ff66}.touch-btn.respawn-btn{width:clamp(55px,13vw,70px);height:clamp(55px,13vw,70px);color:var(--green);background:#00ff881f;border-color:#00ff8859;font-size:1rem;position:absolute;bottom:clamp(90px,18vh,130px);left:clamp(10px,3vw,28px)}@media (width<=768px){.mobile-controls{display:block}.hud-info-bar{gap:9px;padding:5px 12px;top:5px}.hud-speed{transform-origin:100% 0;top:48px;bottom:auto;right:8px;transform:scale(.72)}.hud-gear{transform-origin:0 0;padding:8px 11px;top:48px;bottom:auto;left:8px;transform:scale(.8)}.respawn-hint{display:none}}
