:root{color-scheme:dark;--bg:#11131a;--panel:#191d27;--ink:#f3eadb;--muted:#aeb4c5;--line:#303849;--hot:#ffcc66;--good:#7ef0b3;--bad:#ff7a7a;--blue:#77a7ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#252b3a 0,#11131a 52%,#090a0e 100%);color:var(--ink);font:16px/1.5 system-ui,Segoe UI,sans-serif}.shell{width:min(1040px,94vw);margin:0 auto;padding:38px 0 56px}.hero{margin-bottom:22px}.eyebrow,.credit{color:var(--muted);margin:.2rem 0}.hero h1{font-size:clamp(2.4rem,7vw,5rem);line-height:.95;margin:.15rem 0}.lede{font-size:1.15rem;max-width:760px}.game{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.35)}.topline{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:stretch}.topline>div,.topline button{border:1px solid var(--line);background:#121722;border-radius:14px;padding:10px 12px;color:var(--ink)}.topline span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.topline strong{font-size:1.2rem}.topline button,.moves button,.hold{cursor:pointer}.stage{position:relative;overflow:hidden;height:230px;margin:18px 0;border:1px solid #3b465c;border-radius:20px;background:linear-gradient(#182032,#111620)}.stage:before{content:"";position:absolute;inset:auto 0 34px;height:4px;background:#46536b}.runner{position:absolute;left:38px;bottom:38px;width:24px;height:24px;border-radius:50% 50% 44% 44%;background:var(--hot);box-shadow:0 0 24px rgba(255,204,102,.45);transition:transform .18s}.runner.jump{transform:translateY(-60px)}.runner.dash{transform:translateX(92px)}.runner.brake{transform:translateX(34px) scaleX(1.45)}.gate{position:absolute;right:145px;bottom:38px;width:18px;height:118px;border:3px solid var(--blue);border-bottom:0;box-shadow:0 0 24px rgba(119,167,255,.35)}.terrain{position:absolute;left:96px;right:190px;bottom:42px;height:56px;border-top:2px dashed #56617a;color:#d6e0ff;font-size:.9rem;padding-top:8px}.barWrap{margin:8px 0 14px}.barLabels{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}.bar{position:relative;height:34px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#0d1017}.window{position:absolute;top:0;bottom:0;background:rgba(126,240,179,.27);border-left:2px solid var(--good);border-right:2px solid var(--good)}.needle{position:absolute;top:0;bottom:0;width:3px;background:var(--hot);box-shadow:0 0 14px var(--hot)}.pb{position:absolute;top:5px;width:8px;height:24px;border-radius:99px;background:#fff;box-shadow:0 0 12px #fff;display:none}.moves{display:flex;gap:10px;flex-wrap:wrap}.moves button,.hold,#resetBtn{border:1px solid var(--line);background:#121722;color:var(--ink);border-radius:12px;padding:10px 14px}.moves button.selected{outline:2px solid var(--hot);background:#24202a}.moves button:disabled,.moves button.locked{opacity:.38;cursor:not-allowed;box-shadow:none}.hold{width:100%;margin:12px 0 4px;padding:16px;font-size:1.05rem;background:linear-gradient(90deg,#473719,#1b263e)}kbd{font:inherit;background:#0006;border:1px solid #fff3;border-radius:5px;padding:1px 5px}.gateText{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:14px;align-items:start}.gateText h2{margin:.2rem 0;color:var(--hot)}.gateText p{margin:.2rem 0}.log{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:0;margin:16px 0;list-style:none}.log li{border:1px solid var(--line);border-radius:12px;padding:9px;background:#10151f;color:var(--muted)}.log .pass{color:var(--good)}.log .fail{color:var(--bad)}.verbPanel{border:1px solid #3f4f6b;background:#111824;border-radius:16px;padding:12px 14px;margin:12px 0;color:var(--muted)}.verbPanel p{margin:.2rem 0}.verbPanel strong{color:var(--hot)}.receipt{border:1px solid #6a5730;background:#1f1a12;border-radius:16px;padding:16px;margin-top:14px}.receipt h2{margin-top:0}.copy{white-space:pre-wrap;background:#0c0d11;padding:12px;border-radius:12px;color:#f8e7bd}@media(max-width:760px){.topline{grid-template-columns:1fr 1fr}.gateText{grid-template-columns:1fr}.stage{height:190px}}
.game.preplay .topline,.game.preplay .log{display:none}.game.preplay .stage{margin-top:0}.game.preplay .verbPanel{border-color:rgba(255,204,102,.55);background:rgba(255,204,102,.08)}.game.preplay .gateText h2{color:var(--hot)}