:root{color-scheme:dark;font-family:Avenir Next,Segoe UI,sans-serif,sans-serif;--ink:#12101f;--cream:#fff8ea;--yellow:#ffdb4d;--pink:#ff4f7b}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--ink)}button{font:inherit}.game-shell,.scene{position:absolute;inset:0}.scene canvas{width:100%;height:100%;display:block}.hidden{display:none!important}.menu-screen{position:absolute;inset:0;z-index:10;overflow:auto;background:linear-gradient(90deg,#0d0c1cf7,#12101fe0 43%,#0c0b140f 72%);padding:28px clamp(24px,4vw,72px) 44px}.menu-screen:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(13,11,25,.78),transparent 34%),radial-gradient(circle at 80% 22%,transparent 0 25%,rgba(13,11,25,.25) 62%);z-index:-1}.menu-topbar{display:flex;justify-content:space-between;align-items:center;max-width:1380px}.brand{display:flex;gap:12px;align-items:center;color:#fff}.brand-mark{width:46px;height:46px;display:grid;place-items:center;transform:skew(-8deg);background:var(--yellow);color:var(--ink);font:900 22px Arial Narrow,Impact,sans-serif;box-shadow:7px 6px 0 var(--pink)}.brand div{display:grid;line-height:1}.brand strong{font:900 19px Arial Narrow,Impact,sans-serif;letter-spacing:.08em}.brand small{margin-top:5px;color:var(--yellow);font:700 9px Avenir Next,Segoe UI,sans-serif;letter-spacing:.22em}.icon-button,.hud-button{width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#0f0d1c8c;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-copy{position:relative;margin:clamp(46px,7vh,84px) 0 24px}.eyebrow{color:var(--yellow);letter-spacing:.28em;font:800 11px Avenir Next,Segoe UI,sans-serif;margin:0 0 12px;animation:eyebrow-glow 2.4s ease-in-out infinite alternate}@keyframes eyebrow-glow{0%{text-shadow:0 0 0 transparent}to{text-shadow:0 0 18px rgba(255,219,77,.55)}}.hero-copy h1,.hero-title{color:#fff;font:900 clamp(44px,6vw,76px)/.83 "Arial Narrow","Impact",sans-serif;text-transform:uppercase;letter-spacing:-.035em;margin:0;text-shadow:0 5px 22px rgba(0,0,0,.25);animation:title-in .7s cubic-bezier(.2,1.2,.4,1) both}.hero-copy h1 em,.hero-title em{color:var(--yellow);font-style:italic;display:inline-block;animation:title-em 2.8s ease-in-out infinite alternate}@keyframes title-in{0%{opacity:0;transform:translateY(18px) skew(-6deg)}to{opacity:1;transform:none}}@keyframes title-em{0%{filter:brightness(1)}to{filter:brightness(1.25);text-shadow:0 0 22px rgba(255,219,77,.55)}}.hero-copy>p:last-child,.hero-tag{color:#ffffffb3;font-size:13px;margin:17px 0 0;animation:title-in .85s .12s both}.title-sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible}.title-sparkles i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--yellow);box-shadow:0 0 10px var(--yellow);opacity:0;animation:sparkle 2.6s ease-in-out infinite}.title-sparkles i:nth-child(1){left:8%;top:18%;animation-delay:0s}.title-sparkles i:nth-child(2){left:42%;top:4%;animation-delay:.4s;background:var(--pink);box-shadow:0 0 10px var(--pink)}.title-sparkles i:nth-child(3){left:68%;top:28%;animation-delay:.9s}.title-sparkles i:nth-child(4){left:22%;top:72%;animation-delay:1.3s;background:#7dffb3;box-shadow:0 0 10px #7dffb3}.title-sparkles i:nth-child(5){left:55%;top:62%;animation-delay:1.8s;background:var(--pink);box-shadow:0 0 10px var(--pink)}@keyframes sparkle{0%,to{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.3)}70%{opacity:.4;transform:scale(.8)}}.setup-panel{width:min(760px,92vw)}.setup-section{margin-top:20px}.section-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.section-title span{display:grid;place-items:center;width:23px;height:18px;background:var(--pink);font:900 10px Arial Narrow,Impact,sans-serif;transform:skew(-8deg)}.section-title h2{font:800 13px Arial Narrow,Impact,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin:0;color:#fff}.car-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.car-card{position:relative;min-width:0;padding:11px 12px 12px;text-align:left;color:#fff;border:1px solid rgba(255,255,255,.13);background:#1b182dbf;border-radius:5px;cursor:pointer;transition:.18s ease;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.car-card:hover{transform:translateY(-2px);border-color:#ffffff59}.car-card.selected{border-color:var(--yellow);box-shadow:inset 0 -3px 0 var(--yellow),0 10px 28px #0000002e;background:#29233bed}.car-card.selected:after,.track-card.selected:after{content:"✓";position:absolute;right:8px;top:7px;background:var(--yellow);color:var(--ink);width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900}.kart-swatch{height:42px;position:relative;filter:drop-shadow(0 8px 6px rgba(0,0,0,.25))}.kart-swatch i{position:absolute;width:58px;height:24px;left:50%;top:11px;transform:translate(-50%) skew(-7deg);background:var(--car);border-radius:7px 12px 4px 4px;box-shadow:-22px 9px 0 -5px #151522,22px 9px 0 -5px #151522}.kart-swatch b{position:absolute;width:28px;height:13px;background:var(--accent);left:50%;top:3px;transform:translate(-50%);border-radius:50% 50% 4px 4px}.car-heading{display:flex;flex-direction:column;margin:4px 0 9px}.car-heading span{color:#ffffff80;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.car-heading strong{font:800 17px Arial Narrow,Impact,sans-serif;text-transform:uppercase}.stat-grid{display:grid;grid-template-columns:22px 1fr;gap:4px 6px;align-items:center}.stat-grid>span{color:#ffffff8c;font:800 8px Arial Narrow,Impact,sans-serif}.stat-grid>i{height:3px;background:#ffffff1c}.stat-grid>i>b{height:100%;display:block;background:var(--yellow)}.compact{width:100%}.track-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.track-card{position:relative;display:grid;grid-template-columns:88px 1fr;align-items:center;gap:11px;padding:7px;text-align:left;color:#fff;border:1px solid rgba(255,255,255,.13);background:#1b182dbf;border-radius:5px;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.track-card.selected{border-color:var(--yellow);background:#29233bed}.track-art{height:52px;border-radius:3px;overflow:hidden;background:linear-gradient(var(--sky) 0 52%,var(--ground) 53%);position:relative}.track-art:before{content:"";position:absolute;left:24px;top:20px;width:35px;height:50px;background:#333543;transform:perspective(30px) rotateX(40deg);border-left:3px solid var(--yellow);border-right:3px solid var(--pink)}.track-art i{position:absolute;width:11px;height:11px;border-radius:50%;background:#fff3ae;right:10px;top:8px;box-shadow:0 0 12px #fff3ae}.track-art span{position:absolute;left:5px;bottom:4px;font:800 6px Avenir Next,Segoe UI,sans-serif;letter-spacing:.12em;color:#fff}.track-card strong{display:block;font:800 16px Arial Narrow,Impact,sans-serif;text-transform:uppercase}.track-card small{display:block;color:#ffffff7a;font-size:8px;line-height:1.35;margin-top:3px;max-width:210px}.difficulty-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.difficulty{padding:8px 9px;text-align:left;color:#fff;border:1px solid rgba(255,255,255,.12);background:#1b182db8;border-radius:4px;cursor:pointer}.difficulty strong{display:block;font:800 12px Arial Narrow,Impact,sans-serif;text-transform:uppercase}.difficulty span{color:#ffffff6b;font-size:7px}.difficulty.selected{border-color:var(--yellow);background:var(--yellow);color:var(--ink)}.difficulty.selected span{color:#12101fa6}.start-button{width:100%;height:47px;margin-top:15px;border:0;border-radius:3px;background:var(--yellow);color:var(--ink);font:900 17px Arial Narrow,Impact,sans-serif;letter-spacing:.08em;cursor:pointer;box-shadow:6px 6px 0 var(--pink);transition:.16s}.start-button:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--pink)}.start-button kbd{float:right;margin-right:15px;background:#12101f1f;padding:1px 8px;border-radius:2px}.control-hint{text-align:center;color:#ffffff61;font-size:8px;letter-spacing:.05em;margin:12px}.control-hint span{color:#ffffffbf}.hud{position:absolute;inset:0;z-index:5;pointer-events:none;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5)}.hud-top{position:absolute;left:25px;right:25px;top:20px;display:flex;align-items:flex-start;justify-content:space-between}.position-box{display:flex;align-items:baseline;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.position-box strong{font:italic 900 58px/.8 Arial Narrow,Impact,sans-serif;color:var(--yellow)}.position-box span{font:800 15px Arial Narrow,Impact,sans-serif;margin-left:4px}.race-meta{position:absolute;left:50%;transform:translate(-50%);display:grid;text-align:center;gap:4px}.race-meta span{font:800 10px Avenir Next,Segoe UI,sans-serif;letter-spacing:.25em;color:#ffffffa6}.race-meta strong{font:900 21px Arial Narrow,Impact,sans-serif;letter-spacing:.08em}.time-box{display:grid;text-align:right}.time-box span{color:var(--yellow);font:800 9px Avenir Next,Segoe UI,sans-serif;letter-spacing:.2em}.time-box strong{font:800 25px Arial Narrow,Impact,sans-serif;font-variant-numeric:tabular-nums}.minimap{position:absolute;right:18px;top:70px;width:190px;height:145px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.speedometer{position:absolute;right:29px;bottom:25px;display:flex;align-items:flex-end;gap:8px}.boost-button{position:absolute;right:164px;bottom:31px;width:96px;height:57px;pointer-events:auto;border:1px solid rgba(255,255,255,.24);border-radius:5px;background:#0c0b1794;color:#ffffff8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;padding:7px 9px;cursor:pointer;transition:.16s}.boost-button>span{font:900 16px Arial Narrow,Impact,sans-serif;text-align:left}.boost-button>strong{font:800 7px Avenir Next,Segoe UI,sans-serif;letter-spacing:.08em;border:1px solid rgba(255,255,255,.24);padding:3px 4px;border-radius:2px}.boost-button>i{grid-column:1/-1;display:flex;gap:5px;font-style:normal}.boost-button>i>b{width:21px;height:5px;border-radius:4px;background:#ffffff29;transition:.15s}.boost-button>i>b.filled{background:var(--yellow);box-shadow:0 0 9px #ffdb4dcc}.boost-button.armed{color:#fff;border-color:#ffdb4db3}.boost-button.active{background:var(--yellow);color:var(--ink);transform:scale(1.06);box-shadow:0 0 24px #ffdb4da6}.boost-button.active>i>b.filled{background:var(--pink)}.boost-button.empty{animation:boost-shake .18s linear}.boost-button.fired{animation:boost-fire .42s ease-out}.boost-button.pickup-pop{animation:boost-pop .38s ease-out}@keyframes boost-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes boost-fire{0%{transform:scale(1);box-shadow:0 0 0 transparent}35%{transform:scale(1.14);box-shadow:0 0 36px #ffdb4de6}to{transform:scale(1.06);box-shadow:0 0 24px #ffdb4da6}}@keyframes boost-pop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.damage-meter{position:absolute;left:27px;bottom:28px;width:168px;display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center;padding:9px 11px;background:#0c0b178c;border:1px solid rgba(255,255,255,.2);border-radius:4px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.damage-meter>span{font:900 10px Arial Narrow,Impact,sans-serif;letter-spacing:.12em}.damage-meter>strong{font:800 9px Avenir Next,Segoe UI,sans-serif;color:#ffffffb3;font-variant-numeric:tabular-nums}.damage-meter>i{grid-column:1/-1;height:6px;background:#ffffff21;border-radius:8px;overflow:hidden;font-style:normal}.damage-meter>i>b{display:block;width:100%;height:100%;background:#72f1a8;box-shadow:0 0 8px #72f1a8a6;transition:width .2s,background .2s}.damage-meter>i>b.warning{background:var(--yellow);box-shadow:0 0 8px #ffdb4db3}.damage-meter>i>b.critical{background:var(--pink);box-shadow:0 0 10px #ff4f7bcc;animation:health-pulse .5s ease-in-out infinite alternate}@keyframes health-pulse{to{filter:brightness(1.65)}}.speed-ring{width:106px;height:106px;border:7px solid rgba(255,255,255,.25);border-right-color:var(--yellow);border-top-color:var(--yellow);border-radius:50%;display:grid;place-content:center;text-align:center;background:#0b0a155c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transform:rotate(-8deg)}.speed-ring>*{transform:rotate(8deg)}.speed-ring strong{font:900 42px/.8 Arial Narrow,Impact,sans-serif;font-variant-numeric:tabular-nums}.speed-ring span{font:800 8px Avenir Next,Segoe UI,sans-serif;letter-spacing:.16em;color:#ffffffa6}#gear{width:29px;height:34px;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font:900 20px Arial Narrow,Impact,sans-serif;transform:skew(-6deg)}.race-message{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.6) rotate(-4deg);font:italic 900 clamp(70px,13vw,150px)/1 "Arial Narrow","Impact",sans-serif;color:var(--yellow);text-shadow:7px 7px 0 var(--pink),0 10px 40px rgba(0,0,0,.35);opacity:0;transition:.18s;pointer-events:none}.race-message.show{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg);animation:msg-pop .45s cubic-bezier(.2,1.4,.4,1)}.race-message.msg-boost{color:#57e7ff;text-shadow:7px 7px 0 #ff4f7b,0 0 40px rgba(87,231,255,.55)}.race-message.msg-item{color:#7dffb3;text-shadow:7px 7px 0 #6b3d7a,0 0 36px rgba(125,255,179,.5)}.race-message.msg-repair{color:#72f1a8;text-shadow:7px 7px 0 #1a5c3a,0 0 36px rgba(114,241,168,.55)}@keyframes msg-pop{0%{transform:translate(-50%,-50%) scale(.4) rotate(-8deg);filter:blur(2px)}60%{transform:translate(-50%,-50%) scale(1.08) rotate(-3deg)}to{transform:translate(-50%,-50%) scale(1) rotate(-4deg);filter:none}}.hud-button{position:absolute;top:18px;pointer-events:auto}.pause-button{right:232px}.sound-button{right:281px}.touch-controls{display:none}.overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#0a0914a3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.overlay-card{width:min(430px,calc(100vw - 36px));padding:34px;background:#1c192f;border:1px solid rgba(255,255,255,.14);box-shadow:12px 12px #ff4f7bc7;text-align:center}.overlay-card h2{font:900 38px Arial Narrow,Impact,sans-serif;text-transform:uppercase;margin:0 0 22px}.secondary-button{border:0;background:transparent;color:#ffffff8c;font:800 10px Avenir Next,Segoe UI,sans-serif;letter-spacing:.13em;margin-top:18px;cursor:pointer}.results-card{width:min(520px,calc(100vw - 32px));padding:28px}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:-7px 0 16px;background:#ffffff0b;padding:12px}.result-summary div{display:grid;gap:2px;border-right:1px solid rgba(255,255,255,.1)}.result-summary div:last-child{border:0}.result-summary span{font:800 8px Avenir Next,Segoe UI,sans-serif;letter-spacing:.15em;color:#ffffff73}.result-summary strong{font:900 22px Arial Narrow,Impact,sans-serif;color:var(--yellow)}.standings{display:grid;gap:3px;text-align:left}.standing-row{display:grid;grid-template-columns:25px 1fr 1fr 40px;align-items:center;padding:6px 9px;background:#ffffff0a;font-size:11px}.standing-row.player{background:var(--yellow);color:var(--ink)}.standing-row b{font:900 16px Arial Narrow,Impact,sans-serif}.standing-row small{opacity:.5}.standing-row>strong{text-align:right}@media(max-height:780px)and (min-width:701px){.menu-screen{padding-top:18px}.hero-copy{margin:28px 0 15px}.hero-copy h1{font-size:46px}.hero-copy>p:last-child{margin-top:10px}.setup-section{margin-top:12px}.kart-swatch{height:30px;transform:scale(.82)}.car-heading{margin:0 0 5px}}@media(max-width:700px){.menu-screen{padding:18px 16px 34px;background:linear-gradient(#0d0c1cdb,#0d0c1cf7)}.menu-topbar{position:sticky;top:0;z-index:4}.hero-copy{margin:50px 0 22px}.hero-copy h1{font-size:49px}.setup-panel{width:100%}.car-picker{grid-template-columns:1fr 1fr}.car-card{display:grid;grid-template-columns:1fr}.car-heading{margin:0}.track-picker,.difficulty-picker{grid-template-columns:1fr}.touch-controls{display:block;position:absolute;inset:0}.touch-controls button{pointer-events:auto;position:absolute;bottom:max(28px,env(safe-area-inset-bottom));width:67px;height:67px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#0f0d1c6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;font-size:25px;touch-action:none}.touch-steer button:first-child{left:18px}.touch-steer button:last-child{left:94px}.touch-pedals button:first-child{right:94px}.touch-pedals button:last-child{right:18px}.touch-controls button.go{background:#ffdb4dab;color:var(--ink);border-color:var(--yellow)}.speedometer{right:15px;bottom:115px;transform:scale(.75);transform-origin:right bottom}.boost-button{left:50%;right:auto;bottom:116px;transform:translate(-50%);width:76px;height:55px;padding:6px}.boost-button.active{transform:translate(-50%) scale(1.06)}.boost-button.fired{animation:boost-fire-touch .42s ease-out}.boost-button.pickup-pop{animation:boost-pop-touch .38s ease-out}@keyframes boost-fire-touch{0%{transform:translate(-50%) scale(1)}35%{transform:translate(-50%) scale(1.14)}to{transform:translate(-50%) scale(1.06)}}@keyframes boost-pop-touch{0%{transform:translate(-50%) scale(1)}45%{transform:translate(-50%) scale(1.12)}to{transform:translate(-50%) scale(1)}}.boost-button>strong{display:none}.boost-button>i>b{width:18px}.damage-meter{left:14px;top:77px;bottom:auto;width:126px;padding:7px 8px}.minimap{width:130px;height:100px;right:8px;top:68px}.hud-top{left:14px;right:14px}.position-box strong{font-size:45px}.race-meta{top:3px}.race-meta span{display:none}.race-meta strong{font-size:16px}.time-box strong{font-size:18px}.hud-button{top:auto;bottom:195px;width:36px;height:36px}.pause-button{right:15px}.sound-button{right:58px}}@media(hover:none)and (pointer:coarse){.touch-controls{display:block}}:root{--ink:#112c2d;--cream:#fff5dc;--yellow:#f6bf62;--pink:#ee7041;font-family:Avenir Next,Segoe UI,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #fff5dc;outline-offset:4px}button{touch-action:manipulation}.loading{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:var(--cream);background:radial-gradient(ellipse at 60% 20%,#31595a,#102b2c 65%);text-align:center;padding:30px}.loading p{letter-spacing:.24em;font-size:12px}.loading small{opacity:.6}.loading progress{width:230px;height:4px;accent-color:var(--yellow)}.loading button{padding:18px 30px;background:var(--yellow);border:0;cursor:pointer}.loading a{color:var(--cream)}.menu-screen{padding:0;display:flex;flex-direction:column;overflow:auto;background:linear-gradient(90deg,#102b2cf5 0%,#102b2ce8 25%,#102b2c75 43%,transparent 69%),linear-gradient(0deg,#112c2d 0%,transparent 45%);color:var(--cream)}.menu-screen:after{display:none}.menu-topbar{max-width:none;padding:24px 3.5vw;min-height:88px;border-bottom:1px solid #ffffff19;flex-shrink:0}.arcade-link{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--cream);font-size:30px}.arcade-link span{font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.35}.edition{display:flex;align-items:center;gap:12px;letter-spacing:.16em;font-size:9px;font-weight:600}.edition i,.live-label i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b7e29e;box-shadow:0 0 9px #b7e29e66}.edition span{opacity:.4}.menu-tools{display:flex;align-items:center;gap:20px}.text-button{background:transparent;border:0;padding:8px 0;color:inherit;font-size:9px;letter-spacing:.1em;cursor:pointer}.icon-button{width:34px;height:34px;font-size:17px}.menu-body{display:flex;flex:1;min-height:455px;position:relative;padding:35px 3.5vw 26px}.garage-panel{width:350px;flex-shrink:0}.eyebrow{color:#e8bd78;font-size:9px;font-weight:600;letter-spacing:.21em;animation:none;margin:0 0 15px}.wordmark{font-family:Arial Black,Impact,sans-serif;font-style:italic;font-weight:900;font-size:clamp(40px,4.3vw,65px);letter-spacing:-.08em;line-height:.93;margin:0;position:relative;width:fit-content;padding-right:45px;color:var(--cream)}.wordmark>span{display:block;color:var(--cream)}.wordmark>b{position:absolute;right:0;bottom:-5px;font-size:1.6em;color:#f19258;font-family:Impact,Arial Black,sans-serif;text-shadow:3px 3px 0 #123638}.hero-tag{margin:14px 0 28px;font-size:13px;color:#fff5dc91;animation:none}.section-title{margin:0 0 12px;gap:9px}.section-title>span{font:500 9px Avenir Next,sans-serif;color:#e6b574;border:1px solid #e6b57466;border-radius:50%;width:19px;height:19px;transform:none;background:transparent}.section-title h2{font:600 12px Avenir Next,Segoe UI,sans-serif;letter-spacing:.02em;text-transform:none;color:var(--cream)}.section-title small{margin-left:auto;font-size:7px;letter-spacing:.1em;opacity:.45}.car-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.car-card{border-radius:7px;padding:12px 7px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;background:#143738a8;border:1px solid #ffffff22;position:relative;color:var(--cream)}.car-card:hover{background:#295354;transform:translateY(-3px)}.car-card.selected{border-color:#f0c085;background:#44605a88;box-shadow:inset 0 -2px #efb276}.car-card.selected:after{content:"";width:4px;height:4px;right:7px;top:8px;background:var(--yellow)}.driver-number{position:absolute;top:7px;left:7px;font-size:7px;opacity:.45}.driver-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-style:italic;font-size:21px;font-weight:900;color:var(--cream);background:linear-gradient(140deg,var(--car),#143738);box-shadow:inset 0 0 0 1px #ffffff25;margin:4px 0}.car-card>strong{font-size:12px;font-weight:650}.car-card>small{font-size:6px;letter-spacing:.08em;opacity:.65}.driver-detail{display:flex;align-items:center;gap:20px;margin-top:13px;padding:13px 0;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a}.driver-detail>div:first-child{width:50%}.driver-detail span{color:#e2e5ce80;font-size:8px}.driver-detail strong{display:block;font-size:13px;margin-top:4px;font-weight:500}.driver-detail .stat-grid{flex:1;grid-template-columns:39px 1fr;gap:5px}.stat-grid>span{font:500 6px Avenir Next,sans-serif;letter-spacing:.08em}.stat-grid>i{height:3px;border-radius:3px;overflow:hidden}.stat-grid>i>b{background:#e6ba7b}.race-class-title{margin-top:18px;margin-bottom:9px}.difficulty-picker{gap:5px}.difficulty{padding:9px 3px;border-radius:4px;text-align:center;font-size:9px;background:transparent;color:#fff5dc90}.difficulty.selected{background:#efe6cf;color:#173536;border-color:#efe6cf}.showcase-caption{position:absolute;right:5vw;top:32px;text-align:right;pointer-events:none}.live-label{display:flex;justify-content:flex-end;align-items:center;gap:8px;letter-spacing:.19em;font-size:8px;color:#173436;margin-bottom:14px}#showcase-name{font-size:22px;color:#143536;letter-spacing:-.035em;font-weight:750;text-shadow:0 1px 9px #ffffff44}#showcase-tagline{font-size:11px;color:#254446;margin:6px 0}.showcase-note{display:none}.menu-screen.night .showcase-caption *{color:var(--cream)}.race-planner{padding:20px 3.5vw 0;background:linear-gradient(0deg,#102b2d 70%,#102b2de8);border-top:1px solid #ffffff25;flex-shrink:0}.circuit-header{display:flex;align-items:center;justify-content:space-between}.circuit-header>span{font-size:8px;letter-spacing:.15em;opacity:.55;margin-bottom:10px}.circuit-header b{padding:0 9px}.launch-row{display:flex;gap:18px;align-items:stretch}.track-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;flex:1}.track-card{display:flex;gap:10px;padding:13px 10px;border-radius:6px;background:#ffffff05;border:1px solid #ffffff22}.track-card:hover{background:#ffffff0d;border-color:#fff6}.track-card.selected{background:#39514e99;border-color:#e2b87b}.track-card.selected:after{display:none}.circuit-map{width:68px;height:51px;flex-shrink:0;overflow:visible}.circuit-map path{fill:none;stroke:#6c9190;stroke-width:3;stroke-linejoin:round}.selected .circuit-map path{stroke:#e7bc83;filter:drop-shadow(0 0 3px #e7bc8333)}.track-card span{font-size:6px;color:#ddbc89;letter-spacing:.08em}.track-card strong{font:600 12px Avenir Next,Segoe UI,sans-serif;text-transform:none;margin-top:4px}.track-card small{font-size:8px;margin-top:5px;color:#fff5dc80;max-width:145px}.launch-action{width:208px;display:flex;flex-direction:column;gap:10px;justify-content:center}.start-button{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:58px;margin:0;border-radius:5px;background:#ef925b;color:#173436;font:800 16px Avenir Next,Segoe UI,sans-serif;letter-spacing:.02em;box-shadow:0 4px #ae5c3c;transition:transform .18s,background .18s}.start-button:hover{transform:translateY(-2px);background:#ffae72;box-shadow:0 6px #ae5c3c}.launch-action>span{text-align:center;color:#f7efd16a;font-size:6px;letter-spacing:.08em}.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;color:#fff5dc5c;font-size:7px;letter-spacing:.07em}.menu-bottom>span:first-child{display:flex;gap:8px;align-items:center}kbd{font:inherit;border:1px solid #ffffff33;border-radius:3px;padding:3px 5px}.menu-bottom .text-button{font-size:8px;color:#f1d9b2}.overlay-card{background:#133637;border-radius:12px;border:1px solid #eacb9244;box-shadow:0 20px 100px #0008;max-height:90dvh;overflow:auto}.overlay-card h2{font:800 34px Avenir Next,sans-serif;text-transform:none;letter-spacing:-.04em}.overlay-card .start-button{justify-content:center;width:100%}.help-copy{text-align:left;font-size:12px;line-height:1.6;color:#e6ecdf;margin-bottom:22px}.help-copy b{color:#e8bc7e}.item-button{position:absolute;bottom:32px;right:277px;padding:13px 15px;height:57px;display:flex;gap:20px;align-items:center;background:#143637db;color:#f5e4c5;border:1px solid #f5e4c533;border-radius:6px;pointer-events:auto;cursor:pointer;font-size:11px}.item-button.armed{border-color:#7cf5c1;color:#7cf5c1;box-shadow:0 0 15px #74ffcb22}.drift-meter{position:absolute;left:50%;bottom:32px;transform:translate(-50%);width:210px;font-size:8px;letter-spacing:.1em;text-align:center}.drift-meter i{display:block;width:100%;height:4px;background:#ffffff30;margin-top:9px;border-radius:4px;overflow:hidden}.drift-meter b{display:block;height:100%;background:#8ffff0;box-shadow:0 0 10px #8ffff0}.recover-button{position:absolute;pointer-events:auto;left:27px;top:95px;background:#102b2d99;border:1px solid #fff4;color:var(--cream);border-radius:5px;padding:9px;cursor:pointer;font-size:8px}.touch-drift{display:none}.race-message{font-family:Impact,Arial Black,sans-serif;font-size:clamp(32px,7vw,86px);text-align:center;width:90%;text-shadow:3px 3px 0 #133637}.position-box strong{color:#ffe2a1}.speed-ring{border-right-color:#ffd29a;border-top-color:#ffd29a}@media(min-width:1500px){.garage-panel{width:400px}.menu-body{padding-top:50px}.hero-tag{margin-bottom:38px}.car-card{padding-top:17px;padding-bottom:14px}.driver-detail{padding:20px 0}}@media(max-height:760px)and (min-width:851px){.menu-topbar{min-height:62px;padding-top:14px;padding-bottom:14px}.menu-body{padding-top:23px;min-height:400px}.wordmark{font-size:43px}.hero-tag{margin:10px 0 18px}.race-planner{padding-top:14px}.menu-bottom{padding:13px 0}}@media(max-width:1100px)and (min-width:851px){.garage-panel{width:320px}.track-card{gap:4px}.circuit-map{width:42px}.track-card small{display:none}.launch-action{width:165px}.launch-row{gap:10px}.drift-meter{bottom:110px}}@media(max-width:850px){.menu-screen{background:linear-gradient(90deg,#112c2dee,#112c2d66),linear-gradient(0deg,#112c2d 45%,transparent)}.menu-topbar{padding:15px 20px;min-height:65px;position:static}.edition{display:none}.menu-tools{gap:15px}.menu-body{padding:22px 20px 20px;min-height:0}.garage-panel{width:min(100%,420px);margin:0 auto}.wordmark{font-size:45px}.hero-tag{margin-bottom:22px}.showcase-caption{display:none}.car-picker{grid-template-columns:repeat(4,1fr)}.car-card{display:flex}.difficulty-picker{grid-template-columns:repeat(3,1fr)}.race-planner{padding:20px}.circuit-header>span{display:none}.launch-row{flex-direction:column}.track-picker{grid-template-columns:repeat(3,1fr)}.track-card{flex-direction:column;align-items:flex-start;gap:4px;padding:10px}.track-card strong{font-size:11px}.track-card small{display:none}.circuit-map{height:35px;width:60px}.launch-action{width:100%}.launch-action>span{font-size:7px}.menu-bottom{padding-bottom:0;flex-wrap:wrap;gap:8px}.menu-bottom>span:last-child{display:none}.menu-bottom>span:first-child{flex-wrap:wrap;font-size:6px}}@media(hover:none)and (pointer:coarse),(max-width:700px){.touch-controls{display:block;position:absolute;inset:0;pointer-events:none}.touch-controls button{pointer-events:auto;position:absolute;bottom:max(22px,env(safe-area-inset-bottom));width:62px;height:62px;border-radius:50%;border:1px solid #fff6;color:#fff;background:#143637b0;font-size:24px;touch-action:none}.touch-steer button:first-child{left:16px}.touch-steer button:last-child{left:87px}.touch-pedals button:first-child{right:87px}.touch-pedals button:last-child{right:16px}.touch-controls button.go{background:#ef925bd9;color:#123638}.touch-drift{display:block;pointer-events:auto;position:absolute;left:27px;bottom:98px;width:105px;height:42px;border:1px solid #ffffff77;border-radius:24px;background:#143637aa;color:#fff3da;font-size:10px;touch-action:none}.boost-button{left:50%;right:auto;bottom:24px;transform:translate(-50%);width:70px;height:56px}.item-button{left:50%;right:auto;bottom:95px;transform:translate(-50%);height:40px;padding:8px 12px;font-size:9px}.item-button kbd{display:none}.drift-meter{bottom:151px;width:170px;font-size:6px}.speedometer{bottom:97px;right:16px;transform:scale(.66);transform-origin:bottom right}.recover-button{top:145px;left:15px;font-size:7px}.recover-button kbd{display:none}.damage-meter{top:80px;left:15px;bottom:auto;width:125px}.minimap{top:72px;right:8px;width:120px;height:95px}.hud-button{top:auto;bottom:185px;width:33px;height:33px}.pause-button{right:16px}.sound-button{right:57px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:360px){.touch-controls button{width:50px;height:50px}.touch-steer button:first-child{left:12px}.touch-steer button:last-child{left:68px}.touch-pedals button:first-child{right:68px}.touch-pedals button:last-child{right:12px}}@media(max-width:850px){.menu-body{flex:0 0 auto;min-height:auto}}.overlay:not(.hidden) .overlay-card{animation:pit-in .32s ease-out both}.standing-row{animation:pit-in .4s ease-out both}.standing-row:nth-child(2){animation-delay:.06s}.standing-row:nth-child(3){animation-delay:.12s}.standing-row:nth-child(4){animation-delay:.18s}@keyframes pit-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.menu-screen.night #showcase-name,.menu-screen.night #showcase-tagline{color:var(--cream);text-shadow:none}.menu-screen{padding:28px 5vw 30px;background:linear-gradient(90deg,#09111cf7,#09111cc7 48%,#09111c1a);color:#fff;display:flex;flex-direction:column;min-height:100%}.menu-screen[data-current-step="2"],.menu-screen[data-current-step="3"]{background:#09111ce0}.wizard-top,.wizard-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0}.wizard-top>div{display:flex;align-items:center;gap:22px}.wizard-brand{color:#fff;text-decoration:none;font-size:22px;font-weight:800}#step-count{font-size:18px;letter-spacing:.1em;font-weight:700;color:#cbd8df}.menu-screen .text-button{font-size:18px;letter-spacing:.03em;color:#e6eef2;padding:12px 0}.menu-screen .icon-button{width:54px;height:54px;font-size:28px}.wizard-body{flex:1;display:flex;align-items:center;padding:40px 0;min-height:0}.wizard-step{width:min(1140px,100%);animation:step-in .32s ease both}@keyframes step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.wizard-step h2{font-size:clamp(38px,4.2vw,64px);line-height:1.1;letter-spacing:-.035em;margin:10px 0 18px;font-weight:850}.wizard-step .eyebrow{font-size:18px;letter-spacing:.15em;animation:none}.wizard-intro{font-size:24px;line-height:1.5;color:#d0dce3;margin:0 0 34px;max-width:650px}.wizard-step .wordmark{font-size:clamp(70px,9vw,136px);line-height:.88;margin:28px 0 36px}.wizard-step .wordmark span{display:block}.wizard-step .wordmark b{font-size:1.45em}.wizard-step .start-button{display:flex;align-items:center;justify-content:space-between;width:min(430px,100%);height:88px;font-size:34px;letter-spacing:0;border-radius:12px;padding:0 28px;text-transform:none;box-shadow:0 5px #b69624}.wizard-step .start-button:hover{transform:translateY(-3px);box-shadow:0 8px #b69624}.wizard-step .car-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px;gap:16px}.wizard-step .car-card{min-height:138px;padding:22px 24px 22px 84px;border-radius:14px;border:2px solid #526072;background:#121f2deb;box-shadow:none}.wizard-step .car-card:hover,.wizard-step .car-card:focus-visible{border-color:var(--car);background:#263e51}.wizard-step .car-card.selected{border-color:var(--car);background:#1d2f3df0}.wizard-step .car-card:after{display:none}.wizard-step .driver-avatar{position:absolute;left:20px;top:35px;width:46px;height:56px;font-size:34px;color:var(--car);display:grid;place-items:center;background:none}.wizard-step .driver-number{display:none}.wizard-step .car-card strong{display:block;font:800 32px/1.25 inherit;font-family:inherit;font-size:32px;line-height:1.25;letter-spacing:0}.wizard-step .car-card small{display:block;font-size:18px;margin-top:9px;color:#c6d3dc;letter-spacing:.04em}.wizard-step .driver-detail{font-size:22px;line-height:1.4;padding:20px 0;max-width:650px;border:0;min-height:0;color:#dae4eb;background:none}.wizard-caption{position:absolute;right:5vw;bottom:110px;max-width:32%;text-align:right;text-shadow:0 2px 10px #000}.wizard-caption strong{font-size:32px}.wizard-caption p{font-size:20px;color:#e9f0f4}.menu-screen[data-current-step="2"] .wizard-caption,.menu-screen[data-current-step="3"] .wizard-caption{display:none}.wizard-step .track-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}.wizard-step .track-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:26px;border:2px solid #526072;border-radius:16px;background:#152638;color:#fff;text-align:left;min-height:330px}.wizard-step .track-card:hover,.wizard-step .track-card:focus-visible{border-color:var(--yellow);background:#21384b;transform:translateY(-4px)}.wizard-step .track-card.selected{border-color:#7b96ad;box-shadow:none}.wizard-step .track-card:after{display:none}.wizard-step .circuit-map{width:100%;height:105px;flex:none}.wizard-step .circuit-map path{stroke:#a0e2bd;stroke-width:2;fill:none;stroke-linejoin:round}.wizard-step .track-card span{font-size:16px;letter-spacing:.06em;color:#9dd9b9}.wizard-step .track-card strong{display:block;font-size:29px;line-height:1.15;margin:12px 0;font-weight:850;letter-spacing:-.025em}.wizard-step .track-card small{display:block;font-size:18px;line-height:1.45;white-space:normal;color:#c5d2db}.wizard-step .difficulty-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;max-width:100%}.wizard-step .difficulty{padding:34px 28px;border:2px solid #526072;border-radius:16px;text-align:left;background:#152638;color:#fff;min-height:230px}.wizard-step .difficulty:hover,.wizard-step .difficulty:focus-visible{border-color:var(--yellow);background:#263e51}.wizard-step .difficulty strong{font-size:38px;display:block;letter-spacing:0;text-transform:none}.wizard-step .difficulty span{display:block;font-size:21px;line-height:1.5;margin-top:18px;letter-spacing:0;text-transform:none;color:#cbd8e0}.wizard-bottom .secondary-button{width:auto;padding:14px 24px;font-size:22px;margin:0;border-radius:10px}.wizard-bottom>span{margin-left:auto;color:#c2cfd9;font-size:18px}#race-summary{max-width:640px;margin:26px 0 32px}#race-summary p{padding:18px 0;margin:0;border-bottom:1px solid #415264}#race-summary span{display:block;font-size:18px;color:#aac0d0;margin-bottom:7px}#race-summary strong{font-size:27px;line-height:1.3}#best-time{font-size:18px;color:#c3d3de;margin-top:26px}.audio-settings{margin:24px 0}.audio-settings label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0;font-size:20px}.audio-settings input{width:45%;accent-color:var(--yellow)}.overlay .eyebrow{font-size:18px}.overlay .start-button,.overlay .secondary-button{font-size:24px;min-height:58px}.help-copy p{font-size:19px;line-height:1.5}.overlay-card{max-height:90vh;overflow:auto}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}@media(max-width:850px){.menu-screen{padding:20px 5vw;background:#09111cd4}.wizard-top #step-count{display:none}.wizard-top .text-button{font-size:16px}.wizard-body{padding:30px 0}.wizard-caption{display:none}.wizard-step .track-picker{grid-template-columns:1fr;gap:12px}.wizard-step .track-card{display:grid;grid-template-columns:90px 1fr;min-height:150px;padding:18px;gap:20px}.wizard-step .circuit-map{width:90px;height:90px}.wizard-step .track-card strong{font-size:25px}.wizard-step .difficulty-picker{grid-template-columns:1fr;gap:12px}.wizard-step .difficulty{min-height:110px;padding:20px 24px}.wizard-step .difficulty strong{font-size:30px}.wizard-step .difficulty span{margin-top:6px;font-size:19px}.wizard-bottom>span{display:none}.wizard-step h2{font-size:40px}.wizard-intro{font-size:21px;margin-bottom:24px}.wizard-step .wordmark{font-size:84px}.wizard-step .car-card{padding:22px 15px;min-height:140px}.wizard-step .driver-avatar{display:none}.wizard-step .car-card small{font-size:16px}.wizard-step .car-card strong{font-size:28px}}@media(prefers-reduced-motion:reduce){.wizard-step{animation:none}.wizard-step button{transition:none}}.wizard-step .track-card small{max-width:none}.wizard-caption #showcase-name{font-size:30px;color:#fff8ea;text-shadow:0 2px 8px #000}.wizard-caption #showcase-tagline{font-size:20px;color:#e2edf2;line-height:1.4}.wizard-bottom .secondary-button{color:#e2edf2;letter-spacing:0}.wizard-step .car-card[data-car=asa] .driver-avatar{color:#74f2bf}@media(max-width:850px){.wizard-body{flex:0 0 auto;min-height:auto;align-items:flex-start;padding:36px 0}.wizard-bottom{padding:16px 0 24px}.wizard-top{position:static}.wizard-step .wordmark{font-size:clamp(56px,18vw,84px)}.wizard-step .track-card{grid-template-columns:70px minmax(0,1fr);gap:16px}.wizard-step .circuit-map{width:70px}}
