:root{--bg: #070b10;--panel: #111722;--line: #233042;--ink: #dfeefb;--muted: #8298b0;--accent: #2dd4bf;--gold: #ffd36e;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(820px 500px at 50% -10%,#0e1826,var(--bg));color:var(--ink);font-family:Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;user-select:none;touch-action:manipulation}.wrap{max-width:440px;margin:0 auto;padding:16px 14px 32px}header h1{margin:0;font-size:2rem;letter-spacing:4px;font-weight:800;background:linear-gradient(180deg,#b6fff4,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.tag{margin:3px 0 0;color:var(--muted);font-size:.8rem;line-height:1.35}.bar{display:flex;align-items:center;gap:7px;margin:12px 0;flex-wrap:wrap}.spacer{flex:1}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{background:transparent;color:var(--muted);border:0;padding:7px 12px;font-size:.8rem;cursor:pointer}.seg button.active{background:linear-gradient(180deg,var(--accent),#1ba596);color:#04201d;font-weight:700}select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:6px 8px;font-size:.8rem}button.btn{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:7px 12px;font-size:.82rem;cursor:pointer}button.btn:active{transform:translateY(1px)}button.btn.primary{background:linear-gradient(180deg,var(--accent),#1ba596);color:#04201d;font-weight:700;border:0}.hud{display:flex;gap:8px;margin-bottom:10px}.hud .box{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:4px 11px;flex:1;text-align:center}.hud .k{font-size:.56rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.hud b{font-size:1.05rem}.stage{position:relative;display:flex;justify-content:center}canvas{display:block;width:min(92vw,380px);height:auto;background:#0a0f17;border:1px solid var(--line);border-radius:12px;touch-action:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#070b10db;border-radius:12px;backdrop-filter:blur(2px);text-align:center;padding:14px}.overlay.hidden{display:none}.overlay h2{margin:0 0 6px;font-size:1.5rem}.overlay p{margin:0 0 14px;color:var(--muted);font-size:.86rem;line-height:1.5}.overlay b{color:var(--ink)}.hint{margin:12px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45}.hint b{color:var(--accent)}
