:root{--bg:#0d0f14;--panel:#0e1117b8;--panel-solid:#11141b;--line:#ffffff1f;--text:#f3f5f8;--muted:#9aa3b2;--cyan:#2ef2ff;--orange:#ff6a1a;--red:#ff3b4e;--violet:#9b6bd6;--font:"Barlow", system-ui, sans-serif;--font-c:"Barlow Condensed", "Arial Narrow", sans-serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#app{position:fixed;inset:0}canvas.game{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.boot{z-index:50;background:radial-gradient(at 50% 60%,#2a1c2e 0%,#0d0f14 70%);place-content:center;gap:18px;transition:opacity .5s;display:grid;position:absolute;inset:0}.boot.hide{opacity:0;pointer-events:none}.boot-title{font:800 clamp(28px, 6vw, 56px)/1 var(--font-c);letter-spacing:.04em;text-align:center}.boot-title span{color:var(--cyan)}.boot-bar{background:var(--line);border-radius:3px;justify-self:center;width:min(320px,70vw);height:3px;overflow:hidden}.boot-bar i{background:linear-gradient(90deg, var(--orange), var(--cyan));width:30%;height:100%;animation:1.1s ease-in-out infinite boot;display:block}@keyframes boot{0%{transform:translate(-100%)}to{transform:translate(340%)}}.hud{pointer-events:none;z-index:10;font-family:var(--font-c);transition:opacity .3s;position:absolute;inset:0}.hud.hidden{opacity:0}.hud-tl{left:calc(18px + var(--safe-l));top:calc(14px + var(--safe-t));text-shadow:0 2px 10px #00000080;position:absolute}.hud-label{font:600 12px/1 var(--font-c);letter-spacing:.18em;color:var(--muted)}.hud-points{font:700 40px/1 var(--font-c);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-top:2px}.hud-mult{font:700 16px/1.2 var(--font-c);background:#ffffff1a;border-radius:6px;margin-top:4px;padding:2px 8px;display:inline-block}.hud-mult.hot{background:var(--orange);color:#111;box-shadow:0 0 18px #ff6a1a99}.hud-tr{right:calc(72px + var(--safe-r));top:calc(16px + var(--safe-t));text-align:right;font:600 18px/1.5 var(--font-c);text-shadow:0 2px 10px #00000080;position:absolute}.hud-tr b{font-variant-numeric:tabular-nums;font-weight:700}.hud-street{left:50%;top:calc(14px + var(--safe-t));opacity:0;transition:opacity .35s,transform .35s;position:absolute;transform:translate(-50%,-12px)}.hud-street.show{opacity:1;transform:translate(-50%)}.street-sign{font:700 22px/1.2 var(--font-c);color:#fff;white-space:nowrap;background:#0d5b36;border:2px solid #f2f2ee;border-radius:7px;padding:4px 18px;box-shadow:0 6px 20px #00000059}.hud-popups{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:24%;left:50%;transform:translate(-50%)}.popup{font:italic 700 26px/1 var(--font-c);letter-spacing:.03em;white-space:nowrap;text-shadow:0 0 18px,0 2px 4px #0009;animation:1.6s cubic-bezier(.2,.9,.3,1) forwards pop}.popup.big{font-size:38px}.popup.white{color:#fff}.popup.cyan{color:var(--cyan)}.popup.orange{color:var(--orange)}.popup.red{color:var(--red)}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.7)}12%{opacity:1;transform:translateY(0)scale(1.08)}22%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.hud-gauges{right:calc(18px + var(--safe-r));bottom:calc(14px + var(--safe-b));align-items:flex-end;gap:10px;display:flex;position:absolute}.speedo{filter:drop-shadow(0 6px 18px #00000073);width:190px;height:190px}.speedo-bg{fill:#0a0c109e;stroke:#ffffff14;stroke-width:1px}.speedo-track{fill:none;stroke:#ffffff1f;stroke-width:7px;stroke-linecap:round}.speedo-red{fill:none;stroke:var(--red);stroke-width:7px;opacity:.85}.speedo-value{fill:none;stroke-width:7px;stroke-linecap:round;transition:stroke .2s}.speedo.boost .speedo-value{stroke:var(--cyan);filter:drop-shadow(0 0 6px var(--cyan))}.speedo-tick{stroke:#ffffff59;stroke-width:1.2px}.speedo-tick.major{stroke:#ffffffd9;stroke-width:2px}.speedo-tick.red{stroke:var(--red)}.speedo-num{fill:#fff9;font:600 11px var(--font-c);text-anchor:middle}.speedo-needle path{fill:var(--orange);filter:drop-shadow(0 0 4px #ff6a1acc);transition:fill .15s}.speedo.boost .speedo-needle path{fill:var(--cyan);filter:drop-shadow(0 0 6px var(--cyan))}.speedo-hub{fill:#1b1f26;stroke:#fff6;stroke-width:1.5px}.speedo-digits{fill:#fff;font:italic 700 34px var(--font-c);text-anchor:middle;font-variant-numeric:tabular-nums}.speedo.redline .speedo-digits{fill:#ffd0d4}.speedo.boost .speedo-digits{fill:var(--cyan)}.speedo-unit{fill:var(--muted);font:600 11px var(--font-c);text-anchor:middle;letter-spacing:.15em}.air{border:1px solid var(--line);background:#0a0c108c;border-radius:12px;flex-direction:column;align-items:center;gap:4px;margin-bottom:14px;padding:8px 8px 6px;display:flex}.air-bars{gap:5px;display:flex}.air-bar{background:#ffffff1a;border-radius:4px;width:12px;height:62px;position:relative;overflow:hidden}.air-fill{transform-origin:bottom;background:linear-gradient(to top, #1aa8c4, var(--cyan));transition:transform .12s linear;position:absolute;inset:0}.air-bar.full .air-fill{box-shadow:0 0 10px var(--cyan)}.air-label{font:600 10px var(--font-c);letter-spacing:.2em;color:var(--muted)}.air.fail{border-color:var(--red);animation:.18s steps(2,end) 5 airfail}.air.fail .air-fill{background:var(--red)}@keyframes airfail{50%{background:#ff3b4e73}}.hud.compact .speedo{width:132px;height:132px}.hud.compact .air-bar{width:10px;height:44px}.hud.compact .hud-points{font-size:28px}.hud.compact .hud-tr{font-size:15px}.hud.compact .street-sign{font-size:17px}.hud.compact .popup{font-size:20px}.hud.compact .popup.big{font-size:28px}.menus{z-index:20;pointer-events:none;opacity:0;place-items:center;transition:opacity .3s;display:grid;position:absolute;inset:0}.menus.open{pointer-events:auto;opacity:1;background:radial-gradient(at 50% 120%,#0000 30%,#05060a8c 100%)}.menus.home{background:linear-gradient(90deg,#08090dc7 0%,#08090d59 45%,#08090d00 70%)}.screen{display:none}.screen.on{flex-direction:column;gap:10px;display:flex}.s-menu{left:calc(6vw + var(--safe-l));max-width:min(560px,90vw);position:absolute;top:50%;transform:translateY(-50%);gap:22px!important}.brand-kicker{font:600 14px var(--font-c);letter-spacing:.32em;text-transform:uppercase;color:var(--orange)}.brand h1{font:800 clamp(40px, 7.2vw, 88px)/.88 var(--font-c);letter-spacing:.01em;text-shadow:0 6px 30px #00000073;margin:8px 0 6px}.brand h1 span{color:var(--cyan);text-shadow:0 0 30px #2ef2ff73;display:block}.brand-sub{color:#cfd5de;max-width:420px;font-size:15px}.menu-actions{flex-wrap:wrap;gap:12px;display:flex}.menu-best{font:600 16px var(--font-c);color:var(--muted);letter-spacing:.08em}.panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);background:#0e1117d1;border-radius:18px;align-items:stretch;min-width:min(380px,88vw);max-height:92vh;padding:26px 28px;overflow:auto;box-shadow:0 30px 80px #00000080}.panel h2{font:800 30px var(--font-c);letter-spacing:.08em;text-align:center;margin:0 0 6px}.btn{appearance:none;color:var(--text);font:700 18px/1 var(--font-c);letter-spacing:.12em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:15px 26px;transition:transform .12s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn:hover,.btn:focus-visible{background:#ffffff1f;border-color:#ffffff59;outline:none}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(135deg, var(--orange), #ff8a3d);color:#140a04;border-color:#0000;min-width:180px;box-shadow:0 10px 30px #ff6a1a59}.btn.primary:hover,.btn.primary:focus-visible{background:linear-gradient(135deg,#ff7a30,#ffa060);box-shadow:0 12px 40px #ff6a1a8c}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.x{background:#000;border-color:#ffffff40}.settings{gap:8px;justify-content:inherit;flex-wrap:wrap;display:flex}.panel .settings{justify-content:center;margin:4px 0}.chip{appearance:none;border:1px solid var(--line);color:#dfe4ea;font:600 14px var(--font);cursor:pointer;background:#00000059;border-radius:999px;padding:8px 12px}.chip:hover{border-color:#ffffff59}.tabs{justify-content:center;gap:6px;margin-bottom:4px;display:flex}.tabs button{appearance:none;border:1px solid var(--line);color:var(--muted);font:700 14px var(--font-c);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px}.tabs button.on{background:var(--cyan);color:#04161a;border-color:#0000}.ctl-list{gap:8px;margin:6px 0 12px;display:grid}.ctl{align-items:center;gap:6px;font-size:15px;display:flex}.ctl span{color:#dfe4ea;margin-left:8px}kbd{min-width:30px;height:28px;font:700 13px var(--font-c);background:#ffffff0f;border:1px solid #ffffff40;border-bottom-width:3px;border-radius:7px;place-items:center;padding:0 7px;display:inline-grid}.ic{border:2px solid #fff6;border-radius:50%;width:28px;height:28px;display:inline-block}.ic.gas{background:#2ef2ff40}.ic.jump{background:#ff6a1a4d}.ic.boost{background:#2ef2ff80}.ic.multi{border-style:dashed}.hint{color:var(--muted);text-align:center;margin:6px 0 0;font-size:13px}.go-kicker{text-align:center;font:700 16px var(--font-c);letter-spacing:.4em;color:var(--red)}.go-score{text-align:center;font:italic 800 64px/1 var(--font-c);font-variant-numeric:tabular-nums}.go-record{text-align:center;font:600 16px var(--font-c);color:var(--muted);letter-spacing:.08em;margin-bottom:4px}.go-record.new{color:var(--orange);text-shadow:0 0 16px #ff6a1a99;font-size:20px}.go-stats{justify-content:center;gap:28px;margin:4px 0 10px;display:flex}.go-stats div{flex-direction:column;align-items:center;display:flex}.go-stats b{font:700 22px var(--font-c)}.go-stats span{color:var(--muted);font-size:12px}.legal{left:0;right:0;bottom:calc(10px + var(--safe-b));text-align:center;color:#ffffff8c;pointer-events:none;padding:0 12px;font-size:12px;position:absolute}.menus:not(.open) .legal{display:none}.corner{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));z-index:15;gap:8px;display:flex;position:absolute}.corner.hidden{display:none}.cbtn{border:1px solid var(--line);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c1080;border-radius:12px;width:44px;height:44px;font-size:16px}.cbtn[data-a=mute],.cbtn[data-a=fs]{display:none}.touch-ui .cbtn[data-a=mute],.touch-ui .cbtn[data-a=fs]:not([hidden]){display:block}.rotate{display:none}@media (orientation:portrait){.touch-ui .rotate{z-index:100;text-align:center;font:700 20px var(--font-c);letter-spacing:.05em;pointer-events:auto;background:#08090df0;place-content:center;justify-items:center;gap:18px;padding:24px;display:grid;position:fixed;inset:0}.rotate-phone{border:3px solid var(--cyan);border-radius:10px;width:46px;height:80px;animation:2s ease-in-out infinite rot}@keyframes rot{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}}@media (max-height:520px){.s-menu{gap:12px!important}.brand h1{font-size:clamp(30px,9vh,54px)}.brand-sub{display:none}.btn{padding:11px 20px;font-size:16px}.panel{padding:16px 20px}.go-score{font-size:44px}.ctl-list{grid-template-columns:1fr 1fr;gap:6px 14px}}.touch{z-index:12;pointer-events:none;position:absolute;inset:0}.touch.hidden{display:none}.stick-zone{pointer-events:auto;touch-action:none;width:42%;height:72%;position:absolute;bottom:0;left:0}.stick-base{left:calc(110px + var(--safe-l));top:calc(100% - 110px - var(--safe-b));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c1047;border:2px solid #ffffff47;border-radius:50%;width:132px;height:132px;margin:-66px 0 0 -66px;transition:border-color .15s,background .15s;position:absolute}.stick-base.on{background:#2ef2ff14;border-color:#2ef2ffb3}.stick-knob{background:#ffffff8c;border-radius:50%;width:58px;height:58px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000059}.stick-base.on .stick-knob{background:var(--cyan)}.stick-hint{left:calc(110px + var(--safe-l));bottom:calc(16px + var(--safe-b));font:600 11px var(--font-c);letter-spacing:.2em;color:#ffffff73;position:absolute;transform:translate(-50%)}.btns{right:calc(14px + var(--safe-r));bottom:calc(14px + var(--safe-b));pointer-events:none;grid-template-rows:84px 112px;grid-template-columns:96px 112px;place-items:end;gap:12px;display:grid;position:absolute}.tbtn{pointer-events:auto;touch-action:none;appearance:none;color:#fff;font:700 13px/1 var(--font-c);letter-spacing:.06em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;background:#0a0c1059;border:2px solid #ffffff4d;border-radius:50%;place-content:center;gap:2px;transition:transform 80ms,background .12s,border-color .12s,box-shadow .12s;display:grid}.tbtn small{font:600 9px var(--font-c);color:#fff9;letter-spacing:.08em}.tbtn.pressed{transform:scale(.92)}.tbtn.gas{border-color:#2ef2ff99;width:112px;height:112px}.tbtn.gas.pressed{background:#2ef2ff59;box-shadow:0 0 24px #2ef2ff80}.tbtn.brake{width:88px;height:88px}.tbtn.brake.pressed{border-color:var(--red);background:#ff3b4e66}.tbtn.jump{border-color:#ff6a1ab3;width:84px;height:84px}.tbtn.jump.pressed{background:#ff6a1a73;box-shadow:0 0 24px #ff6a1a80}.tbtn.boost{border-color:#2ef2ffcc;border-radius:22px;width:96px;height:84px;font-size:12px}.tbtn.boost.pressed{color:#032026;background:#2ef2ff8c;box-shadow:0 0 30px #2ef2ffb3}@media (max-height:420px){.btns{grid-template-rows:70px 96px;grid-template-columns:82px 96px;gap:8px}.tbtn.gas{width:96px;height:96px}.tbtn.brake{width:76px;height:76px}.tbtn.jump{width:70px;height:70px}.tbtn.boost{width:82px;height:70px}}.touch-ui .hud-gauges{top:calc(8px + var(--safe-t));bottom:auto;right:calc(64px + var(--safe-r));flex-direction:row;align-items:flex-start}.touch-ui .hud-gauges .air{margin:8px 0 0}.touch-ui .hud .speedo{width:118px;height:118px}.touch-ui .hud .air-bar{width:9px;height:40px}.touch-ui .hud-tr{left:calc(18px + var(--safe-l));right:auto;top:calc(96px + var(--safe-t));text-align:left;font-size:14px;line-height:1.35}.og-title{z-index:30;pointer-events:none;position:absolute;bottom:48px;left:56px}.og-title h1{font:800 84px/.92 var(--font-c);text-shadow:0 6px 30px #0000008c;margin:6px 0 0}.og-title h1 span{color:var(--cyan);text-shadow:0 0 30px #2ef2ff80;display:block}.og-title .brand-kicker{text-shadow:0 2px 10px #0009;font-size:20px}
