:root{color-scheme:dark;--bg: #0f1419;--panel: #1a2332;--text: #e7eef8;--muted: #8b9bb4;--accent: #5b9dff;--p1: #ff6b6b;--p2: #4ecdc4;--warn: #ffb020;font-family:Pretendard,Apple SD Gothic Neo,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#1b2a44,var(--bg));color:var(--text);min-height:100vh}#app{max-width:1000px;margin:0 auto;padding:16px}.top h1{margin:0 0 4px;font-size:1.4rem;letter-spacing:-.02em}.tag{margin:0 0 12px;color:var(--muted);font-size:.9rem}.stage{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #0008}#game{display:block;width:100%;height:auto;background:#0b1018}#hud{position:absolute;left:12px;bottom:12px;background:#0008;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.45;pointer-events:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0b1018cc;backdrop-filter:blur(4px)}.overlay.hidden{display:none}.card{background:var(--panel);border:1px solid #2c3b55;border-radius:14px;padding:20px 22px;width:min(360px,92vw)}.card h2{margin:0 0 8px}.card p{margin:0 0 10px;color:var(--muted);font-size:.92rem}.warn{color:var(--warn)!important}.ready-row{display:flex;gap:8px;margin-bottom:12px}button{appearance:none;border:1px solid #35507a;background:#24344f;color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}button.primary{width:100%;background:linear-gradient(180deg,#4d8fff,#2f6fe0);border-color:#6aa4ff;font-weight:700}button.primary:disabled{opacity:.4;cursor:not-allowed}button.on{outline:2px solid var(--accent)}kbd{background:#0d1522;border:1px solid #334;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:.85em}#tune-toggle{position:absolute;top:10px;right:10px;z-index:5;width:40px;height:40px;border-radius:10px;font-size:18px}#tune-panel{position:absolute;top:56px;right:10px;z-index:5;width:min(280px,86vw);max-height:calc(100% - 70px);overflow:auto;background:#121a27ee;border:1px solid #2c3b55;border-radius:12px;padding:12px;font-size:12px}#tune-panel.hidden{display:none}#tune-panel label{display:grid;grid-template-columns:1fr auto;gap:4px;margin:8px 0}#tune-panel input[type=range]{width:100%;grid-column:1 / -1}#tune-panel h3{margin:0 0 6px;font-size:13px}#tune-panel .hint{color:var(--muted);margin-bottom:8px}
