@layer reset,base,layout,components,responsive;@layer reset{*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Avenir Next,Avenir,Trebuchet MS,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button,input,select{touch-action:manipulation}[hidden]{display:none!important}:focus-visible{outline:3px solid #ef704e;outline-offset:4px}}@layer base{:root{--ink: #17353d;--paper: #fff7e6;--cream: #f4ebd8;--coral: #ed7051;--blue: #2eaab8;--muted: #687d7e;--line: #ddd7c8;color:var(--ink);background:var(--cream)}body{overscroll-behavior:none}button{border:0;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-weight:900;font-size:clamp(28px,3vw,43px);line-height:1.06;letter-spacing:-1.5px;margin-bottom:22px}h2{font-size:22px;line-height:1.1;letter-spacing:-.7px}strong{font-weight:850}small{line-height:1.5}input:not([type=checkbox]),select{border:1px solid #c8c9be;border-radius:12px;padding:13px 15px;background:#fffdf7;color:var(--ink);min-height:48px;max-width:100%}input[type=checkbox]{width:22px;height:22px;accent-color:var(--coral);flex-shrink:0}label{display:grid;gap:9px;font-weight:750}.error{color:#a83236!important}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:900;margin-bottom:13px;color:#63767a}.lede{color:var(--muted);font-size:16px}.fine{font-size:12px;color:var(--muted);line-height:1.5}.text-button{min-height:44px;background:transparent;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:4px;padding:8px}.primary,.secondary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:16px 22px;border-radius:15px;font-size:16px;font-weight:900;line-height:1.2;text-align:left;transition:transform .15s,filter .15s}.primary{background:var(--coral);color:#fffdf5;box-shadow:0 4px #c75337}.primary:hover{filter:brightness(1.045)}.primary:active{transform:translateY(2px);box-shadow:0 2px #c75337}.secondary{background:#fffaf0;border:1px solid #d9d0bd;margin-top:12px}.secondary:hover{background:#fff}.primary:disabled,.part-action:disabled{filter:grayscale(.55);opacity:.45}.wordmark{font-weight:1000;font-size:32px;letter-spacing:-2px;text-decoration:none;line-height:1;font-style:italic}.brand-dot{color:var(--coral)}.xp-inline{margin-left:12px;color:#c66240}.modal{border:0;border-radius:20px;background:var(--paper);padding:28px;max-width:500px;line-height:1.65}.modal::backdrop{background:#16313cc4}}@layer layout{.auth-page{position:relative;min-height:100svh;overflow:hidden;background:var(--cream)}.auth-art{position:absolute;inset:0;background:linear-gradient(90deg,transparent 38%,#f4ebd8dd 66%,var(--cream) 100%),url(/auth-assets/garage.png) center/cover}.brandbar{position:relative;z-index:1;padding:35px 5vw;display:flex;justify-content:space-between;align-items:center}.brandbar select{background:#fff9e8d9;min-width:130px}.auth-panel{position:relative;max-width:450px;width:calc(100% - 40px);margin:6vh 8vw 70px auto;padding:28px;background:#fff9eceb;border:1px solid #ffffffe0;border-radius:24px;box-shadow:0 24px 80px #29474622}.auth-panel h1{font-size:39px;max-width:330px}.auth-panel h2{font-size:26px;line-height:1.15}.auth-panel p{line-height:1.6}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px}.auth-tabs button{background:transparent;width:50%;padding:13px 3px;font-weight:800;color:var(--muted);min-height:48px}.auth-tabs button.active{color:var(--ink);border-bottom:3px solid var(--coral)}#auth-form{display:grid;gap:15px}#auth-form .error:empty{display:none}#auth-form .error{font-size:13px;margin:0}.access-note{font-size:13px;color:var(--muted);margin:22px 0 0}.auth-foot{font-size:10px;text-transform:uppercase;letter-spacing:.7px;text-align:center;margin:24px 0 0;color:var(--muted)}.auth-bottom{position:absolute;bottom:10px;left:5vw}.pending-art{font-size:80px;line-height:1;color:var(--coral)}.user-greeting{font-weight:800}.auth-bottom button{background:#fff9e8d0;border-radius:10px}.game-header{height:80px;display:flex;align-items:center;gap:28px;padding:20px 35px;position:relative;z-index:3;border-bottom:1px solid #e8dfcb;background:#fff7e9}.game-header .wordmark{margin-right:auto}.wallet{display:flex;gap:7px;align-items:baseline;font-size:12px}.wallet strong{font-size:27px}.account-label{display:flex;align-items:center;gap:10px;font-size:12px}.game-layout{position:absolute;inset:80px 0 76px;overflow:hidden}.game-layout #scene-wrap{position:absolute;inset:0 45% 0 0;transition:opacity .15s}.game-layout canvas{width:100%;height:100%;display:block;touch-action:none}.scene-caption{position:absolute;left:32px;bottom:28px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.scene-caption span{font-size:10px;letter-spacing:2px;font-weight:900}.scene-caption strong{font-size:27px;letter-spacing:-1px}.content-pane{position:absolute;right:0;top:0;bottom:0;width:45%;max-width:700px;padding:32px 35px;overflow:auto;background:var(--paper);scrollbar-width:thin}.content-pane.wide{width:min(100%,850px);left:50%;transform:translate(-50%);max-width:850px}.hidden-scene{visibility:hidden}.game-nav{position:absolute;bottom:0;height:76px;left:0;right:0;display:flex;align-items:stretch;justify-content:center;gap:5vw;background:#fff9ec;border-top:1px solid #ded8c8;padding-bottom:env(safe-area-inset-bottom);z-index:5}.game-nav button{font-size:12px;min-width:75px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:transparent;font-weight:800}.game-nav button span{font-size:24px;line-height:1}.game-nav button.active{color:var(--coral);border-top:3px solid var(--coral)}.test-label{position:absolute;left:28px;top:88px;font-size:8px;font-weight:900;letter-spacing:1px;color:#597373;pointer-events:none;z-index:2}.toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%);max-width:min(90vw,550px);padding:12px 22px;background:#fffdf4;box-shadow:0 7px 40px #172e4c25;border:1px solid #dfd9c9;border-radius:12px;font-size:13px;z-index:20}.toast:empty{display:none}}@layer components{.world-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.world-card{min-height:148px;display:flex;flex-direction:column;text-align:left;gap:7px;padding:15px 11px;background:#eee8d9;border-radius:16px;border:2px solid transparent}.world-card .world-number{font-size:28px;font-weight:1000;color:var(--world);letter-spacing:-2px}.world-card strong{font-size:13px}.world-card small{font-size:10px;color:#587079;font-weight:500}.world-card.active{border-color:var(--world);background:#fff;box-shadow:0 4px color-mix(in srgb,var(--world) 30%,transparent)}.selected-build{margin-top:24px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;align-items:center}.selected-build div{display:grid;gap:3px}.selected-build small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.selected-build strong{font-size:19px}.check-row{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.4;font-weight:500;margin:17px 0}.launch{font-size:24px;min-height:66px;letter-spacing:-.7px}.mini-gift{margin-top:25px;display:flex;align-items:center;gap:15px;padding:16px;background:#e8eeea;border-radius:16px}.mini-gift>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.mini-gift strong{font-size:14px}.mini-gift small{font-size:10px;color:var(--muted)}.mini-gift button{margin-left:auto}.title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.title-row h1{font-size:31px}.drive-type{background:#e0ece6;border-radius:7px;padding:8px;font-size:10px;font-weight:900;letter-spacing:1px}.vehicle-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 0 20px}.vehicle-stats>div{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.vehicle-stats>div:last-child{border:0}.vehicle-stats strong{font-size:19px;letter-spacing:-.8px;display:flex;align-items:baseline;gap:3px}.vehicle-stats strong small{font-size:8px;letter-spacing:0}.vehicle-stats span{font-size:10px;color:var(--muted)}.car-carousel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.car-choice{display:flex;align-items:flex-start;flex-direction:column;padding:9px 12px;background:#ece8dc;border-radius:13px;min-height:84px;border:2px solid transparent;text-align:left}.car-choice.active{border-color:var(--coral);background:#fff}.car-choice strong{font-size:11px;line-height:1.2}.car-choice small{font-size:9px;color:var(--muted);margin-top:4px}.car-swatch{font-size:24px;line-height:1.2;color:var(--car)}.content-pane>h2{margin-top:30px}.parts-list{display:flex;flex-direction:column}.part-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:15px 0}.part-row>div{display:flex;flex-direction:column;gap:5px}.part-row .eyebrow{font-size:8px;margin-bottom:0}.part-row strong{font-size:14px}.part-row small{font-size:11px;font-weight:500;color:#637a7e;max-width:340px}.part-price{font-size:10px;color:#60777a}.part-row button{min-width:49px;min-height:48px;max-width:100px;font-size:11px;font-weight:800;border-radius:10px;background:#ede6d6;padding:10px}.part-row button.installed{background:#d0e6d4}.requirement{font-size:11px;color:var(--muted);margin:12px 0}.gift-panel{margin-top:28px;border-radius:18px;background:#dcece4;padding:22px;display:flex;gap:25px;align-items:center}.gift-panel h2{margin-bottom:10px;font-size:21px}.gift-panel p{font-size:12px}.gift-panel .fine{font-size:10px}.gift-panel .eyebrow{margin-bottom:8px}.gift-panel .primary{min-height:47px;font-size:12px;padding:12px 16px}.gift-icon{position:relative;flex:0 0 76px;width:76px;height:74px;background:#40a6b3;border-radius:5px;box-shadow:5px 8px #12394414;transform:rotate(-7deg)}.gift-icon:before{content:"";position:absolute;left:27px;top:-6px;width:18px;height:80px;background:#f68a64}.gift-icon:after{content:"";position:absolute;top:26px;height:16px;left:-4px;right:-4px;background:#f68a64}.gift-icon i:before,.gift-icon i:after{content:"";position:absolute;top:-22px;width:30px;height:24px;border:7px solid #ee774f;border-radius:50%;transform:rotate(30deg);left:10px}.gift-icon i:after{left:36px;transform:rotate(-30deg)}.gift-icon.small{transform:scale(.55) rotate(-7deg);margin:-12px -10px;width:64px;flex-basis:64px}.nitro-product{background:linear-gradient(130deg,#dcefe8,#fff8e7);padding:24px;border-radius:22px;text-align:center}.nitro-product h2{font-size:28px}.nitro-product p{font-size:13px;line-height:1.55;max-width:330px;margin:0 auto 18px}.nitro-product .stock{font-size:12px;margin:16px 0}.nitro-bottle{width:105px;height:150px;background:#209ead;margin:8px auto 28px;border-radius:28px 28px 23px 23px;border:5px solid #2b677c;transform:rotate(12deg);display:grid;place-items:center;font-size:30px;font-weight:1000;color:#fff;box-shadow:12px 12px #30859020;position:relative}.nitro-bottle:before{content:"";position:absolute;top:-17px;width:35px;height:20px;border-radius:4px;background:#395460}.shop-garage{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:18px}.shop-garage p{font-size:12px}.setting-grid{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 0;gap:25px}.setting-row div{display:grid;gap:8px}.setting-row strong{font-size:16px}.setting-row small{color:var(--muted);font-size:12px;font-weight:500;max-width:500px}.setting-row select{min-width:140px}.info-box{margin-top:30px;padding:22px;border:1px solid var(--line);border-radius:18px}.info-box p{font-size:13px;line-height:1.65}.user-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.user-row>div{display:grid;gap:7px;margin-right:auto}.user-row small{font-size:10px;color:var(--muted)}.user-row .secondary{width:auto;font-size:12px;min-height:44px;margin:0;padding:10px 16px}.playing .game-header,.playing .game-nav,.playing .test-label{display:none}.playing .game-layout,.playing .game-layout #scene-wrap{inset:0}.playing .scene-caption{display:none}#race-ui{position:absolute;inset:0;pointer-events:none;color:#fff;text-shadow:0 2px 7px #122e4470}#race-ui button{pointer-events:auto}.race-top{position:absolute;top:max(16px,env(safe-area-inset-top));left:24px;right:24px;display:flex;align-items:flex-start;gap:12px}.distance-chip{display:flex;flex-direction:column;background:#173541ce;padding:12px 20px;border-radius:14px}.distance-chip small{text-transform:uppercase;font-size:9px;letter-spacing:1.4px}.distance-chip strong{font-size:36px;letter-spacing:-1.5px}.coin-chip{padding:14px 19px;background:#173541ce;border-radius:12px;font-size:20px;color:#ffe29a}.race-top button{margin-left:auto;width:48px;height:48px;background:#173541de;color:#fff;border-radius:12px;font-size:22px}.heat-row{position:absolute;top:121px;left:24px;display:flex;align-items:center;gap:18px}.heat-row small{font-size:10px;background:#173541a8;padding:4px 7px;border-radius:5px}.heat-pips{display:flex;gap:5px;padding:8px 0}.heat-pips i{width:21px;height:9px;border-radius:3px;background:#224c5d9e;border:1px solid #ffffff68}.heat-pips i.hot{background:#f57850;border-color:#ffd3b4}.stage-chip{padding:9px;background:#173541ae;border-radius:7px;font-size:11px}.tutorial-hint{position:absolute;top:190px;left:50%;transform:translate(-50%);padding:12px 20px;background:#fff6dfed;color:var(--ink);text-shadow:none;border-radius:14px;width:min(90%,460px);font-size:14px;font-weight:800;text-align:center}.exit-banner{position:absolute;top:32%;width:100%;text-align:center}.exit-banner button{background:#f0804e;color:#fff;border-radius:14px;box-shadow:0 6px #a65334;padding:18px 25px;font-size:18px;font-weight:900}.car-hud{position:absolute;left:25px;right:25px;bottom:135px;display:flex;align-items:end;justify-content:space-between}.speed-readout{display:flex;align-items:baseline;gap:7px}.speed-readout strong{font-size:64px;letter-spacing:-4px;font-weight:1000}.speed-readout small{font-size:12px}.body-meter{display:flex;flex-direction:column;gap:6px;min-width:155px;padding:10px 14px;background:#173541c2;border-radius:12px}.body-meter span{font-size:10px;display:flex;gap:16px;justify-content:space-between}.body-meter meter{width:100%;height:9px;accent-color:#aee3b8}.touch-controls{position:absolute;left:24px;right:24px;bottom:max(35px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:15px;-webkit-user-select:none;user-select:none}.steer-pad,.action-pad{display:flex;gap:12px}.touch-controls button{width:73px;height:66px;border-radius:18px;background:#173541bc;color:#fff;border:1px solid #fff8d594;box-shadow:0 5px #152e4150;font-size:37px;font-weight:900;touch-action:none}.action-pad #brake{font-size:13px}.touch-controls .nitro-button{background:#27a7bccc;color:#fff6d5;font-size:25px}.keyboard-controls{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:10px;font-weight:700;margin:0}.playing .toast{bottom:130px}#pause-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#132e42b5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;text-shadow:none}.pause-card{width:min(90%,390px);background:var(--paper);color:var(--ink);padding:32px;border-radius:24px}.result-page{max-width:520px;margin:4vh auto}.result-page h1{font-size:48px;max-width:470px}.result-distance{font-size:86px;letter-spacing:-5px;display:block;margin:22px 0}.result-distance small{font-size:23px;letter-spacing:0;margin-left:10px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:24px 0;margin-bottom:25px}.result-stats>div{display:flex;flex-direction:column;gap:10px}.result-stats span{font-size:12px;color:var(--muted)}.result-stats strong{font-size:29px}.result-page>p{font-size:12px;min-height:24px}.result-page .primary{margin-top:25px}.retro{font-family:Courier New,monospace}.retro button,.retro .content-pane,.retro .distance-chip,.retro .body-meter,.retro .world-card,.retro .car-choice,.retro .pause-card{border-radius:0!important}.retro h1,.retro h2,.retro strong{text-transform:uppercase;letter-spacing:-1px}.retro #scene{image-rendering:pixelated}.retro .wordmark{font-style:normal}.retro .primary{box-shadow:4px 4px 0 var(--ink)}}@layer responsive{@media(min-width:1500px){.content-pane{width:42%;padding:40px 45px}.game-layout #scene-wrap{right:42%}}@media(max-width:900px){.content-pane{padding:25px 22px;width:48%}.game-layout #scene-wrap{right:48%}.world-picker{gap:5px}.world-card{padding:10px 8px}.game-header{padding:17px 22px}.account-label{gap:4px}.world-card small{font-size:9px}.gift-panel{padding:15px;gap:12px}}@media(max-width:650px){.auth-art{background:linear-gradient(0deg,var(--cream) 15%,#f4ebd833 75%),url(/auth-assets/garage.png) 28% 0 / auto 65vh no-repeat}.brandbar{padding:23px}.wordmark{font-size:29px}.brandbar select{font-size:12px;min-width:110px;padding:9px}.auth-panel{margin:24vh auto 60px;padding:23px;width:calc(100% - 32px);border-radius:20px}.auth-panel h1{font-size:34px}.auth-bottom{left:20px}.game-header{height:65px;padding:13px 18px;gap:13px}.game-header .wordmark{font-size:25px}.wallet{font-size:9px;gap:4px}.wallet strong{font-size:25px}.account-label>span{display:none}.account-label .text-button{font-size:10px;padding:5px}.game-layout{top:65px;bottom:72px}.game-layout #scene-wrap{inset:0 0 auto;height:36%}.content-pane{top:36%;bottom:0;width:100%;max-width:none;padding:23px 23px 30px;border-radius:24px 24px 0 0}.content-pane h1{font-size:31px;margin-bottom:16px}.scene-caption{left:22px;bottom:15px;gap:4px}.scene-caption span{font-size:8px}.scene-caption strong{font-size:23px}.world-card{min-height:121px;padding:10px}.world-card strong{font-size:12px}.world-card small{font-size:9px}.world-card .world-number{font-size:23px}.game-nav{height:72px;gap:0;justify-content:space-around}.game-nav button{min-width:60px;font-size:10px}.game-nav button span{font-size:21px}.test-label{top:73px;left:20px;font-size:7px}.selected-build{margin-top:20px}.launch{font-size:22px;min-height:58px}.content-pane.wide{top:0;width:100%;border-radius:0;left:0;transform:none}.setting-row{gap:15px}.car-carousel{grid-template-columns:repeat(4,1fr);gap:5px}.car-choice{padding:7px;min-height:80px}.car-choice strong{font-size:10px}.car-choice small{font-size:8px}.vehicle-stats strong{font-size:18px}.title-row h1{font-size:28px!important}.gift-panel{gap:20px;padding:20px}.gift-icon{transform:scale(.85) rotate(-7deg);margin-left:-7px;flex-basis:65px}.gift-panel h2{font-size:18px}.race-top{left:16px;right:16px;gap:9px}.distance-chip{padding:9px 14px}.distance-chip strong{font-size:29px}.coin-chip{padding:12px;font-size:17px}.race-top button{width:44px;height:44px}.heat-row{top:102px;left:16px}.tutorial-hint{top:158px;font-size:12px}.car-hud{left:18px;right:18px;bottom:130px}.speed-readout strong{font-size:47px;letter-spacing:-2px}.body-meter{min-width:137px}.touch-controls{left:15px;right:15px;bottom:40px;gap:10px}.steer-pad,.action-pad{gap:8px}.touch-controls button{width:64px;height:65px;border-radius:17px}.keyboard-controls{display:none}.result-page{margin:2vh auto}.result-page h1{font-size:38px}.result-distance{font-size:76px}.user-row{gap:8px}.user-row .secondary{padding:9px;font-size:10px}.user-row .text-button{font-size:10px}.toast{bottom:78px;font-size:11px}.playing .game-layout #scene-wrap{inset:0;height:100%}}@media(max-width:370px){.content-pane{padding:20px 16px}.touch-controls button{width:58px}.game-header{padding-inline:12px}.car-choice strong{font-size:9px}.car-carousel{grid-template-columns:repeat(3,1fr)}.body-meter{min-width:126px}}@media(max-height:500px)and (orientation:landscape){.game-layout #scene-wrap{inset:0 50% 0 0;height:100%}.content-pane{top:0;width:50%;border-radius:0;padding:20px}.game-header{height:54px}.game-layout{top:54px;bottom:57px}.game-nav{height:57px}.playing .game-layout,.playing .game-layout #scene-wrap{inset:0}.race-top{top:10px}.distance-chip strong{font-size:24px}.heat-row{top:87px}.car-hud{bottom:90px;left:18px}.speed-readout strong{font-size:39px}.touch-controls{bottom:16px}.touch-controls button{height:57px;width:65px}.tutorial-hint{top:25px;width:40%;font-size:11px}.body-meter{min-width:140px}.keyboard-controls{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}}@layer responsive{.playing .game-layout{inset:0}@media(max-width:650px){.car-hud{bottom:126px}.body-meter{min-width:110px;max-width:110px;padding:9px;font-size:9px}.body-meter span{font-size:8px;gap:3px}.speed-readout strong{font-size:42px}}}@layer components{.gift-reveal{text-align:center;width:min(88vw,390px)}.gift-reveal .gift-icon{margin:35px auto 32px;animation:gift-bounce .65s ease-out}.gift-reveal .gift-icon i{animation:gift-bow .65s ease-out}.gift-reveal p{font-size:15px}@keyframes gift-bounce{0%{transform:scale(.7) rotate(-15deg)}65%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(-7deg)}}@keyframes gift-bow{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-35px)}}}
