:root{--bg:#0a0a0f;--surface:#111118;--border:#1e1e2e;--text:#6b7280;--text-bright:#e2e8f0;--accent:#7c3aed;--accent-glow:#7c3aed66;--key-bg:#16161f;--key-active:#7c3aed;--key-active-glow:#7c3aed99;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/150% system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0}#root{flex-direction:column;align-items:center;min-height:100svh;display:flex}.app{flex-direction:column;align-items:center;gap:32px;width:100%;max-width:820px;padding:40px 24px 60px;display:flex}header{text-align:center}header h1{letter-spacing:.3em;color:var(--text-bright);text-transform:lowercase;margin:0;font-size:72px;font-weight:200}.tagline{letter-spacing:.15em;color:var(--text);text-transform:lowercase;margin-top:6px;font-size:13px}.controls{gap:24px;display:flex}.controls label{flex-direction:column;gap:6px;display:flex}.controls span{letter-spacing:.12em;text-transform:uppercase;color:var(--text);font-size:11px}.controls select{background:var(--surface);border:1px solid var(--border);color:var(--text-bright);cursor:pointer;appearance:none;border-radius:6px;outline:none;min-width:120px;padding:8px 12px;font-size:14px;transition:border-color .2s}.controls select:focus{border-color:var(--accent)}.start-btn{border:1px solid var(--accent);color:var(--text-bright);letter-spacing:.2em;text-transform:lowercase;cursor:pointer;background:0 0;border-radius:4px;margin-top:40px;padding:16px 48px;font-size:14px;transition:background .2s,box-shadow .2s}.start-btn:hover{background:var(--accent-glow);box-shadow:0 0 24px var(--accent-glow)}.typed-display{letter-spacing:.15em;color:var(--text-bright);text-transform:lowercase;min-height:36px;font-size:22px;font-weight:200}.placeholder{color:var(--text);font-size:14px}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 0 4px #7c3aed14}50%{transform:scale(1.04);box-shadow:0 0 10px #7c3aed2e}}@keyframes pulse-active{0%,to{box-shadow:0 0 12px #a855f7b3,0 0 32px #7c3aed66,0 0 64px #6d28d933}50%{box-shadow:0 0 20px #a855f7e6,0 0 48px #7c3aed99,0 0 80px #6d28d94d}}.orb-field{flex-direction:column;align-items:center;gap:14px;width:100%;padding:12px 0;display:flex}.orb-row{gap:12px;display:flex}.orb{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;width:58px;height:58px;animation:3.5s ease-in-out infinite breathe;animation-delay:calc(var(--orb-index,0) * .13s);background:radial-gradient(circle at 38% 36%,#1e1e2e 0%,#0d0d14 100%);border:1px solid #2a2a3e;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:background .15s,border-color .15s;display:flex}.orb.active{background:radial-gradient(circle at 38% 36%,#a855f7 0%,#6d28d9 60%,#3b0764 100%);border-color:#c084fc;animation:.6s ease-in-out infinite pulse-active;transform:scale(1.1)}.orb-letter{color:var(--text);letter-spacing:.05em;font-size:13px;font-weight:400;line-height:1;transition:color .12s}.orb.active .orb-letter{color:#fff;font-weight:500}.orb-note{color:#3d3d55;letter-spacing:.04em;font-size:9px;transition:color .12s}.orb.active .orb-note{color:#fff9}.drums-btn{border:1px solid var(--border);color:var(--text);letter-spacing:.15em;text-transform:lowercase;cursor:pointer;background:0 0;border-radius:4px;padding:8px 24px;font-size:12px;transition:border-color .2s,color .2s,box-shadow .2s}.drums-btn.active{border-color:var(--accent);color:var(--text-bright);box-shadow:0 0 12px var(--accent-glow)}.drums-btn:hover{border-color:var(--accent);color:var(--text-bright)}.home-link{letter-spacing:.15em;color:var(--text);text-transform:lowercase;opacity:.5;font-size:11px;text-decoration:none;transition:opacity .2s}.home-link:hover{opacity:1;color:var(--accent)}.instructions{text-align:center;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.instructions li{letter-spacing:.1em;color:var(--text);text-transform:lowercase;font-size:12px}.instructions li:before{content:"— ";color:var(--accent);opacity:.5}@media (width<=640px){.app{gap:20px;padding:24px 12px 40px}header h1{font-size:48px}.controls{flex-wrap:wrap;justify-content:center;gap:12px}.controls select{min-width:90px;padding:6px 10px;font-size:13px}.orb{width:30px;height:30px}.orb-letter{font-size:9px}.orb-note{display:none}.orb-row{gap:5px}.orb-field{gap:6px}.typed-display{font-size:16px}.start-btn{padding:14px 36px}}@media (width<=400px){.orb{width:26px;height:26px}.orb-letter{font-size:8px}.orb-row{gap:4px}}
