:root{--bg: #070b1a;--panel: #0f1730;--panel2: #16224a;--ink: #e9eefb;--muted: #8d9bc4;--accent: #ff5277;--you: #5ad6ff;--opp: #ff7a59;--good: #7CFC9B}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(120% 120% at 50% 0%,#11183a 0%,var(--bg) 60%);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}.wrap{max-width:440px;margin:0 auto;padding:12px 12px 28px}header h1{margin:4px 0 2px;font-size:1.7rem;letter-spacing:1px;background:linear-gradient(90deg,var(--you),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.tag{margin:0 0 10px;font-size:.74rem;color:var(--muted);line-height:1.35}.bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.spacer{flex:1}.seg{display:inline-flex;background:var(--panel);border-radius:8px;padding:2px}.seg button{border:0;background:transparent;color:var(--muted);padding:5px 10px;border-radius:6px;font-size:.74rem;cursor:pointer}.seg button.active{background:var(--panel2);color:var(--ink)}button.primary{border:0;background:linear-gradient(90deg,var(--accent),#ff8a5c);color:#16101a;font-weight:700;padding:7px 14px;border-radius:8px;cursor:pointer;font-size:.78rem}.dots{display:inline-flex;gap:4px}.dot{width:8px;height:8px;border-radius:50%;background:#2a3560}.dot.cur{background:var(--accent);box-shadow:0 0 6px var(--accent)}.dot.beat{background:var(--good)}.hud{background:var(--panel);border-radius:10px;padding:8px 10px;margin-bottom:10px}.bars{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.barrow{display:flex;align-items:center;gap:8px}.lbl{font-size:.62rem;color:var(--muted);width:64px;letter-spacing:.5px}.bar-bg{flex:1;height:12px;background:#1b2547;border-radius:6px;overflow:hidden}.bar-fill{height:100%;width:100%;transition:width .12s linear}.bar-fill.you{background:linear-gradient(90deg,#2bb6e8,var(--you))}.bar-fill.opp{background:linear-gradient(90deg,#d8452a,var(--opp))}.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.box{background:var(--panel2);border-radius:8px;padding:5px 6px;text-align:center}.box .k{font-size:.58rem;color:var(--muted);letter-spacing:.5px}.box b{font-size:.95rem}.stage{position:relative;border-radius:12px;overflow:hidden}canvas{display:block;width:100%;height:auto;background:#0d1530;border-radius:12px;image-rendering:auto}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#060916c7;backdrop-filter:blur(2px)}.overlay.hidden{display:none}.card{background:var(--panel);border:1px solid #243164;border-radius:12px;padding:18px 20px;text-align:center;max-width:90%}.card h2{margin:0 0 8px;font-size:1.2rem}.card p{margin:0 0 14px;font-size:.8rem;color:var(--muted);line-height:1.4}.pads{margin-top:10px;display:flex;flex-direction:column;gap:8px}.padgroup{background:var(--panel);border-radius:10px;padding:8px}.pl{font-size:.58rem;color:var(--muted);letter-spacing:1px;margin-bottom:6px}.row{display:flex;flex-wrap:wrap;gap:6px}.row button{flex:1 1 auto;min-width:70px;border:1px solid #28335f;background:var(--panel2);color:var(--ink);border-radius:8px;padding:9px 6px;font-size:.72rem;cursor:pointer;touch-action:manipulation}.row button:active{background:#2a3a72;transform:translateY(1px)}.row button.star{border-color:#6b5a1e;background:#3a3112;color:#ffe66d}.row button.combo{border-color:#1e5a3a;background:#12331f;color:#7cfc9b}.hint{margin-top:10px;font-size:.68rem;color:var(--muted);line-height:1.45}.hint b{color:var(--ink)}
