:root{--chord-hue:270;--chord-fill:#59169c;--chord-fill-bright:#8c36e2;--page-bg:#f7f7f8;--ch:0;--cs:75%;--cl:35%;--text:#6b6375;--text-h:#08060d;--border:#e5e4e7;--surface:#f6f5f8;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:22px/150% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--page-bg);-webkit-font-smoothing:antialiased;transition:background .3s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--border:#32344a;--surface:#1a1b2e}}*{box-sizing:border-box}body{margin:0}kbd{min-width:28px;font-family:var(--mono);border:1.5px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:5px;justify-content:center;align-items:center;padding:0 8px;font-size:14px;line-height:26px;display:inline-flex}#app{justify-content:center;align-items:center;min-height:100svh;display:flex}#app,body{background:var(--page-bg);transition:background .35s}.container{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:920px;padding:32px 24px 48px;display:flex}.header{text-align:center;margin-bottom:4px}.header h1{font-family:var(--sans);color:var(--text-h);letter-spacing:-.3px;margin:0;font-size:28px;font-weight:600}.header p{color:var(--text);margin:6px 0 0;font-size:15px}.status-bar{color:var(--text);align-items:center;gap:12px;width:100%;max-width:720px;font-size:16px;display:flex}.chord-badge{background:var(--chord-fill);color:#fff;width:36px;height:36px;font-family:var(--mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;transition:background .25s;display:inline-flex}.status-item{color:var(--text-h);flex:1;font-size:16px}.indicator{font-family:var(--mono);letter-spacing:1.5px;color:#fff;border-radius:5px;flex-shrink:0;align-items:center;padding:4px 12px;font-size:11px;font-weight:700;animation:.8s ease-in-out infinite alternate pulse;display:inline-flex}.indicator.hidden{display:none}.indicator--latch{background:var(--chord-fill);transition:background .25s}.indicator--arp{background:#cf8517}@keyframes pulse{0%{opacity:.7}to{opacity:1}}.chord-wheel{border:4px solid var(--border);background:hsl(var(--chord-hue) 60% 92%);-webkit-user-select:none;user-select:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:200px;height:200px;transition:border-color .25s,box-shadow .25s,transform .15s,background .25s;display:flex}@media (prefers-color-scheme:dark){.chord-wheel{background:hsl(var(--chord-hue) 30% 12%)}}.chord-wheel.active{border-color:var(--chord-fill);box-shadow:0 0 50px hsl(var(--chord-hue) 75% 55% / .2);transform:scale(1.06)}.chord-wheel.latched{border-color:var(--chord-fill);box-shadow:0 0 40px hsl(var(--chord-hue) 75% 55% / .2), 0 0 80px hsl(var(--chord-hue) 75% 55% / .15);animation:.6s ease-in-out infinite alternate wheel-throb}@keyframes wheel-throb{0%{box-shadow:0 0 30px hsl(var(--chord-hue) 75% 55% / .15)}to{box-shadow:0 0 60px hsl(var(--chord-hue) 75% 55% / .25)}}.wheel-label{font-family:var(--mono);color:var(--chord-fill);font-size:60px;font-weight:700;line-height:1;transition:color .25s}.wheel-sub{color:var(--text);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px;font-size:14px}.chord-rows{flex-direction:column;gap:10px;width:100%;display:flex}.chord-row{align-items:stretch;gap:10px;display:flex}.row-label{font-family:var(--mono);color:var(--text);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;justify-content:flex-end;align-items:center;width:36px;font-size:12px;font-weight:700;display:flex}.row-chips{flex:1;gap:6px;display:flex}.chord-chip{border:2px solid var(--border);background:var(--surface);-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:10px 4px;transition:border-color .12s,background .12s,transform 80ms;display:flex}.chord-chip.active{border-color:hsl(var(--ch) var(--cs) var(--cl));background:hsl(var(--ch) 70% 92%);box-shadow:0 4px 16px hsl(var(--ch) 75% 55% / .2);transform:translateY(-2px)}@media (prefers-color-scheme:dark){.chord-chip.active{background:hsl(var(--ch) 40% 12%)}}.chip-key{font-family:var(--mono);color:var(--text);text-transform:uppercase;opacity:.6;font-size:11px;font-weight:600;line-height:1}.chip-chord{font-family:var(--mono);color:var(--text-h);font-size:16px;font-weight:700;line-height:1.2}.arp-board{flex-direction:column;gap:6px;width:100%;max-width:720px;display:flex}.arp-row{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.arp-key{border:2px solid var(--border);background:var(--surface);-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:20px 6px;transition:border-color .12s,background .12s,transform 80ms;display:flex}.arp-key.active{border-color:var(--chord-fill);background:hsl(var(--chord-hue) 70% 92%);box-shadow:0 6px 24px hsl(var(--chord-hue) 75% 55% / .2);animation:.2s ease-out arp-pop;transform:translateY(-4px)}@media (prefers-color-scheme:dark){.arp-key.active{background:hsl(var(--chord-hue) 30% 14%)}}@keyframes arp-pop{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(-4px)}}.arp-number{font-family:var(--mono);color:var(--text-h);font-size:20px;font-weight:700;line-height:1}.arp-note{color:var(--text);opacity:.65;align-items:baseline;gap:1px;font-size:13px;line-height:1;display:inline-flex}.arp-octave{opacity:.5;vertical-align:sub;font-size:9px}.controls{grid-template-columns:1fr 1fr;gap:6px;width:100%;max-width:600px;display:grid}.control-item{background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.control-item kbd{min-width:24px;font-size:13px;line-height:22px}.control-item .ctrl-label{color:var(--text-h);font-weight:500}@media (width<=700px){.container{gap:20px;padding:20px 14px 32px}.chord-wheel{width:150px;height:150px}.wheel-label{font-size:44px}.chord-chip{padding:8px 2px}.chip-chord{font-size:13px}.chip-key{font-size:9px}.arp-key{padding:10px 4px}.arp-number{font-size:16px}.controls{grid-template-columns:1fr}.row-label{width:28px;font-size:10px}}
