@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/outfit-latin-900-normal-D7VxKg29.woff2) format("woff2"),url(/assets/outfit-latin-900-normal-DBTzQ72N.woff) format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-latin-400-normal-BSDtH9U0.woff2) format("woff2"),url(/assets/quicksand-latin-400-normal-BqXBKzPR.woff) format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-500-normal-_DbwbYKP.woff2) format("woff2"),url(/assets/quicksand-latin-500-normal-7J1fbcAD.woff) format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-700-normal-Dpk7G9Y6.woff2) format("woff2"),url(/assets/quicksand-latin-700-normal-HjJN-aaT.woff) format("woff")}.results-shade{position:fixed;inset:0;z-index:25;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 45%,#16384488,#071115dc);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;--result-gold:#ffc24c}.results-shade[hidden]{display:none}.results-card{width:min(840px,100%);max-height:calc(100dvh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:28px;border:1px solid #adc8cc26;border-bottom:5px solid #08161c;background:linear-gradient(135deg,#223840,#13232c 65%);box-shadow:0 30px 100px #0007,inset 0 1px #ffffff15;overflow:hidden;animation:results-enter .45s cubic-bezier(.2,.8,.2,1) both}.results-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 28px 0;color:#b5c9ce;font-size:10px;font-weight:900;letter-spacing:2px}.results-heading>span:first-child{display:flex;align-items:center;gap:9px}.results-flag{width:18px;height:14px;background:conic-gradient(#fff 25%,transparent 0 50%,#fff 0 75%,transparent 0) 0 0/7px 7px;transform:skew(-9deg);opacity:.75}.results-brand{font-size:20px;letter-spacing:-1px;color:#e8f0ed}.results-brand>span{color:var(--result-gold)}.results-body{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;padding:28px;overflow:auto;scrollbar-width:thin;scrollbar-color:#70878b44 transparent}.results-body::-webkit-scrollbar{width:4px}.results-body::-webkit-scrollbar-thumb{background:#70878b66;border-radius:4px}.results-performance{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;position:relative;padding:8px 0 12px;background:radial-gradient(ellipse at 50% 36%,#ffc24c12,transparent 65%)}.results-medal{display:grid;place-items:center;width:54px;height:54px;border:2px solid #ffe4a080;border-bottom:4px solid #c08024;border-radius:17px;background:linear-gradient(145deg,#ffe29b,#edaa2e);color:#604318;box-shadow:0 6px #0002,0 0 35px #ffc24c18;rotate:-9deg;margin:0 0 19px;animation:results-medal .5s .1s cubic-bezier(.2,1.5,.4,1) both}.results-medal svg{width:29px;height:29px;stroke-width:2.5}.results-performance h2{margin:0;font-size:24px;font-style:italic;font-weight:900;letter-spacing:-.8px;color:#f8f6e9;line-height:1.1}.results-score{display:flex;flex-direction:column;align-items:center;margin:7px 0 22px}.results-score strong{font-size:clamp(48px,7vw,82px);font-weight:900;line-height:1.1;letter-spacing:-4px;font-variant-numeric:tabular-nums;color:var(--result-gold);text-shadow:0 4px 0 #9b661e55;animation:results-score .5s .15s cubic-bezier(.2,1.4,.4,1) both}.results-score>span{margin-top:5px;font-size:9px;letter-spacing:3px;font-weight:800;color:#a2b4b9}.results-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;border-top:1px solid #ffffff12;padding-top:17px}.results-stats>div{display:grid;justify-items:center;gap:5px}.results-stats svg{width:17px;height:17px;color:#adbfbd}.results-stats strong{font-size:17px;font-weight:900;white-space:nowrap}.results-stats span{font-size:9px;color:#a8bcc1;font-weight:600}.results-records{align-self:center;min-width:0;padding:20px;border-radius:20px;background:#08171d55;border:1px solid #ffffff0c}.results-section-title{display:flex;align-items:center;gap:7px;margin-bottom:17px;color:#dfebe9}.results-section-title svg{color:var(--result-gold)}.results-section-title h3{font-size:12px;font-weight:900;letter-spacing:1px;margin:0}.results-section-title>span{margin-left:auto;font-size:8px;letter-spacing:1px;color:#a7b9bd;border:1px solid #ffffff20;padding:4px 6px;border-radius:5px}.results-record-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.results-record-list li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#ffffff04;border:1px solid #ffffff0a}.results-record-list li.champion{background:linear-gradient(120deg,#ffc24c20,#ffc24c07);border-color:#ffc24c45}.results-place{width:26px;flex:none;display:grid;place-items:center;font-size:13px;font-weight:900;color:#aac0c5}.champion .results-place{color:var(--result-gold)}.results-driver{display:flex;flex-direction:column;min-width:0;gap:4px;flex:1}.results-driver strong{overflow:hidden;text-overflow:ellipsis;font-weight:900;font-size:15px}.results-driver small{font-size:7px;font-weight:800;letter-spacing:.7px;color:#a4b7bc}.results-record-list li>b{font-size:18px;font-weight:900;letter-spacing:-.5px;color:#eff5ef}.results-record-list li.champion>b{color:var(--result-gold)}.results-challenge{display:grid;gap:6px;margin-top:20px}.results-challenge>span{display:flex;align-items:center;gap:5px;font-size:8px;font-weight:900;letter-spacing:1.5px;color:#9fb7b9}.results-challenge strong{font-size:18px;font-weight:900;letter-spacing:-.5px}.results-name{margin-top:18px}.results-name label{display:block;margin-bottom:8px;font-size:9px;font-weight:900;letter-spacing:1px;color:#ffdb89}.results-name-row{display:flex;gap:7px}.results-name-row input{min-width:0;width:0;flex:1;height:44px;padding:0 12px;border:1px solid #ffffff30;border-radius:10px;background:#ffffff0a;color:#fff;font-size:16px;font-family:inherit;font-weight:800}.results-name-row button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;background:var(--result-gold);border:0;border-bottom:3px solid #ad762c;border-radius:10px;font-size:13px;font-weight:900;color:#32250f}.results-name-row input:focus{outline:2px solid var(--result-gold);outline-offset:2px}.results-board-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #ffffff0c;padding-top:14px;margin-top:18px}.results-board-footer>span{font-size:7px;letter-spacing:.7px;font-weight:800;color:#92a9af}.results-board-footer button{display:flex;align-items:center;gap:4px;border:0;padding:5px 0;background:none;color:#d5e1e1;font-size:10px;font-weight:700}.results-empty{display:grid;justify-items:center;gap:9px;text-align:center;padding:12px 0}.results-empty svg{width:30px;height:30px;color:#f4c56e}.results-empty strong{font-size:15px;font-weight:900}.results-empty span{font-size:11px;color:#aec1c5}.results-status{padding:26px 0;text-align:center;font-size:13px;color:#a8bdc2}.results-actions{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px 28px;background:#07171e55;border-top:1px solid #ffffff0c;align-items:center}.results-actions button{display:flex;justify-content:center;align-items:center;gap:10px;min-height:52px;font-weight:900;transition:transform .15s,filter .15s}.results-home{padding:0 15px;color:#c0d1d3;border:0;background:none;font-size:13px}.results-replay{padding:0 22px;border:1px solid #ffe5a5;border-bottom:4px solid #bb802d;border-radius:14px;background:linear-gradient(110deg,#ffd578,#ffbc3e);color:#32230c;box-shadow:0 5px 20px #ffc24c15;font-size:17px;letter-spacing:.3px}.results-replay svg{width:19px;height:19px}.results-replay:hover{filter:brightness(1.08);transform:translateY(-2px)}.results-replay:active{transform:translateY(1px)}.results-actions button:disabled{opacity:.55;cursor:wait}.record-run .results-score strong{color:#ffe199}.record-run .results-medal{box-shadow:0 0 42px #ffc24c30}@keyframes results-enter{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes results-medal{0%{transform:scale(.6) rotate(-15deg);opacity:0}to{transform:none;opacity:1}}@keyframes results-score{0%{transform:scale(.88);opacity:.1}to{transform:none;opacity:1}}@media(max-width:650px){.results-shade{padding:12px}.results-card{width:min(420px,100%);max-height:calc(100dvh - 24px);border-radius:22px}.results-heading{padding:16px 18px 0;font-size:8px}.results-brand{font-size:17px}.results-body{grid-template-columns:1fr;gap:16px;padding:16px 18px}.results-performance{padding:0}.results-medal{display:none}.results-performance h2{font-size:20px}.results-score{margin:4px 0 12px}.results-score strong{font-size:64px}.results-stats{padding-top:10px;gap:4px}.results-stats>div{grid-template-columns:auto auto;justify-content:center;column-gap:5px;row-gap:2px}.results-stats span{grid-column:1/-1;font-size:8px}.results-stats strong{font-size:15px}.results-stats svg{width:14px;height:14px}.results-records{padding:14px}.results-section-title{margin-bottom:10px}.results-record-list li{padding:8px}.results-challenge{margin-top:12px}.results-challenge strong{font-size:16px}.results-board-footer{margin-top:12px;padding-top:9px}.results-actions{padding:14px 18px;gap:8px}.results-actions button{min-height:48px}.results-home{padding:0 5px;font-size:11px}.results-replay{font-size:14px;padding:0 10px}.results-name{margin-top:12px}}@media(max-height:530px)and (min-width:651px){.results-body{padding:14px 24px;gap:24px}.results-heading{padding-top:12px}.results-medal{width:38px;height:38px;margin-bottom:12px;border-radius:12px}.results-medal svg{width:22px;height:22px}.results-score{margin-bottom:10px}.results-score strong{font-size:58px}.results-stats{padding-top:10px}.results-records{padding:14px}.results-actions{padding:12px 24px}}@media(prefers-reduced-motion:reduce){.results-card,.results-medal,.results-score strong{animation:none}.results-actions button{transition:none}}.driver-card{display:block;width:100%;max-width:390px;margin:0 0 28px;padding:15px 17px;border:1px solid #d4e8e321;border-radius:18px;background:linear-gradient(120deg,#21343deb,#14252de8);color:#f3f5ed;text-align:left;box-shadow:0 8px 22px #09161d18;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,transform .2s}.driver-card:hover{border-color:#f4c56e70;transform:translateY(-2px)}.driver-card:focus-visible{outline:2px solid #f4c56e;outline-offset:4px}.driver-card-profile{display:flex;align-items:center;gap:10px}.driver-card-level{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:50%;border:1.5px solid #f4c56e95;background:#f4c56e0c;color:#f9ce7b;font-size:15px;font-weight:900}.driver-card-identity,.driver-card-best{display:flex;flex-direction:column;gap:4px;min-width:0}.driver-card-identity{flex:1}.driver-card-identity>small,.driver-card-best>small{font-size:7px;font-weight:700;letter-spacing:1px;color:#a8bdc2}.driver-card-identity>strong{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-card-best{align-items:flex-end}.driver-card-best>strong{font-size:18px;font-weight:900;letter-spacing:-.4px;line-height:1;color:#f9ce7b;font-variant-numeric:tabular-nums}.driver-card-divider{display:block;height:1px;margin:13px 0 10px;background:linear-gradient(90deg,#e6f5ee18,#e6f5ee08)}.driver-card-heading{display:flex;align-items:center;justify-content:space-between;color:#a8bdc2;font-size:8px;font-weight:700;letter-spacing:1.3px;margin-bottom:9px}.driver-card-heading svg{color:#f3ca7e;width:13px;height:13px}.driver-card-rivals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.driver-card-rival{display:flex;gap:7px;align-items:center;min-width:0;animation:driver-arrive .35s ease both;animation-delay:var(--arrival)}.driver-card-rival+span{border-left:1px solid #ffffff0c;padding-left:10px}.driver-card-place{color:#98b0b8;font-size:9px;font-weight:800;flex:none}.driver-card-rival.first .driver-card-place{color:#f9ce7b}.driver-card-rival>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.driver-card-rival strong{font-size:13px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.driver-card-rival small{font-size:10px;font-weight:500;color:#b2c6ca;font-variant-numeric:tabular-nums}.driver-card-rival.first small{color:#f4d397}.driver-card-empty{display:flex;align-items:center;gap:8px;min-height:26px}.driver-card-empty>svg{color:#e5be77;flex:none}.driver-card-empty>strong{font-size:11px;font-weight:500;line-height:1.4;flex:1}.driver-card-empty>small{font-size:7px;letter-spacing:.5px;font-weight:700;color:#9fb2b8}@keyframes driver-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:900px){.driver-card{max-width:390px;margin-left:0;margin-right:0}}@media(max-width:600px){.driver-card{padding:13px 15px;margin-bottom:16px}.driver-card-identity>strong{font-size:13px}.driver-card-best>strong{font-size:17px}.driver-card-rivals{gap:7px}.driver-card-rival+span{padding-left:7px}}@media(prefers-reduced-motion:reduce){.driver-card{transition:none}.driver-card-rival{animation:none}}:root{--font-sans:"Outfit",system-ui,sans-serif;--font-round:"Quicksand",system-ui,sans-serif;font-family:var(--font-sans);color:#173e3c;background:#d9d8bd;font-weight:400;font-size:10px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #d69b45;outline-offset:5px}button:disabled{opacity:.6;cursor:wait}button svg{width:19px;height:19px}button{touch-action:manipulation}a{color:inherit;text-decoration:none}.app{position:relative;width:100%;height:100svh;min-height:620px;overflow:hidden}.scene{position:absolute;inset:0}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(244,240,217,.4),transparent 22%,transparent 75%,rgba(16,40,37,.2))}.intro .vignette{background:linear-gradient(270deg,rgba(245,240,219,.96) 0%,rgba(245,240,219,.81) 18%,rgba(245,240,219,.2) 43%,transparent 63%),linear-gradient(0deg,rgba(42,63,48,.15),transparent 30%)}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px 38px;z-index:4;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center}.brand-icon{border:1px solid #42605977;width:48px;height:52px;border-radius:23px 23px 4px 4px;display:grid;place-items:center}.brand-icon svg{width:32px;height:34px}.brand strong{font-size:20px;font-weight:900;letter-spacing:-1.5px;display:block;line-height:1.3}.brand strong span{color:#ba7f40}.brand small{font-family:var(--font-sans);font-size:6px;letter-spacing:3px;display:block;margin-top:3px;direction:ltr}.location-pill{display:flex;gap:12px;align-items:center;background:#f8f5e9de;box-shadow:0 2px 16px #304e3510;border:1px solid #fff9;border-radius:40px;padding:10px 17px;font-size:8px;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap}.live-dot{height:6px;width:6px;background:#3e7960;border-radius:50%;box-shadow:0 0 0 4px #3e796015}.pill-divider{height:12px;width:1px;background:#ccc9b9}.toolbar{display:flex;direction:ltr;gap:7px}.toolbar button,.close-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #fff8;background:#faf7e9d9;border-radius:50%;transition:background .2s,transform .2s}.toolbar button:hover{background:#fffdf4;transform:translateY(-2px)}.toolbar button.active{background:#1e5954;color:#fff8dd}.intro-card{position:absolute;right:6.3%;top:24%;width:320px;z-index:2}.eyebrow{display:flex;align-items:center;gap:8px;font-size:8px;font-weight:500;letter-spacing:.2px}.eyebrow>span{width:20px;height:1px;background:#ad8450}h1{font-size:62px;line-height:1.18;letter-spacing:-5px;font-weight:900;margin:24px 0 17px}h1 span{color:#2b6a5d}.intro-card p{font-size:10px;line-height:2.1;color:#526156;margin:0 0 25px}.primary{background:#194e47;border:1px solid #194e47;color:#f7efda;min-height:52px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:30px;padding:12px 25px;transition:background .2s,transform .2s;box-shadow:0 5px 20px #194e4715;font-weight:700}.primary:hover{background:#28665b;transform:translateY(-1px)}.start-button{width:255px;justify-content:space-between;font-size:12px}.intro-controls{display:flex;gap:12px;align-items:center;font-size:7px;color:#647061;margin-top:21px}.key-cluster{display:flex;gap:3px;direction:ltr}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:24px;padding:1px 5px;background:#fbf8ebd9;border:1px solid #aeb3a080;border-bottom-width:2px;border-radius:4px;font-family:var(--font-sans);color:#496050;font-size:7px}.intro-caption{font-size:7px;color:#80836c;margin-top:29px}.map-panel{position:absolute;bottom:67px;left:36px;width:200px;background:#f8f5e9f0;border:1px solid #fff9;box-shadow:0 8px 36px #223d3414;border-radius:9px;padding:13px;z-index:3}.map-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;margin-bottom:11px}.map-heading>span:first-child{display:flex;align-items:center;gap:6px}.map-heading>span:last-child{color:#9b9d86;font-size:7px}.minimap{position:relative;border-radius:4px;overflow:hidden;height:174px;background:#e8e6d7}.minimap canvas{width:100%;height:100%;display:block}.north{position:absolute;top:8px;right:8px;font:9px var(--font-sans);color:#527466}.map-label{position:absolute;bottom:7px;left:7px;display:flex;align-items:center;gap:5px;background:#fff9e9df;padding:2px 7px;border-radius:3px;font-size:6px}.map-label span{width:5px;height:5px;border-radius:50%;background:#d79842}.map-footer{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:#6c7969;font-size:6px}.page-footer{position:absolute;bottom:22px;left:38px;right:38px;display:flex;justify-content:space-between;color:#f4f0dd;font-size:7px;text-shadow:0 1px 3px #1b382988}.page-footer>span:first-child{color:#556858;text-shadow:none}.page-footer>span:last-child{font:8px var(--font-sans);letter-spacing:1.8px;display:flex;align-items:center;gap:10px;direction:ltr}.page-footer i{height:3px;width:3px;border-radius:50%;background:currentColor}.journey-card{position:absolute;top:119px;right:38px;width:271px;padding:19px 20px 16px;background:#faf7e9ec;border:1px solid #ffffffaa;border-radius:8px;box-shadow:0 8px 30px #1f3e3010}.journey-top{display:flex;justify-content:space-between;font-size:7px;color:#79806c}.journey-top>span:first-child{display:flex;gap:6px;align-items:center}.journey-top>span:last-child{direction:ltr;letter-spacing:3px}.journey-card h2{font-size:13px;margin:14px 0 7px;font-weight:700;letter-spacing:-.4px}.journey-card p{margin:0;font-size:7px;color:#78806f;display:flex;align-items:center;gap:4px}.journey-card p b{margin-right:auto;font-size:7px;color:#97763e;font-weight:500}.progress-stops{display:flex;gap:5px;margin-top:16px}.progress-stops span{height:5px;border-radius:2px;background:#dedfce;flex:1;display:flex;align-items:center;justify-content:center}.progress-stops .current{background:#d4ad69}.progress-stops .done{background:#4d7761;color:#fff;height:5px}.progress-stops svg{display:none}.speedometer{position:absolute;right:42px;bottom:91px;width:160px;height:151px;text-align:center;color:#f6efd9;filter:drop-shadow(0 2px 12px #12362d55)}.speed-arc{position:absolute;inset:0;width:160px;height:130px;overflow:visible}.speed-arc path{fill:none;stroke-width:4;stroke-linecap:round}.arc-track{stroke:#faf5dc44}.arc-fill{stroke:#f0d18e;transition:stroke-dasharray .15s}.speed-readout{position:absolute;top:28px;width:100%;display:flex;align-items:center;flex-direction:column}.speed-readout strong{font-size:34px;line-height:1.2;font-weight:500}.speed-readout small{font-size:6px;opacity:.85;margin-top:4px}.gear{position:absolute;bottom:0;width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.gear span{font:11px var(--font-sans);padding:3px 5px;background:#f0e9d520;border:1px solid #f0e9d550;border-radius:3px}.gear b{font-size:6px;font-weight:400}.driving-actions{position:absolute;bottom:53px;right:38px;display:flex;align-items:center;gap:13px;color:#f8f1dd;font-size:7px}.driving-actions button{display:flex;align-items:center;gap:5px;background:#fbf6e9e8;border:0;padding:6px 9px;border-radius:4px;color:#35554a;font-size:7px}.driving-actions>span{display:flex;align-items:center;gap:5px}.driving-actions kbd{font-size:6px;height:20px;min-width:20px}.toast{position:absolute;bottom:45px;left:50%;transform:translate(-50%);background:#1f504af2;color:#f5efda;border:1px solid #e8e4c944;border-radius:30px;padding:12px 20px;font-size:8px;display:flex;align-items:center;gap:9px;box-shadow:0 8px 20px #20423425;white-space:nowrap;z-index:8}.modal-shade{position:absolute;inset:0;background:#173e3c55;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;z-index:20;padding:22px}.modal{position:relative;background:#f9f4e5;border:1px solid #fff8;padding:35px;width:410px;max-width:100%;border-radius:13px;box-shadow:0 20px 90px #183c3433}.modal h2{font-size:21px;letter-spacing:-1px;margin:15px 0 23px}.modal p{font-size:8px;line-height:2;color:#78816c;margin:19px 0}.modal .primary{width:100%}.close-button{position:absolute;left:20px;top:20px;width:30px;height:30px;background:#e8e5d5;border:0}.help-row{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:8px}.help-row>span:last-child{direction:ltr;font-size:7px}.pause-modal{text-align:center;padding-top:44px}.pause-modal .eyebrow{justify-content:center}.text-button{display:flex;align-items:center;justify-content:center;gap:4px;background:none;border:0;margin:18px auto 0;font-size:8px;color:#75836e}.touch-controls{display:none}.night .intro .vignette{background:none}.night .vignette{background:linear-gradient(270deg,#142d36bb,transparent 65%)}.night .brand,.night .intro-card h1,.night .intro-card .eyebrow{color:#f1e9cc}.night h1 span{color:#ddbd79}.night .intro-card p,.night .intro-caption,.night .intro-controls,.night .page-footer>span:first-child{color:#c2cbb9}.night .brand-icon{border-color:#d4cbb75c}.error-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e7e0c6;z-index:30}.error-screen h2{font-size:18px}.error-screen p{max-width:80%;text-align:center;margin-bottom:25px}@media(min-width:1500px){.intro .vignette{background:radial-gradient(ellipse 68% 78% at 50% 53%,rgba(245,240,219,.42),rgba(245,240,219,.12) 54%,transparent 100%)}.intro-card{right:23%;top:18%;width:450px}h1{font-size:53px;line-height:1.08;letter-spacing:0;margin:16px 0 12px}.intro-card p{font-size:10px;line-height:1.7;margin-bottom:18px}.start-button{width:290px;min-height:50px}.intro-controls{margin-top:14px}.intro-caption{margin-top:16px}}@media(max-width:900px){.topbar{padding:22px}.location-pill{display:none}.intro-card{right:6%;top:25%;width:290px}h1{font-size:54px}.map-panel{left:22px;width:170px;bottom:59px}.minimap{height:144px}.page-footer{left:22px;right:22px}.journey-card{right:22px;top:105px;width:250px}.speedometer{right:26px}.driving-actions{right:22px;gap:9px}}@media(pointer:coarse){.touch-controls{display:flex;position:absolute;left:18px;right:18px;bottom:40px;justify-content:space-between;align-items:flex-end;direction:ltr;gap:10px}.touch-controls>div{display:flex;gap:9px}.touch-controls button{width:48px;height:48px;border:1px solid #fff9;border-radius:10px;background:#fcf7e6cc;display:grid;place-items:center;-webkit-user-select:none;user-select:none;touch-action:none}.touch-controls button:active{background:#c5d8bb}.touch-controls .brake-touch{font-size:11px;width:41px}.playing .map-panel{bottom:140px}.driving-actions{display:none}.speedometer{bottom:152px}}@media(max-width:600px){.app{min-height:570px}.topbar{padding:19px 18px}.brand{gap:8px}.brand-icon{width:37px;height:41px}.brand-icon svg{width:26px}.brand strong{font-size:16px}.brand small{font-size:5px;letter-spacing:2px}.toolbar{gap:5px}.toolbar button{width:33px;height:33px}.toolbar button svg{width:16px;height:16px}.intro-card{right:25px;top:21%;width:270px}h1{font-size:59px;margin:20px 0 14px}.intro-card p{font-size:11px}.start-button{width:225px;min-height:49px;font-size:11px}.intro .vignette{background:linear-gradient(270deg,#f5f0dbf0,#f5f0db8a 53%,#f5f0db10)}.intro .map-panel{display:none}.intro-caption{margin-top:21px}.map-panel{left:18px;width:131px;padding:9px;bottom:71px}.minimap{height:111px}.map-heading{font-size:6px;margin-bottom:7px}.map-footer{display:none}.journey-card{right:18px;left:18px;top:88px;width:auto;max-width:285px;padding:12px 15px}.journey-card h2{font-size:11px;margin:8px 0 5px}.progress-stops{margin-top:10px}.speedometer{right:15px;width:140px;transform:scale(.85);transform-origin:right bottom;bottom:102px}.driving-actions{right:18px;bottom:55px}.driving-actions>span{display:none}.page-footer{left:18px;right:18px;bottom:20px}.page-footer>span:first-child{display:none}.page-footer>span:last-child{font-size:5px}.toast{max-width:90%;white-space:normal;width:max-content;text-align:center;bottom:24px;font-size:7px}.modal{padding:29px}.modal h2{font-size:18px}.touch-controls{left:18px;right:18px;bottom:54px}.touch-controls button{width:43px;height:46px}.playing .map-panel{bottom:120px}.playing .speedometer{bottom:132px}}@media(max-height:720px)and (min-width:601px){.intro-card{right:6%;top:18%;width:370px;text-align:left}h1{font-size:56px;line-height:1.05;letter-spacing:0;margin:12px 0 8px}.intro-card p{font-size:11px;line-height:1.7;margin-bottom:12px}.start-button{width:270px;min-height:46px}.intro-caption{display:none}.intro-controls{margin-top:10px}.map-panel{width:170px}.minimap{height:144px}}@media(max-height:720px)and (max-width:600px){.intro-card{top:15%}.intro-card h1{font-size:50px;line-height:1.02;letter-spacing:0;margin:10px 0 8px}.intro-card p{line-height:1.6;margin-bottom:12px}.start-button{min-height:45px}.intro-caption{display:none}.intro-controls{margin-top:10px}}@media(prefers-reduced-motion:reduce){button,.arc-fill{transition:none}}@media(min-width:901px){.intro .scene canvas{touch-action:none}.intro-card{left:calc(50% + 30px);right:auto;top:50%;transform:translateY(-50%);width:360px;height:440px;display:flex;flex-direction:column;justify-content:center}.intro-card h1{font-size:67px;line-height:1.02;letter-spacing:-2px;margin:18px 0}.intro-card p{font-size:19px;line-height:1.7;margin-bottom:22px;max-width:350px}.intro-card .start-button{width:100%;max-width:350px}.intro-controls{margin-top:16px}.intro-caption{margin-top:18px}}@media(min-width:1500px){.intro-card{left:calc(50% + 26px);width:410px;height:470px}.intro-card h1{font-size:73px;line-height:1.02;margin:18px 0}.intro-card p{font-size:21px;max-width:390px}.intro-card .start-button{max-width:390px}}.scene{background:radial-gradient(ellipse 40% 19% at var(--boost-light-x,50%) 25%,color-mix(in srgb,var(--boost-pink,transparent) var(--boost-pink-strength,0%),transparent) 0,transparent 100%),radial-gradient(ellipse 100% 55% at 50% 0%,color-mix(in srgb,var(--boost-violet,transparent) var(--boost-violet-strength,0%),transparent) 0,transparent 100%),radial-gradient(circle at 18% 8%,rgba(241,253,246,calc(.5 * var(--sun-glow,1))) 0,rgba(214,248,247,calc(.28 * var(--sun-glow,1))) 13%,#d6f8f700 31%),linear-gradient(180deg,var(--sky-top,#72cef0) 0%,color-mix(in srgb,var(--sky-top,#72cef0) 50%,var(--sky-horizon,#e6f7f3)) 52%,var(--sky-horizon,#e6f7f3) 100%)}.vignette,.intro .vignette{background:radial-gradient(circle at 48% 43%,transparent 61%,rgba(35,61,52,.1) 100%)}.night .vignette,.night .intro .vignette{background:radial-gradient(circle at 48% 43%,transparent 56%,rgba(7,20,34,.2) 100%)}:root{--title-size:clamp(36px,5.81vw,92px)}.intro-card h1{white-space:nowrap;font-size:calc(var(--title-size) * (1 - var(--intro-zoom,0) * .12));letter-spacing:-.03em}.intro-copy span{display:block;white-space:nowrap}@media(min-width:901px){.intro-card{width:calc(var(--title-size) * 4.75)}.intro-card p{max-width:none}}@media(max-width:600px){.intro-card h1{font-size:min(10vw,48px)}.intro-copy span{white-space:normal}}.font-quicksand,.font-round{font-family:var(--font-round)}.start-button{border-radius:999px}.intro-card h1,.intro-card h1 .ch,.intro-card p,.intro-card .eyebrow,.intro-controls,.intro-caption,.intro-card kbd{color:#111}@keyframes canvas-in{0%{opacity:0}to{opacity:1}}@keyframes show{to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.intro .scene canvas{opacity:0}.intro.ready .scene canvas{animation:canvas-in .8s ease both}.intro-card{translate:calc(var(--intro-zoom,0) * 6vw) 0}.intro-card .rise,.intro-card .ch{opacity:0}.intro-card .ch{display:inline-block}.intro.ready .intro-card .rise{animation:fade-in .2s linear both;animation-delay:var(--d,0ms)}.intro.ready .intro-card .ch{animation:show 0s both;animation-delay:var(--d,0ms)}@media(prefers-reduced-motion:reduce){.intro.ready .scene canvas,.intro.ready .intro-card .rise,.intro.ready .intro-card .ch{animation:none;opacity:1}}.start-button{min-height:68px;font-size:21px;justify-content:center;gap:14px;background:#111;border-color:#111;color:#f7f1df;box-shadow:0 8px 24px #0003}.start-button{transition:transform .7s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s}.start-button:hover{background:#2a2a2a;border-color:#2a2a2a;transform:scale(1.02)}@media(min-width:901px){.intro-card .start-button{width:calc(100% * (1 - var(--intro-zoom-cta,0) * .12));max-width:none}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes drift-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.intro.ready .intro-card h1{animation:drift 7s ease-in-out infinite}.intro.ready .intro-copy{animation:drift-soft 8.5s ease-in-out infinite}.intro.ready .cta{animation:drift-soft 6.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.intro-card h1,.intro-copy,.cta,.intro-controls,.intro-caption{translate:none;transition:none}.intro.ready .intro-card h1,.intro.ready .intro-copy,.intro.ready .cta{animation:none}}@keyframes road-warning-in{0%{opacity:0;transform:translate(-50%) scale(.6)}60%{opacity:1;transform:translate(-50%) scale(1.08)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes road-warning-pulse{0%,to{box-shadow:0 4px 18px #7a4d0a33,0 0 #f4b54466}50%{box-shadow:0 4px 18px #7a4d0a33,0 0 0 9px #f4b54400}}.road-warning{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:40px;background:#f4b544;color:#3a2a08;font-size:12px;font-weight:600;letter-spacing:.2px;box-shadow:0 4px 18px #7a4d0a33;white-space:nowrap;pointer-events:none;animation:road-warning-in .45s cubic-bezier(.34,1.56,.64,1) both,road-warning-pulse 1.6s ease-in-out .45s infinite}.road-warning svg{width:16px;height:16px}@media(prefers-reduced-motion:reduce){.road-warning{animation:none}}.throttle-bar{position:absolute;left:34px;right:34px;bottom:-4px;height:3px;border-radius:2px;background:#faf5dc33;overflow:hidden}.throttle-bar span{display:block;height:100%;background:#f0d18e;transform-origin:left;transition:transform .1s linear}.gamepad-hint{display:flex;align-items:center;gap:5px;background:#fbf6e9e8;color:#35554a;padding:5px 9px;border-radius:4px;font-size:10px}.boost-bar{position:absolute;left:34px;right:34px;bottom:-11px;height:4px;border-radius:2px;background:#faf5dc33;overflow:hidden}.boost-bar span{display:block;height:100%;background:#e2795a;transform-origin:left;transition:transform .1s linear}.boost-bar.firing span{background:#f4b544}.hit-note{position:absolute;bottom:58px;left:50%;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:8px 14px 8px 16px;border-radius:40px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;pointer-events:none;white-space:nowrap;overflow:hidden;box-shadow:0 6px 22px var(--note-glow),inset 0 1px #fff3;background:var(--note);animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both,note-out .4s ease-in 1.8s forwards}.hit-note b{padding:2px 8px;border-radius:20px;background:#ffffff2e;font-weight:700;animation:points-pop .5s cubic-bezier(.3,1.6,.5,1) .12s both}.hit-note.flick{--note:#2f9a62;--note-glow:#2f9a6255}.hit-note.boost{--note:#e07a3c;--note-glow:#e07a3c66;animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both,note-throb .5s ease-in-out .45s 2,note-out .4s ease-in 1.8s forwards}.hit-note.streak{--note:#2b7d9a;--note-glow:#2b7d9a55;animation:note-rise .5s cubic-bezier(.2,.9,.3,1.1) both,note-out .4s ease-in 1.8s forwards}.hit-note.streak b{color:#ffd77a}.hit-note.streak:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff55 50%,transparent 70%);translate:-100% 0;animation:note-shine .9s ease-out .35s both}.hit-note.near{--note:#3b3f44;--note-glow:#0005;letter-spacing:.6px;animation:note-whoosh .55s cubic-bezier(.16,1,.3,1) both,note-out .4s ease-in 1.8s forwards}.hit-note.near b{background:#fff2;color:#f2f2f2}.hit-note.bump{--note:#a8774c;--note-glow:#a8774c44;animation:note-pop .4s cubic-bezier(.3,1.6,.5,1) both,note-wobble .45s ease-in-out .3s,note-out .4s ease-in 1.8s forwards}.hit-note.smash{--note:#c94a33;--note-glow:#c94a3366;animation:note-slam .3s cubic-bezier(.2,.9,.3,1) both,note-shake .5s linear .25s,note-out .4s ease-in 1.8s forwards}.hit-note.smash b,.hit-note.bump b{animation:points-drop .45s cubic-bezier(.3,1.6,.5,1) .15s both}@keyframes note-pop{0%{opacity:0;transform:translateY(10px) scale(.7)}to{opacity:1;transform:none}}@keyframes note-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes note-shine{to{translate:100% 0}}@keyframes note-whoosh{0%{opacity:0;transform:translate(-70px) skew(-18deg);filter:blur(3px)}60%{opacity:1;transform:translate(6px) skew(4deg);filter:blur(0)}to{opacity:1;transform:none}}@keyframes note-slam{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:none}}@keyframes note-shake{0%,to{transform:none}10%{transform:translate(-6px,1px) rotate(-2deg)}25%{transform:translate(5px,-1px) rotate(1.5deg)}40%{transform:translate(-4px,1px) rotate(-1deg)}55%{transform:translate(3px) rotate(.6deg)}70%{transform:translate(-2px)}85%{transform:translate(1px)}}@keyframes note-wobble{0%,to{transform:none}30%{transform:rotate(-3deg)}65%{transform:rotate(2deg)}}@keyframes note-throb{50%{transform:scale(1.07)}}@keyframes note-out{to{opacity:0;transform:translateY(-10px) scale(.98)}}@keyframes points-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes points-drop{0%{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}.hit-note.drift{--note:#7a4fc4;--note-glow:#7a4fc455;animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both,note-out .4s ease-in 1.8s forwards}.hit-note.hugeDrift{animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both,note-throb .5s ease-in-out .6s 2,note-out .4s ease-in 1.8s forwards}.hit-note.level{--note:#d69b2d;--note-glow:#f4b54488;font-size:15px;padding:10px 16px 10px 20px;animation:note-slam .35s cubic-bezier(.2,.9,.3,1) both,note-throb .6s ease-in-out .35s 2,note-out .4s ease-in 2.6s forwards}.hit-note.level b{background:#fff;color:#8a5a12}.hit-note.level:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff77 50%,transparent 70%);translate:-100% 0;animation:note-shine 1s ease-out .3s 2 both}@media(prefers-reduced-motion:reduce){.hit-note,.hit-note b,.hit-note:after{animation:none!important}}.level-badge{display:flex;align-items:center;gap:10px;padding:6px 15px 6px 6px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;pointer-events:none;z-index:3;animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both}.level-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#3a2a08;box-shadow:inset 0 1px #fff6;font-size:15px;font-weight:900;animation:points-pop .5s cubic-bezier(.3,1.6,.5,1) both}.level-badge strong{display:block;font-size:12px;font-weight:700;letter-spacing:.2px}.level-badge i{display:block;width:110px;height:4px;margin:4px 0 3px;border-radius:2px;background:#ffffff26;overflow:hidden}.level-badge i span{display:block;height:100%;background:var(--gold);transform-origin:left;transition:transform .5s cubic-bezier(.2,.9,.3,1)}.level-badge small{display:block;font-size:9px;color:#ffffffa6;font-variant-numeric:tabular-nums}.score-chip{color:#f7efda;font-size:12px;opacity:.85}.score-chip b{color:#f4b544;margin-left:2px}.night-sky{position:absolute;inset:0;pointer-events:none;opacity:var(--night-amount,0);overflow:hidden}.stars{position:absolute;left:0;top:0;width:1px;height:1px;border-radius:50%;animation:star-twinkle 4.5s ease-in-out infinite}.stars-1{animation-duration:6.5s;animation-delay:-2s}.stars-2{animation-duration:3.2s;animation-delay:-1s;filter:drop-shadow(0 0 3px #fff6dd)}@keyframes star-twinkle{0%,to{opacity:1}50%{opacity:.45}}.aurora{position:absolute;left:-10%;right:-10%;top:-6%;height:58%;filter:blur(38px);opacity:var(--aurora,.2);mix-blend-mode:screen}.aurora span{position:absolute;left:0;right:0;height:38%;border-radius:50%;animation:aurora-drift 18s ease-in-out infinite alternate}.aurora span:nth-child(1){top:12%;background:linear-gradient(90deg,transparent 5%,#43d6a4 30%,#6fe0c4 52%,transparent 80%)}.aurora span:nth-child(2){top:28%;background:linear-gradient(90deg,transparent 18%,#3fb7c8 42%,#7c8ff0 66%,transparent 92%);animation-duration:24s;animation-delay:-7s}.aurora span:nth-child(3){top:4%;background:linear-gradient(90deg,transparent 40%,#a17be6 62%,transparent 88%);animation-duration:30s;animation-delay:-13s;opacity:.7}@keyframes aurora-drift{0%{transform:translate(-6%) rotate(-6deg) scaleY(.85)}50%{transform:translate(3%) rotate(-2deg) scaleY(1.15)}to{transform:translate(7%) rotate(3deg) scaleY(.9)}}@media(prefers-reduced-motion:reduce){.stars,.aurora span{animation:none}}.boost-tint{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .45s ease;mix-blend-mode:soft-light;background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--boost-tint,#ff7a2e) 47%,transparent),color-mix(in srgb,var(--boost-tint,#ff7a2e) 75%,transparent) 70%,color-mix(in srgb,var(--boost-tint,#ff7a2e) 90%,transparent))}.boost-tint.on{opacity:var(--boost-tint-opacity,.9);transition-duration:.25s}.night .intro-card h1,.night .intro-card h1 .ch{color:#f4ecd4}.night .intro-card p,.night .intro-card .eyebrow,.night .intro-controls,.night .intro-caption{color:#c9d2df}.night .intro-card kbd{color:#2a3a4a;background:#e9e4d4e6;border-color:#c9c3b080}.night .start-button{background:#f4ecd4;border-color:#f4ecd4;color:#14223a;box-shadow:0 8px 28px #0006,0 0 32px #f4ecd422}.night .start-button svg{color:#14223a}.intro-card h1,.intro-card h1 .ch,.intro-card p,.intro-card .eyebrow,.intro-controls,.intro-caption,.intro-card kbd{transition:color 1.2s ease,background-color 1.2s ease,border-color 1.2s ease}@media(max-width:600px){.intro .intro-card{inset:auto 22px 72px;width:auto;translate:none;text-align:center}.intro .intro-card h1{font-size:min(10vw,45px);line-height:1.02;margin:10px 0 8px;white-space:nowrap}.intro .intro-card p{font-size:15px;line-height:1.55;margin:0 0 14px}.intro .intro-card .start-button{width:100%;max-width:none;min-height:52px}.intro .intro-controls,.intro .intro-caption{display:none}.intro .vignette,.night.intro .vignette{--veil:color-mix(in srgb,var(--sky-top,#72cef0) 55%,var(--sky-horizon,#e6f7f3));background:linear-gradient(0deg,var(--veil) 0%,color-mix(in srgb,var(--veil) 94%,transparent) 40%,color-mix(in srgb,var(--veil) 0%,transparent) 72%)}.night.intro .intro-card h1,.night.intro .intro-card h1 .ch{color:#fff}.night.intro .intro-card p,.night.intro .intro-card .eyebrow{color:#ffffffd9}.night.intro .intro-card .start-button{background:#fff;border-color:#fff;color:#111}.night.intro .intro-card .start-button svg{color:#111}}.steering-wheel{position:relative;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f8f4e6f2,#e6e1cdd9);border:9px solid #2b4a46d9;box-shadow:0 8px 24px #1f3e3033;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .25s cubic-bezier(.2,.9,.3,1.1)}.steering-wheel:before,.steering-wheel:after{content:"";position:absolute;background:#2b4a46b3;border-radius:4px}.steering-wheel:before{left:50%;top:50%;width:66%;height:9px;transform:translate(-50%,-50%)}.steering-wheel:after{left:50%;top:50%;width:9px;height:66%;transform:translate(-50%,-50%)}.steering-wheel .wheel-top{position:absolute;left:50%;top:-9px;width:12px;height:18px;margin-left:-6px;border-radius:0 0 6px 6px;background:#d9604c}.pedals{display:flex;align-items:flex-end;gap:10px}.pedals button{border:0;color:#173e3c;font-weight:600;letter-spacing:.2px;border-radius:22px;background:#f8f4e6e6;box-shadow:0 8px 22px #1f3e3033;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.pedals .reverse-touch{width:58px;height:58px;border-radius:50%}.pedals .brake-touch{width:84px;height:92px;font-size:14px;background:#f4d7c9e6}.pedals .gas-touch{width:112px;height:150px;font-size:17px;background:#d5ecc8e6}.day-look{position:absolute;top:92px;right:24px;z-index:30;width:320px;max-height:calc(100% - 120px);overflow:auto;padding:14px 16px 12px;border-radius:14px;background:#faf7ecf2;border:1px solid #fff;box-shadow:0 12px 36px #1f3e3029;font-size:12px;color:#173e3c}.day-look-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-look-head strong{font-size:14px}.day-look-head button{border:0;background:#e8e5d5;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}.day-look-row{display:block;margin:7px 0}.day-look-row span{display:flex;justify-content:space-between;margin-bottom:2px}.day-look-row b{font-weight:500;color:#6b7a6c;font-variant-numeric:tabular-nums}.day-look-row input{width:100%;accent-color:#1e5954}.day-look-colours{display:flex;flex-wrap:wrap;gap:8px 10px;margin:10px 0 4px}.day-look-colours label{flex:1 1 40%;display:flex;align-items:center;justify-content:space-between;gap:6px}.day-look-colours input{width:34px;height:24px;border:0;padding:0;background:none}.day-look-actions{display:flex;gap:8px;margin-top:10px}.day-look-actions button{flex:1;border:1px solid #c9c6b4;background:#fff;border-radius:8px;padding:7px 0;font-size:12px}.day-look-actions .apply{background:#1e5954;border-color:#1e5954;color:#fff8dd;font-weight:600}.day-look-status{margin:8px 0 0;font-size:11px;color:#5d6b5f}.day-look-tabs{display:flex;flex-wrap:wrap;gap:4px;background:#ece8d8;border-radius:9px;padding:3px}.day-look-tabs button{border:0;background:none;border-radius:7px;padding:4px 9px;font-size:12px;width:auto;height:auto;color:#5d6b5f}.day-look-tabs button.on{background:#fff;color:#173e3c;font-weight:600;box-shadow:0 1px 3px #0001}.day-look-group{margin:14px 0 2px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#8a6a3c}:root{--glass:#1a252dde;--glass-line:#ffffff1f;--glass-shadow:0 6px 22px #0b161a40,inset 0 1px 0 #ffffff26;--gold:#f4b544;--go:#2f9a62;--stop:#c94a33}.toolbar button{background:var(--glass);border-color:var(--glass-line);color:#fff;box-shadow:var(--glass-shadow);transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}.toolbar button:hover{background:#24323be6;transform:translateY(-2px) scale(1.06)}.toolbar button.active{background:var(--gold);border-color:var(--gold);color:#3a2a08}.driving-actions{gap:8px;color:#fff}.driving-actions button,.driving-actions>span{display:flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);color:#fff;font-size:11px;font-weight:600;letter-spacing:.2px;box-shadow:var(--glass-shadow)}.driving-actions button{transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}.driving-actions button:hover{background:#24323be6;transform:scale(1.05)}.driving-actions button svg{width:14px;height:14px}.driving-actions .key-hint{background:#18232b80;color:#ffffffd9;font-weight:500;box-shadow:inset 0 1px #ffffff1a}.driving-actions kbd{height:19px;min-width:19px;background:#ffffff1f;border:1px solid #ffffff33;border-bottom-width:1px;border-radius:6px;color:#fff;font-size:9px}.driving-actions .gamepad-hint{background:var(--go);color:#fff}.road-warning{font-size:13px;padding:9px 17px;border:1px solid #ffffff55}.pedals button{background:var(--glass);color:#fff;border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);font-weight:700;transition:transform .15s cubic-bezier(.3,1.6,.5,1),filter .15s}.pedals .gas-touch{background:#2f9a62e6}.pedals .brake-touch{background:#c94a33e6}.touch-controls .pedals button:active{transform:scale(.93);filter:brightness(1.15)}.touch-controls .pedals .gas-touch:active{background:#2f9a62e6}.touch-controls .pedals .brake-touch:active{background:#c94a33e6}.touch-controls .pedals .reverse-touch:active{background:var(--glass)}.steering-wheel{background:radial-gradient(circle at 40% 35%,#2a3842d9,#18232bcc);border-color:#f5f2e8e6;box-shadow:var(--glass-shadow)}.steering-wheel:before,.steering-wheel:after{background:#f5f2e8b3}.steering-wheel .wheel-top{background:var(--gold)}@media(prefers-reduced-motion:reduce){.level-badge,.score-pill,.score-pill b,.modal{animation:none}}.brand .logo-mark{display:block;filter:drop-shadow(0 4px 10px #1f3e3026)}.score-pill{position:absolute;left:50%;translate:-50% 0;display:flex;align-items:center;gap:9px;height:44px;padding:0 20px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both}.score-pill span{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;opacity:.7}.score-pill b{display:inline-block;min-width:2ch;color:var(--gold);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;animation:points-pop .4s cubic-bezier(.3,1.6,.5,1) both}.topbar .toolbar button{width:44px;height:44px}.road-warning{top:calc(100% - 8px)}@media(max-width:600px){.level-badge{padding:4px 10px 4px 4px;gap:7px}.level-number{width:28px;height:28px;font-size:13px}.level-badge strong{font-size:11px}.level-badge i{width:64px}.level-badge small{display:none}.topbar .toolbar button{width:34px;height:34px}.score-pill{top:calc(100% - 6px);height:36px;padding:0 15px}.score-pill b{font-size:16px}.road-warning{top:calc(100% + 38px)}}.modal-shade{background:#0b161a59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:#18232be8;color:#fff;border:1px solid #ffffff1f;border-radius:26px;box-shadow:0 24px 80px #0b161a80,inset 0 1px #ffffff26;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both}.modal .eyebrow{color:var(--gold);font-weight:700;letter-spacing:2px;font-size:11px}.modal h2{color:#fff;font-weight:800;letter-spacing:-.8px}.modal p{color:#ffffffb3}.modal .primary{width:100%;gap:12px;background:var(--gold);border-color:var(--gold);color:#2b1d05;border-radius:999px;font-size:16px;box-shadow:0 8px 24px #f4b54440,inset 0 1px #fff6;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}.modal .primary:hover{background:#ffc65e;transform:scale(1.02)}.modal-row{display:flex;gap:10px;margin-top:10px}.modal .secondary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;border-radius:999px;background:#ffffff14;border:1px solid #ffffff26;color:#fff;font-size:13px;font-weight:600;box-shadow:inset 0 1px #ffffff1a;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}.modal .secondary:hover{background:#ffffff24;transform:scale(1.03)}.modal .secondary svg{width:15px;height:15px}.close-button{background:#ffffff14;border:1px solid #ffffff26;color:#fff;right:20px;left:auto;padding:0}.close-button:hover{background:#ffffff24}.help-row{color:#ffffffd9;padding:9px 0;margin:0;border-bottom:1px solid #ffffff12}.help-row:last-of-type{border-bottom:0}.modal kbd{background:#ffffff1f;border:1px solid #ffffff33;border-bottom-width:1px;border-radius:6px;color:#fff}.pause-modal{width:440px;padding:38px 32px 30px}.pause-modal h2{margin:12px 0 22px}.pause-modal>.primary{width:fit-content;padding:14px 14px 14px 22px;margin:0 auto}.pause-modal>.modal-row{margin-top:16px}.pause-modal .secondary{height:50px;font-size:14px}.pause-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;text-align:left}.pause-stats>div{padding:12px 13px;border-radius:16px;background:#ffffff0f;border:1px solid #ffffff14;min-width:0}.pause-stats small{display:block;font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#ffffff8c}.pause-stats b{display:block;margin-top:4px;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.pause-stats>div:first-child b{color:var(--gold);font-size:20px}.pause-stats i{display:block;height:3px;margin-top:7px;border-radius:2px;background:#ffffff26;overflow:hidden}.pause-stats i span{display:block;height:100%;background:var(--gold);transform-origin:left}@media(max-width:600px){.pause-modal{padding:30px 20px 22px}.pause-stats{gap:6px}.pause-stats>div{padding:10px}.pause-stats b{font-size:13px}.pause-stats>div:first-child b{font-size:16px}.modal-row{flex-direction:column}}.coach{position:absolute;top:96px;left:0;right:0;width:max-content;max-width:calc(100% - 24px);margin-inline:auto;z-index:3;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 8px 0 10px;border-radius:40px;background:#1a252d;border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;font-size:12px;font-weight:600;overflow:hidden;transition:background .25s}.coach>span{min-width:0}.coach.ticked{background:#2f9a62e6;border-color:#fff3}.coach.tip{animation:coach-fade .5s ease-in 5s forwards}.coach.tip.ticked{animation:none}@keyframes coach-fade{to{opacity:0}}.coach-keys{display:flex;align-items:center;gap:3px}.coach kbd{height:24px;min-width:24px;background:#ffffff1f;border:1px solid #ffffff33;border-bottom-width:3px;border-radius:7px;color:#fff;font-size:10px;font-weight:700;transition:transform .08s,background .12s,border-color .12s,color .12s}.coach kbd.used{border-color:var(--gold)}.coach kbd.on{background:var(--gold);border-color:#c98f22;color:#2b1d05;transform:translateY(2px);border-bottom-width:1px}.coach:not(.ticked):not(.working) kbd:not(.used){animation:key-nudge 1.6s ease-in-out .6s infinite}@keyframes key-nudge{0%,70%,to{transform:none}80%{transform:translateY(2px)}90%{transform:none}}.coach button{display:grid;place-items:center;width:24px;height:24px;flex:none;border:0;border-radius:50%;background:#ffffff14;color:#ffffffb3}.coach button:hover{background:#ffffff26;color:#fff}.coach button svg{width:13px;height:13px}.coach-tick{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#2f9a62;font-size:13px;animation:points-pop .4s cubic-bezier(.3,1.6,.5,1) both}.coach-fill{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff14}.coach-fill span{display:block;height:100%;background:var(--gold);transform-origin:left;transition:transform .2s linear}.coach.ticked .coach-fill span{background:#fff}@media(max-width:600px){.coach{top:112px;font-size:11px}}@media(prefers-reduced-motion:reduce){.coach,.coach-tick,.coach kbd{animation:none!important}}.boost-gauge{position:absolute;right:218px;bottom:104px;width:72px;height:72px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .3s,opacity .3s,filter .3s}.boost-gauge:hover{transform:scale(1.05)}.boost-gauge .boost-dial{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible}.boost-track{fill:none;stroke:#ffffff1f;stroke-width:4}.boost-ring{fill:none;stroke:#e2795a;stroke-width:4;stroke-linecap:round;transition:stroke .3s}.boost-flame{width:41px;height:41px;color:#fff3;transition:color .3s,translate .3s}.boost-seconds{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}.boost-label{position:absolute;top:calc(100% + 7px);left:50%;translate:-50% 0;display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.5px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#ffffffbf;transition:background .3s,color .3s}.boost-label kbd{height:16px;min-width:16px;padding:0 4px;font-size:8px;font-weight:700;background:#2b1d0526;border:1px solid #2b1d0540;border-radius:4px;color:#2b1d05}.boost-gauge.ready{background:radial-gradient(circle at 50% 35%,#74502b,#362519 70%);border-color:var(--gold)}.boost-gauge.ready:before{content:"";position:absolute;inset:-9px;border:2px solid #f4b544a8;border-radius:50%;box-shadow:0 0 20px #f4b54477;pointer-events:none;animation:boost-halo 1.25s ease-in-out infinite}.boost-gauge.ready .boost-ring{stroke:var(--gold);filter:drop-shadow(0 0 5px #ffbc42)}.boost-gauge.ready .boost-flame{color:var(--gold);filter:drop-shadow(0 0 10px #ff9b31);animation:boost-flame-ready .75s ease-in-out infinite alternate}.boost-gauge.ready .boost-label{background:linear-gradient(110deg,#ffd773,#f4b544 55%,#ff9d37);border-color:#ffe0a0;color:#2b1d05;box-shadow:0 4px 18px #f4b54488;animation:boost-label-ready 1.25s ease-in-out infinite}.boost-gauge.ready{animation:boost-pop .55s cubic-bezier(.3,1.6,.5,1),boost-breathe 1.8s ease-in-out .55s infinite}.boost-gauge.burning{background:#3a1a12d9;transform:scale(1.06)}.boost-gauge.burning .boost-ring{stroke:url(#boost-fire)}.boost-gauge.burning .boost-flame{color:#ffb347;filter:drop-shadow(0 0 8px #ff7a2ecc);animation:flame-flicker .14s ease-in-out infinite alternate}.boost-gauge.burning .boost-label{background:#e07a3c;border-color:#e07a3c;color:#fff}.boost-gauge.blocked{opacity:.6;filter:saturate(.35);animation:none}.boost-gauge.blocked .boost-label{background:var(--glass);border-color:var(--glass-line);color:#ffffffbf}.boost-gauge.blocked:before,.boost-gauge.blocked .boost-label,.boost-gauge.blocked .boost-flame{animation:none}.boost-gauge.blocked:before{opacity:.15}.boost-ripple{position:absolute;inset:-2px;border-radius:50%;border:3px solid var(--gold);pointer-events:none;animation:boost-ripple .75s ease-out forwards}@keyframes boost-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes boost-breathe{0%,to{box-shadow:var(--glass-shadow),0 0 #f4b54400}50%{box-shadow:var(--glass-shadow),0 0 22px 2px #f4b54466}}@keyframes boost-ripple{0%{transform:scale(1);opacity:1}to{transform:scale(1.9);opacity:0}}@keyframes boost-halo{0%,to{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1.12)}}@keyframes boost-flame-ready{0%{transform:translateY(2px) scale(.95)}to{transform:translateY(-3px) scale(1.12)}}@keyframes boost-label-ready{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.07)}}@keyframes flame-flicker{0%{transform:scale(1) rotate(-4deg)}to{transform:scale(1.14) rotate(4deg)}}@media(pointer:fine){.playing .speedometer{right:42px;bottom:62px;width:114px;height:114px}.speed-readout strong{font-size:36px}.boost-gauge{width:114px;height:114px;right:178px;bottom:62px}.boost-flame{width:51px;height:51px}.boost-label{font-size:11px;padding:4px 12px}}@media(pointer:coarse){.playing .speedometer{right:18px;bottom:222px}.boost-gauge{right:128px;bottom:234px}.boost-label kbd{display:none}}@media(pointer:coarse)and (max-width:600px){.playing .speedometer{bottom:240px;width:84px;height:84px}.speed-readout strong{font-size:26px}.boost-gauge{right:114px;bottom:251px;width:62px;height:62px}.boost-flame{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.boost-gauge,.boost-gauge.ready,.boost-gauge.ready:before,.boost-gauge.ready .boost-label,.boost-flame,.boost-ripple{animation:none!important}}@media(max-width:600px){.brand>div{display:none}.brand .logo-mark{width:42px;height:42px}}.boost-gain{position:absolute;top:-6px;right:-10px;padding:2px 8px;border-radius:20px;background:var(--gold);color:#2b1d05;font-size:11px;font-weight:800;box-shadow:0 4px 12px #f4b54466;pointer-events:none;animation:boost-gain 1.1s cubic-bezier(.2,.9,.3,1) forwards}@keyframes boost-gain{0%{opacity:0;transform:translateY(8px) scale(.6)}20%{opacity:1;transform:translateY(0) scale(1.1)}35%{transform:scale(1)}to{opacity:0;transform:translateY(-22px)}}.boost-gauge:has(.boost-gain) .boost-ring{filter:drop-shadow(0 0 6px #f4b544)}@media(prefers-reduced-motion:reduce){.boost-gain{animation:none;opacity:0}}.speedometer{--speed-heat:0;--speed-arc:0 100;right:42px;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;filter:none;transform:none}.speedometer:before{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(ellipse at 50% 85%,#ff7a2e33,transparent 72%);box-shadow:inset 0 0 16px #ffb34724,0 0 22px #ff7a2e40;opacity:var(--speed-heat);pointer-events:none}.speed-dial{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;transform:rotate(135deg)}.speed-dial circle{fill:none;stroke-width:4;stroke-linecap:round}.speed-dial .arc-track{stroke:#ffffff1f;stroke-dasharray:75 100}.speed-dial .arc-fill,.speed-dial .arc-heat{stroke-dasharray:var(--speed-arc);transition:stroke-dasharray .15s}.speed-dial .arc-fill{stroke:var(--gold)}.speed-dial .arc-heat{stroke:url(#speed-fire);opacity:var(--speed-heat);filter:drop-shadow(0 0 2.5px #ff7a2e99)}.speed-readout{position:relative;width:auto;display:flex;flex-direction:column;align-items:center}.speed-readout strong{font-size:30px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-1px;background:linear-gradient(180deg,#fff6c8,#ffc34a 45%,#ff7a2e);-webkit-background-clip:text;background-clip:text;color:rgba(255,255,255,calc(1 - var(--speed-heat)));text-shadow:0 0 14px rgba(255,122,46,calc(var(--speed-heat) * .4));transform:scale(calc(1 + var(--speed-heat) * .08))}.speed-readout small{margin-top:3px;font-size:9px;font-weight:600;letter-spacing:1px;opacity:.7}.speed-label{position:absolute;top:calc(100% + 7px);left:50%;translate:-50% 0;display:flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:20px;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.3px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#ffffffbf;font-variant-numeric:tabular-nums}.speed-label b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ffffff1f;color:#fff;font-size:9px}@media(pointer:fine){.speed-label{font-size:11px;padding:4px 12px 4px 5px}}.driving-actions{right:auto;left:38px}@media(max-width:1250px){.driving-actions .key-hint{display:none}}@media(max-width:600px){.driving-actions{left:18px}}.playing .vignette{background:linear-gradient(0deg,#0b161a66,#0b161a2e 11%,#0b161a00 24%),radial-gradient(circle at 48% 43%,transparent 61%,rgba(35,61,52,.1) 100%)}.night.playing .vignette{background:linear-gradient(0deg,#05090f80,#05090f33 11%,#05090f00 24%),radial-gradient(circle at 48% 43%,transparent 56%,rgba(7,20,34,.2) 100%)}.q-low .modal-shade,.q-low .modal{-webkit-backdrop-filter:none;backdrop-filter:none}.q-low .modal-shade{background:#0b161a99}.q-low .aurora{display:none}.q-low .stars{animation:none}@media(pointer:coarse),(max-width:600px){.toolbar .desktop-only{display:none}.toolbar .mobile-home-theme{display:grid;place-items:center}}.toolbar .mobile-home-theme,.playing .toolbar .mobile-home-theme{display:none}.modal-shade{grid-template-columns:minmax(0,1fr)}.modal{justify-self:center;width:min(440px,100%)}@media(max-width:600px){.modal-shade{padding:16px}.pause-modal{padding:28px 18px 20px;border-radius:22px}.pause-modal h2{font-size:24px;margin:10px 0 18px}.pause-stats{gap:6px;margin-bottom:16px}.pause-stats small{font-size:8px;letter-spacing:1px}.modal-row .secondary{flex:none;width:100%}.modal .primary{min-height:52px;font-size:15px}}@media(pointer:coarse),(max-width:600px){.help-shade{padding:0;place-items:stretch}.help-modal{width:100%;height:100%;max-width:none;max-height:100%;justify-self:stretch;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding:calc(34px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));border-radius:0}.help-modal .close-button{position:fixed;top:calc(18px + env(safe-area-inset-top));right:18px;width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 3px #f4b544}.help-modal .eyebrow{font-size:13px;letter-spacing:2px}.help-modal h2{max-width:calc(100% - 48px);font-size:clamp(25px,7vw,32px);line-height:1.12;letter-spacing:-.8px;margin:20px 0 22px}.help-modal .help-row{gap:12px;min-height:49px;padding:11px 0;font-size:12px;line-height:1.35}.help-modal .help-row>span:last-child{flex:none;font-size:11px;white-space:nowrap}.help-modal kbd{font-size:11px;padding:4px 7px;min-height:27px}.help-modal p{font-size:12px;line-height:1.75;margin:20px 0 24px}.help-modal>.primary{min-height:56px;margin-top:auto;font-size:17px;flex:none}}.steer-pads{position:absolute;inset:0;z-index:2;display:flex;touch-action:none}.steer-zone{position:relative;flex:1;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background .25s}.steer-button{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;transition:transform .18s cubic-bezier(.3,1.6,.5,1),background .15s,color .15s,box-shadow .2s}.steer-zone.left .steer-button{left:16px}.steer-zone.right .steer-button{right:16px}.steer-lesson{position:absolute;bottom:calc(130px + env(safe-area-inset-bottom));z-index:1;display:grid;justify-items:center;gap:2px;min-width:62px;padding:7px 9px 3px;border-radius:12px;background:#f4b544;color:#2b1d05;box-shadow:0 5px 18px #0006;font-size:11px;font-weight:800;letter-spacing:.05em;white-space:nowrap;pointer-events:none;animation:lesson-nudge 1.7s ease-in-out infinite}.steer-lesson:after{content:"↓";font-size:17px;line-height:14px}.steer-zone.left .steer-lesson{left:16px}.steer-zone.right .steer-lesson{right:16px}.steer-zone.practiced .steer-lesson{background:#2f9a62;color:#fff;animation:none}.steer-zone.tutorial:not(.practiced):not(.held) .steer-button{border-color:#f4b544;box-shadow:0 0 0 5px #f4b54444,var(--glass-shadow)}@keyframes lesson-nudge{0%,to{translate:0 0}50%{translate:0 5px}}.steer-button svg{width:29px;height:29px;stroke-width:2.6}.steer-zone.held .steer-button{background:linear-gradient(135deg,#f4b544,color-mix(in srgb,#ff3b30 calc(var(--strain) * 100%),#f4b544));border-color:color-mix(in srgb,#ff3b30 calc(var(--strain) * 100%),#f4b544);color:#2b1d05;transform:scale(.9);box-shadow:0 0 0 7px color-mix(in srgb,#ff3b3033 calc(var(--strain) * 100%),#f4b5442e),var(--glass-shadow)}.rails.playing .speedometer{right:auto;left:calc(50% + 7px);bottom:calc(52px + env(safe-area-inset-bottom));width:84px;height:84px;z-index:3}.rails .boost-gauge{left:auto;right:calc(50% + 7px);bottom:calc(63px + env(safe-area-inset-bottom));width:62px;height:62px;z-index:3}.rails .speed-readout strong{font-size:26px}.rails .boost-flame{width:30px;height:30px}.rails .hit-note{bottom:calc(178px + env(safe-area-inset-bottom))}@media(max-width:380px){.steer-button{width:53px;height:53px}.steer-zone.left .steer-button,.steer-zone.left .steer-lesson{left:16px}.steer-zone.right .steer-button,.steer-zone.right .steer-lesson{right:16px}.steer-lesson{bottom:calc(116px + env(safe-area-inset-bottom));min-width:53px;padding-inline:5px;font-size:10px}}@media(prefers-reduced-motion:reduce){.steer-button{transition:none}.steer-lesson{animation:none}}.big-note{position:absolute;left:50%;top:40%;translate:-50% -50%;z-index:6;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;white-space:nowrap;animation:big-note-out .3s cubic-bezier(.5,0,.75,0) 1.2s forwards}.big-note strong{position:relative;display:block;font-size:clamp(40px,7.5vw,92px);font-weight:900;letter-spacing:.03em;line-height:1;color:#fff}.big-note strong span{display:inline-block}.big-note b{padding:6px 18px;border-radius:40px;font-size:clamp(20px,2.6vw,30px);font-weight:900;font-variant-numeric:tabular-nums;animation:big-points .55s cubic-bezier(.3,1.7,.5,1) both;animation-delay:calc(var(--i) * 55ms + .12s)}.big-note.smash strong{text-shadow:4px 0 0 #ff3b3bcc,-4px 0 0 #3bd5ffaa,0 10px 40px #0008;animation:big-shudder .5s linear .35s}.big-note.smash strong span{animation:letter-slam .5s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i) * 55ms)}.big-note.smash:before{content:"";position:absolute;left:50%;top:40%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:6px solid #ff4a3a;opacity:0;animation:shockwave .7s cubic-bezier(.2,.8,.3,1) .1s both}.big-note.smash b{background:#c94a33;color:#fff;box-shadow:0 8px 28px #c94a3388}.big-note.near strong{color:#f3f6f8;text-shadow:0 0 24px #ffffff55,0 10px 40px #0006}.big-note.near strong span{animation:letter-slam .5s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i) * 55ms)}.big-note.near:before{content:"";position:absolute;left:-30%;right:-30%;top:34%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#ffffffcc,transparent);opacity:0;animation:light-sweep .9s cubic-bezier(.2,.8,.3,1) .05s both}.big-note.near b{background:#3b3f44;color:#fff;box-shadow:0 8px 28px #0006}@keyframes letter-slam{0%{opacity:0;transform:translateY(-40px) scale(3.2) rotate(-14deg);filter:blur(8px)}55%{opacity:1;filter:blur(0)}75%{transform:translateY(4px) scale(.94) rotate(2deg)}to{opacity:1;transform:none}}@keyframes big-shudder{0%,to{transform:none}10%{transform:translate(-9px,3px) rotate(-1.5deg)}25%{transform:translate(8px,-3px) rotate(1.2deg)}40%{transform:translate(-6px,2px)}55%{transform:translate(5px,-1px)}70%{transform:translate(-3px)}85%{transform:translate(2px)}}@keyframes shockwave{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(2.6)}}@keyframes light-sweep{0%{opacity:0;transform:translate(-40%) scaleX(.3)}40%{opacity:1}to{opacity:0;transform:translate(40%) scaleX(1)}}@keyframes big-points{0%{opacity:0;transform:translateY(16px) scale(.4)}to{opacity:1;transform:none}}@keyframes big-note-out{to{opacity:0;transform:scale(.85);filter:blur(4px)}}@media(prefers-reduced-motion:reduce){.big-note,.big-note *{animation:none!important;opacity:1}.big-note:before{display:none}}.map-view .scene canvas{touch-action:none}.map-bar{position:absolute;left:50%;bottom:calc(36px + env(safe-area-inset-bottom));translate:-50% 0;z-index:5;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 20px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;white-space:nowrap;animation:note-pop .45s cubic-bezier(.3,1.6,.5,1) both}.map-hint{font-size:12px;font-weight:600;color:#ffffffb3}.map-back{display:flex;align-items:center;gap:8px;height:42px;padding:0 18px;border:0;border-radius:999px;background:var(--gold);color:#2b1d05;font-size:14px;font-weight:800;box-shadow:0 6px 20px #f4b54444,inset 0 1px #fff6;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}.map-back:hover{background:#ffc65e;transform:scale(1.04)}.map-key kbd{height:22px;min-width:22px;background:#ffffff1f;border:1px solid #ffffff33;border-bottom-width:1px;border-radius:6px;color:#fff;font-size:10px;font-weight:700}@media(pointer:coarse){.map-key{display:none}.map-bar{padding-right:8px}}@media(max-width:420px){.map-hint{display:none}.map-bar{padding-left:8px}}.app .intro-card .intro-controls{display:flex;width:fit-content;margin:0;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;font-size:12px;font-weight:600}.app .intro-card .intro-controls .key-cluster{gap:4px}.app .intro-card .intro-controls kbd{width:30px;height:30px;min-width:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#ffffff1f;border:1px solid #ffffff33;border-bottom-width:2px;border-radius:50%;color:#fff;font-size:11px;font-weight:700}.app .intro-card .intro-caption{display:flex;width:fit-content;margin:0;padding:6px 14px;border-radius:40px;background:#18232b8c;border:1px solid var(--glass-line);color:#ffffffd9;font-size:11px;font-weight:600;letter-spacing:.2px}.big-scores{display:flex;align-items:center;gap:8px}.big-note.boost{top:32%;animation:big-note-out .25s cubic-bezier(.5,0,.75,0) .85s forwards}.big-note.boost strong{filter:drop-shadow(0 6px 0 #7a2a0a) drop-shadow(0 12px 30px #ff7a2e88);animation:big-shudder .4s linear .25s}.big-note.boost strong span{background:linear-gradient(180deg,#fff6c8,#ffc34a 45%,#ff7a2e);-webkit-background-clip:text;background-clip:text;color:transparent;animation:letter-slam .38s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i) * 30ms)}.big-note.boost:before{content:"";position:absolute;left:50%;top:40%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:7px solid #ffb347;opacity:0;animation:shockwave .55s cubic-bezier(.2,.8,.3,1) .05s both}.big-note.boost b{background:#e07a3c;color:#fff;box-shadow:0 8px 28px #e07a3c88;animation-delay:calc(var(--i) * 30ms + 80ms)}.boost-flash{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,#fff8e0,#ffb34766 40%,#ff7a2e00 75%);mix-blend-mode:screen;animation:boost-flash .32s ease-out forwards}@keyframes boost-flash{0%{opacity:.85}to{opacity:0}}@media(prefers-reduced-motion:reduce){.boost-flash{display:none}}.topbar-left{display:flex;align-items:center;gap:10px}.home-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}.home-button:hover{background:#24323be6;transform:translateY(-2px) scale(1.06)}@media(max-width:600px){.home-button{width:34px;height:34px}.home-button svg{width:16px;height:16px}.topbar-left{gap:6px}}.intro-level{display:flex;width:fit-content;align-items:center;gap:9px;padding:5px 14px 5px 5px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;font-size:12px}.intro-level .level-number{width:28px;height:28px;font-size:13px}.intro-level strong{font-weight:700}.intro-welcome{padding-left:9px;border-left:1px solid #ffffff33;color:#ffffffa6;font-weight:600}.intro-card h1 .ch.dot,.night .intro-card h1 .ch.dot{color:#e07a3c}.app .intro-card .start-button{display:inline-flex;width:auto;max-width:100%;min-height:62px;gap:18px;padding:0 8px 0 30px;justify-content:space-between;background:var(--gold)!important;border-color:var(--gold)!important;color:#2b1d05!important;font-size:19px;font-weight:800;box-shadow:0 10px 28px #f4b54455,inset 0 1px #fff7!important}.app .intro-card .start-button:hover{background:#ffc65e!important;transform:scale(1.03)}.start-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#1a252d;color:#fff;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.app .intro-card .start-button svg{color:#fff!important}.start-button:hover .start-arrow{transform:translate(4px)}.intro-hints{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}@media(max-width:600px){.intro-level{margin:0 auto}.app .intro-card .start-button{display:inline-flex;width:auto;justify-content:space-between;gap:22px;padding:0 8px 0 30px}.intro-hints{justify-content:center}}@media(pointer:coarse),(max-width:600px){.app .intro-card .intro-hints{display:none}}.topbar .brand{gap:10px;height:46px;padding:0 18px 0 5px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff}.topbar .brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffffff14;box-shadow:inset 0 1px #ffffff1f}.topbar .brand .logo-mark{filter:none}.topbar .brand>div{display:flex;align-items:center;gap:10px}.topbar .brand strong,.night .topbar .brand strong{font-size:20px;font-weight:900;letter-spacing:-.6px;line-height:1;color:#fff}.topbar .brand strong span{color:#e07a3c}.topbar .brand small{margin:0;padding-left:10px;border-left:1px solid #ffffff33;font-size:11px;font-weight:600;letter-spacing:.3px;color:#ffffffa6}@media(max-width:600px){.topbar .brand>div{display:none}.topbar .brand{height:40px;padding:0 3px;width:40px;justify-content:center}.topbar .brand-mark{width:34px;height:34px}}:root{view-transition-name:none}.topbar .brand-mark,.home-button{view-transition-name:header-circle}.topbar .brand,.level-badge{view-transition-name:header-pill}.score-pill{view-transition-name:header-score}::view-transition-group(*){animation-duration:.55s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(*),::view-transition-new(*){animation-duration:.32s;animation-timing-function:ease}::view-transition-group(header-circle),::view-transition-group(header-pill){overflow:hidden;background:var(--glass);box-shadow:var(--glass-shadow)}::view-transition-group(header-circle){border-radius:50%}::view-transition-group(header-pill){border-radius:40px;animation-delay:.04s}::view-transition-old(header-circle),::view-transition-new(header-circle),::view-transition-old(header-pill),::view-transition-new(header-pill){height:100%;width:auto;object-fit:none;object-position:left center}::view-transition-old(header-circle),::view-transition-old(header-pill){animation:header-fade-out .18s ease-out both}::view-transition-new(header-circle),::view-transition-new(header-pill){animation:header-fade-in .3s ease-out .14s both}@keyframes header-fade-out{to{opacity:0}}@keyframes header-fade-in{0%{opacity:0}}::view-transition-new(*):only-child{animation:header-in .5s cubic-bezier(.3,1.5,.5,1) both}::view-transition-old(*):only-child{animation:header-out .28s cubic-bezier(.5,0,.75,0) both}@keyframes header-in{0%{opacity:0;transform:scale(.5) translateY(-6px)}}@keyframes header-out{to{opacity:0;transform:scale(.6) translateY(-4px)}}.topbar .level-badge{animation:none}.topbar.header-exiting>*{opacity:0;pointer-events:none;transition:opacity .14s ease-out}.topbar.header-entering>*{animation:header-controls-in .22s ease-out both}@keyframes header-controls-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.topbar.header-exiting>*,.topbar.header-entering>*{opacity:1;animation:none;transition:none}}.big-note.near-cine{top:30%;animation:big-note-out .3s cubic-bezier(.5,0,.75,0) 1.2s forwards}.big-note.near-cine strong{transform:skew(-12deg);filter:drop-shadow(0 6px 0 #3b1660) drop-shadow(0 12px 32px #c04bd988)}.big-note.near-cine strong span{background:linear-gradient(180deg,#ffe3fa,#ff8fd8 45%,#9b5cff);-webkit-background-clip:text;background-clip:text;color:transparent;animation:letter-slam .5s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i) * 55ms)}.big-note.near-cine:before{content:"";position:absolute;left:-35%;right:-35%;top:44%;height:5px;border-radius:5px;background:linear-gradient(90deg,transparent,#ff8fd8cc,#9b5cffcc,transparent);opacity:0;transform:skew(-12deg);animation:light-sweep 1.1s cubic-bezier(.2,.8,.3,1) .05s both}.hit-note.newBest{--note:#d69b2d;--note-glow:#f4b54488;font-size:15px;padding:10px 16px 10px 20px;animation:note-slam .35s cubic-bezier(.2,.9,.3,1) both,note-throb .6s ease-in-out .35s 2,note-out .4s ease-in 2.6s forwards}.hit-note.newBest b{background:#fff;color:#8a5a12}.hearts{display:flex;gap:3px;margin-right:4px;padding-right:10px;border-right:1px solid #ffffff26}.hearts svg{width:15px;height:15px;transition:color .3s,fill .3s}.hearts .full{color:#ff6b5e;fill:#ff6b5e;filter:drop-shadow(0 0 4px #ff6b5e66)}.hearts .lost{color:#ffffff40;fill:none;animation:heart-break .6s cubic-bezier(.3,1.6,.5,1)}@keyframes heart-break{0%{transform:scale(1.5) rotate(-12deg);color:#ff6b5e}30%{transform:translate(-3px) rotate(10deg)}55%{transform:translate(3px) rotate(-6deg)}to{transform:none}}@media(max-width:600px){.score-pill>span:not(.hearts):not(.score-float){display:none}.hearts svg{width:13px;height:13px}}.hit-note.stage{--note:#2b8a8f;--note-glow:#2b8a8f66;animation:note-slam .35s cubic-bezier(.2,.9,.3,1) both,note-out .4s ease-in 2.6s forwards}.hit-note.stage b{background:#fff;color:#1f5f63}.run-over{width:460px;max-height:calc(100svh - 44px);overflow-y:auto;overscroll-behavior:contain;padding:34px 30px 26px;text-align:center}.run-over .eyebrow{justify-content:center}.run-over-actions{display:flex;flex-direction:column;gap:18px;margin-top:20px;padding-top:4px}.run-over .run-over-actions>button{flex:none;width:100%;min-height:52px}.run-over-actions>button:focus-visible{outline-width:2px;outline-offset:3px}.pause-modal>.pause-garage{width:100%;margin-top:20px}.run-score{margin:6px 0 4px!important;font-size:64px!important;font-weight:900;letter-spacing:-2px!important;color:var(--gold)!important;font-variant-numeric:tabular-nums;animation:points-pop .6s cubic-bezier(.3,1.7,.5,1) .1s both}.run-best{display:inline-block;align-self:center;width:max-content;margin-bottom:6px;padding:4px 12px;border-radius:20px;background:var(--gold);color:#2b1d05;font-size:12px;font-weight:800;animation:note-throb .6s ease-in-out .5s 2}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 18px;text-align:left}.run-stats>div{padding:10px 12px;border-radius:14px;background:#ffffff0f;border:1px solid #ffffff14}.run-stats small{display:block;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#ffffff8c}.run-stats b{display:block;margin-top:3px;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.run-name{text-align:left}.run-name label{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--gold)}.run-name-row{display:flex;gap:8px}.run-name input{flex:1;min-width:0;height:52px;padding:0 18px;border-radius:999px;border:1px solid #ffffff33;background:#ffffff14;color:#fff;font:inherit;font-size:16px;font-weight:600;outline:none}.run-name input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #f4b54433}.run-name .primary{width:auto!important;padding:0 26px}.board{list-style:none;margin:0 0 16px;padding:0;text-align:left;max-height:260px;overflow:auto}.board li{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;font-size:13px;font-weight:600}.board li:nth-child(odd){background:#ffffff08}.board li.mine{background:var(--gold);color:#2b1d05;animation:points-pop .5s cubic-bezier(.3,1.7,.5,1) both}.board-rank{font-weight:800;opacity:.6}.board-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-score{font-weight:800;font-variant-numeric:tabular-nums}@media(max-width:600px){.run-over{padding:26px 16px 18px}.run-score{font-size:48px!important}.run-stats b{font-size:14px}.run-over .podium-rest li{min-height:44px;margin-bottom:3px;padding:4px 10px;gap:8px}.run-over .podium-rest .board-rank{width:24px;height:24px;font-size:11px}.run-over .podium-rest .board-name strong{font-size:12px;line-height:1.15}.run-over .podium-rest .board-name small{font-size:10px;line-height:1.1}}.hearts-bar{position:absolute;left:50%;top:calc(100% - 4px);translate:-50% 0;display:flex;gap:7px;padding:7px 14px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);pointer-events:none}.heart-icon{width:24px;height:24px;overflow:visible}.heart-icon .heart-body{fill:#ff4f45;stroke:#ff8a7a;stroke-width:.8;transition:fill .3s}.heart-icon .heart-shine{fill:none;stroke:#ffffffb3;stroke-width:1.6;stroke-linecap:round}.hearts-bar .full{filter:drop-shadow(0 0 5px #ff4f4588);animation:heart-beat 1.6s ease-in-out infinite}.hearts-bar .full:nth-child(2){animation-delay:.12s}.hearts-bar .full:nth-child(3){animation-delay:.24s}.hearts-bar .full:nth-child(4){animation-delay:.36s}.hearts-bar .full:nth-child(5){animation-delay:.48s}.hearts-bar.last .full{animation-duration:.7s;filter:drop-shadow(0 0 10px #ff4f45)}.hearts-bar .lost .heart-body{fill:none;stroke:#ffffff47;stroke-width:1.5}.hearts-bar .lost .heart-shine{display:none}.hearts-bar .breaking{animation:heart-shatter .9s cubic-bezier(.3,1.4,.5,1) forwards}.hearts-bar.hit{animation:hearts-flinch .45s ease-out}@keyframes heart-beat{0%,60%,to{transform:scale(1)}15%{transform:scale(1.16)}30%{transform:scale(.98)}45%{transform:scale(1.08)}}@keyframes heart-shatter{0%{transform:scale(1)}20%{transform:scale(1.7);filter:brightness(2.2) drop-shadow(0 0 12px #fff)}to{transform:translateY(26px) rotate(28deg) scale(.6);opacity:0}}@keyframes hearts-flinch{0%,to{transform:none}20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}@media(max-width:600px){.hearts-bar{top:calc(100% + 34px);gap:5px;padding:5px 10px}.heart-icon{width:18px;height:18px}}.heart-break{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;padding-top:50vh;pointer-events:none}.heart-break-pulse{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 45%,#ff2a2a66 100%);animation:heart-pulse 1s ease-out forwards}.heart-break-heart{position:relative;width:130px;height:130px;animation:heart-pop .32s cubic-bezier(.3,1.7,.5,1) both}.heart-break-heart .heart-icon{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 30px #ff2a2a88)}.heart-break-heart .half.left{clip-path:polygon(0 0,53% 0,46% 28%,56% 48%,44% 68%,51% 100%,0 100%);animation:half-left .8s cubic-bezier(.55,0,.8,.4) .5s forwards}.heart-break-heart .half.right{clip-path:polygon(53% 0,100% 0,100% 100%,51% 100%,44% 68%,56% 48%,46% 28%);animation:half-right .8s cubic-bezier(.55,0,.8,.4) .5s forwards}.heart-break strong{margin-top:6px;font-size:clamp(24px,3.2vw,38px);font-weight:900;letter-spacing:.08em;color:#fff;text-shadow:0 0 18px #ff2a2a,0 6px 22px #0008;animation:heart-words 1.6s cubic-bezier(.2,.9,.3,1) .15s both}@keyframes heart-pulse{0%{opacity:0}20%{opacity:1}to{opacity:0}}@keyframes heart-pop{0%{transform:scale(.2);opacity:0}to{transform:none;opacity:1}}@keyframes half-left{0%{transform:none}15%{transform:translate(-6px) rotate(-4deg)}to{transform:translate(-46px,70px) rotate(-32deg);opacity:0}}@keyframes half-right{0%{transform:none}15%{transform:translate(6px) rotate(4deg)}to{transform:translate(46px,70px) rotate(32deg);opacity:0}}@keyframes heart-words{0%{opacity:0;transform:translateY(14px) scale(.8)}18%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.hearts-bar .full,.hearts-bar.hit,.heart-break *,.heart-break-heart .half{animation:none!important}}.hud-center{position:absolute;left:50%;translate:-50% 0;display:flex;align-items:center;gap:10px;pointer-events:none}.hud-center .score-pill{position:relative;left:auto;translate:none}.hud-center .hearts-bar{position:static;translate:none;height:44px;align-items:center;padding:0 14px}@media(max-width:600px){.hud-center{top:calc(100% - 6px);gap:6px}.hud-center .score-pill{top:auto}.hud-center .hearts-bar{height:36px;padding:0 10px}}.score-value{display:inline-block}.score-value.small{animation:score-nudge .3s ease-out}.score-value.mid{animation:score-pop .45s cubic-bezier(.3,1.8,.5,1)}.score-value.big{animation:score-pop-big .7s cubic-bezier(.3,1.8,.5,1)}.score-value.huge{animation:score-pop-huge 1s cubic-bezier(.3,1.8,.5,1)}.score-value.loss{animation:score-loss .5s ease-out}@keyframes score-nudge{40%{transform:translateY(-2px)}}@keyframes score-pop{30%{transform:scale(1.25)}}@keyframes score-pop-big{25%{transform:scale(1.5);text-shadow:0 0 14px #f4b544,0 0 28px #f4b54488}60%{transform:scale(.95)}}@keyframes score-pop-huge{20%{transform:scale(1.9) rotate(-4deg);text-shadow:0 0 18px #fff,0 0 36px #f4b544}45%{transform:scale(.9) rotate(2deg)}70%{transform:scale(1.08);text-shadow:0 0 14px #f4b544}}@keyframes score-loss{0%,to{transform:none}15%{transform:translate(-5px);color:#ff6b5e}35%{transform:translate(4px);color:#ff6b5e}55%{transform:translate(-3px)}}.score-float{position:absolute;left:50%;top:100%;translate:-50% 0;padding:2px 10px;border-radius:20px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;animation:score-float 1s cubic-bezier(.2,.9,.3,1) forwards}.score-float.small{font-size:12px;color:var(--gold);animation-duration:.7s}.score-float.mid{font-size:15px;background:var(--gold);color:#2b1d05}.score-float.big{font-size:20px;background:var(--gold);color:#2b1d05;box-shadow:0 6px 20px #f4b54466;animation-duration:1.2s}.score-float.huge{font-size:26px;background:linear-gradient(180deg,#fff2b8,#f4b544);color:#2b1d05;box-shadow:0 8px 28px #f4b54488;animation-duration:1.5s}.score-float.loss{font-size:14px;background:#c94a33;color:#fff}@keyframes score-float{0%{opacity:0;transform:translateY(-6px) scale(.6)}20%{opacity:1;transform:translateY(6px) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translateY(22px) scale(.95)}}@media(prefers-reduced-motion:reduce){.score-value,.score-float{animation:none!important}}.leaderboard{width:440px}.leaderboard{height:min(760px,calc(100svh - 32px));display:flex;flex-direction:column;animation:leaderboard-open .42s cubic-bezier(.22,.8,.26,1) both}.leaderboard-shade{animation:leaderboard-shade-in .3s ease both}.leaderboard .podium-board{min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -10px;padding:0 10px 12px;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}@keyframes leaderboard-open{0%{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes leaderboard-shade-in{0%{opacity:0}to{opacity:1}}.leaderboard .eyebrow{display:flex;align-items:center;gap:6px}.leaderboard>.eyebrow,.leaderboard>.board-tabs{align-self:center}.leaderboard>.eyebrow{justify-content:center}.leaderboard h2{margin:0 0 18px;font-size:32px;line-height:1.05}.leaderboard>h2{text-align:center}.leaderboard h2 span{display:block;margin-top:9px;color:#ffffff91;font-size:12px;font-weight:500;letter-spacing:.1px;line-height:1.4}.leaderboard .board{max-height:min(420px,60vh);margin:0}.board-name small{display:block;margin-top:1px;font-size:10px;font-weight:600;color:#ffffff73}.board li.medal-1 .board-rank,.board li.medal-2 .board-rank,.board li.medal-3 .board-rank{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;opacity:1;color:#2b1d05;font-size:12px}.board li.medal-1 .board-rank{background:var(--gold)}.board li.medal-2 .board-rank{background:#d9dde2}.board li.medal-3 .board-rank{background:#d9925a}.board li.medal-1 .board-score{color:var(--gold)}.board-empty{margin:4px 0 6px!important;font-size:14px!important;line-height:1.6!important;color:#ffffffb3!important}.steer-zone{-webkit-tap-highlight-color:transparent}.score-level{display:none!important}@media(max-width:600px){.topbar-left .level-badge{display:none}.score-pill .score-level{display:grid!important;width:24px;height:24px;font-size:11px;margin-left:-6px}}@media(max-width:600px){.hud-center{top:50%;translate:-50% -50%;gap:5px}.hud-center .score-pill{height:34px;padding:0 10px 0 6px;gap:6px}.hud-center .score-pill b{font-size:15px}.hud-center .hearts-bar{height:34px;padding:0 8px;gap:3px}.hud-center .heart-icon{width:14px;height:14px}.score-pill .score-level{width:22px;height:22px;margin-left:0}}@media(max-width:600px){.home-button,.topbar .toolbar button{width:39px;height:39px}.home-button svg,.topbar .toolbar button svg{width:18px;height:18px}.hud-center{gap:6px}.hud-center .score-pill{height:39px;padding:0 12px 0 7px;gap:7px}.hud-center .score-pill b{font-size:17px}.score-pill .score-level{width:25px;height:25px;font-size:12px}.hud-center .hearts-bar{height:39px;padding:0 9px;gap:4px}.hud-center .heart-icon{width:16px;height:16px}}@media(max-width:600px){.playing .topbar{padding:14px 16px;gap:10px}.playing .topbar .toolbar{gap:10px}.playing .hud-center{position:static;translate:none;flex:1;min-width:0;gap:10px}.home-button,.topbar .toolbar button{width:44px;height:44px}.home-button svg,.topbar .toolbar button svg{width:20px;height:20px}.hud-center .score-pill{flex:1;min-width:0;justify-content:center;height:44px;padding:0 12px 0 8px;gap:8px}.hud-center .score-pill b{font-size:20px}.score-pill .score-level{width:28px;height:28px;font-size:13px}.hud-center .hearts-bar{flex:1;justify-content:space-evenly;height:44px;padding:0 10px;gap:2px}.hud-center .heart-icon{width:19px;height:19px}}@media(max-width:600px){.hud-center .score-pill{padding:0 20px 0 8px}}@media(max-width:600px){.score-pill .score-level{flex:none;width:auto;min-width:28px;height:28px;padding:0 5px;border-radius:999px}.hud-center .hearts-bar{padding:0 14px}.hud-center .heart-icon{width:17px;height:17px}}@media(max-width:600px){.hud-center .score-pill{padding:0 26px 0 8px}}.steer-button{transition:transform .28s cubic-bezier(.3,1.8,.5,1),background .15s,color .15s,box-shadow .25s}.steer-button svg{transition:transform .22s cubic-bezier(.3,1.8,.5,1)}.steer-zone.held .steer-button{transform:scale(1.14);box-shadow:0 0 0 9px #f4b54433,0 10px 30px #f4b54466,var(--glass-shadow)}.steer-zone.left.held .steer-button svg{transform:translate(-4px)}.steer-zone.right.held .steer-button svg{transform:translate(4px)}.steer-ripple{position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--gold);pointer-events:none;animation:steer-ripple .85s cubic-bezier(.2,.7,.4,1) forwards}.steer-face{display:grid;place-items:center;animation:steer-tap .34s cubic-bezier(.3,1.8,.5,1)}@keyframes steer-tap{0%{transform:scale(.8)}45%{transform:scale(1.14)}to{transform:none}}@keyframes steer-ripple{0%{inset:-3px;border-width:3px;opacity:.9}to{inset:calc(var(--reach,94px) * -1);border-width:.5px;opacity:0}}@media(prefers-reduced-motion:reduce){.steer-button,.steer-button svg{transition:none}.steer-ripple{display:none}.steer-face{animation:none}}.steer-button svg{width:25px;height:25px}@media(max-width:600px){.playing .hud-center .score-pill{flex:0 0 auto;width:max-content;min-width:0;padding:7px 12px 7px 7px;justify-content:center}.hud-center .hearts-bar{flex:none;height:44px;padding:0 10px;gap:5px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow)}.hud-center .hearts-bar .heart-icon{width:20px;height:20px;filter:drop-shadow(0 2px 4px #0b161a66)}.hud-center .hearts-bar .full{filter:drop-shadow(0 0 5px #ff4f4588) drop-shadow(0 2px 4px #0b161a66)}.hud-center .hearts-bar .lost .heart-body{stroke:#fff9}}.tilt-toast{z-index:30}.rails .boost-gauge{right:auto;left:calc(50% + 7px)}.rails.playing .speedometer{left:auto;right:calc(50% + 7px)}.steer-zone{--strain:0}.steer-zone.held .steer-button{box-shadow:0 0 0 calc(9px + var(--strain) * 12px) color-mix(in srgb,#ff3b3033 calc(var(--strain) * 100%),#f4b54433),0 10px calc(30px + var(--strain) * 34px) color-mix(in srgb,#ff3b30aa calc(var(--strain) * 100%),#f4b544aa),var(--glass-shadow);animation:steer-strain .08s linear infinite}@keyframes steer-strain{0%,to{translate:0 0}25%{translate:calc(var(--strain) * -2.6px) calc(var(--strain) * 1px)}50%{translate:calc(var(--strain) * 2px) calc(var(--strain) * -1.4px)}75%{translate:calc(var(--strain) * -1.4px) calc(var(--strain) * -.6px)}}@media(prefers-reduced-motion:reduce){.steer-zone.held .steer-button{animation:none}}.podium-board{margin:4px 0 16px}.podium-arena{position:relative;isolation:isolate;overflow:hidden;margin-bottom:15px;padding:21px 10px 12px;border:1px solid #ffffff12;border-radius:22px;background:radial-gradient(ellipse at 50% 16%,#f4b54424,transparent 49%),linear-gradient(180deg,#263843a8,#17232b66)}.podium-arena{overflow:visible;padding:0;border:0;border-radius:0;background:none}.podium-arena:before,.podium-arena:after{display:none}.podium-arena:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.36;background:repeating-linear-gradient(90deg,transparent 0 calc(50% - 1px),#ffffff10 calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px) 100%),linear-gradient(180deg,transparent 67%,#ffffff0a 100%);pointer-events:none}.podium-arena:after{content:"";position:absolute;left:12%;right:12%;bottom:4px;height:20px;border-radius:50%;background:#050c1099;filter:blur(12px);z-index:-1}.podium{display:grid;grid-template-columns:1fr 1.14fr 1fr;align-items:end;gap:7px}.podium-place{--medal:#d9dde2;--medal-wash:#d9dde225;min-width:0;animation:podium-rise .55s cubic-bezier(.3,1.5,.5,1) both}.podium-place.p1{--medal:#f4b544;--medal-wash:#f4b54438;animation-delay:.12s}.podium-place.p2{animation-delay:.04s}.podium-place.p3{--medal:#e6a273;--medal-wash:#e6a2732b;animation-delay:.2s}.podium-block{display:flex;flex-direction:column;min-width:0;min-height:128px;padding:8px 9px 5px;border:1px solid color-mix(in srgb,var(--medal) 43%,transparent);border-top:4px solid var(--medal);border-radius:15px;background:linear-gradient(180deg,var(--medal-wash),#203039d9 42%,#18262ed9);box-shadow:inset 0 1px #ffffff23,0 12px 28px #050c104d}.p1 .podium-block{min-height:134px;padding:9px 10px 6px;box-shadow:inset 0 1px #fff6c147,0 0 29px #f4b54420,0 16px 32px #050c1066}.podium-top{display:flex;align-items:center;justify-content:space-between;height:29px}.podium-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--medal);color:#1a252d;font-size:13px;font-weight:900;letter-spacing:-.5px}.p1 .podium-rank{width:34px;height:34px;font-size:15px;box-shadow:0 4px 14px #f4b54455}.podium-crown{width:26px;height:26px;color:var(--gold);fill:var(--gold);filter:drop-shadow(0 0 8px #f4b54488);animation:crown-bob 2.4s ease-in-out infinite}.podium-name{display:flex;align-items:center;gap:6px;width:100%;min-height:16px;margin:7px 0 4px;overflow:hidden;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.25}.podium-name-text,.board-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-you{flex:none;padding:2px 5px;border:1px solid #f4b5446b;border-radius:999px;background:#f4b54422;color:var(--gold);font-size:7px;font-style:normal;font-weight:800;line-height:1.2;letter-spacing:.6px}.p1 .podium-name{font-size:15px}.podium-points{display:flex;align-items:center;gap:5px;min-width:0;margin-bottom:0;color:var(--medal)}.podium-score{display:block;overflow:hidden;text-overflow:ellipsis;font-size:22px;font-weight:900;line-height:1.14;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:var(--medal)}.p1 .podium-score{font-size:26px;letter-spacing:-1px}.podium-stats{display:flex;align-items:center;justify-content:space-between;gap:2px;margin-top:4px;padding-top:7px;border-top:1px solid #ffffff27}.podium-stats>div{display:flex;align-items:center;gap:2px;min-width:0}.podium-stats svg{flex:none;width:9px;height:9px;color:#ffffff8c}.podium-stats b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:800;line-height:1.35;font-variant-numeric:tabular-nums;letter-spacing:-.2px}.p1 .podium-stats b{font-size:8px}.podium-place.empty .podium-block{border-color:#ffffff1c;border-top-color:#ffffff38;background:linear-gradient(180deg,#fff1,#ffffff05)}.podium-place.empty .podium-rank{background:#ffffff30;color:#ffffff8c}.podium-place.empty .podium-name{opacity:.4}.podium-crown.waiting{opacity:.2}.skeleton-line{display:block;overflow:hidden;border-radius:999px;background:linear-gradient(100deg,#ffffff10 20%,#ffffff24,#ffffff10 64%);background-size:220% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-name{width:52px;height:8px}.skeleton-score{width:26px;height:11px}.p1 .skeleton-score{width:34px;height:14px}.podium-rest .skeleton-score{width:30px;height:10px}@keyframes skeleton-shimmer{to{background-position-x:-220%}}.podium-place.mine .podium-block{background:linear-gradient(180deg,#f4b54466,#f4b5441a);box-shadow:0 0 0 2px var(--gold),0 0 26px #f4b54466;animation:mine-glow 1.6s ease-in-out infinite}.podium-place.mine .podium-name{color:var(--gold)}.podium-rest-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 7px;color:#ffffff80;font-size:9px;font-weight:800;letter-spacing:1.7px}.podium-rest-heading span:last-child{font-variant-numeric:tabular-nums;letter-spacing:1px}.podium-rest{list-style:none;margin:0;padding:0;text-align:left}.podium-rest li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:54px;margin-bottom:5px;padding:7px 12px;border:1px solid #ffffff0d;border-radius:13px;background:#ffffff07;font-size:13px;font-weight:600}.podium-rest li:nth-child(odd){background:#ffffff0c}.podium-rest .board-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fff1;color:#ffffffa6;opacity:1;font-size:12px}.podium-rest .board-name strong{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;font-size:13px;font-weight:700}.podium-rest .board-name small{font-weight:500;color:#ffffff70}.podium-rest .board-name small i{margin:0 2px;font-style:normal;color:#fff6}.podium-rest .board-score{font-size:14px;font-weight:700;letter-spacing:-.2px}.podium-rest li.empty{opacity:.35}.podium-rest li.mine{background:linear-gradient(100deg,#f4b54423,#ffffff08);border-color:#f4b54477;color:#fff}.podium-rest li.mine .board-you{background:#f4b544;color:#2b1d05}.podium-rest li.mine small{color:#ffffffa6}.podium-rest li.mine .board-rank{background:var(--gold);color:#2b1d05}.podium-rest li.mine .board-score{color:var(--gold)}.podium-rest li.personal-outside-topten{margin-top:10px;border-color:#f4b54477;background:linear-gradient(100deg,#f4b54423,#ffffff08)}.podium-rest li.personal-outside-topten .board-rank{width:auto;min-width:34px;padding:0 5px;background:var(--gold);color:#2b1d05;font-size:9px;font-weight:900}@keyframes podium-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes crown-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes mine-glow{50%{box-shadow:0 0 0 2px var(--gold),0 0 40px #f4b544aa}}@media(prefers-reduced-motion:reduce){.podium-place,.podium-crown,.podium-place.mine .podium-block{animation:none}}@media(prefers-reduced-motion:reduce){.leaderboard,.leaderboard-shade,.skeleton-line{animation:none}}.steer-button svg{transition:transform .38s cubic-bezier(.22,1,.36,1)}.steer-zone.left.held .steer-button svg{transform:translate(-2px)}.steer-zone.right.held .steer-button svg{transform:translate(2px)}.steer-face{animation:steer-tap-soft .42s cubic-bezier(.22,1,.36,1)}@keyframes steer-tap-soft{0%{transform:scale(.92)}50%{transform:scale(1.05)}to{transform:none}}@keyframes steer-strain{0%,to{translate:0 0}25%{translate:calc(var(--strain) * -1.5px) calc(var(--strain) * .6px)}50%{translate:calc(var(--strain) * 1.2px) calc(var(--strain) * -.8px)}75%{translate:calc(var(--strain) * -.8px) calc(var(--strain) * -.4px)}}@media(prefers-reduced-motion:reduce){.steer-face{animation:none}}.letterbox{position:absolute;inset:0;z-index:7;pointer-events:none}.letterbox i{position:absolute;left:0;right:0;height:16vh;background:#05080b;animation:letterbox-in .9s cubic-bezier(.22,1,.36,1) both}.letterbox i:first-child{top:0;transform-origin:top}.letterbox i:last-child{bottom:0;transform-origin:bottom}@keyframes letterbox-in{0%{transform:scaleY(0)}}.finale .topbar,.finale .speedometer,.finale .boost-gauge,.finale .steer-pads,.finale .driving-actions,.finale .coach,.finale .hit-note,.finale .touch-controls{opacity:0;transition:opacity .6s ease;pointer-events:none}.run-over .run-stats{display:flex;gap:0;margin:8px 0 12px;padding:7px 4px;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff14;text-align:center}.run-over .run-stats>div{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:0 6px;border:0;border-radius:0;background:none}.run-over .run-stats>div+div{border-left:1px solid #ffffff1a}.run-over .run-stats svg{width:14px;height:14px;color:var(--gold);margin:0}.run-over .run-stats b{margin:0;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}.run-over .run-stats small{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#ffffff80}@media(max-width:600px){.run-over .run-stats b{font-size:14px}}@media(pointer:coarse),(max-width:600px){.modal-shade{padding:0;place-items:stretch}.modal{width:100%;height:100%;max-width:none;max-height:none;justify-self:stretch;border-radius:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(34px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom))}.modal>.close-button{position:fixed;top:calc(16px + env(safe-area-inset-top));right:16px;left:auto;width:44px;height:44px;border-radius:50%;z-index:2}.pause-modal{justify-content:center;padding-top:calc(32px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.leaderboard{height:100%;overflow:hidden;padding-top:calc(34px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.leaderboard .podium-board{flex:1}.run-over{padding:calc(28px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom))}}.app .intro-card .intro-controls{background:#1a252d6f}.intro-level{padding:4px 11px 4px 4px;gap:7px;font-size:9.6px}.intro-level .level-number{width:22.4px;height:22.4px;font-size:10.4px}.intro-welcome{padding-left:7px}.intro-level{background:#ffffff73;border:1px solid #ffffffb3;box-shadow:0 6px 20px #2b5a6626,inset 0 1px #fffc;color:#173e3c}.intro-level .level-number{box-shadow:inset 0 1px #fff6}.intro-welcome{border-left-color:#173e3c2e;color:#173e3cb3}.app .intro-card .intro-controls{background:#10191fea;border-color:#ffffff1a}.night .intro-level{background:#1a252d73;border-color:#ffffff1f;box-shadow:0 6px 20px #0006,inset 0 1px #ffffff14;color:#e9e2c9}.night .intro-welcome{border-left-color:#ffffff2e;color:#ffffff8c}.night .app .intro-card .intro-controls,.night .intro-card .intro-controls{background:#ffffff1a;border-color:#ffffff29}@media(pointer:coarse){.steer-button{bottom:calc(94px + env(safe-area-inset-bottom));width:clamp(110px,33.6vw,139px);height:clamp(110px,33.6vw,139px);background:#1a252d9e;border-color:#ffffff29;box-shadow:0 5px 18px #0b161a38,inset 0 1px #ffffff18}.steer-zone.left .steer-button,.steer-zone.left .steer-lesson{left:max(16px,4vw)}.steer-zone.right .steer-button,.steer-zone.right .steer-lesson{right:max(16px,4vw)}.steer-button svg{width:44px;height:44px}.steer-lesson{bottom:calc(168px + min(33.6vw,139px) + env(safe-area-inset-bottom));min-width:clamp(110px,33.6vw,139px);padding:9px 10px 4px;border-radius:14px;font-size:13px}.steer-zone.left .steer-lesson{animation-delay:-.48s}.steer-zone.right .steer-lesson{animation-delay:-1.08s}.rails.playing .speedometer{left:50%;right:auto;bottom:calc(34px + env(safe-area-inset-bottom));translate:-50% 0;width:90px;height:90px}.rails.playing .speed-readout strong{font-size:28px}.rails .boost-gauge{left:auto;right:calc(max(16px,4vw) + clamp(20px,4.4vw,31px));bottom:calc(132px + clamp(110px,33.6vw,139px) + env(safe-area-inset-bottom));width:70px;height:70px}.rails .boost-flame{width:36px;height:36px}}@media(pointer:coarse)and (max-width:600px){.steer-zone.left .steer-button{left:calc(0px - clamp(110px,29vw,155px))}.steer-zone.right .steer-button{right:calc(0px - clamp(110px,29vw,155px))}.steer-button{bottom:calc(55px + env(safe-area-inset-bottom));width:clamp(220px,58vw,310px);height:clamp(220px,58vw,310px)}.steer-button svg{width:52px;height:52px}.rails.playing .speedometer{width:clamp(118px,30vw,150px);height:clamp(118px,30vw,150px);bottom:calc(54px + env(safe-area-inset-bottom))}.rails.playing .speed-readout strong{font-size:clamp(30px,7vw,38px)}.rails .boost-gauge{right:16px;bottom:36vh;width:clamp(86px,22vw,112px);height:clamp(86px,22vw,112px);z-index:4;transition:width .65s cubic-bezier(.2,.8,.2,1),height .65s cubic-bezier(.2,.8,.2,1),bottom .65s cubic-bezier(.2,.8,.2,1),background .3s,opacity .3s,filter .3s}.rails .boost-gauge.charging,.rails .boost-gauge.burning{right:8px;width:48px;height:48px;bottom:36vh;background:#1a252dcc;pointer-events:none}.rails .boost-gauge.burning{background:#3a1a12e8;transform:none}.rails .boost-gauge.charging .boost-flame{opacity:0}.rails .boost-gauge.charging .boost-flame,.rails .boost-gauge.burning .boost-flame{width:25.5px;height:25.5px}.rails .boost-gauge.charging .boost-label{top:50%;left:50%;translate:-50% -50%;padding:0;border:0;background:none;box-shadow:none;font-size:14px;letter-spacing:0}.rails .boost-gauge.charging .boost-label-word{display:none}.rails .boost-gauge.ready .boost-flame{width:36px;height:36px}.rails .boost-gauge.burning .boost-label{top:calc(100% + 4px);font-size:9px;padding:2px 7px}.rails .boost-flame{width:42px;height:42px}.rails.playing .hit-note{top:calc(106px + env(safe-area-inset-top));bottom:auto;z-index:5}}.modal.pause-modal{display:flex;flex-direction:column;justify-content:center;background:#18232bb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal.run-over{display:flex;flex-direction:column;justify-content:center}.start-arrow{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.start-button:hover .start-arrow{transform:translate(4px);transition-delay:.1s}.mode-toggle{display:none}@media(pointer:coarse),(max-width:600px){.mode-toggle{display:grid;width:44px;height:44px;padding:0;border-radius:50%;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.mode-toggle:active{transform:scale(.92)}.mode-toggle svg{width:20px;height:20px}.intro .mode-toggle{background:#ffffff8c;border-color:#ffffffb3;color:#173e3c;box-shadow:0 6px 18px #2b5a6626}.night .intro .mode-toggle{background:#1a252d8c;border-color:#ffffff1f;color:#e9e2c9;box-shadow:0 6px 18px #0006}}.intro .toolbar button{background:#ffffff73;border-color:#ffffffb3;color:#173e3c;box-shadow:0 6px 18px #2b5a6626}.night.intro .toolbar button{background:#1a252d73;border-color:#ffffff1f;color:#e9e2c9;box-shadow:0 6px 18px #0006}.intro .toolbar button:hover{background:#ffffff8c}.night.intro .toolbar button:hover{background:#1a252d8c}.sky-glow{display:none;position:absolute;inset:0;pointer-events:none;filter:blur(18px);opacity:calc(1 - var(--night-amount,0) * .7)}.intro .sky-glow{display:block}.sky-glow{background:radial-gradient(ellipse 22% 16% at 14% 10%,#ffc79a38,#ffc79a00),radial-gradient(ellipse 20% 14% at 88% 8%,#b9a6ff30,#b9a6ff00),radial-gradient(ellipse 26% 18% at 82% 90%,#9fe6c930,#9fe6c900),radial-gradient(ellipse 18% 14% at 8% 86%,#ffa9c82a,#ffa9c800)}.intro .toolbar button,.intro .mode-toggle{-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}.intro-card.exiting .rise:not(.intro-controls),.intro-card.exiting h1{opacity:0;transition:opacity .45s ease}.intro-card.exiting .intro-controls{opacity:1}.intro-card .keys-word{display:inline-block;max-width:12em;overflow:hidden;white-space:nowrap;vertical-align:middle}.intro-card.exiting .keys-word{max-width:0;opacity:0;margin-left:-10px;transition:max-width .6s cubic-bezier(.4,0,.2,1),opacity .35s ease,margin .6s cubic-bezier(.4,0,.2,1)}.intro-card.exiting .intro-controls{transition:padding .6s cubic-bezier(.4,0,.2,1),gap .6s cubic-bezier(.4,0,.2,1)}.intro-card.exiting .intro-controls{gap:4px;padding-right:10px}.intro .toolbar button,.night.intro .toolbar button,.intro .mode-toggle,.night .intro .mode-toggle{background:var(--glass);border-color:var(--glass-line);color:#fff;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.intro .toolbar button:hover,.night.intro .toolbar button:hover{background:#24323be6}.toolbar .mode-toggle{display:none}@media(pointer:coarse),(max-width:600px){.toolbar .mode-toggle{display:grid}}.board-tabs{display:inline-flex;align-self:flex-start;flex:none;width:max-content;gap:3px;margin:0 0 14px;padding:3px;border-radius:999px;background:#ffffff0f;border:1px solid #ffffff14}.board-tabs button{padding:6px 14px;border:0;border-radius:999px;background:none;color:#ffffffa6;font-size:12px;font-weight:700}.board-tabs button.on{background:var(--gold);color:#2b1d05}:root{--title-size:clamp(39px,6.27vw,99px)}@media(max-width:600px){.intro-card h1{font-size:min(10.8vw,52px)}}.intro-level{position:relative;top:-8px;padding:3.6px 10px 3.6px 3.6px;gap:6.3px;font-size:8.6px}.intro-level .level-number{width:20px;height:20px;font-size:9.4px}.topbar .brand{padding:0 20px}@media(max-width:600px){.topbar .brand>div{display:flex}.topbar .brand small{display:none}.topbar .brand{width:auto;padding:0 15px}.topbar .brand strong{font-size:17px}}.mobile-brand-menu{display:none;position:relative}.mobile-brand-trigger{appearance:none;font:inherit;text-align:left}.mobile-brand-actions{position:absolute;top:calc(100% + 8px);left:0;z-index:10;display:grid;min-width:194px;gap:4px;padding:7px;border:1px solid #ffffff2b;border-radius:14px;background:#18272fee;box-shadow:0 12px 32px #0c1b2380;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-brand-actions button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#f5efda;font-size:13px;font-weight:600;text-align:left}.mobile-brand-actions button:active{background:#ffffff1c}.mobile-brand-actions svg{flex:none;width:17px;height:17px;color:var(--gold)}@media(pointer:coarse),(max-width:600px){.topbar .brand-desktop{display:none}.topbar .mobile-brand-menu{display:block}}.gamepad-nav button:focus,.gamepad-nav a:focus,.gamepad-nav input:focus{outline:4px solid #f4b544!important;outline-offset:5px!important}.help-pad{margin:14px 0 2px;font-size:11px;letter-spacing:2px;text-transform:uppercase;opacity:.7}.day-look-choices{display:flex;gap:6px;margin:4px 0 10px}.day-look-choices button{flex:1;padding:8px 4px;border:1px solid #1e5954;border-radius:8px;background:transparent;color:#1e5954;font-weight:700;font-size:12px}.day-look-choices button.on{background:#1e5954;color:#fff8dd}.keys{display:inline-flex;align-items:center;gap:4px;direction:ltr;flex:none}.keys .glyph{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:8px;background:#ffffff1c;border:1px solid #ffffff40;border-bottom-width:3px;color:#fff;font:700 12px/1 var(--font-sans);letter-spacing:.2px;box-shadow:none;transition:background .15s,transform .15s,border-color .15s}.keys .glyph.wide{padding:0 9px}.keys .glyph.on{background:var(--gold);border-color:#c98c1d;color:#3a2a08;transform:translateY(1px)}.keys .glyph.pad{min-width:28px;padding:0;border-radius:50%;border-bottom-width:1px;font-size:12px}.keys .glyph.pad.wide,.keys .glyph.pad-lt,.keys .glyph.pad-rt,.keys .glyph.pad-ls{padding:0 8px;border-radius:9px;background:#0d1418;border-color:#ffffff38;font-size:11px}.keys .glyph.pad-a{background:#3fae49;border-color:#2d8a36}.keys .glyph.pad-b{background:#d9463b;border-color:#ad3229}.keys .glyph.pad-x{background:#2f7fd8;border-color:#2163ad}.keys .glyph.pad-y{background:#e3ad1c;border-color:#b8880f;color:#2a1f05}.keys .glyph.pad.on{box-shadow:0 0 0 3px var(--gold)}.keys.touch{font-weight:700;font-size:12px;color:var(--gold)}.coach{top:96px;gap:12px;min-height:54px;padding:8px 14px 8px 10px;border-radius:18px;background:#16212aee;border:1px solid #ffffff22;box-shadow:0 10px 30px #0b161a55,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;animation:coach-in .45s cubic-bezier(.3,1.5,.5,1) both}.coach-text{display:flex;flex-direction:column;gap:2px;line-height:1.15;text-align:left}.coach-text strong{font-size:15px;font-weight:700;letter-spacing:-.1px}.coach-text small{font-size:11.5px;font-weight:500;color:#ffffffa8}.coach.working{border-color:#f4b54488;box-shadow:0 10px 30px #0b161a55,0 0 0 3px #f4b5442a,inset 0 1px #ffffff1f}.coach.ticked{border-color:#2f9a6299;background:#16302aee}.coach-sides{display:flex;gap:5px;margin-left:2px}.coach-sides i{width:9px;height:9px;border-radius:50%;background:#ffffff2e;transition:background .2s,transform .2s}.coach-sides i.on{background:#2f9a62;transform:scale(1.15)}.coach-skip{margin:0 4px 0 6px;height:28px;padding:0 11px;flex:none;border-radius:20px;border:1px solid #ffffff2e;background:transparent;color:#ffffffb0;font-size:11px;font-weight:600}.coach-skip:hover{color:#fff;border-color:#fff6}.coach-fill{height:4px}.coach-fill span{display:block;height:100%;background:linear-gradient(90deg,#f4b544,#ff8a3d);transform-origin:left;transition:transform .2s}@keyframes coach-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}.coach-goal{position:absolute;top:96px;left:0;right:0;margin-inline:auto;width:min(380px,calc(100% - 28px));z-index:4;padding:16px 18px 14px;border-radius:20px;background:#16212af2;border:1px solid #ffffff24;box-shadow:0 16px 44px #0b161a66,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;animation:coach-in .5s cubic-bezier(.3,1.5,.5,1) both,coach-goal-out .5s ease-in 6s forwards;pointer-events:none}.coach-goal-title{display:block;font-size:11px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.coach-goal ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.coach-goal li{display:flex;align-items:center;gap:11px;font-size:13.5px;line-height:1.3;color:#ffffffd0}.coach-goal li b{color:#fff}.coach-goal li>svg{flex:none;width:30px;height:30px;padding:6px;border-radius:10px;background:#f4b5441f;color:var(--gold)}.coach-goal .heart-icon{flex:none;width:30px;height:30px;padding:6px;border-radius:10px;background:#e8584a26}@keyframes coach-goal-out{to{opacity:0;transform:translateY(-8px)}}.controls-dock{position:absolute;left:38px;bottom:44px;z-index:3;display:flex;gap:8px;animation:dock-in .5s cubic-bezier(.3,1.4,.5,1) .3s both,dock-rest .8s ease 9s forwards;transition:opacity .25s}.controls-dock:hover{opacity:1!important}.controls-dock>span{display:flex;align-items:center;gap:8px;height:38px;padding:0 13px 0 5px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff;font-size:12px;font-weight:600;letter-spacing:.2px}.controls-dock .keys .glyph{height:26px;min-width:26px;font-size:11px}@keyframes dock-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dock-rest{to{opacity:.42}}@media(max-width:900px){.controls-dock{left:18px;bottom:24px;gap:6px}.controls-dock>span{height:34px;font-size:11px}}.road-warning .keys .glyph{background:#3a2a0818;border-color:#3a2a0866;color:#3a2a08;height:24px;min-width:24px}.pause-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid #ffffff18}.pause-actions button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px 10px;border-radius:14px;border:1px solid #ffffff1c;background:#ffffff0d;color:#ffffffde;font-size:11.5px;font-weight:600;transition:background .2s,transform .2s}.pause-actions button:hover{background:#ffffff1c;transform:translateY(-1px)}.pause-actions svg{width:20px;height:20px;color:var(--gold)}.intro-howto{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.intro-howto>span{display:flex;align-items:center;gap:9px;height:44px;padding:0 15px 0 8px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff}.intro-howto small{font-size:12.5px;font-weight:600;letter-spacing:.1px;color:#fff}.intro-howto>span>svg{width:28px;height:28px;padding:5px;border-radius:50%;background:#f4b5442b;color:var(--gold)}.intro-howto .heart-icon{width:28px;height:28px;padding:5px;border-radius:50%;background:#e8584a2e}.howto-keys{display:flex;gap:6px}.intro-howto .keys .glyph{height:28px;min-width:28px}.intro-howto .keys.touch{padding-left:8px}@media(max-width:600px){.intro-howto{justify-content:center;gap:6px;margin-top:14px}.intro-howto>span{height:38px;padding:0 12px 0 6px}.intro-howto small{font-size:11px}.intro-howto>span:nth-child(n+2) small{display:none}.intro-howto>span:nth-child(n+2){padding:0 6px}}.help-how{list-style:none;margin:4px 0 18px;padding:0;display:grid;gap:10px}.help-how li{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.45}.help-how li>svg,.help-how .heart-icon{flex:none;width:30px;height:30px;padding:6px;border-radius:10px;background:#f4b5441f;color:var(--gold)}.help-how .heart-icon{background:#e8584a26}.help-tabs{display:flex;gap:6px;margin:6px 0 4px;padding:4px;border-radius:14px;background:#ffffff0f}.help-tabs button{flex:1;height:36px;border:0;border-radius:10px;background:transparent;color:#ffffffb0;font-weight:700;font-size:12.5px}.help-tabs button.on{background:var(--gold);color:#3a2a08}.help-rows{margin-bottom:18px}.help-rows .help-row{min-height:46px;margin:0;border-bottom:1px solid #ffffff12;font-size:13px}.big-note.near-cine b{background:linear-gradient(135deg,#a259ff,#7a3ee0);color:#fff;border:1px solid #ffffff55;box-shadow:0 8px 28px #7a3ee099,inset 0 1px #fff5;text-shadow:0 2px 0 #3b1660aa}.intro-howto{flex-wrap:nowrap;gap:6px;width:max-content;max-width:calc(100vw - 40px)}.intro-howto>span{height:40px;padding:0 13px 0 6px;gap:8px;white-space:nowrap}.intro-howto small{font-size:12px}@media(max-width:1180px){.intro-howto>span{height:36px;padding:0 10px 0 5px}.intro-howto small{font-size:11px}.intro-howto .keys .glyph{height:24px;min-width:24px;font-size:10.5px;padding:0 6px}.intro-howto>span>svg,.intro-howto .heart-icon{width:24px;height:24px}}@media(max-width:600px){.intro-howto{width:auto;justify-content:center;flex-wrap:wrap}}.combo-pill{position:relative;display:flex;align-items:center;height:44px;padding:0 14px;border-radius:40px;background:linear-gradient(135deg,#f4b544,#ff8a3d);color:#3a1c05;box-shadow:0 6px 22px #ff8a3d55,inset 0 1px #fff7;overflow:hidden;animation:combo-pop .45s cubic-bezier(.3,1.8,.5,1) both}.combo-pill b{font-size:20px;font-weight:900;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.combo-pill i{position:absolute;left:0;right:0;bottom:0;height:4px;background:#3a1c0555;transform-origin:left;animation:combo-drain linear both}@keyframes combo-pop{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes combo-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:600px){.combo-pill{height:36px;padding:0 10px}.combo-pill b{font-size:16px}}.curb-hint{position:absolute;left:50%;translate:-50% 0;top:calc(100% + 38px);z-index:3;display:flex;align-items:center;gap:8px;padding:8px 15px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#ffffffd8;font-size:12.5px;font-weight:600;white-space:nowrap;pointer-events:none;animation:coach-in .4s cubic-bezier(.3,1.5,.5,1) both}.party-button{display:flex;align-items:center;gap:9px;margin-top:12px;padding:10px 18px;border-radius:999px;border:1px solid #11111126;background:#fbf8ebcc;font-size:13px;font-weight:700;color:#173e3c;transition:transform .3s,background .2s}.party-button:hover{background:#fffdf4;transform:translateY(-1px)}.night .party-button{background:#1a252dcc;color:#f1e9cc;border-color:#ffffff26}.party-lobby{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#0b161a59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:party-in .35s ease-out}.party-card{position:relative;width:640px;max-width:100%;background:#f9f4e5;border-radius:18px;padding:30px 32px 28px;box-shadow:0 20px 90px #0b161a55;text-align:center}.party-card .eyebrow{justify-content:center;font-size:11px;letter-spacing:2px;font-weight:700;color:#8a6a3a}.party-card h2{font-size:30px;font-weight:900;letter-spacing:-1px;margin:10px 0 8px}.party-rules{font-size:13px;line-height:1.6;color:#5f6b5d;margin:0 auto 22px;max-width:470px}.party-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:0;background:#e8e5d5;display:grid;place-items:center}.party-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.party-slot{border-radius:14px;padding:16px 8px 13px;display:flex;flex-direction:column;align-items:center;gap:5px;border:2px dashed #c9c6b2;color:#8b907e}.party-slot strong{font-size:15px}.party-slot small{font-size:11px}.party-slot.joined{border:2px solid var(--player);background:color-mix(in srgb,var(--player) 14%,#fff);color:#173e3c;animation:party-pop .4s cubic-bezier(.3,1.6,.5,1)}.party-car{width:46px;height:24px;border-radius:9px 9px 6px 6px;background:#d8d5c4;position:relative;margin-bottom:4px}.party-car:before,.party-car:after{content:"";position:absolute;bottom:-5px;width:11px;height:11px;border-radius:50%;background:#2b2b2b}.party-car:before{left:6px}.party-car:after{right:6px}.party-slot.joined .party-car{background:var(--player)}.party-join{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-bottom:20px;font-size:12px;color:#5f6b5d}.party-join span{display:flex;align-items:center;gap:7px}.party-join kbd{font-size:12px;min-width:28px;height:28px}.party-go{width:100%;font-size:16px;gap:14px;border-radius:999px;min-height:56px}.party-go:disabled{cursor:default;opacity:.45}.party-go-keys{display:flex;gap:5px}.party-go-keys kbd{font-size:10px;height:22px}.party-board{position:absolute;top:24px;left:50%;translate:-50% 0;z-index:5;display:flex;gap:8px;pointer-events:none}.party-chip{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--glass,#1a252dde);box-shadow:var(--glass-shadow);color:#fff;font-size:14px;border:2px solid var(--player);transition:opacity .3s,transform .3s}.party-chip.leading{transform:scale(1.08)}.party-chip.out{opacity:.45;border-style:dashed}.party-chip em{font-style:normal;font-weight:900;font-size:11px;letter-spacing:1px;color:#ff8a73}.party-dot{width:12px;height:12px;border-radius:50%;background:var(--player)}.party-crown{width:16px;height:16px;color:var(--player);fill:var(--player)}.party-pips{display:flex;gap:3px}.party-pips b{width:7px;height:7px;border-radius:50%;background:#fff3}.party-pips b.won{background:var(--player);box-shadow:0 0 6px var(--player)}.party-banner{position:absolute;left:50%;top:38%;translate:-50% -50%;z-index:6;pointer-events:none;text-align:center;animation:party-slam .5s cubic-bezier(.2,1.6,.4,1) both}.party-banner strong{display:block;font-size:clamp(48px,9vw,120px);font-weight:900;letter-spacing:-2px;line-height:1;color:#fff;filter:drop-shadow(0 6px 0 #0b161a) drop-shadow(0 18px 40px #0007)}.party-banner.match strong{color:var(--player)}.party-banner.match{top:24%}.party-banner small{display:block;margin-top:10px;font-size:22px;font-weight:800;color:#fff;text-shadow:0 2px 8px #0009}.party-banner.count{animation:party-count .7s ease-out both}.party-final{position:absolute;left:0;right:0;top:56%;z-index:7;display:flex;justify-content:center}.party-final-buttons{display:flex;gap:12px}.party-final-buttons button{min-width:170px;min-height:54px;border-radius:999px;font-size:16px;gap:12px}.party-final .secondary{background:#f9f4e5;border:1px solid #fff;color:#173e3c;font-weight:700;display:flex;align-items:center;justify-content:center}.party-final kbd{font-size:11px;height:24px}@keyframes party-in{0%{opacity:0}}@keyframes party-pop{0%{transform:scale(.7);opacity:0}}@keyframes party-slam{0%{scale:2.4;opacity:0}}@keyframes party-count{0%{scale:1.8;opacity:0}25%{scale:1;opacity:1}80%{opacity:1}to{scale:.8;opacity:0}}@media(max-width:720px){.party-slots{grid-template-columns:repeat(2,1fr)}.party-board{flex-wrap:wrap;justify-content:center;width:calc(100% - 32px)}}.party-card .party-join .keys .glyph:not(.pad){background:#173e3c;border-color:#0c2624;color:#fff}.party-final .secondary .keys .glyph.pad,.party-go .keys .glyph{color:#fff}.party-pops{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.party-pop{position:absolute;translate:-50% -100%;rotate:var(--tilt);display:grid;place-items:center}.party-pop b{position:relative;font:900 26px/1 var(--font-sans);letter-spacing:-.5px;color:#fff;-webkit-text-stroke:5px #1b1b1b;paint-order:stroke fill;animation:pop-small .75s cubic-bezier(.2,1.8,.4,1) both}.party-pop.big b{font-size:52px;color:#ffe14d;-webkit-text-stroke:8px #1b1b1b;animation:pop-big 1.1s cubic-bezier(.2,1.8,.4,1) both}.party-pop.land b{font-size:30px;color:#ffb36b;animation:pop-small .75s cubic-bezier(.2,1.8,.4,1) both}.party-burst{position:absolute;width:170px;height:130px;background:var(--player);clip-path:polygon(50% 0,59% 30%,85% 8%,72% 38%,100% 40%,74% 56%,96% 82%,64% 70%,56% 100%,46% 72%,18% 94%,30% 64%,0 58%,26% 44%,6% 16%,38% 30%);filter:drop-shadow(0 0 0 #1b1b1b);animation:pop-burst 1.1s ease-out both}@keyframes pop-small{0%{scale:.2;opacity:0}25%{scale:1.15;opacity:1}75%{scale:1;opacity:1;translate:0 -10px}to{opacity:0;translate:0 -26px}}@keyframes pop-big{0%{scale:.2;opacity:0}18%{scale:1.25;opacity:1}30%{scale:1}80%{opacity:1;translate:0 -14px}to{opacity:0;translate:0 -34px;scale:.9}}@keyframes pop-burst{0%{scale:.1;rotate:-20deg;opacity:0}15%{scale:1.1;opacity:1}30%{scale:1}75%{opacity:1}to{opacity:0;scale:1.3;rotate:10deg}}.party-horn{display:flex;align-items:center;justify-content:center;gap:8px;margin:-6px 0 18px;font-size:12px;color:#5f6b5d}.party-card .party-horn .keys .glyph:not(.pad){background:#173e3c;border-color:#0c2624;color:#fff}.keys .glyph.pad-x{color:#fff}.party-place{min-width:30px;text-align:right;font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--player)}.party-clock{display:grid;place-items:center;padding:8px 14px;border-radius:999px;background:var(--glass,#1a252dde);box-shadow:var(--glass-shadow);color:#fff;font:900 16px/1 var(--font-sans);font-variant-numeric:tabular-nums;border:2px solid #ffffff33}.party-clock.hurry{color:#ffd84a;border-color:#ffd84a;animation:clock-pulse 1s ease-in-out infinite}@keyframes clock-pulse{50%{scale:1.12}}.party-final{flex-direction:column;align-items:center;gap:14px;top:40%}.party-congrats{margin:0;padding:8px 18px;border-radius:999px;background:#f9f4e5;color:#173e3c;font-size:18px;font-weight:800;box-shadow:0 8px 30px #0b161a40;border:3px solid var(--player);animation:party-pop .5s cubic-bezier(.3,1.6,.5,1) .3s both}.party-results{list-style:none;margin:0;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:280px;border-radius:16px;background:var(--glass,#1a252dde);box-shadow:var(--glass-shadow)}.party-results li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;color:#fff;font-size:16px;animation:party-pop .4s cubic-bezier(.3,1.6,.5,1) both}.party-results li:nth-child(2){animation-delay:.45s}.party-results li:nth-child(3){animation-delay:.55s}.party-results li:nth-child(4){animation-delay:.65s}.party-results li:first-child{background:color-mix(in srgb,var(--player) 35%,transparent);font-size:19px;animation-delay:.35s}.party-results li span{width:34px;font-weight:900;opacity:.75}.party-results li strong{flex:1}.party-results li b{font-weight:900;font-variant-numeric:tabular-nums;color:var(--player)}.garage-shade{background:radial-gradient(ellipse at 50% 38%,#2a3d47f2,#101a20f7 70%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.garage{position:relative;width:min(720px,100%);max-height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;padding:8px 0 4px;scrollbar-width:none}.garage-close{position:fixed;top:24px;right:24px;left:auto;width:42px;height:42px;border:1px solid #ffffff26;background:#ffffff14;color:#fff;z-index:2}.garage-stage{position:relative;width:100%;height:min(44svh,380px);touch-action:none}.garage-stage canvas{touch-action:none;cursor:grab}.garage-stage canvas:active{cursor:grabbing}.garage-arrow{position:absolute;top:50%;translate:0 -50%;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff26;background:#ffffff12;color:#fff;transition:background .2s,scale .2s}.garage-arrow:hover{background:#ffffff24;scale:1.06}.garage-arrow svg{width:24px;height:24px}.garage-arrow.previous{left:0}.garage-arrow.next{right:0}.garage-info{display:flex;flex-direction:column;align-items:center;animation:garage-in .45s cubic-bezier(.2,.9,.3,1) both}.garage-role{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.garage-role em{font-style:normal;letter-spacing:.5px;text-transform:none;font-size:11px;padding:3px 9px;border-radius:999px;background:#ffffff1a;color:#fffc}.garage h2{margin:6px 0 8px;font-size:clamp(40px,6vw,60px);font-weight:900;letter-spacing:-2px;line-height:1}.garage-info>p{margin:0 0 22px;max-width:420px;font-size:14px;line-height:1.55;color:#ffffffb3}.garage-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;width:min(520px,100%)}.garage-ratings>div{display:grid;gap:7px;justify-items:center}.garage-ratings span{font-size:11px;font-weight:600;letter-spacing:.5px;color:#fff9}.garage-ratings i{display:flex;gap:4px}.garage-ratings b{width:14px;height:6px;border-radius:3px;background:#ffffff1f;transition:background .3s}.garage-ratings b.on{background:var(--gold);animation:garage-segment .35s ease-out both;animation-delay:calc(var(--i) * 45ms + .1s)}.garage-pager{display:flex;gap:7px;margin:26px 0 18px}.garage-pager i{width:7px;height:7px;border-radius:999px;background:#fff3;transition:width .3s,background .3s}.garage-pager i.on{width:22px;background:#fff}.garage-go{min-width:260px;border-radius:999px;gap:12px;font-size:16px;background:var(--gold);border-color:var(--gold);color:#2a1d05}.garage-go:hover{background:#ffc45c}.garage-go:disabled{cursor:default}.garage .garage-credit{margin:16px 0 0;font-size:10px;color:#fff5}.garage-credit a{text-decoration:underline;text-underline-offset:2px}.garage .garage-preview-error{position:absolute;inset:20px;margin:0;display:grid;place-items:center;text-align:center;font-size:13px;z-index:2;color:#ffffffb3}@keyframes garage-in{0%{opacity:0;translate:0 10px}}@keyframes garage-segment{0%{scale:.3 1;opacity:0}}@media(max-width:600px){.garage-shade{place-items:center;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.garage-close{top:calc(14px + env(safe-area-inset-top));right:14px}.garage-stage{height:min(38svh,300px)}.garage-arrow{width:44px;height:44px}.garage-ratings{grid-template-columns:repeat(2,1fr);gap:14px 18px}.garage-go{min-width:0;width:100%}}.leader-spotlight{display:block;width:100%;max-width:390px;margin:0 0 20px;padding:12px 14px 10px;border:1px solid #ffffff2b;border-radius:22px;background:linear-gradient(145deg,#253438e8,#152126ed);box-shadow:0 12px 32px #05141825,inset 0 1px #ffffff12;color:#fff;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.leader-spotlight:hover{transform:translateY(-2px);border-color:#f4b54488}.leader-spotlight:focus-visible,.rank-chase:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.leader-heading{display:flex;justify-content:space-between;align-items:center;color:#f6ce83}.leader-heading>span{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:800;letter-spacing:1.6px}.leader-trio{display:grid;grid-template-columns:1fr 1.16fr 1fr;align-items:end;gap:7px;margin-top:9px}.leader-mini{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:7px 5px 8px;border:1px solid #ffffff13;border-radius:12px;background:#ffffff05;animation:leader-arrive .65s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--arrival)}.leader-mini-1{padding-top:10px;background:linear-gradient(155deg,#f4b54424,#f4b54409);border-color:#f4b54470;box-shadow:0 0 24px #f4b5440e}.leader-medal{display:grid;place-items:center;width:22px;height:22px;color:#cbd8de;font-size:12px;font-weight:800}.leader-mini-1 .leader-medal{color:var(--gold);filter:drop-shadow(0 2px 6px #f4b54450)}.leader-mini-3 .leader-medal{color:#dba77c}.leader-mini strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;line-height:1.2}.leader-mini small{font-size:10px;color:#c4cdd1;font-variant-numeric:tabular-nums}.leader-mini-1 small{color:#f6ce83}.leader-invite{display:block;margin-top:8px;text-align:center;font-size:10px;font-weight:500;color:#c4cdd1;line-height:1.3}.rank-chase{position:absolute;left:50%;top:calc(100% + 8px);translate:-50% 0;display:flex;flex-direction:column;width:224px;max-width:calc(100vw - 40px);padding:8px 11px 7px;border:2px solid #fff2;border-bottom:4px solid #0a141b;border-radius:15px;background:linear-gradient(145deg,#263b47,#17252f);color:#fff;box-shadow:0 5px #07141c33,0 8px 18px #08131824;pointer-events:auto;cursor:pointer;text-align:left;transition:border-color .2s}.rank-chase:hover{border-color:#f4b54480}.rank-chase-line{display:flex;align-items:center;gap:8px;height:28px}.rank-emblem{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:9px;background:var(--gold);color:#342309;box-shadow:inset 0 2px #fff5,0 2px #ad742d;rotate:-7deg}.rank-position{font-size:21px;font-weight:900;line-height:1;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.rank-sprint{margin-left:auto;display:flex;align-items:baseline;gap:5px;white-space:nowrap}.rank-sprint>b{font-size:23px;font-weight:900;color:#ffe1a3;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.8px}.rank-sprint small{font-size:9px;font-weight:900;color:#b9c8cb}.rank-sprint em{display:inline-block;font-style:normal;color:#fff;animation:rank-digit .32s cubic-bezier(.2,1.7,.5,1)}.rank-segments{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin:8px 0 5px;transform:skew(-14deg)}.rank-segments>span{height:7px;border-radius:1px;background:#07141b99;overflow:hidden;box-shadow:inset 0 1px 1px #0005}.rank-segments i{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(0deg,#f4ad40,#ffe39b);transition:transform .18s ease-out;box-shadow:0 0 6px #ffc65e77}.rank-segments.running{animation:rank-checkpoint .4s ease-out}.rank-chase-detail{display:flex;justify-content:space-between;gap:6px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1.3;font-weight:900;letter-spacing:.65px;color:#c2d1d4;text-transform:uppercase}.rank-chase-detail svg{flex:none;color:#f4b544}.rank-chase.celebrating{border-color:#f4b544;background:linear-gradient(135deg,#4b4327,#25362e);animation:rank-arrive .4s cubic-bezier(.2,1.7,.5,1)}.rank-shout{font-size:17px;font-weight:900;font-style:italic;color:#ffe1a3;letter-spacing:-.6px;white-space:nowrap;animation:rank-digit .3s cubic-bezier(.2,1.7,.5,1)}.rank-chase.leading .rank-emblem{box-shadow:0 0 13px #f4b54455,inset 0 2px #fff5}@keyframes rank-digit{0%{transform:translateY(3px) scale(.8);opacity:.2}to{transform:none;opacity:1}}@keyframes rank-checkpoint{0%{filter:brightness(2.2);transform:skew(-14deg) scaleY(1.65)}to{filter:brightness(1);transform:skew(-14deg) scaleY(1)}}@keyframes leader-arrive{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rank-arrive{0%{transform:translateY(-4px);opacity:.3}to{transform:translateY(0);opacity:1}}@media(min-width:901px){.intro .intro-card{height:auto}.leader-spotlight{margin-top:0}}@media(max-width:900px){.leader-spotlight{max-width:360px;margin-left:auto;margin-right:auto}}@media(max-width:600px){.intro .intro-card{bottom:max(24px,env(safe-area-inset-bottom))}.leader-spotlight{margin-bottom:14px;padding:10px 12px 9px;border-radius:18px}.leader-mini{padding:5px 4px 6px}.leader-mini-1{padding-top:8px}.leader-mini strong{font-size:13px}.leader-invite{font-size:9px}.rank-chase{width:210px;top:calc(100% + 7px);padding:7px 10px 6px}.rank-position{font-size:20px}.rank-shout{font-size:16px}}@media(max-height:700px)and (max-width:600px){.intro .intro-card{bottom:16px}.intro .intro-howto{margin-top:10px}.leader-spotlight{margin-bottom:10px}.leader-trio{margin-top:5px}.leader-invite{display:none}}@media(max-height:580px)and (min-width:601px){.leader-mini{padding:3px}.leader-invite{display:none}.leader-spotlight{margin-bottom:8px}.intro .intro-card{top:52%;transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.leader-mini,.rank-chase.celebrating{animation:none}.leader-spotlight,.rank-chase,.rank-chase-track i{transition:none}}.rank-chase[hidden]{display:none}.rank-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.run-rank-goal{font-size:12px!important;line-height:1.5!important;color:#ffffffb3;margin:0 0 8px!important}.run-rank-goal strong{color:var(--gold)}.leader-heading>span{font-size:11px;font-weight:900;letter-spacing:.9px}.leader-spotlight{border-width:2px;border-bottom-width:4px;border-bottom-color:#0a141b;background:linear-gradient(145deg,#293e47,#17252f)}.leader-mini{border-radius:10px;border-bottom:3px solid #07141b55}.leader-mini strong{font-size:17px;font-weight:900;letter-spacing:-.4px}.leader-mini-1{background:linear-gradient(155deg,#f4b54440,#f4b54414);border-color:#f4b54470;border-bottom-color:#a87c35}.leader-mini-1 .leader-medal{rotate:-9deg}.leader-invite{font-weight:900;font-size:9px;letter-spacing:.9px}@media(prefers-reduced-motion:reduce){.rank-shout,.rank-sprint em,.rank-segments.running{animation:none}.rank-segments i{transition:none}}.topbar-right{display:flex;align-items:center;gap:12px}.hud-right{display:flex;align-items:center;gap:10px;pointer-events:none}.hud-right .hearts-bar{position:static;translate:none;height:44px;align-items:center;padding:0 14px}.run-clock{display:flex;align-items:center;gap:7px;height:44px;padding:0 16px 0 13px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#fff}.run-clock svg{width:17px;height:17px;color:var(--gold)}.run-clock b{min-width:42px;font-size:19px;font-weight:900;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.rank-chase{width:262px;border-color:color-mix(in srgb,var(--stage-accent) 35%,#ffffff22);background:linear-gradient(145deg,color-mix(in srgb,var(--stage-accent) 20%,#263b47),#17252f);transition:border-color .6s,background .6s}.rank-sprint small{display:flex;align-items:baseline;gap:4px}.rank-sprint em{font-size:10px;letter-spacing:.4px;white-space:nowrap}.stage-bar{position:relative;display:block;height:9px;margin:9px 2px 7px;border-radius:999px;background:#07141b99;box-shadow:inset 0 1px 2px #0007}.stage-fill{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--stage-accent) 65%,#0b161a),var(--stage-accent) 70%,var(--stage-glow));box-shadow:0 0 9px color-mix(in srgb,var(--stage-accent) 55%,transparent);transition:width .4s cubic-bezier(.2,.9,.3,1)}.stage-head{position:absolute;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:var(--stage-glow);box-shadow:0 0 10px var(--stage-glow),0 0 2px #fff;transition:left .4s cubic-bezier(.2,.9,.3,1)}.stage-gain{position:absolute;top:-2px;bottom:-2px;border-radius:999px;background:linear-gradient(90deg,#ffffff00,#fff 45%,var(--stage-glow));box-shadow:0 0 14px var(--stage-glow),0 0 28px var(--stage-accent);pointer-events:none;animation:stage-gain 1.1s ease-out both}.stage-shine{position:absolute;inset:0;border-radius:999px;background:linear-gradient(100deg,transparent 35%,#ffffffd0 50%,transparent 65%);background-size:260% 100%;mix-blend-mode:screen;pointer-events:none;animation:stage-shine .8s ease-out both}.rank-chase.surging{border-color:var(--stage-glow);box-shadow:0 0 0 2px color-mix(in srgb,var(--stage-glow) 40%,transparent),0 0 28px color-mix(in srgb,var(--stage-accent) 60%,transparent),0 5px #07141c33;animation:stage-surge .6s cubic-bezier(.2,1.6,.4,1)}.rank-chase.surging .stage-head{animation:stage-head .6s cubic-bezier(.2,1.8,.4,1)}.rank-chase.surging .rank-sprint>b{color:var(--stage-glow)}.rank-chase.celebrating{border-color:var(--stage-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--stage-accent) 45%,#1d2b33),#17252f)}.rank-chase.celebrating .rank-shout{color:var(--stage-glow)}@keyframes stage-gain{0%{opacity:0;transform:scaleY(.4)}12%{opacity:1;transform:scaleY(1.7)}35%{transform:scaleY(1)}to{opacity:0}}@keyframes stage-shine{0%{background-position:120% 0}to{background-position:-20% 0}}@keyframes stage-surge{0%{scale:1}30%{scale:1.07}to{scale:1}}@keyframes stage-head{0%{scale:1}35%{scale:1.9}to{scale:1}}@media(prefers-reduced-motion:reduce){.stage-gain,.stage-shine,.rank-chase.surging,.rank-chase.surging .stage-head{animation:none}.stage-fill,.stage-head{transition:none}}@media(max-width:600px){.playing .topbar-right{gap:10px}.hud-right{gap:8px}.hud-right .hearts-bar{flex:none;height:44px;padding:0 10px;gap:5px}.hud-right .hearts-bar .heart-icon{width:20px;height:20px}.hud-right .run-clock{position:absolute;top:calc(100% - 6px);left:16px;height:34px;padding:0 10px 0 8px;gap:4px}.hud-right .run-clock svg{width:13px;height:13px}.hud-right .run-clock b{min-width:32px;font-size:14px}.rank-chase{width:196px;top:calc(100% - 6px)}.rank-chase-line{gap:6px}.rank-position{font-size:18px}.rank-sprint,.rank-sprint small{gap:3px}.rank-sprint>b{font-size:17px}.rank-sprint em{font-size:8.5px;letter-spacing:.2px}}.playing .hud-center{top:16px}.hud-center .rank-chase{position:relative;left:auto;top:auto;translate:none}.rank-chase{width:300px;padding:9px 13px 8px;border:2px solid color-mix(in srgb,var(--stage-accent) 70%,#ffffff33);border-bottom:4px solid color-mix(in srgb,var(--stage-accent) 40%,#05080a);background:radial-gradient(120% 150% at 0% 0%,color-mix(in srgb,var(--stage-glow) 40%,transparent),transparent 58%),linear-gradient(145deg,color-mix(in srgb,var(--stage-accent) 62%,#1b2730),color-mix(in srgb,var(--stage-accent) 24%,#10181e));box-shadow:0 5px #07141c33,0 10px 26px color-mix(in srgb,var(--stage-accent) 30%,#08131800);text-shadow:0 1px 2px #0006}.rank-chase:hover{border-color:var(--stage-glow)}.rank-chase-line{height:36px;gap:10px}.stage-emblem{position:relative;display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:linear-gradient(160deg,var(--stage-glow),var(--stage-accent));color:#1b1405;box-shadow:inset 0 2px #fff8,0 3px color-mix(in srgb,var(--stage-accent) 50%,#000),0 0 16px color-mix(in srgb,var(--stage-glow) 55%,transparent);rotate:-6deg;animation:emblem-in .55s cubic-bezier(.2,1.6,.4,1) both}.stage-emblem svg{width:20px;height:20px;stroke-width:2.4}.emblem-ring{position:absolute;inset:-3px;border-radius:14px;border:2px solid var(--stage-glow);opacity:0;pointer-events:none;animation:emblem-ring .9s ease-out .15s both}.emblem-meadow svg{animation:emblem-spin 9s linear infinite}.emblem-dusk svg{animation:emblem-bob 2.4s ease-in-out infinite}.emblem-amber svg{transform-origin:50% 85%;animation:emblem-sway 2.2s ease-in-out infinite}.emblem-night svg{animation:emblem-tilt 3s ease-in-out infinite}.emblem-blossom svg{animation:emblem-spin 12s linear infinite,emblem-breathe 2s ease-in-out infinite}.emblem-frost svg{animation:emblem-spin 6s linear infinite}.rank-chase.surging .stage-emblem{animation:emblem-hop .45s cubic-bezier(.2,1.8,.4,1)}@keyframes emblem-in{0%{transform:perspective(120px) rotateY(180deg) scale(.6);opacity:0}60%{transform:perspective(120px) rotateY(-14deg) scale(1.12);opacity:1}to{transform:none}}@keyframes emblem-ring{0%{opacity:.9;scale:1}to{opacity:0;scale:2}}@keyframes emblem-spin{to{rotate:360deg}}@keyframes emblem-bob{50%{translate:0 -2.5px}}@keyframes emblem-sway{0%,to{rotate:-14deg}50%{rotate:14deg}}@keyframes emblem-tilt{0%,to{rotate:-12deg}50%{rotate:8deg}}@keyframes emblem-breathe{50%{scale:1.14}}@keyframes emblem-hop{40%{scale:1.28;translate:0 -2px}}.chase-score{position:relative;display:flex;align-items:center;min-width:0}.chase-score .score-value{color:#fff;font-size:28px;font-weight:900;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 #0005}.chase-score .score-float{left:100%;top:50%;translate:6px -50%;z-index:2}.rank-chase .rank-position{margin-left:auto;display:flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;background:#0b141a66;color:var(--gold);font-size:13px;font-weight:900;letter-spacing:0}.rank-chase .rank-position svg{flex:none}.rank-chase-detail{gap:8px;font-size:9.5px;color:#ffffffd6}.rank-chase-detail .rank-sprint{margin:0;display:inline-flex;align-items:baseline;gap:4px;font-weight:900;flex:none}.rank-chase-detail .rank-sprint>b{font-size:12px;color:#fff;letter-spacing:0}.rank-chase-detail .rank-sprint em{font-style:normal;font-size:inherit;animation:none}.rank-goal{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;opacity:.75}.rank-chase-detail .rank-shout{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:9.5px;font-style:normal;letter-spacing:.6px;color:#fff}.rank-chase-detail .rank-shout b{margin-right:4px;font-size:12px;font-style:italic;color:var(--stage-glow)}.stage-bar{background:#05080a80}.playing .coach,.playing .coach-goal{top:132px}.playing .topbar .road-warning,.playing .topbar .curb-hint{top:calc(100% + 30px)}@media(prefers-reduced-motion:reduce){.stage-emblem,.stage-emblem svg,.emblem-ring{animation:none}}@media(max-width:600px){.playing .hud-center{position:absolute;left:50%;top:calc(100% - 4px);translate:-50% 0;flex:none}.rank-chase{width:228px;padding:7px 10px 6px}.rank-chase-line{height:32px;gap:8px}.stage-emblem{width:30px;height:30px;border-radius:10px}.stage-emblem svg{width:17px;height:17px}.chase-score .score-value{font-size:23px}.rank-chase .rank-position{height:22px;padding:0 7px;font-size:12px}.rank-goal{display:none}.hud-right .run-clock{top:14px;left:70px;height:44px;padding:0 12px 0 10px}.hud-right .run-clock b{font-size:16px}.playing .coach,.playing .coach-goal{top:172px}.playing .topbar .road-warning,.playing .topbar .curb-hint{top:calc(100% + 100px)}}.playing .topbar-left .level-badge{display:none}.playing .hud-center{top:27px}.rank-chase{width:340px;padding:10px 14px 9px;border-radius:18px;border:1.5px solid color-mix(in srgb,var(--stage-accent) 60%,#ffffff1f);border-bottom:3px solid color-mix(in srgb,var(--stage-accent) 35%,#05080a);background:radial-gradient(110% 140% at 0% 0%,color-mix(in srgb,var(--stage-glow) 28%,transparent),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--stage-accent) 38%,#1a252d),color-mix(in srgb,var(--stage-accent) 14%,#121b21));box-shadow:0 10px 28px #0b161a55,inset 0 1px #ffffff26}.rank-chase-line{height:38px;gap:11px}.stage-emblem{width:36px;height:36px;border-radius:12px}.stage-emblem svg{width:20px;height:20px}.chase-score{gap:9px}.chase-score .score-value{font-size:30px}.chase-score .combo-pill{height:26px;padding:0 10px;border-radius:999px;box-shadow:0 3px 12px #ff8a3d55,inset 0 1px #fff7}.chase-score .combo-pill b{font-size:15px}.rank-chase .rank-position{height:26px;padding:0 10px;font-size:13px;background:#05080a55;border:1px solid #f4b54444}.stage-bar{height:8px;margin:10px 1px 8px}.stage-head{width:12px;height:12px;margin:-6px 0 0 -6px}.rank-chase-detail{font-size:10px;letter-spacing:.7px}.rank-chase-detail .rank-sprint>b{font-size:12.5px}.rank-goal{color:#ffffffb3;opacity:1}.hud-right{gap:10px}.run-clock,.hud-right .hearts-bar{height:44px}.playing .coach,.playing .coach-goal{top:146px}.playing .topbar .road-warning,.playing .topbar .curb-hint{top:calc(100% + 44px)}@media(max-width:600px){.playing .hud-center{top:calc(100% - 2px)}.rank-chase{width:calc(100vw - 32px);max-width:360px;padding:8px 12px;border-radius:16px}.rank-chase-line{height:34px;gap:9px}.stage-emblem{width:32px;height:32px;border-radius:11px}.stage-emblem svg{width:18px;height:18px}.chase-score .score-value{font-size:26px}.chase-score .combo-pill{height:24px;padding:0 8px}.chase-score .combo-pill b{font-size:14px}.rank-goal{display:block}.playing .coach,.playing .coach-goal{top:178px}.playing .topbar .road-warning,.playing .topbar .curb-hint{top:calc(100% + 104px)}}.chase-score .score-float{animation-name:chase-float}@keyframes chase-float{0%{opacity:0;transform:translateY(4px) scale(.6)}20%{opacity:1;transform:translateY(-2px) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translateY(-16px) scale(.95)}}.curb-hint svg{flex:none;color:var(--gold)}.curb-hint b{margin-right:3px;color:#fff;font-weight:800}@media(max-width:600px){.curb-hint{width:max-content;max-width:calc(100vw - 32px);white-space:normal;text-align:left;line-height:1.35}}.rank-chase{border-color:color-mix(in srgb,var(--stage-accent) calc(var(--card-border,.6) * 100%),#ffffff1f);border-bottom-color:color-mix(in srgb,var(--stage-accent) calc(var(--card-border,.6) * 58%),#05080a);background:radial-gradient(110% 140% at 0% 0%,color-mix(in srgb,var(--stage-glow) calc(var(--card-corner,.28) * 100%),transparent),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--stage-accent) calc(var(--card-tint,.38) * 100%),#1a252d),color-mix(in srgb,var(--stage-accent) calc(var(--card-tint,.38) * 37%),#121b21))}.playing .home-button,.playing .topbar .toolbar button,.playing .run-clock,.playing .hud-right .hearts-bar{height:50px;border-radius:16px;border:1.5px solid #ffffff2b;border-bottom:3px solid #05080a;background:linear-gradient(160deg,#2b3b45,#16222a);box-shadow:0 8px 22px #0b161a40,inset 0 1px #ffffff26;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.playing .home-button,.playing .topbar .toolbar button{width:50px;place-items:center;transition:transform .14s cubic-bezier(.3,1.6,.5,1),background .2s,border-bottom-width .1s}.playing .home-button svg,.playing .topbar .toolbar button svg{width:22px;height:22px;stroke-width:2.3}.playing .home-button:hover,.playing .topbar .toolbar button:hover{transform:translateY(-2px);background:linear-gradient(160deg,#34474f,#1b2a33)}.playing .home-button:active,.playing .topbar .toolbar button:active{transform:translateY(2px);border-bottom-width:1px}.playing .topbar .toolbar{gap:10px}.playing .run-clock{gap:10px;padding:0 16px 0 8px}.playing .run-clock svg{box-sizing:content-box;width:17px;height:17px;padding:6px;border-radius:10px;background:linear-gradient(160deg,#ffe08a,#f4b544);color:#3a2408;stroke-width:2.6;rotate:-6deg;box-shadow:inset 0 2px #fff8,0 2px #a8742a}.playing .run-clock b{min-width:46px;font-size:22px;font-weight:900;letter-spacing:-.5px;text-shadow:0 2px 0 #0005}.playing .hud-right .hearts-bar{gap:6px;padding:0 14px}.playing .hud-right .hearts-bar .heart-icon{width:24px;height:24px}.playing .hud-right .hearts-bar .full{filter:drop-shadow(0 0 6px #ff4f4588) drop-shadow(0 2px 0 #0006)}.playing .hud-right{gap:10px}@media(max-width:600px){.playing .home-button,.playing .topbar .toolbar button,.playing .run-clock,.playing .hud-right .hearts-bar{height:46px;border-radius:14px}.playing .home-button,.playing .topbar .toolbar button{width:46px}.playing .home-button svg,.playing .topbar .toolbar button svg{width:20px;height:20px}.playing .hud-right .run-clock{top:14px;left:72px;height:46px;padding:0 12px 0 6px;gap:7px}.playing .run-clock svg{width:14px;height:14px;padding:5px;border-radius:9px}.playing .run-clock b{min-width:38px;font-size:18px}.playing .hud-right .hearts-bar{padding:0 11px;gap:5px}.playing .hud-right .hearts-bar .heart-icon{width:21px;height:21px}}.day-look-fields{margin:0;padding:0;border:0;min-width:0}.day-look-fields:disabled{opacity:.55}.day-look-compare{display:flex;align-items:center;gap:8px;margin:2px 0 10px;padding:8px 10px;border-radius:10px;background:#1e595414;font-size:12px;font-weight:700;color:#1e5954;cursor:pointer}.day-look-compare.on{background:#f4b54433;color:#7a4d0a}.day-look-compare input{width:16px;height:16px;accent-color:#1e5954}.stage-tools{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}.stage-view,.stage-loop{display:flex;gap:6px}.stage-view button,.stage-loop button,.stage-own{flex:1;padding:7px 6px;border:1px solid #1e5954;border-radius:8px;background:transparent;color:#1e5954;font-size:12px;font-weight:700}.stage-view button.on,.stage-own.on{background:#1e5954;color:#fff8dd}.stage-loop button{font-size:11px;padding:6px 4px;border-style:dashed}.stage-loop button:disabled{opacity:.35}.day-look-choices{flex-wrap:wrap}.intro .topbar .brand,.intro .toolbar button,.intro .mode-toggle,.intro-howto>span,.intro-level{border:1.5px solid #ffffff2b;border-bottom:3px solid #05080a;background:linear-gradient(160deg,#2b3b45,#16222a);box-shadow:0 8px 22px #0b161a40,inset 0 1px #ffffff26;color:#fff}.intro .topbar .brand{height:50px;border-radius:16px}.intro .toolbar{gap:10px}.intro .toolbar button,.intro .mode-toggle{width:48px;height:48px;border-radius:15px;transition:transform .14s cubic-bezier(.3,1.6,.5,1),background .2s,border-bottom-width .1s}.intro .toolbar button svg{width:21px;height:21px;stroke-width:2.3}.intro .toolbar button:hover,.intro .mode-toggle:hover{transform:translateY(-2px);background:linear-gradient(160deg,#34474f,#1b2a33)}.intro .toolbar button:active,.intro .mode-toggle:active{transform:translateY(2px);border-bottom-width:1px}.intro-howto>span{border-radius:15px;height:46px}.intro-howto>span>svg,.intro-howto .heart-icon{border-radius:10px}.intro-level{border-radius:13px;color:#fff}.night .intro-level{color:#fff}.start-button.primary{border:1.5px solid #ffe7a8;border-bottom:5px solid #b37a22;border-radius:18px;background:linear-gradient(170deg,#ffd06a,#f4ad3b);box-shadow:0 10px 26px #f4b54455,inset 0 2px #fff6;transition:transform .14s cubic-bezier(.3,1.6,.5,1),border-bottom-width .1s,filter .2s}.start-button.primary:hover{transform:translateY(-2px);filter:brightness(1.05)}.start-button.primary:active{transform:translateY(3px);border-bottom-width:2px}.party-button{border:1.5px solid #ffffff;border-bottom:3px solid #b9b19a;border-radius:15px;background:linear-gradient(170deg,#fffdf3,#efe8d4);box-shadow:0 8px 20px #0b161a26,inset 0 1px #fff;transition:transform .14s cubic-bezier(.3,1.6,.5,1),border-bottom-width .1s}.party-button:hover{transform:translateY(-2px);background:linear-gradient(170deg,#fff,#f4eedc)}.party-button:active{transform:translateY(2px);border-bottom-width:1px}.night .party-button{border-color:#ffffff2b;border-bottom-color:#05080a;background:linear-gradient(160deg,#2b3b45,#16222a);color:#fff}@media(max-width:600px){.intro .topbar .brand{height:44px;border-radius:14px}.intro .toolbar button,.intro .mode-toggle{width:44px;height:44px;border-radius:14px}.intro-howto>span{height:40px;border-radius:13px}}.intro-card h1,.intro-card h1 .ch,.night .intro-card h1,.night .intro-card h1 .ch{color:var(--home-title,#111)}.intro-card p,.intro-card .eyebrow,.intro-controls,.intro-caption,.night .intro-card p,.night .intro-card .eyebrow,.night .intro-controls,.night .intro-caption{color:var(--home-text,#111)}.intro-card h1 .ch.dot,.night .intro-card h1 .ch.dot{color:var(--home-dot,#e07a3c)}.start-button.primary{border-color:color-mix(in srgb,var(--home-button,#f4b544) 55%,#fff);border-bottom-color:color-mix(in srgb,var(--home-button,#f4b544) 62%,#000);background:linear-gradient(170deg,color-mix(in srgb,var(--home-button,#f4b544) 78%,#fff),var(--home-button,#f4b544));color:var(--home-button-text,#2a1d05);box-shadow:0 10px 26px color-mix(in srgb,var(--home-button,#f4b544) 35%,transparent),inset 0 2px #fff6}.party-button,.night .party-button{border-color:color-mix(in srgb,var(--home-second,#f6f0de) 60%,#fff);border-bottom-color:color-mix(in srgb,var(--home-second,#f6f0de) 70%,#000);background:linear-gradient(170deg,color-mix(in srgb,var(--home-second,#f6f0de) 82%,#fff),var(--home-second,#f6f0de));color:var(--home-second-text,#173e3c)}.party-button:hover{background:linear-gradient(170deg,color-mix(in srgb,var(--home-second,#f6f0de) 70%,#fff),var(--home-second,#f6f0de))}.intro .topbar .brand,.intro .toolbar button,.intro .mode-toggle,.intro-howto>span,.intro-level,.night .intro-level,.leader-spotlight{background:linear-gradient(160deg,color-mix(in srgb,var(--home-tile,#20303a) 88%,#fff),color-mix(in srgb,var(--home-tile,#20303a) 78%,#000));color:var(--home-tile-text,#fff)}.intro .toolbar button:hover,.intro .mode-toggle:hover{background:linear-gradient(160deg,color-mix(in srgb,var(--home-tile,#20303a) 78%,#fff),color-mix(in srgb,var(--home-tile,#20303a) 85%,#000))}.intro .topbar .brand strong,.intro .topbar .brand small,.intro-howto small,.leader-mini strong{color:var(--home-tile-text,#fff)}.app .intro-card .start-button.primary{border:1.5px solid color-mix(in srgb,var(--home-button,#f4b544) 55%,#fff)!important;border-bottom:5px solid color-mix(in srgb,var(--home-button,#f4b544) 62%,#000)!important;border-radius:18px;background:linear-gradient(170deg,color-mix(in srgb,var(--home-button,#f4b544) 78%,#fff),var(--home-button,#f4b544))!important;color:var(--home-button-text,#2a1d05)!important;box-shadow:0 10px 26px color-mix(in srgb,var(--home-button,#f4b544) 35%,transparent),inset 0 2px #fff6!important}.app .intro-card .start-button.primary:hover{background:linear-gradient(170deg,color-mix(in srgb,var(--home-button,#f4b544) 68%,#fff),var(--home-button,#f4b544))!important;transform:translateY(-2px)}.app .intro-card .start-button.primary:active{transform:translateY(3px);border-bottom-width:2px!important}.stage-more{align-self:flex-start;padding:4px 2px;border:0;background:none;color:#1e5954;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.stage-editing{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-size:12px;color:#55625c}.stage-editing b{color:#1e5954}.stage-editing button{padding:0;border:0;background:none;color:#1e5954;font-size:11.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.stage-delete-row{display:flex;align-items:center;gap:10px;padding-top:4px}.stage-delete{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #b94b4655;border-radius:8px;background:#b94b4610;color:#a63833;font-size:12px;font-weight:700;cursor:pointer}.stage-delete:hover:not(:disabled){background:#b94b4625}.stage-delete:disabled{opacity:.4;cursor:not-allowed}.stage-delete-row>span{font-size:11px;opacity:.65}@media(min-width:900px)and (pointer:fine){.modal.leaderboard{width:min(1000px,calc(100vw - 64px));height:auto;max-height:calc(100dvh - 48px);padding:28px;overflow-y:auto}.leaderboard h2{margin-bottom:14px}.leaderboard .podium-board{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:28px;flex:none;overflow:visible;margin:8px 0 0;padding:0}.leaderboard .podium-arena{margin:0;padding:28px 0;background:radial-gradient(ellipse at center,#f4b54416,transparent 70%)}.leaderboard .podium{gap:10px}.leaderboard .podium-block{min-height:174px;padding:13px 11px 10px}.leaderboard .p1 .podium-block{min-height:204px;padding-top:17px}.leaderboard .podium-name{margin-top:19px;font-size:15px}.leaderboard .p1 .podium-name{font-size:17px;margin-top:28px}.leaderboard .podium-score{font-size:26px}.leaderboard .p1 .podium-score{font-size:30px}.leaderboard .podium-stats{margin-top:auto}.leaderboard .podium-rest{display:grid;gap:5px;min-width:0;padding-left:24px;border-left:1px solid #ffffff12}.leaderboard .podium-rest li{min-height:46px;margin:0;padding:6px 10px}.leaderboard .podium-rest li.personal-outside-topten{margin-top:3px}}@media(min-width:900px)and (min-height:650px)and (pointer:fine){.modal.leaderboard{overflow:visible}}.modal.leaderboard.lb{width:min(480px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 32px);padding:24px 22px 18px;display:flex;flex-direction:column;overflow:hidden}.lb>h2{margin:4px 0 14px;text-align:center;font-size:30px;line-height:1}.lb-eyebrow{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--gold)}.lb>.board-tabs{align-self:center}.lb-board{display:flex;flex-direction:column;min-height:0;margin-top:14px}.lb-podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;align-items:end;gap:8px;padding:0 4px}.lb-step{--medal:#d9dde2;--medal-dark:#8f969d;display:flex;flex-direction:column;align-items:center;min-width:0;animation:podium-rise .55s cubic-bezier(.3,1.5,.5,1) both}.lb-step.s1{--medal:#f4b544;--medal-dark:#a8742a;animation-delay:.12s}.lb-step.s3{--medal:#e6a273;--medal-dark:#9c5d36;animation-delay:.2s}.lb-player{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;padding-bottom:8px;text-align:center}.lb-crown{width:22px;height:22px;margin-bottom:-2px;color:var(--gold);fill:#f4b54455;filter:drop-shadow(0 2px 6px #f4b54488);animation:lb-crown 2.4s ease-in-out infinite}.lb-avatar{display:grid;place-items:center;width:46px;height:46px;margin-bottom:5px;border-radius:50%;background:linear-gradient(160deg,#34474f,#1b2a33);border:3px solid var(--medal);box-shadow:0 0 0 3px #0b161a,0 6px 16px #0007;color:#fff;font-size:19px;font-weight:900}.s1 .lb-avatar{width:58px;height:58px;font-size:24px;box-shadow:0 0 0 3px #0b161a,0 0 22px #f4b54466}.lb-player strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;color:#fff}.lb-player b{font-size:17px;font-weight:900;color:var(--medal);font-variant-numeric:tabular-nums;letter-spacing:-.3px}.s1 .lb-player b{font-size:21px}.lb-player .board-you{position:absolute;top:30px;right:4px}.lb-block{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;width:100%;padding-top:8px;border-radius:12px 12px 4px 4px;border:1.5px solid color-mix(in srgb,var(--medal) 70%,#fff);border-bottom:0;background:linear-gradient(180deg,color-mix(in srgb,var(--medal) 85%,#fff),var(--medal) 40%,var(--medal-dark));box-shadow:inset 0 2px #fff6,0 10px 20px #0005}.s1 .lb-block{height:98px}.s2 .lb-block{height:72px}.s3 .lb-block{height:56px}.lb-place{font-size:30px;font-weight:900;line-height:1;color:#2a1d05;text-shadow:0 1px 0 #ffffff66}.s1 .lb-place{font-size:38px}.lb-block small{display:flex;align-items:center;gap:3px;font-size:9.5px;font-weight:700;color:#2a1d05b3;white-space:nowrap}.lb-block small svg{width:10px;height:10px}.s3 .lb-block small{display:none}.lb-step.empty .lb-block{opacity:.45}.lb-list{display:flex;flex-direction:column;gap:6px;min-height:0;margin:12px 0 0;padding:12px 2px 2px;overflow-y:auto;list-style:none;border-top:1px solid #ffffff14;scrollbar-width:thin}.lb-row{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px 14px 6px 8px;border-radius:13px;border:1px solid #ffffff14;border-bottom:3px solid #05080a66;background:linear-gradient(160deg,#25343d,#18232b)}.lb-row.empty{opacity:.4}.lb-rank{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#ffffff12;color:#ffffffc0;font-size:13px;font-weight:900}.lb-name{flex:1;min-width:0}.lb-name strong{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:800;color:#fff}.lb-name small{display:block;font-size:10.5px;font-weight:600;color:#ffffff73}.lb-score{font-size:16px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}.lb-row.mine{border-color:#f4b544aa;background:linear-gradient(160deg,#4a3d22,#1d2a2a)}.lb-row.mine .lb-rank{background:var(--gold);color:#2a1d05}.lb-row.mine .lb-score{color:var(--gold)}.lb-pinned{margin-top:10px;box-shadow:0 -10px 20px #0b161a66}.lb-pinned .lb-rank{width:38px;font-size:10px}@keyframes lb-crown{50%{transform:translateY(-3px) rotate(-4deg)}}@media(prefers-reduced-motion:reduce){.lb-crown,.lb-step{animation:none}}@media(max-width:600px){.modal.leaderboard.lb{width:100%;max-height:none;height:100%;padding:calc(30px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.lb-avatar{width:40px;height:40px;font-size:16px}.s1 .lb-avatar{width:50px;height:50px;font-size:20px}.s1 .lb-block{height:84px}.s2 .lb-block{height:62px}.s3 .lb-block{height:48px}.lb-block small{display:none}}.intro-card .cta{display:flex;flex-direction:column;align-items:flex-start;gap:0}.intro-card .cta .party-button{margin-top:12px}.intro-card>.party-button{width:255px;max-width:100%;box-sizing:border-box}@media(max-width:600px){.intro-card>.party-button{width:min(255px,58vw)}}.intro-card .cta{display:inline-flex;flex-direction:column;align-items:stretch;width:max-content;max-width:100%;gap:12px}.intro-card .cta>.rise{display:block}.intro-card .cta .party-button{width:100%;max-width:100%;margin-top:0;box-sizing:border-box}@media(max-width:600px){.intro-card .cta{width:max-content;max-width:100%}}.intro-card .cta{display:flex;flex-direction:row;align-items:stretch;gap:12px;width:max-content;max-width:100%}.intro-card .cta>.rise{display:flex}.intro-card .cta .start-button,.intro-card .cta .party-button{height:62px;min-height:62px;box-sizing:border-box;margin:0}.intro-card .cta .party-button{width:auto;padding:0 18px;justify-content:center}@media(max-width:600px){.intro-card .cta{gap:8px;max-width:100%}.intro-card .cta .start-button,.intro-card .cta .party-button{height:52px;min-height:52px;padding-left:12px;padding-right:12px;font-size:12px}.intro-card .cta .start-button{gap:10px}}.app .intro-card .start-button.primary .start-arrow{width:46px;height:44px;border-radius:13px;border:1.5px solid color-mix(in srgb,var(--home-button,#f4b544) 40%,#2a1d05);border-bottom:3px solid color-mix(in srgb,var(--home-button,#f4b544) 22%,#1a1205);background:linear-gradient(165deg,color-mix(in srgb,var(--home-button,#f4b544) 52%,#3a2408),color-mix(in srgb,var(--home-button,#f4b544) 30%,#1f1405));box-shadow:inset 0 1px #ffffff40,0 2px 6px #0003;color:#fff}.app .intro-card .start-button.primary .start-arrow svg{color:#fff!important;stroke-width:2.8;filter:drop-shadow(0 1px 0 #0006)}.app .intro-card .start-button.primary .start-arrow{border:1.5px solid color-mix(in srgb,var(--home-button,#f4b544) 70%,#fff);border-bottom:3px solid color-mix(in srgb,var(--home-button,#f4b544) 62%,#000);background:linear-gradient(165deg,color-mix(in srgb,var(--home-button,#f4b544) 92%,#fff),color-mix(in srgb,var(--home-button,#f4b544) 86%,#a0560f));box-shadow:inset 0 1px #ffffff80,0 2px 6px #7a4d0a33;color:var(--home-button-text,#2a1d05)}.app .intro-card .start-button.primary .start-arrow svg{color:var(--home-button-text,#2a1d05)!important;filter:none}.app .intro-card .start-button.primary{justify-content:center;gap:10px;padding:0 30px}.app .intro-card .start-button.primary .start-arrow{width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none}.app .intro-card .start-button.primary .start-arrow svg{width:23px;height:23px;stroke-width:3.2;color:var(--home-button-text,#2a1d05)!important}.app .intro-card .start-button.primary .start-arrow{translate:0 2px}@media(pointer:coarse){.app.rails.playing{--hud-top: calc(10px + env(safe-area-inset-top)) ;--hud-row:58px;--hud-lane:calc(var(--hud-top) + var(--hud-row) + 10px);--thumb: calc(22px + env(safe-area-inset-bottom)) }.app.rails.playing .topbar{padding:var(--hud-top) 12px 0;align-items:stretch;gap:8px;justify-content:flex-start}.app.rails.playing .topbar-left{flex:none}.app.rails.playing .topbar-left .home-button{width:44px;height:var(--hud-row);border-radius:14px}.app.rails.playing .toolbar{display:none}.app.rails.playing .hud-center{position:static;translate:none;flex:1;min-width:0;max-width:420px;margin:0 auto}.app.rails.playing .rank-chase{position:relative;width:100%;max-width:none;height:var(--hud-row);padding:6px 10px 5px;border-radius:14px;border-bottom-width:2px;box-shadow:0 6px 18px #0b161a40,inset 0 1px #fff2}.app.rails.playing .rank-chase-line{height:24px;gap:7px}.app.rails.playing .stage-emblem{width:24px;height:24px;border-radius:8px;box-shadow:inset 0 1px #fff8,0 2px color-mix(in srgb,var(--stage-accent) 50%,#000)}.app.rails.playing .stage-emblem svg{width:14px;height:14px}.app.rails.playing .chase-score{gap:6px}.app.rails.playing .chase-score .score-value{font-size:22px;letter-spacing:-.5px}.app.rails.playing .chase-score .combo-pill{height:20px;padding:0 7px}.app.rails.playing .chase-score .combo-pill b{font-size:12px}.app.rails.playing .rank-chase .rank-position,.app.rails.playing .rank-goal{display:none}.app.rails.playing .stage-bar{height:4px;margin:5px 1px;box-shadow:none}.app.rails.playing .stage-head{width:8px;height:8px;margin:-4px 0 0 -4px}.app.rails.playing .rank-chase-detail{font-size:9px;letter-spacing:.5px;line-height:1.2}.app.rails.playing .rank-chase-detail .rank-sprint>b{font-size:10.5px}.app.rails.playing .rank-chase-detail .rank-shout{font-size:9px}.app.rails.playing .rank-chase-detail .rank-shout b{font-size:10.5px}.app.rails.playing .topbar-right{flex:none;gap:0}.app.rails.playing .hud-right{height:var(--hud-row);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 9px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow)}.app.rails.playing .hud-right .hearts-bar,.app.rails.playing .hud-right .run-clock{position:static;translate:none;height:auto;padding:0;background:none;border:0;box-shadow:none}.app.rails.playing .hud-right .hearts-bar{gap:2px}.app.rails.playing .hud-right .hearts-bar .heart-icon{width:16px;height:16px}.app.rails.playing .hud-right .run-clock{gap:3px;color:#ffffffc8}.app.rails.playing .hud-right .run-clock svg{width:11px;height:11px;padding:0;background:none;box-shadow:none;color:var(--gold)}.app.rails.playing .hud-right .run-clock b{min-width:0;font-size:12px}.app.rails.playing .hit-note,.app.rails.playing .coach,.app.rails.playing .coach-goal{top:var(--hud-lane);bottom:auto;z-index:5}.app.rails.playing .topbar .road-warning,.app.rails.playing .topbar .curb-hint{top:calc(100% + 10px)}.app.rails.playing .hit-note{padding:6px 10px 6px 13px;font-size:12px;gap:6px}.app.rails.playing .coach{min-height:0;padding:6px 12px 6px 8px;border-radius:14px;font-size:12px;gap:8px}.app.rails.playing .coach small{font-size:10px}.app.rails.playing .road-warning,.app.rails.playing .curb-hint{padding:6px 12px;font-size:12px;gap:6px}.app.rails.playing .curb-hint .hint-detail{display:none}.app.rails.playing .curb-hint b{margin:0}.app.rails.playing .steer-zone:before{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .2s}.app.rails.playing .steer-zone.left:before{background:linear-gradient(90deg,#f4b54438,transparent 38%)}.app.rails.playing .steer-zone.right:before{background:linear-gradient(270deg,#f4b54438,transparent 38%)}.app.rails.playing .steer-zone.held:before{opacity:1}.app.rails.playing .steer-button{bottom:var(--thumb);width:54px;height:54px;background:#1a252d66;border-color:#ffffff26;box-shadow:0 4px 14px #0b161a30}.app.rails.playing .steer-zone.left .steer-button{left:14px}.app.rails.playing .steer-zone.right .steer-button{right:14px}.app.rails.playing .steer-button svg{width:26px;height:26px}.app.rails.playing .steer-zone.held .steer-button{transform:scale(1.08)}.app.rails.playing .steer-lesson{bottom:calc(var(--thumb) + 66px);min-width:0;padding:6px 10px 3px;font-size:11px}.app.rails.playing .steer-zone.left .steer-lesson{left:14px}.app.rails.playing .steer-zone.right .steer-lesson{right:14px}.app.rails.playing .speedometer{left:50%;right:auto;translate:-50% 0;bottom:var(--thumb);width:66px;height:66px}.app.rails.playing .speed-readout{top:0}.app.rails.playing .speed-readout strong{font-size:22px}.app.rails.playing .speed-readout small{font-size:8px;margin-top:0}.app.rails.playing .speed-label{display:none}.app.rails.playing .boost-gauge,.app.rails.playing .boost-gauge.charging,.app.rails.playing .boost-gauge.burning{left:auto;right:14px;bottom:calc(var(--thumb) + 54px + 18px);width:62px;height:62px;transition:background .3s,opacity .3s,filter .3s,transform .35s cubic-bezier(.3,1.6,.5,1)}.app.rails.playing .boost-gauge.charging{opacity:.7}.app.rails.playing .boost-gauge .boost-flame,.app.rails.playing .boost-gauge.ready .boost-flame{width:30px;height:30px}.app.rails.playing .boost-gauge .boost-label{font-size:10px;padding:2px 7px}.app.rails.playing .boost-gauge.charging .boost-label{font-size:13px;padding:0}.pause-actions{display:flex;flex-wrap:wrap;justify-content:center}.pause-actions button{flex:0 0 calc((100% - 16px) / 3)}}@media(pointer:coarse){.app.rails.playing .steer-zone.held .steer-button{transform:scale(.9)}.app.rails.playing .steer-zone.left:before{background:linear-gradient(90deg,color-mix(in srgb,#ff3b30 calc(var(--strain,0) * 60%),#f4b544) 0,#f4b54400 34%)}.app.rails.playing .steer-zone.right:before{background:linear-gradient(270deg,color-mix(in srgb,#ff3b30 calc(var(--strain,0) * 60%),#f4b544) 0,#f4b54400 34%)}.app.rails.playing .steer-zone.held:before{opacity:calc(.35 + var(--strain,0) * .3)}.app.rails.playing .boost-gauge:after{content:"";position:absolute;inset:-12px;border-radius:50%}.app.rails.playing .boost-gauge.ready:active{transform:scale(.88);animation:none;transition-duration:.06s}.app.rails.playing .boost-gauge.ready .boost-label,.app.rails.playing .boost-gauge.blocked .boost-label,.app.rails.playing .boost-gauge.burning .boost-label{top:auto;bottom:calc(100% + 8px);left:auto;right:0;translate:none;font-size:10px;padding:3px 8px}.app.rails.playing .boost-gauge.refused-0{animation:boost-refuse .35s ease-in-out}.app.rails.playing .boost-gauge.refused-1{animation:boost-refuse-again .35s ease-in-out}}@keyframes boost-refuse{20%,60%{translate:-5px 0}40%,80%{translate:5px 0}}@keyframes boost-refuse-again{20%,60%{translate:-5px 0}40%,80%{translate:5px 0}}@media(prefers-reduced-motion:reduce){.boost-gauge.refused-0,.boost-gauge.refused-1{animation:none!important}}.wave-button{--wave:#ff4fb0;position:absolute;right:306px;bottom:104px;z-index:3;width:72px;height:72px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#ffffffa6;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .3s,opacity .3s,color .3s}.wave-button:after{content:"";position:absolute;inset:-12px;border-radius:50%}.wave-dial{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;pointer-events:none}.wave-track{stroke:#ffffff1f;stroke-width:4}.wave-ring{stroke:#c94a8f;stroke-width:4;stroke-linecap:round;transition:stroke .3s}.wave-mark{width:30px;height:30px;transition:transform .3s,opacity .3s}.wave-seconds{position:absolute;font-style:normal;font-size:13px;font-weight:800;color:#ffffffd0;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0008}.wave-button.charging{pointer-events:none;opacity:.72}.wave-button.charging .wave-mark{opacity:.18;transform:scale(.8)}.wave-button.ready{color:#fff;background:radial-gradient(circle at 50% 35%,#8a1f63,#33102a 72%);border-color:var(--wave);animation:wave-pop .55s cubic-bezier(.3,1.6,.5,1),wave-breathe 1.8s ease-in-out .55s infinite}.wave-button.ready .wave-ring{stroke:var(--wave);filter:drop-shadow(0 0 6px #ff4fb0)}.wave-button.ready .wave-mark{filter:drop-shadow(0 0 8px #ff4fb0cc)}.wave-button.ready .wave-mark-inner{animation:wave-mark 1.4s ease-out infinite}.wave-button.ready .wave-mark-outer{animation:wave-mark 1.4s ease-out .25s infinite}.wave-button.ready:before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--wave);opacity:0;pointer-events:none;animation:wave-roll 1.4s ease-out infinite}.wave-button.ready:active{transform:scale(.86);animation:none;transition-duration:.06s}.wave-label{position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 0;display:flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;white-space:nowrap;font-size:10px;font-weight:900;letter-spacing:.8px;color:#330a22;background:linear-gradient(110deg,#ffc2e4,#ff4fb0 60%,#e8338f);box-shadow:0 4px 18px #ff4fb077;animation:wave-label-in .4s cubic-bezier(.3,1.6,.5,1) both}.wave-label kbd{height:16px;min-width:16px;font-size:9px;padding:0 4px}.wave-burst{position:absolute;inset:-6px;border-radius:50%;border:4px solid #ffc2e4;pointer-events:none;animation:wave-burst .6s cubic-bezier(.2,.8,.3,1) forwards}@keyframes wave-pop{0%{transform:scale(.7)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes wave-breathe{0%,to{box-shadow:var(--glass-shadow),0 0 #ff4fb000}50%{box-shadow:var(--glass-shadow),0 0 24px 3px #ff4fb066}}@keyframes wave-roll{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes wave-mark{0%{opacity:.35}35%{opacity:1}to{opacity:.35}}@keyframes wave-label-in{0%{opacity:0;transform:translateY(6px) scale(.7)}to{opacity:1;transform:none}}@keyframes wave-burst{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(3.4)}}.wave-flash{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.wave-flash:after{content:"";position:absolute;left:50%;top:60%;width:60vmax;height:60vmax;margin:-30vmax 0 0 -30vmax;border-radius:50%;border:2px solid #ff7cc4e0;box-shadow:0 0 18px #ff4fb066;animation:wave-sweep .55s cubic-bezier(.15,.8,.3,1) forwards}@keyframes wave-sweep{0%{opacity:.9;transform:scale(.05)}to{opacity:0;transform:scale(2.2)}}.big-note.wave{top:30%}.big-note.wave strong{filter:drop-shadow(0 6px 0 #5a1240) drop-shadow(0 12px 30px #ff4fb088)}.big-note.wave strong span{background:linear-gradient(180deg,#fff,#ffc2e4 40%,#ff4fb0);-webkit-background-clip:text;background-clip:text;color:transparent;animation:letter-slam .38s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i) * 28ms)}.big-note.wave:before{content:"";position:absolute;left:50%;top:40%;width:280px;height:280px;margin:-140px 0 0 -140px;border-radius:50%;border:7px solid #ff4fb0;opacity:0;animation:shockwave .6s cubic-bezier(.2,.8,.3,1) .05s both}.big-note.wave b{background:#e8338f;color:#fff;box-shadow:0 8px 28px #e8338f88}@media(prefers-reduced-motion:reduce){.wave-button.ready,.wave-button.ready:before,.wave-mark-inner,.wave-mark-outer,.wave-burst,.wave-flash:after{animation:none!important}}@media(pointer:fine){.wave-button{right:178px;bottom:62px;width:114px;height:114px;transition:right .5s cubic-bezier(.3,1.4,.5,1),transform .35s cubic-bezier(.3,1.6,.5,1),background .3s,opacity .3s,color .3s}.boost-gauge~.wave-button{right:314px}.wave-mark{width:46px;height:46px}.wave-seconds{font-size:18px}.wave-label{bottom:auto;top:calc(100% + 7px);font-size:11px;padding:4px 12px;animation:none}.wave-button.charging .wave-label{background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);color:#ffffffbf}.wave-button.charging .wave-label kbd{opacity:.6}}@media(pointer:coarse){.app.rails.playing .wave-button{right:auto;left:14px;bottom:calc(var(--thumb) + 54px + 18px);width:62px;height:62px}.app.rails.playing .wave-mark{width:26px;height:26px}.app.rails.playing .wave-label{left:0;translate:none}}*{scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff30;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#ffffff50}::-webkit-scrollbar-corner{background:transparent}.car-presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}.car-presets span{width:100%;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#8a6d3b}.car-presets button{padding:6px 12px;border-radius:999px;border:1px solid #17252f26;background:#fff9;color:#1e3a3a;font-size:12px;font-weight:700;transition:background .15s,transform .15s}.car-presets button:hover{background:#fff;transform:translateY(-1px)}.car-presets button:active{transform:scale(.96)}@media(pointer:fine)and (max-width:1280px){.playing .hud-center{left:112px;translate:none}}@media(pointer:fine)and (max-width:1000px){.playing .hud-center{left:50%;top:96px;translate:-50% 0}}.app.finale .boost-gauge,.app.finale .wave-button,.app.finale .wave-flash,.app.finale .big-note,.app.finale .speed-label{opacity:0!important;animation:none!important;transition:opacity .6s ease;pointer-events:none}@media(max-width:600px){.intro .intro-card .cta{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;gap:10px}.intro .intro-card .cta>.rise{display:flex;justify-content:center;width:100%}.intro .intro-card .cta .start-button,.intro .intro-card .cta .party-button{width:100%;max-width:none;min-height:52px;height:52px;margin:0}}
