:root{--bg: #0a0814;--panel: #150f25;--accent: #ff5fd2;--accent2: #5fe0ff;--text: #e9e4f5;--muted: #9a90b8}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif;-webkit-user-select:none;user-select:none}#app{min-height:100%;display:flex;justify-content:center}.wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 12px 28px;width:100%;max-width:460px}.title{font-size:22px;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;margin:4px 0 0}.hud{display:flex;justify-content:space-between;width:100%;gap:8px;font-variant-numeric:tabular-nums}.stat{background:var(--panel);border:1px solid #2a2040;border-radius:10px;padding:6px 12px;flex:1;text-align:center}.stat .label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.stat .val{font-size:18px;font-weight:700}.stage{position:relative}canvas{background:#0d0a1c;border:1px solid #2a2040;border-radius:14px;display:block;touch-action:none}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#080612d1;border-radius:14px;text-align:center;padding:20px}.overlay.hidden{display:none}.overlay h2{margin:0;font-size:26px}.overlay p{margin:0;color:var(--muted);max-width:300px;line-height:1.5}.btnrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}button{font:inherit;font-weight:700;color:var(--text);background:var(--panel);border:1px solid #3a2c55;border-radius:10px;padding:10px 16px;cursor:pointer;transition:transform .06s ease,background .15s ease}button:hover{background:#20193a}button:active{transform:scale(.96)}button.primary{background:linear-gradient(90deg,var(--accent),#c64bff);border:none;color:#190a23}.controls{display:flex;gap:10px;width:100%}.controls button{flex:1;padding:18px 0;font-size:16px}.hint{font-size:12px;color:var(--muted);text-align:center}
