:root{color-scheme:dark;--ink:#eef3ff;--muted:#9fb0d0;--panel:#151d31;--line:#2c3a58;--accent:#39c6f0;--accent-ink:#04202c;--land-band:#7ce7b0;--cap-band:#ffe27a;color:var(--ink);background:#0a1020;font-family:Inter,ui-sans-serif,system-ui,sans-serif}html[data-contrast=high]{--ink:#fff;--muted:#fff;--panel:#000;--line:#fff;--accent:#00e5ff;--accent-ink:#000;--land-band:#0f8;--cap-band:#ff0;background:#000}html[data-interface=large]{font-size:118%}*{box-sizing:border-box}[hidden]{display:none!important}body{min-height:100svh;margin:0}#runtime{min-height:100svh;padding:.7rem max(.7rem, env(safe-area-inset-left)) max(.7rem, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:.7rem;display:flex}.title-bar{justify-content:space-between;align-items:center;width:min(46rem,100%);display:flex}h1{letter-spacing:-.02em;margin:0;font-size:1.25rem}.icon-button{border:1px solid var(--line);background:var(--panel);min-height:44px;color:inherit;cursor:pointer;border-radius:.6rem;padding:0 .9rem}.panel{border:1px solid var(--line);background:var(--panel);border-radius:1rem;gap:.6rem;width:min(34rem,100%);padding:1.1rem;display:grid}.panel h2{margin:0;font-size:1.1rem}select,button{border:1px solid var(--line);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#1d2740;border-radius:.6rem;padding:.5rem .8rem}html[data-contrast=high] select,html[data-contrast=high] button{background:#000}.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:800}.primary:disabled{opacity:.55;cursor:default}.hint{color:var(--muted);margin:0;font-size:.85rem}#game-ui{justify-items:stretch;gap:.6rem;width:min(46rem,100%);display:grid}.hud{flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin:0;display:flex}.hud div{text-align:center}dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.68rem}dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.15rem;font-weight:800}.turn{text-align:center;color:var(--accent);margin:0;font-weight:700}.stage-frame{aspect-ratio:16/10;border:1px solid var(--line);touch-action:manipulation;cursor:pointer;background:#0a1020;border-radius:1rem;width:100%;min-height:220px;position:relative;overflow:hidden}#stage{width:100%;height:100%;display:block}.meters{gap:.4rem;display:grid}.meter{grid-template-columns:3.6rem 1fr;align-items:center;gap:.6rem;display:grid}.meter-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.7rem}.track{border:1px solid var(--line);background:#101728;border-radius:999px;height:1.15rem;position:relative;overflow:hidden}html[data-contrast=high] .track{background:#000}#spin-track:before{content:"";background:var(--bands,none);opacity:.85;position:absolute;inset:0}.marker{width:.3rem;top:0;bottom:0;left:calc(var(--at,0) * 100%);background:var(--ink);border-radius:999px;margin-left:-.15rem;position:absolute;box-shadow:0 0 .5rem #ffffff73}.meter[data-state=idle] .marker{opacity:.3}.meter[data-state=locked] .marker{background:var(--accent)}.throw{font-size:1.05rem}.nudge{grid-template-columns:3.5rem 1fr 3.5rem;align-items:center;gap:.5rem;display:grid}.nudge .hint{text-align:center}.nudge button{font-size:1.3rem;font-weight:800}.ghost-note{text-align:center}.tricks{background:var(--land-band);color:#04241a;pointer-events:none;border-radius:999px;margin:0;padding:.35rem .9rem;font-size:.85rem;font-weight:800;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:0;display:grid}.stats-heading{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.controls{justify-content:center;gap:.5rem;display:flex}.tips{text-align:center}#results dl,#start-screen dl{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:0;display:grid}dialog{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:1rem;width:min(28rem,92vw)}.dialog-content{gap:.5rem;display:grid}.dialog-head{justify-content:space-between;align-items:center;display:flex}dialog label{justify-content:space-between;align-items:center;gap:1rem;min-height:44px;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}html[data-motion=reduced] *{transition:none!important;animation:none!important}@media (width>=60rem) and (orientation:landscape){.stage-frame{aspect-ratio:21/9}}@media (height<=34rem) and (orientation:landscape){#runtime{gap:.4rem;padding:.4rem}.stage-frame{aspect-ratio:21/8;min-height:150px}.tips{display:none}}
