@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";.main-header[data-v-515643d6]{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.header-branding[data-v-515643d6]{align-items:center;gap:1rem;display:flex}.brand-logo[data-v-515643d6]{align-items:center;gap:.75rem;display:flex}.logo-icon[data-v-515643d6]{width:2.25rem;height:2.25rem;color:var(--accent-primary)}.header-title[data-v-515643d6]{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent-glow) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.header-subtitle[data-v-515643d6]{color:var(--text-secondary);font-size:.8125rem}.header-actions[data-v-515643d6]{align-items:center;gap:.5rem;display:flex}.mode-switch-container[data-v-515643d6]{border:1px solid var(--border-color);background:#00000040;border-radius:.625rem;align-items:center;gap:.15rem;padding:.2rem;display:flex}.mode-switch-btn[data-v-515643d6]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.45rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s}.mode-switch-btn[data-v-515643d6]:hover{color:var(--text-primary)}.mode-switch-btn.active[data-v-515643d6]{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #6366f159}.btn-focus[data-v-515643d6]{border-color:#6366f14d}.icon-sm[data-v-515643d6]{width:1.125rem;height:1.125rem}.text-danger-pulse[data-v-515643d6]{color:var(--accent-danger);animation:1.5s infinite pulse-515643d6}@keyframes pulse-515643d6{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}@media (width<=960px){.main-header[data-v-515643d6]{flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions[data-v-515643d6]{flex-wrap:wrap;justify-content:space-between;width:100%}.header-subtitle[data-v-515643d6]{display:none}}.note-display-card[data-v-f1744c74]{flex-direction:column;justify-content:center;padding:1.25rem 1.5rem;display:flex}.display-main[data-v-f1744c74]{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.status-label[data-v-f1744c74]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.note-name-large[data-v-f1744c74]{color:var(--text-muted);align-items:center;min-height:2.25rem;font-size:1.625rem;font-weight:700;transition:color .15s,text-shadow .15s;display:flex}.note-name-large.has-notes[data-v-f1744c74]{color:var(--accent-glow);text-shadow:0 0 15px #6366f180}.metrics-container[data-v-f1744c74]{align-items:center;gap:1.5rem;display:flex}.metric-item[data-v-f1744c74]{flex-direction:column;align-items:flex-end;display:flex}.metric-key[data-v-f1744c74]{color:var(--text-muted);font-size:.6875rem;font-weight:600}.metric-val[data-v-f1744c74]{color:var(--text-primary);font-size:.9375rem;font-weight:600}.highlight-chord[data-v-f1744c74]{color:var(--accent-success)}@media (width<=768px){.display-main[data-v-f1744c74]{flex-direction:column;align-items:flex-start;gap:1rem}.metrics-container[data-v-f1744c74]{justify-content:space-between;width:100%}.metric-item[data-v-f1744c74]{align-items:flex-start}}.visualizer-container[data-v-07e9f0fb]{background:#0000001f;border-radius:.5rem;width:100%;height:48px;overflow:hidden}.visualizer-canvas[data-v-07e9f0fb]{width:100%;height:100%;display:block}.control-panel[data-v-978c5645]{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.controls-grid[data-v-978c5645]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:flex-start;gap:1.25rem;display:grid}.control-group[data-v-978c5645]{flex-direction:column;gap:.5rem;display:flex}.instrument-group[data-v-978c5645]{grid-column:span 2}.control-label-row[data-v-978c5645]{justify-content:space-between;align-items:center;display:flex}.control-label[data-v-978c5645]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;display:flex}.icon-xs[data-v-978c5645]{width:.875rem;height:.875rem}.val-badge[data-v-978c5645]{color:var(--accent-glow);font-size:.75rem;font-weight:600}.toggle-badge-btn[data-v-978c5645]{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:.375rem;padding:.15rem .5rem;font-size:.6875rem;font-weight:700}.toggle-badge-btn.on[data-v-978c5645]{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.text-reset-btn[data-v-978c5645]{color:var(--accent-glow);cursor:pointer;background:0 0;border:none;font-size:.6875rem;text-decoration:underline}.instrument-pills[data-v-978c5645],.size-pills[data-v-978c5645]{flex-wrap:wrap;gap:.35rem;display:flex}.pill-btn[data-v-978c5645]{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:.5rem;padding:.35rem .65rem;font-size:.75rem;transition:all .15s}.instrument-pill[data-v-978c5645]{flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.pill-name[data-v-978c5645]{font-weight:600}.pill-tag[data-v-978c5645]{opacity:.75;font-size:.625rem}.pill-btn[data-v-978c5645]:hover{color:var(--text-primary);background:#ffffff1a}.pill-btn.active[data-v-978c5645]{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.size-pill[data-v-978c5645]{text-transform:capitalize}.stepper-box[data-v-978c5645]{border:1px solid var(--border-color);background:#0000001a;border-radius:.625rem;justify-content:space-between;align-items:center;padding:.25rem .5rem;display:flex}.step-btn[data-v-978c5645]{border:1px solid var(--border-color);width:2rem;height:2rem;color:var(--text-primary);cursor:pointer;background:#7d7d7d1a;border-radius:.375rem;justify-content:center;align-items:center;font-size:1.125rem;font-weight:600;display:flex}.step-btn[data-v-978c5645]:hover:not(:disabled){background:var(--accent-primary);color:#fff}.stepper-val[data-v-978c5645]{color:var(--accent-glow);font-size:1rem;font-weight:700}.action-buttons-row[data-v-978c5645]{gap:.35rem;display:flex}.key-setup-btn[data-v-978c5645],.sustain-btn[data-v-978c5645],.panic-btn[data-v-978c5645]{padding:.5rem .4rem;font-size:.75rem}.advanced-section-wrapper[data-v-978c5645]{flex-direction:column;gap:1rem;animation:.25s fadeIn-978c5645;display:flex}.advanced-divider[data-v-978c5645]{border-bottom:1px dashed var(--border-color);justify-content:center;align-items:center;margin:.5rem 0;display:flex}.advanced-badge[data-v-978c5645]{color:var(--accent-glow);background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:.2rem .65rem;font-size:.6875rem;font-weight:700;transform:translateY(50%)}.advanced-grid[data-v-978c5645]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.advanced-card[data-v-978c5645]{border:1px solid var(--border-color);background:#7d7d7d0a;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.advanced-card-title[data-v-978c5645]{color:var(--text-primary);align-items:center;gap:.35rem;font-size:.8125rem;font-weight:700;display:flex}.adv-control-row[data-v-978c5645],.adv-toggle-row[data-v-978c5645],.bpm-control-row[data-v-978c5645]{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.adv-label[data-v-978c5645]{justify-content:space-between;width:100%;display:flex}.limiter-status[data-v-978c5645]{color:var(--text-muted);align-items:center;gap:.35rem;margin-top:.25rem;font-size:.6875rem;display:flex}@keyframes fadeIn-978c5645{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.instrument-group[data-v-978c5645]{grid-column:span 1}}.piano-key[data-v-a00c9ebc]{cursor:pointer;touch-action:none;border-radius:0 0 .5rem .5rem;outline:none;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;padding-bottom:.75rem;transition:transform 60ms cubic-bezier(0,0,.2,1),background 60ms,box-shadow 60ms;display:flex;position:relative}.white-key[data-v-a00c9ebc]{background:var(--white-key-bg);border:1px solid var(--white-key-border);height:215px;box-shadow:var(--shadow-key);color:#334155}.white-key[data-v-a00c9ebc]:hover{background:linear-gradient(#fff 0%,#e2e8f0 85%,#cbd5e1 100%)}.white-key.active[data-v-a00c9ebc]{background:var(--white-key-active);color:var(--accent-primary);transform:translateY(5px)scale(.99);box-shadow:inset 0 3px 8px #6366f166,0 0 15px #6366f180}.white-key.highlighted[data-v-a00c9ebc]{border:2px solid var(--accent-success);box-shadow:0 0 12px var(--accent-success)}.black-key[data-v-a00c9ebc]{background:var(--black-key-bg);border:1px solid var(--black-key-border);color:#94a3b8;height:135px;box-shadow:0 6px 12px #0009}.black-key[data-v-a00c9ebc]:hover{background:linear-gradient(#334155 0%,#1e293b 80%,#0f172a 100%)}.black-key.active[data-v-a00c9ebc]{background:var(--black-key-active);box-shadow:inset 0 2px 6px #000c, 0 0 15px var(--accent-glow);color:#fff;transform:translateY(4px)scale(.98)}.black-key.highlighted[data-v-a00c9ebc]{border:2px solid var(--accent-success);box-shadow:0 0 12px var(--accent-success)}.key-content[data-v-a00c9ebc]{pointer-events:none;flex-direction:column;align-items:center;gap:.35rem;display:flex}.shortcut-label[data-v-a00c9ebc]{color:inherit;background:#00000014;border:1px solid #0000001a;border-radius:.35rem;padding:.15rem .4rem;font-size:.75rem;font-weight:700;transition:all 60ms}.shortcut-label.active[data-v-a00c9ebc]{background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important}.black-key .shortcut-label[data-v-a00c9ebc]{background:#ffffff1a;border-color:#ffffff26}.note-label[data-v-a00c9ebc]{opacity:.85;font-size:.6875rem;font-weight:600}.piano-key.active .note-label[data-v-a00c9ebc]{opacity:1;font-weight:800}@media (width<=640px){.white-key[data-v-a00c9ebc]{height:160px}.black-key[data-v-a00c9ebc]{height:100px}.shortcut-label[data-v-a00c9ebc]{padding:.1rem .25rem;font-size:.65rem}}.virtual-piano-container[data-v-9149aa7b]{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.piano-header-bar[data-v-9149aa7b]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.range-info[data-v-9149aa7b]{flex-direction:column;display:flex}.range-title[data-v-9149aa7b]{color:var(--accent-glow);letter-spacing:.08em;font-size:.75rem;font-weight:700}.range-subtitle[data-v-9149aa7b]{color:var(--text-secondary);font-size:.8125rem}.range-controls[data-v-9149aa7b]{align-items:center;gap:.5rem;display:flex}.octave-indicator[data-v-9149aa7b]{color:var(--text-primary);background:#ffffff0f;border-radius:.375rem;padding:.25rem .65rem;font-size:.8125rem;font-weight:700}.btn-sm[data-v-9149aa7b]{padding:.35rem .65rem;font-size:.75rem}.piano-deck-wrapper[data-v-9149aa7b]{background:var(--piano-deck-bg);border-radius:.75rem;width:100%;padding:.5rem .25rem 1rem;overflow-x:auto;box-shadow:inset 0 4px 12px #0003}.piano-deck[data-v-9149aa7b]{justify-content:center;align-items:flex-start;min-width:max-content;margin:0 auto;padding:0 1rem;display:flex}@media (width<=768px){.piano-header-bar[data-v-9149aa7b]{flex-direction:column;align-items:flex-start;gap:.5rem}.range-controls[data-v-9149aa7b]{justify-content:space-between;width:100%}}.panel-modal-overlay[data-v-56bc7a40]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:110;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel-card[data-v-56bc7a40]{flex-direction:column;gap:1.25rem;width:100%;max-width:620px;max-height:90vh;display:flex;overflow-y:auto}.panel-header[data-v-56bc7a40]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.panel-title-group[data-v-56bc7a40]{align-items:center;gap:.5rem;display:flex}.panel-icon[data-v-56bc7a40]{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.close-btn[data-v-56bc7a40]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.mode-select-row[data-v-56bc7a40]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.input-label[data-v-56bc7a40]{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.mode-pills[data-v-56bc7a40]{gap:.35rem;display:flex}.assignment-prompt-box[data-v-56bc7a40]{border:1px solid var(--accent-primary);background:#6366f126;border-radius:.75rem;justify-content:space-between;align-items:center;padding:1rem;animation:2s infinite pulseNotice;display:flex}.prompt-header[data-v-56bc7a40]{align-items:center;gap:.75rem;display:flex}.prompt-icon[data-v-56bc7a40]{width:1.5rem;height:1.5rem;color:var(--accent-glow)}.prompt-header h3[data-v-56bc7a40]{color:var(--accent-glow);font-size:.9375rem;font-weight:700}.prompt-header p[data-v-56bc7a40]{color:var(--text-secondary);font-size:.75rem}.collision-warning-box[data-v-56bc7a40]{border:1px solid var(--accent-warning);background:#f59e0b26;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.collision-header[data-v-56bc7a40]{color:#fef3c7;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:flex}.collision-desc[data-v-56bc7a40]{color:var(--text-secondary);font-size:.75rem}.collision-actions[data-v-56bc7a40]{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.mapping-list-section[data-v-56bc7a40]{flex-direction:column;gap:.75rem;display:flex}.section-header-row[data-v-56bc7a40]{justify-content:space-between;align-items:center;display:flex}.section-title[data-v-56bc7a40]{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:700}.btn-danger-subtle[data-v-56bc7a40]{color:#fca5a5;background:#ef44441a;border-color:#ef444433}.mapping-table-wrapper[data-v-56bc7a40]{border:1px solid var(--border-color);background:#0003;border-radius:.625rem;max-height:240px;overflow-y:auto}.mapping-table[data-v-56bc7a40]{border-collapse:collapse;text-align:left;width:100%;font-size:.75rem}.mapping-table th[data-v-56bc7a40],.mapping-table td[data-v-56bc7a40]{border-bottom:1px solid #ffffff0d;padding:.4rem .65rem}.mapping-table th[data-v-56bc7a40]{color:var(--text-muted);background:#ffffff0a}.note-pill[data-v-56bc7a40]{background:#ffffff1a;border-radius:.35rem;padding:.15rem .4rem;font-weight:600}.note-pill.black-note[data-v-56bc7a40]{color:var(--accent-glow);background:#0006}.key-badge[data-v-56bc7a40]{color:var(--accent-glow);font-weight:700}.key-badge.unassigned[data-v-56bc7a40]{color:var(--text-muted)}.status-tag[data-v-56bc7a40]{border-radius:.25rem;padding:.1rem .35rem;font-size:.6875rem}.status-tag.active[data-v-56bc7a40]{color:var(--accent-glow);background:#6366f133}.status-tag.unassigned[data-v-56bc7a40]{color:var(--text-muted)}.row-actions[data-v-56bc7a40]{justify-content:flex-end;gap:.25rem;display:flex}.btn-xs[data-v-56bc7a40]{padding:.15rem .45rem;font-size:.6875rem}.panel-footer[data-v-56bc7a40]{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:.75rem;display:flex}.panel-modal-overlay[data-v-55a483d6]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel-card[data-v-55a483d6]{flex-direction:column;gap:1.25rem;width:100%;max-width:580px;display:flex}.panel-header[data-v-55a483d6]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.panel-title-group[data-v-55a483d6]{align-items:center;gap:.5rem;display:flex}.panel-title-group h2[data-v-55a483d6]{font-size:1.125rem;font-weight:700}.panel-icon[data-v-55a483d6]{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.close-btn[data-v-55a483d6]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.status-box[data-v-55a483d6]{border-radius:.625rem;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem;font-size:.875rem;display:flex}.warning-box[data-v-55a483d6]{color:#fef3c7;background:#f59e0b1f;border:1px solid #f59e0b4d}.success-box[data-v-55a483d6]{color:#d1fae5;background:#10b9811f;border:1px solid #10b9814d}.status-icon[data-v-55a483d6]{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem}.device-select-group[data-v-55a483d6]{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.input-label[data-v-55a483d6]{color:var(--text-secondary);font-size:.75rem;font-weight:600}.device-list[data-v-55a483d6]{flex-direction:column;gap:.35rem;display:flex}.device-item-btn[data-v-55a483d6]{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff0a;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.875rem;display:flex}.device-item-btn.selected[data-v-55a483d6]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.midi-status-grid[data-v-55a483d6]{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.status-tile[data-v-55a483d6]{border:1px solid var(--border-color);background:#00000040;border-radius:.5rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.tile-key[data-v-55a483d6]{color:var(--text-muted);font-size:.625rem}.tile-val[data-v-55a483d6]{color:var(--text-primary);font-size:.875rem;font-weight:700}.highlight-glow[data-v-55a483d6]{color:var(--accent-glow)}.midi-monitor-section[data-v-55a483d6]{flex-direction:column;gap:.5rem;display:flex}.monitor-title[data-v-55a483d6]{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:flex}.monitor-empty[data-v-55a483d6]{color:var(--text-muted);font-size:.75rem;font-style:italic}.monitor-table-wrapper[data-v-55a483d6]{border:1px solid var(--border-color);background:#0000004d;border-radius:.5rem;overflow:hidden}.monitor-table[data-v-55a483d6]{border-collapse:collapse;text-align:left;width:100%;font-size:.75rem}.monitor-table th[data-v-55a483d6],.monitor-table td[data-v-55a483d6]{border-bottom:1px solid #ffffff0d;padding:.4rem .65rem}.monitor-table th[data-v-55a483d6]{color:var(--text-muted);background:#ffffff0a;font-weight:600}.type-badge[data-v-55a483d6]{border-radius:.25rem;padding:.1rem .35rem;font-size:.6875rem}.type-badge.on[data-v-55a483d6]{color:#6ee7b7;background:#10b98133}.type-badge.off[data-v-55a483d6]{color:#fca5a5;background:#ef444433}.panel-footer[data-v-55a483d6]{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.panel-modal-overlay[data-v-5b5e2b3c]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel-card[data-v-5b5e2b3c]{flex-direction:column;gap:1.25rem;width:100%;max-width:580px;max-height:90vh;display:flex;overflow-y:auto}.panel-header[data-v-5b5e2b3c]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.panel-title-group[data-v-5b5e2b3c]{align-items:center;gap:.5rem;display:flex}.panel-icon[data-v-5b5e2b3c]{width:1.25rem;height:1.25rem;color:var(--accent-danger)}.close-btn[data-v-5b5e2b3c]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.recorder-hero-box[data-v-5b5e2b3c]{border:1px solid var(--border-color);background:#00000040;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;display:flex}.timer-display[data-v-5b5e2b3c]{color:var(--text-primary);align-items:center;gap:.75rem;font-size:2.25rem;font-weight:700;display:flex}.recording-dot[data-v-5b5e2b3c]{background:var(--text-muted);border-radius:50%;width:1rem;height:1rem}.recording-dot.recording[data-v-5b5e2b3c]{background:var(--accent-danger);box-shadow:0 0 12px var(--accent-danger);animation:1s infinite pulse}.recorder-actions[data-v-5b5e2b3c]{gap:.75rem;display:flex}.fill-danger[data-v-5b5e2b3c]{fill:var(--accent-danger)}.save-track-box[data-v-5b5e2b3c]{border:1px solid var(--border-color);background:#ffffff08;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.track-info-row[data-v-5b5e2b3c]{color:var(--text-secondary);justify-content:space-between;font-size:.75rem;display:flex}.save-form[data-v-5b5e2b3c]{gap:.5rem;display:flex}.track-title-input[data-v-5b5e2b3c]{border:1px solid var(--border-color);color:var(--text-primary);background:#0000004d;border-radius:.5rem;outline:none;flex:1;padding:.5rem .75rem;font-size:.875rem}.export-buttons-row[data-v-5b5e2b3c]{gap:.5rem;display:flex}.saved-tracks-section[data-v-5b5e2b3c]{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.section-title[data-v-5b5e2b3c]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}.empty-tracks-msg[data-v-5b5e2b3c]{color:var(--text-muted);font-size:.8125rem;font-style:italic}.tracks-list[data-v-5b5e2b3c]{flex-direction:column;gap:.5rem;display:flex}.track-card[data-v-5b5e2b3c]{border:1px solid var(--border-color);background:#ffffff0a;border-radius:.625rem;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.track-card-header[data-v-5b5e2b3c]{flex-direction:column;display:flex}.track-card-title[data-v-5b5e2b3c]{font-size:.875rem;font-weight:600}.track-card-date[data-v-5b5e2b3c]{color:var(--text-muted);font-size:.6875rem}.track-card-actions[data-v-5b5e2b3c]{gap:.35rem;display:flex}.panel-modal-overlay[data-v-3f592bad]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel-card[data-v-3f592bad]{flex-direction:column;gap:1.25rem;width:100%;max-width:600px;display:flex}.panel-header[data-v-3f592bad]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.panel-title-group[data-v-3f592bad]{align-items:center;gap:.5rem;display:flex}.panel-icon[data-v-3f592bad]{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.close-btn[data-v-3f592bad]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.song-selector-group[data-v-3f592bad]{flex-direction:column;gap:.5rem;display:flex}.input-label[data-v-3f592bad]{color:var(--text-secondary);font-size:.75rem;font-weight:600}.song-pills[data-v-3f592bad]{flex-wrap:wrap;gap:.4rem;display:flex}.practice-box[data-v-3f592bad]{border:1px solid var(--border-color);background:#0003;border-radius:.75rem;flex-direction:column;gap:1rem;padding:1rem;display:flex}.practice-header[data-v-3f592bad]{justify-content:space-between;align-items:center;display:flex}.practice-header h3[data-v-3f592bad]{font-size:1rem;font-weight:700}.score-badge[data-v-3f592bad]{color:var(--accent-glow);font-size:.75rem;font-weight:600}.sequence-timeline[data-v-3f592bad]{background:#0003;border-radius:.5rem;flex-wrap:wrap;gap:.4rem;max-height:100px;padding:.5rem;display:flex;overflow-y:auto}.step-chip[data-v-3f592bad]{border:1px solid var(--border-color);background:#ffffff0f;border-radius:.375rem;flex-direction:column;align-items:center;padding:.25rem .5rem;font-size:.75rem;display:flex}.step-chip.current[data-v-3f592bad]{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary);font-weight:700}.step-chip.completed[data-v-3f592bad]{border-color:var(--accent-success);color:#6ee7b7;background:#10b98133}.target-prompt-card[data-v-3f592bad]{text-align:center;background:#6366f11a;border:1px solid #6366f14d;border-radius:.75rem;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;display:flex}.prompt-label[data-v-3f592bad]{color:var(--accent-glow);letter-spacing:.08em;font-size:.6875rem;font-weight:700}.target-key-huge[data-v-3f592bad]{font-size:1.5rem;font-weight:700}.key-highlight[data-v-3f592bad]{color:var(--accent-success);font-size:1.75rem;text-decoration:underline}.progress-bar-container[data-v-3f592bad]{background:#ffffff1a;border-radius:3px;width:100%;height:6px;margin-top:.25rem;overflow:hidden}.progress-fill[data-v-3f592bad]{background:var(--accent-success);height:100%;transition:width .2s}.progress-text[data-v-3f592bad]{color:var(--text-muted);font-size:.75rem}.custom-song-section[data-v-3f592bad]{flex-direction:column;gap:.5rem;display:flex}.section-title[data-v-3f592bad]{color:var(--text-secondary);font-size:.8125rem;font-weight:700}.custom-input-group[data-v-3f592bad]{gap:.5rem;display:flex}.custom-input[data-v-3f592bad]{border:1px solid var(--border-color);color:var(--text-primary);background:#0000004d;border-radius:.5rem;outline:none;flex:1;padding:.5rem .75rem;font-size:.875rem}.panel-modal-overlay[data-v-d17f335a]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel-card[data-v-d17f335a]{flex-direction:column;gap:1.25rem;width:100%;max-width:560px;display:flex}.panel-header[data-v-d17f335a]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.panel-title-group[data-v-d17f335a]{align-items:center;gap:.5rem;display:flex}.panel-icon[data-v-d17f335a]{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.close-btn[data-v-d17f335a]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.help-section[data-v-d17f335a]{flex-direction:column;gap:.75rem;display:flex}.help-subtitle[data-v-d17f335a]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.875rem;font-weight:700;display:flex}.keymap-grid[data-v-d17f335a]{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.keymap-card[data-v-d17f335a]{border:1px solid var(--border-color);background:#ffffff0a;border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.625rem;display:flex}.key-badge[data-v-d17f335a]{color:var(--accent-glow);font-size:.8125rem;font-weight:700}.key-desc[data-v-d17f335a]{color:var(--text-secondary);font-size:.75rem}.help-list[data-v-d17f335a]{color:var(--text-secondary);flex-direction:column;gap:.5rem;padding-left:1.25rem;font-size:.8125rem;display:flex}.panel-footer[data-v-d17f335a]{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:.75rem;display:flex}.panic-banner[data-v-6a8d5f6e]{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent-danger);z-index:90;border-radius:.75rem;align-items:center;gap:.875rem;padding:.5rem .875rem;animation:.2s slideUp-6a8d5f6e;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 8px 20px #ef44444d}.banner-content[data-v-6a8d5f6e]{align-items:center;gap:.5rem;display:flex}.pulse-dot[data-v-6a8d5f6e]{background:var(--accent-danger);border-radius:50%;width:.625rem;height:.625rem;animation:1s infinite pulse-6a8d5f6e}.banner-text[data-v-6a8d5f6e]{color:var(--text-primary);font-size:.75rem;font-weight:600}@keyframes slideUp-6a8d5f6e{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-6a8d5f6e{0%,to{opacity:1}50%{opacity:.3}}.dashboard-row[data-v-a3a9122f]{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.visualizer-wrapper[data-v-a3a9122f]{flex-direction:column;justify-content:space-between;gap:.5rem;padding:1rem 1.25rem;display:flex}.visualizer-header[data-v-a3a9122f]{color:var(--text-muted);letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:700;display:flex}.mode-tag[data-v-a3a9122f]{color:var(--accent-glow);font-size:.625rem}.audio-notice-banner[data-v-a3a9122f]{border:1px solid var(--accent-primary);cursor:pointer;background:#6366f126;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem 1.5rem;animation:2s infinite pulseNotice-a3a9122f;display:flex}.banner-icon[data-v-a3a9122f]{width:1.75rem;height:1.75rem;color:var(--accent-glow)}.banner-text[data-v-a3a9122f]{color:var(--text-primary);font-size:.875rem}.banner-text p[data-v-a3a9122f]{color:var(--text-secondary);font-size:.75rem}.focus-overlay-layout[data-v-a3a9122f]{flex-direction:column;justify-content:space-between;gap:1.5rem;min-height:85vh;padding:1.5rem;display:flex}.focus-header[data-v-a3a9122f]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.focus-title-group[data-v-a3a9122f]{align-items:center;gap:.5rem;display:flex}.focus-title-group h2[data-v-a3a9122f]{color:var(--accent-glow);font-size:1.125rem}.text-glow[data-v-a3a9122f]{color:var(--accent-glow)}.focus-dashboard[data-v-a3a9122f]{width:100%}.focus-footer-controls[data-v-a3a9122f]{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.focus-volume-box[data-v-a3a9122f]{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.focus-vol-slider[data-v-a3a9122f]{width:180px}.studio-footer[data-v-a3a9122f]{text-align:center;border-top:1px solid var(--border-color);margin-top:1rem;padding:1rem}.footer-privacy[data-v-a3a9122f]{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.75rem;display:inline-flex}@keyframes pulseNotice-a3a9122f{0%,to{border-color:var(--accent-primary)}50%{border-color:var(--accent-glow);box-shadow:0 0 15px #6366f166}}@media (width<=768px){.dashboard-row[data-v-a3a9122f]{grid-template-columns:1fr}.focus-footer-controls[data-v-a3a9122f]{flex-direction:column;gap:.75rem}}:root{--bg-primary:#0a0d14;--bg-secondary:#121824;--bg-card:#161e2ebf;--bg-card-hover:#1e2a40d9;--border-color:#ffffff1f;--border-glow:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#6366f1;--accent-glow:#818cf8;--accent-secondary:#06b6d4;--accent-success:#10b981;--accent-danger:#ef4444;--accent-warning:#f59e0b;--white-key-bg:linear-gradient(to bottom, #fff 0%, #f1f5f9 85%, #cbd5e1 100%);--white-key-active:linear-gradient(to bottom, #e2e8f0 0%, #c7d2fe 85%, #818cf8 100%);--white-key-border:#94a3b8;--black-key-bg:linear-gradient(to bottom, #1e293b 0%, #0f172a 80%, #020617 100%);--black-key-active:linear-gradient(to bottom, #3730a3 0%, #4338ca 80%, #6366f1 100%);--black-key-border:#020617;--piano-deck-bg:#0000004d;--shadow-key:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0003;--glass-backdrop:blur(12px)}.light-theme{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f1f5f9;--border-color:#0000001f;--border-glow:#4f46e54d;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent-primary:#4f46e5;--accent-glow:#6366f1;--accent-secondary:#0891b2;--accent-success:#059669;--accent-danger:#dc2626;--accent-warning:#d97706;--white-key-bg:linear-gradient(to bottom, #fff 0%, #f8fafc 85%, #e2e8f0 100%);--white-key-active:linear-gradient(to bottom, #e0e7ff 0%, #c7d2fe 85%, #818cf8 100%);--white-key-border:#cbd5e1;--black-key-bg:linear-gradient(to bottom, #334155 0%, #1e293b 80%, #0f172a 100%);--black-key-active:linear-gradient(to bottom, #4f46e5 0%, #4338ca 80%, #3730a3 100%);--black-key-border:#0f172a;--piano-deck-bg:#e2e8f0}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;transition:background-color .25s,color .25s;overflow-x:hidden}#app{flex-direction:column;min-height:100vh;display:flex}.studio-container{flex-direction:column;flex:1;gap:1.25rem;width:100%;max-width:1300px;margin:0 auto;padding:1.25rem;display:flex}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-color);border-radius:1rem;padding:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #00000014}.light-theme .glass-card{box-shadow:0 4px 14px #0000000d}.btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#7d7d7d14;border-radius:.625rem;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.light-theme .btn{background:#f1f5f9;border-color:#cbd5e1}.btn:hover{border-color:var(--accent-primary);background:#7d7d7d29;transform:translateY(-1px)}.light-theme .btn:hover{background:#e2e8f0}.btn-primary{box-shadow:0 4px 14px #4f46e559;background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important}.btn-danger{color:var(--accent-danger)!important;background:#ef44441f!important;border-color:#ef44444d!important}.light-theme .btn-danger{color:#dc2626!important;background:#fef2f2!important;border-color:#fca5a5!important}.btn-danger:hover{border-color:var(--accent-danger)!important;background:#ef444440!important}.btn-success{color:var(--accent-success)!important;background:#10b98126!important;border-color:#10b9814d!important}.btn-active{background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important}input[type=range]{appearance:none;background:#7d7d7d33;border-radius:3px;outline:none;width:100%;height:6px}.light-theme input[type=range]{background:#cbd5e1}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);cursor:pointer;width:16px;height:16px;box-shadow:0 0 10px var(--accent-primary);border-radius:50%;transition:transform .15s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.font-mono{font-family:JetBrains Mono,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#7d7d7d4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}
