:root{--accent:#ff8a3d;--accent-2:#ffd36b;--ink:#fdf7f0;--muted:#fdf7f0ad;--glass:#0e0c189e;--glass-strong:#0c0a14d1;--line:#ffffff24;--good:#4dff8a;--display:"Avenir Next Condensed", "Arial Narrow", "Roboto Condensed", "Segoe UI", system-ui, sans-serif;--body:"Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif}#ui[data-env=foundry]{--accent:#ffb02e;--accent-2:#ff6a3a}#ui[data-env=glacier]{--accent:#5fe3ff;--accent-2:#b2f7ff}#ui{pointer-events:none;color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}.screen{pointer-events:none;position:absolute;inset:0}.screen>*{pointer-events:auto}.screen[hidden]{display:none}button{font:inherit;color:inherit}.btn{appearance:none;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);min-height:48px;font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff14;border-radius:14px;padding:12px 22px;font-size:18px;font-style:italic;font-weight:800;transition:transform .12s,background .12s,box-shadow .12s}.btn:hover,.btn:focus-visible{box-shadow:0 0 0 2px var(--accent);background:#ffffff29;outline:none;transform:translateY(-1px)}.btn:active{transform:translateY(1px)scale(.98)}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#1a0f05;box-shadow:0 8px 30px -8px var(--accent);border-color:#0000}.btn.primary:hover,.btn.primary:focus-visible{box-shadow:0 10px 34px -6px var(--accent), 0 0 0 2px #fff}.btn.big{padding:14px 44px;font-size:26px}.btn.small{min-height:40px;padding:8px 14px;font-size:14px}.btn.ghost{background:0 0}.chip{appearance:none;border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#0000004d;border-radius:999px;padding:7px 13px;font-size:13px}.chip.on{color:var(--good);border-color:var(--good)}.chip:hover,.chip:focus-visible{color:var(--ink);border-color:var(--accent);outline:none}kbd{border:1px solid var(--line);min-width:1.6em;font:600 12px var(--body);text-align:center;background:#ffffff0f;border-bottom-width:2px;border-radius:5px;padding:1px 5px;display:inline-block}.title{padding:max(20px, env(safe-area-inset-left));justify-content:flex-start;align-items:center;display:flex}.title-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);background:linear-gradient(160deg,#0e0c1ac7,#0e0c1a73);border-radius:26px;max-width:480px;margin-left:clamp(0px,5vw,70px);padding:28px 30px 22px;box-shadow:0 30px 80px -30px #000000b3}.logo{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:clamp(54px,9vw,96px);font-style:italic;font-weight:900;line-height:.82;transform:skew(-6deg)}.logo span{display:block}.logo-a{color:#fff;text-shadow:0 4px #00000059}.logo-b{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;filter:drop-shadow(0 4px #00000059);-webkit-background-clip:text;background-clip:text}.tagline{color:var(--muted);margin:12px 0 4px;font-size:16px}.greet{min-height:1em;color:var(--accent-2);margin:0;font-weight:600}.menu{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.menu.row{justify-content:flex-start}.title .menu .btn.primary{flex-basis:100%}.settings{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.keys{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:2}.levels,.garage{-webkit-backdrop-filter:blur(6px);padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 24px max(16px, env(safe-area-inset-left));background:linear-gradient(#080610db,#080610a8);overflow-y:auto}.bar{align-items:center;gap:14px;margin-bottom:8px;display:flex}.bar h2{font:italic 900 30px var(--display);text-transform:uppercase;letter-spacing:.02em;flex:1;margin:0}.star-total{font:800 18px var(--display);color:var(--accent-2)}.env-blurb{color:var(--muted);margin:0 0 12px}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tab{appearance:none;border:1px solid var(--line);font:italic 800 16px var(--display);text-transform:uppercase;cursor:pointer;background:#ffffff0d;border-radius:12px;padding:10px 16px}.tab.on{border-color:var(--tab);color:var(--tab);background:#ffffff1a}.tab.env-canyon,.grid.env-canyon{--tab:#ff8a3d}.tab.env-foundry,.grid.env-foundry{--tab:#ffb02e}.tab.env-glacier,.grid.env-glacier{--tab:#5fe3ff}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.tile{appearance:none;text-align:left;border:1px solid var(--line);cursor:pointer;background:linear-gradient(150deg,#ffffff1a,#ffffff05);border-radius:16px;min-height:118px;padding:12px 14px;transition:transform .12s,border-color .12s;position:relative}.tile:hover,.tile:focus-visible{border-color:var(--tab);outline:none;transform:translateY(-2px)}.tile.done{border-color:color-mix(in srgb, var(--tab) 45%, transparent)}.tile.locked{opacity:.45;cursor:not-allowed}.tile-n{font:italic 900 34px var(--display);color:var(--tab);line-height:1}.tile-name{margin:4px 0 6px;font-weight:700}.tile-best{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.stars span{color:#fff3;margin-right:2px;font-size:18px}.stars span.on{color:#ffd84a;text-shadow:0 0 8px #ffd84a99}.garage{-webkit-backdrop-filter:none;background:linear-gradient(#0806108c 0,#0000 18% 42%,#080610db 62%);flex-direction:column;display:flex}.garage-space{flex:auto;min-height:120px}.bikes{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.bike{-webkit-backdrop-filter:blur(10px);cursor:default;background:#0e0c1899}.bike:focus-visible{outline:2px solid var(--accent)}.bike{border:1px solid var(--line);background:#ffffff0d;border-radius:18px;padding:14px}.bike.selected{border-color:var(--good);box-shadow:0 0 0 1px var(--good) inset}.bike.locked{opacity:.7}.bike h3{font:italic 900 24px var(--display);text-transform:uppercase;margin:8px 0 2px}.bike p{color:var(--muted);min-height:2.6em;margin:0 0 10px;font-size:13px}.swatch{background:linear-gradient(115deg, var(--c3) 0 22%, var(--c1) 22% 70%, var(--c2) 70% 78%, var(--c1) 78%);border-radius:10px;height:46px}.stats{gap:5px;margin-bottom:12px;display:grid}.stat{text-transform:uppercase;color:var(--muted);grid-template-columns:52px 1fr;align-items:center;font-size:11px;display:grid}.stat i{background:#ffffff1f;border-radius:3px;height:6px;position:relative;overflow:hidden}.stat i:after{content:"";width:calc(var(--v) * 100%);background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:3px;position:absolute;inset:0}.bike-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hud.dim .hud-top,.hud.dim .progress,.hud.dim .touch{opacity:0;pointer-events:none}.hud-top{top:max(10px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;transition:opacity .2s;display:grid;position:absolute}.hud-top>*{pointer-events:auto}.hud-left{align-items:center;gap:10px;display:flex}.hud-right{justify-self:end}.hud-level{font:italic 800 15px var(--display);text-transform:uppercase;letter-spacing:.05em;opacity:.85;text-shadow:0 1px 3px #0009}.hud-center{text-align:center}.hud-time{font:italic 900 38px var(--display);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 2px #00000073,0 0 18px #00000059}.hud-bonus{font:800 14px var(--display);color:var(--accent-2);text-shadow:0 1px 2px #0009;min-height:1.1em}.icon-btn{appearance:none;border:1px solid var(--line);background:var(--glass);width:44px;height:44px;font:800 15px var(--body);cursor:pointer;border-radius:12px}.icon-btn:focus-visible{outline:2px solid var(--accent)}.progress{top:calc(max(10px, env(safe-area-inset-top)) + 62px);pointer-events:none;background:#00000059;border-radius:3px;width:min(420px,50vw);height:5px;transition:opacity .2s;position:absolute;left:50%;transform:translate(-50%)}.progress-fill{transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:3px;position:absolute;inset:0;transform:scaleX(0)}.progress-ticks i{opacity:.8;background:#fff;border-radius:2px;width:3px;height:11px;position:absolute;top:-3px}.toasts{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%)}.toast{font:italic 900 clamp(26px, 4.4vw, 44px) var(--display);text-transform:uppercase;color:#fff;text-shadow:0 3px #0006,0 0 24px #0000004d;text-align:center;transition:opacity .4s,transform .4s;animation:.35s cubic-bezier(.2,1.6,.4,1) pop}.toast small{color:var(--accent-2);font-size:.5em;display:block}.toast.flip{color:#ffe066}.toast.cp{color:var(--good);font-size:clamp(20px,3vw,30px)}.toast.crash{color:#ff6b5a}.toast.out{opacity:0;transform:translateY(-14px)}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.hint{background:var(--glass);opacity:0;pointer-events:none;white-space:nowrap;border-radius:999px;padding:8px 16px;font-weight:700;transition:opacity .3s;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.hint.on{opacity:1}.fps{opacity:.5;pointer-events:none;font:11px ui-monospace,monospace;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.touch{height:0;transition:opacity .2s;display:none;position:absolute;inset:auto 0 0}.touch.on{display:block}.pads{bottom:max(18px, env(safe-area-inset-bottom));gap:14px;display:flex;position:absolute}.pads.left{left:max(18px, env(safe-area-inset-left))}.pads.right{right:max(18px, env(safe-area-inset-right));align-items:flex-end}.pad{appearance:none;-webkit-backdrop-filter:blur(4px);touch-action:none;pointer-events:auto;background:#0a0a1459;border:2px solid #ffffff59;border-radius:50%;width:clamp(68px,11vw,92px);height:clamp(68px,11vw,92px);font-size:clamp(26px,4vw,34px);font-weight:900}.pad.gas{border-color:var(--accent);width:clamp(84px,14vw,118px);height:clamp(84px,14vw,118px)}.pad.held{background:#ffffff4d;transform:scale(.95)}.modal{background:#05040c80;place-items:center;display:grid}.panel{background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);border-radius:24px;min-width:min(360px,90vw);max-width:92vw;padding:24px 26px;box-shadow:0 30px 80px -20px #000c}.panel h2{font:italic 900 34px var(--display);text-transform:uppercase;margin:0}.pause .menu{flex-direction:column;align-items:stretch}.results{padding:max(14px, env(safe-area-inset-right));justify-content:flex-end;align-items:center;display:flex}.results-panel{width:min(400px,92vw);max-height:calc(100% - 20px);animation:.4s cubic-bezier(.2,1.2,.4,1) slide;overflow-y:auto}@keyframes slide{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.eyebrow{color:var(--accent);font:800 13px var(--display);text-transform:uppercase;letter-spacing:.12em;margin:0}.big-stars{gap:8px;margin:10px 0 6px;display:flex}.big-stars span{color:#ffffff29;font-size:48px;transition:transform .3s cubic-bezier(.2,2,.4,1),color .2s;transform:scale(.7)}.big-stars span.on{color:#ffd84a;text-shadow:0 0 22px #ffd84acc;transform:scale(1)}.breakdown{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:4px 16px;margin:8px 0;display:grid}.breakdown dt{color:var(--muted)}.breakdown dd{text-align:right;margin:0;font-weight:700}.breakdown .total{font:italic 900 26px var(--display);color:var(--ink);border-top:1px solid var(--line);padding-top:6px}.best{color:var(--muted);margin:4px 0;font-weight:700}.best.new{color:var(--good);animation:.4s pop}.targets{color:var(--muted);margin:4px 0 0;font-size:13px}.replay-tag{top:max(14px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));font:italic 900 18px var(--display);letter-spacing:.08em;color:#fff;pointer-events:none;background:#dc1e28bf;border-radius:8px;padding:6px 12px;position:absolute}.replay-tag:empty,.rotate{display:none}@media (orientation:portrait) and (max-width:600px){.rotate:not(.dismissed){pointer-events:auto;z-index:10;text-align:center;background:#06050eeb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;font-weight:700;display:flex;position:fixed;inset:0}.rotate-phone{border:3px solid #fff;border-radius:10px;width:44px;height:76px;animation:1.8s ease-in-out infinite turn}@keyframes turn{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.title-card{margin:0 auto;padding:22px 18px}.hud-time{font-size:30px}}@media (max-height:460px){.title-card{padding:16px 20px}.logo{font-size:52px}.tagline{margin-top:6px;font-size:14px}.menu{margin-top:10px}.keys{display:none}.btn.big{padding:10px 30px;font-size:20px}.results-panel{padding:14px 18px}.big-stars span{font-size:34px}.panel h2{font-size:26px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
