:root{--bg: #e6e9ed;--surface: #f6f7f9;--fg: #1c232e;--muted: #5a6474;--line: #c8ced7;--asphalt: #474e5c;--lane: rgba(255, 255, 255, .16);--paint: #f2bf26;--paint-ink: #1c232e;--car1: #e2553a;--car2: #2f80d8;--car3: #2aa363;--car4: #eef0f3;--car5: #9a5bd0;--good: #23824f;--bad: #c63f3f;--gold: #e3a40e;--gold-hi: #fff4c2;--scrim: rgba(18, 22, 29, .55);--display: "Bungee", "Arial Black", Impact, sans-serif;--body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #11151b;--surface: #1a1f28;--fg: #e7eaef;--muted: #98a2b3;--line: #2b3240;--asphalt: #252a33;--lane: rgba(255, 255, 255, .1);--scrim: rgba(0, 0, 0, .65);--good: #4cc483;--bad: #ef6b6b;color-scheme:dark}}:root[data-theme=dark]{--bg: #11151b;--surface: #1a1f28;--fg: #e7eaef;--muted: #98a2b3;--line: #2b3240;--asphalt: #252a33;--lane: rgba(255, 255, 255, .1);--scrim: rgba(0, 0, 0, .65);--good: #4cc483;--bad: #ef6b6b;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.wrap{max-width:1080px;margin:0 auto;padding-block:24px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sign{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(20px,5vw,30px);white-space:nowrap;line-height:1;background:var(--paint);color:var(--paint-ink);padding:8px 12px 6px;border-radius:6px;letter-spacing:.02em}.brand p{margin:0;color:var(--muted);max-width:46ch;font-size:14px}.hud{display:flex;gap:8px;flex-wrap:wrap}.chip{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 12px;min-width:76px}.chip span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.chip b{font-family:var(--mono);font-size:18px;font-variant-numeric:tabular-nums}.lives{display:flex;gap:4px;padding-top:6px}.lives i{width:12px;height:12px;border-radius:50%;background:var(--bad)}.lives i.off{background:var(--line)}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:24px;align-items:start}@media (max-width: 820px){.grid{grid-template-columns:minmax(0,1fr)}}.play{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}.howto{margin:0;color:var(--muted);font-size:14px;text-align:center;max-width:52ch}.board{--n: 5;position:relative;width:min(100%,480px);aspect-ratio:1;max-width:100%;background-color:var(--asphalt);border-radius:14px;overflow:hidden;background-image:linear-gradient(to right,var(--lane) 2px,transparent 2px),linear-gradient(to bottom,var(--lane) 2px,transparent 2px);background-size:calc(100% / var(--n)) calc(100% / var(--n));box-shadow:inset 0 0 0 6px var(--paint);touch-action:manipulation}.car{position:absolute;padding:0;margin:0;border:0;background:none;cursor:pointer;transition:transform .45s cubic-bezier(.5,0,.75,0),opacity .45s ease-in;-webkit-tap-highlight-color:transparent}.car svg{width:100%;height:100%;display:block;transition:transform .2s}.car .fill{fill:var(--car)}.car .shine{fill:var(--gold-hi)}.car:focus-visible{outline:3px solid var(--paint);outline-offset:-3px;border-radius:8px}.car.gone{opacity:0;pointer-events:none}.car.hint svg{animation:pulse .8s ease-in-out infinite}.car.blocker svg{filter:drop-shadow(0 0 6px var(--bad)) brightness(1.15)}@keyframes pulse{50%{filter:drop-shadow(0 0 8px var(--paint)) brightness(1.25)}}.car.golden svg{filter:drop-shadow(0 0 5px var(--gold))}.goldring{position:absolute;pointer-events:none;z-index:2;transition:opacity .3s}.goldring svg{width:100%;height:100%;display:block;overflow:visible}.goldring circle{fill:none;stroke-width:6;transform:rotate(-90deg);transform-origin:50% 50%}.goldring .track{stroke:#ffffff29}.goldring .arc{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:100}.goldbar{width:min(100%,480px);display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.goldbar .coin{width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 3px var(--gold-hi);flex:none}.goldbar .txt{flex:1;min-width:0;font-size:14px}.goldbar .txt b{font-family:var(--mono);font-variant-numeric:tabular-nums}.goldbar .meter{height:4px;background:var(--line);border-radius:2px;margin-top:5px;overflow:hidden}.goldbar .meter i{display:block;height:100%;width:100%;background:var(--gold)}.goldbar .btn{padding:6px 10px;font-size:13px;flex:none}.woof{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-50%);font:400 clamp(12px,3.2vw,17px) var(--display);color:var(--paint-ink);background:var(--paint);padding:3px 8px 1px;border-radius:10px 10px 10px 2px;white-space:nowrap;animation:woof .7s ease-out forwards}@keyframes woof{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.1)}to{opacity:0;transform:translate(-50%,-110%) scale(1)}}.tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}button.btn{font:600 14px var(--body);border-radius:8px;padding:9px 14px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--fg)}button.btn:hover:not(:disabled){border-color:var(--muted)}button.btn:focus-visible{outline:3px solid var(--paint);outline-offset:2px}button.btn.primary{background:var(--paint);color:var(--paint-ink);border-color:var(--paint)}button.btn:disabled{opacity:.5;cursor:default}.tag{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:4px;border:1px solid currentColor;margin-left:6px;vertical-align:1px}aside.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:20px;min-width:0}.panel h2{font-family:var(--display);font-size:15px;font-weight:400;letter-spacing:.03em;margin:0 0 8px}.panel p.note{margin:10px 0 0;color:var(--muted);font-size:13px}dl.rows{margin:0;display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px}dl.rows dt{color:var(--muted)}dl.rows dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}dl.rows .total{color:var(--fg);font-weight:600;border-top:1px solid var(--line);padding-top:6px}.store{display:grid;grid-template-columns:1fr 1fr;gap:8px}.store button{text-align:left;display:flex;flex-direction:column;gap:2px}.store small{font:400 12px var(--mono);color:var(--muted)}.inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.inputs label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);min-width:0}.inputs input{font:14px var(--mono);padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--fg);width:100%;min-width:0}.inputs input:focus-visible{outline:2px solid var(--paint);outline-offset:1px}.big{font-family:var(--display);font-size:30px;line-height:1.1;font-weight:400}.big small{font:500 13px var(--body);color:var(--muted);display:block;letter-spacing:0}.projection-total{margin-top:16px}.stack{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--line);margin:10px 0 8px}.stack i{display:block;height:100%;transition:width .3s}.legend{display:grid;grid-template-columns:auto 1fr auto;gap:3px 8px;font-size:13px;align-items:center}.legend .sw{width:10px;height:10px;border-radius:2px}.legend span:nth-child(3n){font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:10;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.modal{background:var(--surface);color:var(--fg);border-radius:14px;padding:22px;width:min(100%,380px);border:1px solid var(--line)}.modal h3{font-family:var(--display);font-weight:400;font-size:22px;margin:0 0 8px;text-wrap:balance}.modal p{margin:0 0 10px;color:var(--muted)}.modal .actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.adbox{border:2px dashed var(--line);border-radius:10px;padding:16px;text-align:center}.adbox .bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:12px}.adbox .bar i{display:block;height:100%;width:0;background:var(--paint)}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:8px;font-weight:600;font-size:14px;z-index:20}@media (prefers-reduced-motion: reduce){.car,.car svg,.stack i{transition:none}.car.hint svg{animation:none;filter:drop-shadow(0 0 8px var(--paint))}.woof{animation-duration:.01s;animation-delay:.6s;animation-fill-mode:both}}.mode-line{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;justify-content:center;margin:-3px 0 0;color:var(--muted);font-size:12px;text-align:center}.stage-tag,.rush-tag{border:1px solid var(--line);padding:3px 8px;border-radius:5px;font-weight:700}.rush-tag{background:var(--paint);color:var(--paint-ink);border-color:var(--paint)}.rushbar{display:flex;align-items:center;gap:12px;width:min(100%,480px);padding:10px 12px;border:1px solid var(--paint);border-radius:10px;background:var(--surface)}.rush-icon{font-size:22px;flex:none}.rush-body{min-width:0;width:100%}.rush-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;font-size:13px}.rush-row strong{font-family:var(--mono)}.rush-row span{font-variant-numeric:tabular-nums}.rushbar small{font-size:11px;color:var(--muted)}.rush-meter{height:6px;overflow:hidden;background:var(--line);border-radius:3px;margin:6px 0 3px}.rush-meter i{display:block;height:100%;background:var(--paint);transition:width .1s linear}.win-results{margin-top:10px}.result-stars{text-align:center;letter-spacing:6px;font-size:35px;line-height:1.2}.result-stars .lit{color:var(--gold)}.result-stars .dim{color:var(--line)}.modal .result-headline{text-align:center;font-weight:700;color:var(--fg)}.reward-breakdown{display:grid;grid-template-columns:1fr auto;gap:4px 14px;font-size:13px}.reward-breakdown dt{color:var(--muted)}.reward-breakdown dd{margin:0;text-align:right;font-family:var(--mono)}.reward-breakdown .total{border-top:1px solid var(--line);padding-top:6px;color:var(--fg);font-weight:700}.modal .result-note{margin-top:10px;font-size:12px}.recent-results{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.recent-results h3{font-size:14px;margin:0 0 8px}.recent-results h3 small{font-size:11px;font-weight:400;color:var(--muted)}.result-list{display:grid;gap:8px}.result-list-row{display:flex;gap:4px 10px;flex-wrap:wrap;align-items:center;font-size:12px}.result-list-row strong{color:var(--gold)}.result-list-row span:last-child{color:var(--muted);flex-basis:100%}.public-game{max-width:560px;margin:0 auto}.play-note{font-size:12px;color:var(--muted);max-width:46ch;text-align:center;margin:10px auto 0}
