:root{--green: #1f6b3a;--green-dark: #154d29;--yellow: #f2c230;--orange: #f2862a;--red: #c8321f;--red-bright: #ff4a32;--asphalt: #232428;--asphalt-2: #2f3136;--ink: #161616;--paper: #f6f3ea;--muted: #a7aab0;--white: #ffffff;--font-display: "Bungee", Impact, sans-serif;--font-sign: "Overpass", "Arial Narrow", Arial, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#9ccbe8;font-family:var(--font-sign);color:var(--white);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#game{display:block;width:100vw;height:100vh;height:100dvh;touch-action:none}.hidden{display:none!important}button{font-family:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}svg{fill:currentColor}#hurt{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(200,30,20,.85));opacity:0}#fade{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#000;opacity:0;transition:opacity .4s}#fade.on{opacity:1}#hud{position:fixed;top:calc(10px + var(--safe-t));left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.hud-left{display:flex;flex-direction:column;gap:6px}.score-box{background:var(--green);border:2.5px solid var(--white);outline:2px solid var(--green);border-radius:7px;padding:4px 14px 2px;min-width:140px;box-shadow:0 3px 10px #0000004d}.score{font-weight:900;font-size:30px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.5px}.miles{font-weight:700;font-size:14px;opacity:.9;text-transform:uppercase;letter-spacing:1px}.lives{display:flex;gap:4px}.lives svg{width:28px;height:28px;fill:#1c1c1f;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4));transition:opacity .2s,transform .2s}.lives svg.lost{opacity:.22;transform:scale(.8)}.hud-right{display:flex;gap:8px;align-items:center}.pill{display:flex;align-items:center;gap:5px;background:#161618cc;border-radius:20px;padding:6px 12px 6px 9px;font-weight:800;font-size:17px}.pill svg{width:20px;height:20px;color:var(--yellow)}.pill.empty{opacity:.5}.icon-btn{pointer-events:auto;width:40px;height:40px;border:none;border-radius:50%;background:#161618cc;color:var(--white);cursor:pointer;display:grid;place-items:center}.icon-btn svg{width:20px;height:20px}.bump{animation:bump .4s ease-out}.nudge{animation:nudge .3s}@keyframes bump{40%{transform:scale(1.18)}}@keyframes nudge{25%{transform:translate(-5px)}75%{transform:translate(5px)}}#alerts{position:fixed;top:calc(12px + var(--safe-t));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(300px,46vw)}.diamond-warn{position:relative;width:84px;height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--ink);margin:6px 0 4px}.diamond-warn:before{content:"";position:absolute;top:13px;right:13px;bottom:13px;left:13px;background:var(--yellow);border:3px solid var(--ink);border-radius:7px;transform:rotate(45deg);box-shadow:0 3px 10px #0000004d}.diamond-warn>*{position:relative}.diamond-warn svg{width:24px;height:24px}.diamond-warn span{font-weight:900;font-size:13px;line-height:1;white-space:nowrap}.diamond-warn.over:before{animation:flash .45s steps(2) infinite}@keyframes flash{50%{background:var(--orange)}}.sway{width:100%;background:#161618d1;border-radius:8px;padding:5px 10px 7px}.sway-label{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#ffb4a8}.sway-track{height:9px;background:#ffffff26;border-radius:5px;overflow:hidden;margin-top:3px}#gravel-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#d8b98a,var(--red-bright))}.gravel .sway-label{color:#f0d6a8}.wall-warn{display:flex;align-items:center;gap:8px;background:var(--orange);color:var(--ink);border:2px solid var(--ink);border-radius:7px;padding:5px 12px;font-size:14px;font-weight:800;white-space:nowrap}.wall-warn b{font-weight:900;text-transform:uppercase}.wall-warn.now{animation:flash .4s steps(2) infinite}#sway-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--yellow),var(--red-bright))}.ramp-pill,.ice-warn,.pads-pill{display:flex;align-items:center;gap:7px;background:var(--green);border:2px solid var(--white);border-radius:7px;padding:5px 11px;font-size:14px;white-space:nowrap;box-shadow:0 3px 10px #0000004d}.ramp-pill svg,.ice-warn svg{width:20px;height:20px}.ramp-pill b,.ice-warn b,.pads-pill b{font-weight:900;text-transform:uppercase;letter-spacing:.5px}.ramp-pill.now{animation:pulse .6s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.08)}}.ice-warn{background:#2a6f9e}.pads-pill{background:#2774b8}.cb{position:fixed;left:12px;top:calc(118px + var(--safe-t));width:min(380px,calc(100vw - 24px));background:#141416e0;border-left:5px solid var(--yellow);border-radius:8px;padding:7px 14px 9px;pointer-events:none}.cb.show{animation:cb-in .25s ease-out}@keyframes cb-in{0%{opacity:0;transform:translateY(-8px)}}.cb-head{display:flex;align-items:center;gap:6px;font-weight:900;font-size:11px;letter-spacing:2px;color:var(--yellow)}.cb-head svg{width:16px;height:16px;color:#c9ccd1}.cb p{margin:3px 0 0;font-weight:700;font-size:16px;line-height:1.3}.banner{position:fixed;left:50%;top:34%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;text-shadow:0 2px 0 rgba(0,0,0,.45),0 0 18px rgba(0,0,0,.4);width:90vw}.banner.show{animation:pop .35s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}}.banner b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,6vw,46px);line-height:1.05;color:var(--white)}.banner span{display:block;font-weight:800;font-size:clamp(14px,3.2vw,19px);margin-top:4px}.banner.big b{font-size:clamp(32px,8vw,60px);color:var(--yellow)}.banner.bad b{color:var(--red-bright)}.banner.good b{color:#8ff08a}.banner.combo b{color:var(--yellow);font-size:clamp(22px,5vw,36px)}.banner.place b{color:var(--white);background:var(--green);border:3px solid var(--white);outline:3px solid var(--green);border-radius:8px;display:inline-block;padding:6px 20px 2px;text-shadow:none;font-family:var(--font-sign);font-weight:900;text-transform:uppercase}.banner.place span{text-transform:uppercase;letter-spacing:3px;margin-top:8px}.hint{position:fixed;left:50%;bottom:calc(20px + var(--safe-b));transform:translate(-50%);background:#141416bf;border-radius:20px;padding:7px 16px;font-weight:700;font-size:14px;white-space:nowrap;pointer-events:none}body.touch .hint{display:none!important}#dash{position:fixed;left:14px;bottom:calc(14px + var(--safe-b));width:150px;background:#141416d1;border-radius:14px;padding:8px 12px 10px;pointer-events:none}.gauge{position:relative;height:78px}.gauge-arc{width:100%;height:76px}.gauge-bg,.gauge-fill{fill:none;stroke-width:9;stroke-linecap:round}.gauge-bg{stroke:#ffffff24}.gauge-fill{stroke:var(--yellow);stroke-dasharray:100;stroke-dashoffset:100;transition:stroke .3s}#dash.fast .gauge-fill{stroke:var(--red-bright)}.gauge-read{position:absolute;left:0;right:0;bottom:0;text-align:center;line-height:.9}.gauge-read span{font-weight:900;font-size:38px;font-variant-numeric:tabular-nums}.gauge-read small{display:block;font-weight:800;font-size:11px;letter-spacing:2px;color:var(--muted)}.heat{margin-top:6px}.heat-label{font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.heat.on .heat-label{color:var(--white)}.heat-track{height:9px;border-radius:5px;background:#ffffff24;overflow:hidden;margin-top:3px}#heat-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd34d,#ff8a2a)}.heat.hot #heat-fill{background:linear-gradient(90deg,#ff8a2a,var(--red-bright))}.heat.cooked .heat-label{color:var(--red-bright);animation:flash-text .4s steps(2) infinite}.heat.cooked #heat-fill{background:var(--red-bright)}@keyframes flash-text{50%{opacity:.3}}#controls{position:fixed;right:14px;bottom:calc(14px + var(--safe-b));display:none;flex-direction:column;align-items:center;gap:12px}body.touch #controls:not(.hidden){display:flex}.round-btn{border:none;border-radius:50%;color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;cursor:pointer;box-shadow:0 4px #00000059}.round-btn:active,.round-btn.down{transform:translateY(3px);box-shadow:0 1px #00000059}.jake-btn{width:104px;height:104px;background:var(--red);border:3px solid rgba(255,255,255,.85)}.jake-btn.down{background:#e0442f}.jake-btn svg{width:30px;height:30px;fill:none}.jake-btn span{font-weight:900;font-size:18px;letter-spacing:1px;line-height:1}.jake-btn small{font-weight:700;font-size:11px;opacity:.8}.horn-btn{width:64px;height:64px;background:#3a3c42;border:2px solid rgba(255,255,255,.6);position:relative}.horn-btn svg{width:28px;height:28px;color:var(--yellow);fill:var(--yellow)}.horn-btn span{position:absolute;top:-4px;right:-4px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:13px;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center}.horn-btn.empty{opacity:.45}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0e101473;overflow-y:auto}.menu-screen{align-items:flex-start;background:linear-gradient(90deg,#0e1014d1,#0e10148c 55%,#0e101426)}.menu{width:min(940px,100%);margin:auto;padding:8px 0 16px}.menu-head{margin-bottom:18px}.sign-title{display:inline-block;background:var(--green);border:4px solid var(--white);outline:4px solid var(--green);border-radius:12px;padding:10px 26px 12px;box-shadow:0 10px 30px #00000059;margin:4px 4px 0}.kicker{margin:0;font-weight:800;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;opacity:.85}h1{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,10vw,84px);line-height:1;margin:4px 0 6px;letter-spacing:1px}.sign-sub{margin:0;display:flex;gap:10px;flex-wrap:wrap}.sign-sub span{background:var(--yellow);color:var(--ink);font-weight:900;font-size:14px;text-transform:uppercase;padding:3px 10px 1px;border-radius:4px;border:2px solid var(--ink)}.tagline{font-weight:700;font-size:18px;max-width:560px;line-height:1.4;margin:16px 0 0;text-shadow:0 1px 4px rgba(0,0,0,.5)}.menu-body{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:start}.menu-main,.board-box{background:#16171adb;border-radius:14px;padding:16px 18px}.howto{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.howto li{display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:start}.howto svg{grid-row:span 2;width:26px;height:26px;color:var(--yellow);fill:var(--yellow);margin-top:2px}.howto svg[viewBox] use{pointer-events:none}.howto b{font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.howto span{font-size:14px;line-height:1.35;color:#d5d7db}.btn{display:block;width:100%;border:none;border-radius:10px;padding:12px 18px 10px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:18px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:0 4px #a9831a}.btn:active{transform:translateY(3px);box-shadow:0 1px #a9831a}.btn.big{font-size:22px;padding:15px 18px 12px}.btn.secondary{background:#3a3c42;color:var(--white);box-shadow:0 4px #1f2024}.best-line{margin:10px 0 0;text-align:center;font-size:14px;color:#d5d7db}.best-line b{color:var(--yellow)}.board-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-weight:900;font-size:17px;text-transform:uppercase;letter-spacing:1px}.board-title svg{width:22px;height:22px;color:var(--yellow);fill:none}.board table{width:100%;border-collapse:collapse;font-size:15px}.board th{text-align:left;font-weight:800;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:4px 6px}.board td{padding:5px 6px;border-top:1px solid rgba(255,255,255,.08)}.board .num{text-align:right;font-variant-numeric:tabular-nums}.board .rank{color:var(--muted);width:28px;font-weight:800}.board .name{font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board tr.me td{background:#f2c23029;color:var(--yellow)}.board tr.gap td{text-align:center;color:var(--muted);border:none}.board-empty{color:var(--muted);font-size:14px;margin:6px 0}.board.compact table{font-size:14px}.about{margin:18px 0 10px;font-size:14px;line-height:1.55;color:#cdd0d4;max-width:760px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.menu-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-weight:700;font-size:14px}.menu-links a{color:var(--yellow);text-decoration:none}.menu-links a:hover{text-decoration:underline}.panel{background:#16171af0;border-radius:16px;padding:22px 24px;width:min(400px,100%);text-align:center;box-shadow:0 20px 60px #00000080;border-top:6px solid var(--yellow);margin:auto}.panel h2{font-family:var(--font-display);font-weight:400;font-size:32px;margin:0 0 12px;color:var(--yellow)}.btn-col{display:flex;flex-direction:column;gap:10px;margin-top:16px}.over-label{margin:0;font-weight:800;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.over-score{font-weight:900;font-size:52px;line-height:1;font-variant-numeric:tabular-nums}.over-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px}.over-stats div{background:#ffffff0f;border-radius:8px;padding:6px 4px}.over-stats span{display:block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.over-stats b{font-weight:900;font-size:17px}.over-rank{font-weight:700;font-size:14px;margin:8px 0}.over-rank a{color:var(--yellow)}@media(max-width:720px){.menu-body{grid-template-columns:1fr}.menu-main{display:flex;flex-direction:column}.menu-main .btn.big{order:-2;margin-bottom:4px}.menu-main .best-line{order:-1;margin:0 0 12px}.howto span{font-size:13px}.menu-screen{background:#0e101499}.tagline{font-size:16px}.sign-title{padding:8px 18px 10px}#dash{width:128px;padding:6px 10px 8px}.gauge,.gauge-arc{height:64px}.gauge-read span{font-size:32px}.score{font-size:24px}.score-box{min-width:110px;padding:3px 10px 1px}.lives svg{width:24px;height:24px}#alerts{top:calc(64px + var(--safe-t));width:min(260px,70vw);transition:top .2s}body.cb-on #alerts{top:calc(160px + var(--safe-t))}.cb{top:calc(98px + var(--safe-t));right:12px;width:auto;padding:5px 10px 6px;border-left-width:4px;background:#141416c7}.cb-head{font-size:9px}.cb-head svg{width:12px;height:12px}.cb p{font-size:13px;line-height:1.25;margin-top:1px}}
