:root{--sky:#7fcfd0;--ink:#1f3a34;--paper:#fff6dc;--accent:#ee6a2b;--accent-dark:#b4441a;--teal:#2f7f80;--leaf:#5aa84a;--gold:#f4b92a;--font-display:"Lilita One", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-body:"Nunito", "Trebuchet MS", system-ui, sans-serif;--safe-left:max(16px, env(safe-area-inset-left,0px));--safe-right:max(16px, env(safe-area-inset-right,0px));--safe-top:max(12px, env(safe-area-inset-top,0px));--safe-bottom:max(16px, env(safe-area-inset-bottom,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%}body{box-sizing:border-box;background:var(--sky);color:var(--ink);font-family:var(--font-body);padding-block:0;padding-left:var(--safe-left);padding-right:var(--safe-right);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;position:relative;overflow:hidden}#world{background:var(--sky);width:100%;height:100%;display:block;position:absolute;inset:0}[hidden]{display:none!important}.hud{z-index:2;padding-top:var(--safe-top);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.stroke{color:#fff;paint-order:stroke fill;-webkit-text-stroke:5px var(--ink);text-shadow:0 3px 0 var(--ink)}.hud-left{flex-direction:column;gap:2px;min-width:0;display:flex}.label{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}#score{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:46px;line-height:1}.meta{font-family:var(--font-display);font-variant-numeric:tabular-nums;gap:14px;font-size:20px;display:flex}.pause{pointer-events:auto;background:var(--paper);border:3px solid var(--ink);width:46px;height:46px;box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0;display:flex}.pause i{background:var(--ink);border-radius:2px;width:6px;height:18px;display:block}.pause:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.pops{z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:30%;left:0;right:0}.pop{font-family:var(--font-display);text-align:center;font-size:26px;animation:1.25s ease-out forwards rise}.pop b{color:var(--gold);margin-left:8px;font-weight:400}.pop.small{font-size:18px}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.8)}12%{opacity:1;transform:translateY(0)scale(1.08)}70%{opacity:1}to{opacity:0;transform:translateY(-34px)scale(1)}}.pads{z-index:2;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.pedal{pointer-events:auto;width:calc(clamp(88px, 22vw, 124px) * var(--pad-scale,1));border:3px solid var(--ink);font-family:var(--font-display);font-size:max(13px, calc(17px * var(--pad-scale,1)));letter-spacing:.04em;color:#fff;cursor:pointer;box-shadow:0 6px 0 var(--ink);text-shadow:0 2px 0 var(--ink);touch-action:none;border-radius:20px 20px 30px 30px;justify-content:center;align-items:flex-end;padding:0 0 10px;display:flex}.pedal span{pointer-events:none}.pedal.brake{height:calc(clamp(80px, 22vh, 104px) * var(--pad-scale,1));background:repeating-linear-gradient(180deg, var(--teal) 0 10px, #276a6b 10px 14px)}.pedal.gas{height:calc(clamp(104px, 30vh, 140px) * var(--pad-scale,1));background:repeating-linear-gradient(180deg, var(--accent) 0 10px, var(--accent-dark) 10px 14px)}.pedal.on{box-shadow:0 1px 0 var(--ink);filter:brightness(1.1);transform:translateY(5px)}.overlay{z-index:5;padding:12px var(--safe-right) 12px var(--safe-left);background:#1f3a346b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card{box-sizing:border-box;background:var(--paper);border:4px solid var(--ink);width:100%;max-width:460px;max-height:100%;box-shadow:0 8px 0 var(--ink);text-align:center;touch-action:pan-y;border-radius:26px;padding:20px 20px 18px;overflow-y:auto}.card h1,.card h2{font-family:var(--font-display);color:var(--accent);text-shadow:0 3px 0 var(--ink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;margin:0;font-weight:400;line-height:1}.card h1{font-size:52px}.card h2{font-size:40px}.tagline{text-wrap:balance;margin:8px 0 14px;font-size:15px;font-weight:800;line-height:1.35}.modes{flex-wrap:wrap;gap:10px;display:flex}.modes.spaced{margin-top:14px}.btn{min-width:0;min-height:44px;font-family:var(--font-display);color:#fff;background:var(--accent);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);cursor:pointer;text-shadow:0 2px 0 var(--ink);border-radius:16px;flex:170px;padding:10px 12px 9px;font-size:24px;line-height:1.1}.btn small{font-family:var(--font-body);text-shadow:none;color:#ffe9d4;margin-top:3px;font-size:12px;font-weight:800;line-height:1.25;display:block}.btn.alt{background:var(--teal)}.btn.ghost{background:var(--paper);color:var(--ink);text-shadow:none}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled{opacity:.55;cursor:default}.btn:disabled:active{box-shadow:0 5px 0 var(--ink);transform:none}.btn:focus-visible,.pause:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.how{opacity:.85;text-wrap:balance;margin:14px 0 0;font-size:13px;font-weight:700;line-height:1.4}.best{font-family:var(--font-display);margin-top:10px;font-size:18px}.rotate{color:var(--teal);margin-top:8px;font-size:12px;font-weight:800;display:none}@media (orientation:portrait){.rotate{display:block}}.big{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:10px 0 2px;font-size:54px;line-height:1}.rows{font-family:var(--font-display);flex-wrap:wrap;justify-content:center;gap:18px;margin:16px 0 14px;font-size:20px;display:flex}.rows span small{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:11px;font-weight:800;display:block}.newbest{background:var(--gold);border:3px solid var(--ink);font-family:var(--font-display);border-radius:12px;margin-bottom:6px;padding:2px 12px;font-size:16px;display:inline-block;transform:rotate(-3deg)}@media (height<=430px){.card{padding:12px 16px}.card h1{font-size:38px}.card h2{font-size:32px}.tagline{margin:4px 0 8px;font-size:13px}.btn{padding:6px 10px;font-size:20px}.how{margin-top:8px;font-size:12px}.big{font-size:40px}#score{font-size:38px}}@media (prefers-reduced-motion:reduce){.pop{animation-duration:10ms}}.tune-toggle{z-index:10;top:var(--safe-top);min-height:44px;font-family:var(--font-body);color:var(--ink);background:var(--gold);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:14px;padding:0 16px;font-size:14px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.tune-panel{z-index:10;top:calc(var(--safe-top) + 56px);box-sizing:border-box;background:var(--paper);border:3px solid var(--ink);width:min(440px,100% - 32px);box-shadow:0 6px 0 var(--ink);touch-action:pan-y;border-radius:18px;padding:10px 14px;position:absolute;bottom:12px;left:50%;overflow-y:auto;transform:translate(-50%)}.tune-row{border-bottom:1px solid #1f3a3426;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:6px 0;font-size:13px;font-weight:800;display:grid}.tune-row b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:16px;font-weight:400}.tune-row input{width:100%;height:32px;accent-color:var(--accent);touch-action:pan-x;grid-column:1/-1;margin:0}.tune-row.tune-changed b{color:var(--accent)}.tune-summary{border:2px solid var(--ink);white-space:pre-wrap;-webkit-user-select:text;user-select:text;background:#fff;border-radius:10px;margin:10px 0 8px;padding:8px;font-size:12px}.tune-actions{flex-wrap:wrap;gap:8px;display:flex}.tune-actions button{min-height:44px;font-family:var(--font-body);color:var(--ink);border:3px solid var(--ink);cursor:pointer;background:#fff;border-radius:12px;flex:100px;font-size:14px;font-weight:800}.tune-row.tune-check input{grid-column:auto;width:26px;height:26px}.pad-group{align-items:flex-end;gap:12px;display:flex}.pads.classic .pad-group.pedals{display:contents}.pads.classic .pad-group.arrows{display:none}.pads.swapped{flex-direction:row-reverse}.pads.with-arrows .pedal{width:calc(clamp(88px, 18vw, 112px) * var(--pad-scale,1))}.arrow{pointer-events:auto;width:calc(clamp(72px, 15vw, 96px) * var(--pad-scale,1));height:calc(clamp(72px, 22vh, 96px) * var(--pad-scale,1));background:var(--paper);border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);cursor:pointer;touch-action:none;border-radius:22px;justify-content:center;align-items:center;padding:0;display:flex}.arrow svg{fill:none;width:46%;height:46%;stroke:var(--ink);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.arrow.on{box-shadow:0 1px 0 var(--ink);background:var(--gold);transform:translateY(5px)}.link-btn{min-height:44px;font-family:var(--font-display);color:var(--ink);border:3px solid var(--ink);cursor:pointer;background:0 0;border-radius:14px;margin:10px auto 0;padding:0 18px;font-size:18px;display:block}.link-btn:active{transform:translateY(2px)}.link-btn:focus-visible,.opt:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.setting-label{letter-spacing:.14em;text-transform:uppercase;text-align:left;margin:14px 0 6px;font-size:11px;font-weight:800}.choice{flex-wrap:wrap;gap:8px;display:flex}.opt{min-width:0;min-height:44px;font-family:var(--font-display);color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;background:#fff;border-radius:14px;flex:150px;padding:8px 10px;font-size:18px;line-height:1.1}.opt small{font-family:var(--font-body);margin-top:3px;font-size:12px;font-weight:700;line-height:1.25;display:block}.opt.selected{color:#fff;background:var(--accent);text-shadow:0 2px 0 var(--ink)}.opt.selected small{color:#ffe9d4;text-shadow:none}.opt:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.layout-preview{background:#1f3a3414;border-radius:12px;align-items:center;gap:6px;margin-top:12px;padding:8px 10px;display:flex}.layout-preview .chip{font-family:var(--font-display);color:#fff;background:var(--teal);border:2px solid var(--ink);border-radius:10px;padding:3px 10px;font-size:14px}.layout-preview .chip.arrow-chip{color:var(--ink);background:var(--paper)}.layout-preview .gap{flex:1}@media (height<=430px){.setting-label{margin-top:10px}.opt{font-size:16px}#controlsHow{display:none}}.pads .pedal,.pads .arrow{opacity:var(--pad-opacity,1);transition:opacity 80ms}.pads .pedal.on,.pads .arrow.on{opacity:1}.choice.compact .opt{flex-basis:90px}.slider-label{justify-content:space-between;align-items:baseline;display:flex}.slider-label b{font-family:var(--font-display);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:16px;font-weight:400}.opacity-slider{width:100%;height:32px;accent-color:var(--accent);touch-action:pan-x;margin:0;display:block}@media (height<=430px){.opt small{display:none}}.progress{font-family:var(--font-display);align-items:center;gap:10px;margin-top:6px;font-size:18px;display:flex}.track{border:3px solid var(--ink);background:#1f3a348c;border-radius:8px;width:clamp(110px,30vw,200px);height:12px;position:relative;overflow:hidden}#progFill{background:var(--gold);width:0;position:absolute;top:0;bottom:0;left:0}.levels{--fade:18px;margin:12px calc(-1 * var(--fade)) 0;padding:4px var(--fade) 10px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--fade);scrollbar-width:none;touch-action:pan-x;text-align:left;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);gap:10px;display:flex;position:relative;overflow-x:auto}.levels::-webkit-scrollbar{display:none}.level{scroll-snap-align:start;min-width:0;min-height:44px;color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);cursor:pointer;text-align:left;font-family:var(--font-body);background:#fff;border-radius:16px;flex-direction:column;flex:0 0 140px;gap:2px;padding:10px 12px;display:flex}.level small{letter-spacing:.1em;text-transform:uppercase;opacity:.75;font-size:11px;font-weight:800}.level .level-name{font-family:var(--font-display);color:var(--accent);text-wrap:balance;font-size:19px;line-height:1.1}.level em{color:var(--teal);margin-top:auto;padding-top:4px;font-size:12px;font-style:normal;font-weight:800;line-height:1.2}.level.done{background:#f3fbe9}.level.locked{opacity:.55;cursor:default;box-shadow:0 2px 0 var(--ink)}.level.locked .level-name{color:var(--ink)}.level:not(.locked):active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.level:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (height<=430px){.levels{margin-top:8px}.level{flex-basis:128px;padding:7px 10px}.level .level-name{font-size:17px}}.card{scrollbar-width:thin;scrollbar-color:#1f3a3459 transparent}.card::-webkit-scrollbar{width:6px}.card::-webkit-scrollbar-thumb{background:#1f3a3459;border-radius:3px}.card::-webkit-scrollbar-track{background:0 0}.level:first-child{margin-left:auto}.level:last-child{margin-right:auto}.topbar{justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.topbar-right{align-items:center;gap:8px;min-width:0;display:flex}.back-pill,.coin-pill,.profile-pill{color:#fff;background:var(--ink);border:3px solid var(--ink);min-height:44px;font-family:var(--font-display);border-radius:999px;align-items:center;gap:8px;padding:4px 16px 4px 10px;font-size:18px;line-height:1;display:inline-flex;box-shadow:0 4px #1f3a3473}.back-pill{cursor:pointer}.back-pill svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.back-pill:active,.profile-pill:active{transform:translateY(3px);box-shadow:0 1px #1f3a3473}.coin-pill{font-variant-numeric:tabular-nums;padding:4px 14px 4px 6px}.coin-icon{background:radial-gradient(circle at 40% 35%, #ffe9a0 0 30%, var(--gold) 31% 62%, #c98f14 63%);border-radius:50%;flex:none;width:26px;height:26px;box-shadow:inset 0 0 0 2px #fff3c4}.icon-btn{background:var(--paper);border:3px solid var(--ink);width:46px;height:46px;box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:14px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.icon-btn svg{fill:none;width:26px;height:26px;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.icon-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.icon-btn.sound .spk{fill:var(--ink)}.icon-btn.sound .cross,.icon-btn.sound.muted .wave{display:none}.icon-btn.sound.muted .cross{display:inline}.back-pill:focus-visible,.profile-pill:focus-visible,.icon-btn:focus-visible,.side-btn:focus-visible,.cta:focus-visible,.mode-card:focus-visible,.nav-arrow:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.home{z-index:5;pointer-events:none;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);position:absolute;inset:0}.home>*{pointer-events:auto}.home .topbar{top:var(--safe-top);left:var(--safe-left);right:var(--safe-right);position:absolute}.profile-pill{cursor:pointer;text-align:left;padding:3px 18px 3px 4px}.profile-pill canvas{background:var(--paper);border-radius:50%;flex:none;width:40px;height:40px;box-shadow:inset 0 0 0 2px #fff}.profile-pill small{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:10px;font-weight:800;display:block}.profile-pill b{font-size:18px;font-weight:400}.home-title{left:var(--safe-left);top:calc(var(--safe-top) + 64px);max-width:min(46%,420px);position:absolute}.home-title h1{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:clamp(40px,9vh,64px);font-weight:400;line-height:.95}.home-title .tagline{font-family:var(--font-display);-webkit-text-stroke-width:4px;text-wrap:balance;margin:8px 0 0;font-size:17px;line-height:1.2}.home-title .best{-webkit-text-stroke-width:4px;margin:8px 0 0;font-size:18px}.home-title .rotate{color:#fff;-webkit-text-stroke-width:3px;font-size:13px}.home-side{right:var(--safe-right);top:calc(var(--safe-top) + 64px);flex-direction:column;gap:10px;display:flex;position:absolute}.side-btn{width:76px;color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;font-family:var(--font-body);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;font-size:11px;font-weight:800;line-height:1.1;display:flex}.side-btn svg{fill:none;width:30px;height:30px;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.side-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.cta{right:var(--safe-right);bottom:var(--safe-bottom);color:#fff;background:linear-gradient(180deg, #f5813f, var(--accent) 55%, var(--accent-dark));border:4px solid var(--ink);min-height:64px;box-shadow:0 7px 0 var(--ink);font-family:var(--font-display);text-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:22px;align-items:center;gap:14px;padding:10px 22px 10px 28px;font-size:clamp(26px,6vh,34px);display:inline-flex;position:absolute}.cta svg{fill:none;stroke:#fff;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:42px;height:28px;filter:drop-shadow(0 2px 0 var(--ink))}.cta:active{box-shadow:0 2px 0 var(--ink);transform:translateY(5px)}@media (prefers-reduced-motion:no-preference){.cta svg path{animation:1.4s ease-in-out infinite nudge}}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.screen{z-index:5;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);scrollbar-width:thin;background:linear-gradient(#1f3a34bd,#1f3a3494);flex-direction:column;gap:10px;display:flex;position:absolute;inset:0;overflow-y:auto}.screen-title{text-align:center;font-family:var(--font-display);flex:1;margin:0;font-size:clamp(24px,6vh,34px);font-weight:400;line-height:1}.screen .topbar>.back-pill,.screen .topbar>.topbar-right{flex:none;min-width:120px}.screen .topbar>.topbar-right{justify-content:flex-end}.panel{box-sizing:border-box;background:var(--paper);border:4px solid var(--ink);width:min(900px,100%);box-shadow:0 7px 0 var(--ink);border-radius:24px;align-self:center;margin:auto 0;padding:14px 16px}.panel.settings{text-align:center;touch-action:pan-y;width:min(560px,100%)}#levelsView .panel{padding:12px 6px}#levelsView .levels{margin-top:0}.mode-cards{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:clamp(16px,5vw,56px);display:flex}.mode-card{width:min(300px,44vw);color:var(--ink);cursor:pointer;font-family:var(--font-body);background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;padding:0;display:flex}.bubble{box-sizing:border-box;background:var(--paper);border:4px solid var(--ink);width:100%;box-shadow:0 6px 0 var(--ink);border-radius:22px;flex-direction:column;align-items:center;gap:4px;padding:12px 14px 18px;display:flex;position:relative}.bubble:after{content:"";background:var(--paper);border-right:4px solid var(--ink);border-bottom:4px solid var(--ink);border-bottom-right-radius:4px;width:22px;height:22px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)rotate(45deg)}.bubble b{color:#fff;background:var(--teal);border:3px solid var(--ink);font-family:var(--font-display);text-shadow:0 2px 0 var(--ink);border-radius:12px;padding:3px 14px;font-size:22px;font-weight:400}#btnFree .bubble b{background:var(--accent)}.bubble>span{text-wrap:balance;font-size:14px;font-weight:800;line-height:1.3}.bubble small{font-family:var(--font-display);color:var(--accent-dark);font-variant-numeric:tabular-nums;font-size:15px}.mode-card canvas{aspect-ratio:320/150;width:100%;height:auto}.mode-card:active .bubble{box-shadow:0 2px 0 var(--ink);transform:translateY(4px)}#modesView .how{color:#fff;-webkit-text-stroke-width:3px;text-align:center;align-self:center;max-width:640px;margin:0;font-size:13px}.profile{flex:1;grid-template-columns:minmax(170px,220px) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(10px,2.5vw,22px);display:grid}.stats{flex-direction:column;gap:10px;display:flex}.stat{color:#fff;background:var(--teal);border:3px solid var(--ink);min-height:46px;box-shadow:0 4px 0 var(--ink);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:6px 14px;display:flex}.stat small{font-size:12px;font-weight:800;line-height:1.15}.stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;text-shadow:0 2px 0 var(--ink);font-size:20px;font-weight:400}.stat.accent{background:var(--accent);justify-content:flex-start;padding-left:5px}.stat.accent canvas{background:var(--paper);border-radius:50%;flex:none;width:40px;height:40px;box-shadow:inset 0 0 0 2px #fff}.picker{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.picker-card{box-sizing:border-box;background:var(--paper);border:4px solid var(--ink);width:100%;box-shadow:0 7px 0 var(--ink);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:10px 50px 18px;display:flex;position:relative}.picker-card.car{gap:8px;padding:10px 12px 14px}#driverArt{aspect-ratio:260/210;width:100%;max-width:230px;height:auto}#carPreview{aspect-ratio:2;width:100%;max-width:280px;height:auto}.nav-arrow{background:var(--ink);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-top:-24px;padding:0;display:flex;position:absolute;top:50%;box-shadow:0 3px #1f3a3473}.nav-arrow svg{fill:none;stroke:#fff;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}#driverPrev{left:8px}#driverNext{right:8px}.nav-arrow:active{transform:translateY(2px)}.tag{color:#fff;background:var(--accent);border:3px solid var(--ink);font-family:var(--font-display);white-space:nowrap;border-radius:10px;padding:3px 12px;font-size:14px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.picker-caption{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:2px;margin:12px 0 0;display:flex}.picker-caption b{font-family:var(--font-display);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 2px 0 var(--ink);font-size:22px;font-weight:400}.picker-caption small{-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:13px;font-weight:800}.dots{gap:6px;display:flex}.dots i{width:8px;height:8px;box-shadow:0 0 0 2px var(--ink);background:#ffffff80;border-radius:50%}.dots i.on{background:var(--gold)}.swatches{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.swatch{border:3px solid var(--ink);background:var(--swatch);width:40px;height:40px;box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:50%;padding:0}.swatch.selected,.swatch:focus-visible{outline:4px solid var(--gold);outline-offset:2px}@media (height<=430px){.home-title,.home-side{top:calc(var(--safe-top) + 56px)}.side-btn{width:70px;padding:6px 4px 4px}.side-btn svg{width:26px;height:26px}.picker-card{padding:6px 46px 16px}#driverArt{max-width:190px}#carPreview{max-width:220px}.bubble{padding:8px 12px 16px}.bubble>span{font-size:13px}.mode-card canvas{max-height:110px}}@media (width<=700px){.profile{grid-template-columns:1fr}.stats{flex-flow:wrap;justify-content:center}.home-title{max-width:calc(100% - 110px)}}.hud-buttons{pointer-events:none;gap:8px;display:flex}.pause.sound svg{fill:none;width:26px;height:26px;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.pause.sound .spk{fill:var(--ink)}.pause.sound .cross,.pause.sound.muted .wave{display:none}.pause.sound.muted .cross{display:inline}.level{padding-top:22px;position:relative;overflow:hidden}.level-band{border-bottom:3px solid var(--ink);height:14px;position:absolute;top:0;left:0;right:0}.level.locked .level-band{filter:grayscale(.7)}#controlsView{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#1f3a34a8,#1f3a3466)}.panel.settings{grid-template-columns:1fr 1fr;align-items:start;gap:0 22px;width:min(820px,100%);display:grid}.panel.settings .how{grid-column:1/-1}.settings-col{min-width:0}.settings-col>.setting-label:first-child{margin-top:0}@media (width<=640px){.panel.settings{grid-template-columns:1fr}}#controlsView .panel{margin:4px 0 auto}@media (width<=520px){.screen .topbar>.back-pill,.screen .topbar>.topbar-right{min-width:0}.screen-title{font-size:22px}}.install-hint{color:#fff;font-family:var(--font-body);-webkit-text-stroke-width:3px;margin:8px 0 0;font-size:12px;font-weight:800;line-height:1.3}.home-side{grid-template-columns:repeat(2,auto);gap:8px;display:grid}.tabs{background:#1f3a3480;border-radius:999px;align-self:center;gap:6px;padding:4px;display:flex}.tab{color:#fff;min-height:40px;font-family:var(--font-display);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 20px;font-size:18px}.tab.selected{color:var(--ink);background:var(--paper);box-shadow:0 3px 0 var(--ink)}.tab:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.shop-panel{margin-top:0;padding:10px 6px}.shop-items{--fade:18px;margin:0 calc(-1 * var(--fade));padding:6px var(--fade) 10px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--fade);scrollbar-width:none;touch-action:pan-x;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);gap:12px;display:flex;overflow-x:auto}.shop-items::-webkit-scrollbar{display:none}.shop-card{scroll-snap-align:start;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);background:#fff;border-radius:18px;flex-direction:column;flex:0 0 150px;align-items:center;gap:6px;padding:8px 8px 10px;display:flex}.shop-card:first-child{margin-left:auto}.shop-card:last-child{margin-right:auto}.shop-card.in-use{border-color:var(--accent-dark);box-shadow:0 5px 0 var(--accent-dark);background:#fff3dd}.shop-card canvas{aspect-ratio:4/3;width:100%;height:auto}.shop-name{font-family:var(--font-display);text-align:center;text-wrap:balance;font-size:17px;line-height:1.1}.shop-btn{width:100%;min-height:40px;color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--font-display);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:16px;display:inline-flex}.shop-btn .coin-icon{width:18px;height:18px}.shop-btn.buy{color:#fff;background:var(--accent);text-shadow:0 2px 0 var(--ink)}.shop-btn.in-use{color:#fff;background:var(--teal);text-shadow:0 2px 0 var(--ink)}.shop-btn:disabled{opacity:.5;cursor:default}.shop-btn:not(:disabled):active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.shop-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.challenges-panel{width:min(860px,100%)}.challenge-summary{font-family:var(--font-display);text-align:center;color:var(--accent-dark);margin:0 0 8px;font-size:17px}.challenge-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.challenge{border:3px solid var(--ink);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 10px;display:grid}.challenge-text{font-size:13px;font-weight:800;line-height:1.25}.challenge-reward{font-family:var(--font-display);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:16px;display:inline-flex}.challenge-reward .coin-icon{width:18px;height:18px}.challenge-bar{background:#1f3a3426;border-radius:4px;grid-column:1/-1;height:8px;overflow:hidden}.challenge-bar i{background:var(--gold);border-radius:4px;height:100%;display:block}.challenge.done{background:#f3fbe9}.challenge.done .challenge-bar i{background:var(--leaf)}.challenge.done .challenge-text:before{content:"";vertical-align:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8.5l3.5 3.5 7.5-8' fill='none' stroke='%235aa84a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:14px;height:14px;margin-right:5px;display:inline-block}@media (width<=640px){.challenge-list{grid-template-columns:1fr}}.over-challenges{border:2px solid var(--leaf);background:#f3fbe9;border-radius:12px;flex-direction:column;gap:2px;margin:0 0 10px;padding:6px 10px;font-size:13px;font-weight:800;display:flex}.over-challenges small{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:11px}.over-challenges b{color:var(--accent-dark);font-family:var(--font-display);font-weight:400}@media (height<=430px){.shop-card{flex-basis:136px;gap:4px;padding:6px 6px 8px}.shop-card canvas{aspect-ratio:16/10}.tab{min-height:36px}.challenge{padding:6px 8px}}
