.unified-selector{background:var(--surface-2);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);width:100%;max-width:none;margin-bottom:.5rem;padding:.75rem;position:relative}.unified-selector-content{width:100%;max-width:800px;margin:0 auto}.mode-selector{margin-bottom:.8rem}.selector-title{color:var(--text-muted);text-align:left;letter-spacing:.02em;margin-bottom:.35rem;font-size:.8rem;font-weight:600}.mode-buttons{justify-content:flex-start;gap:.5rem;display:flex}.mode-button{border:1px solid var(--border-color);background:var(--surface-2);color:var(--text-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.mode-button:hover{background:var(--surface-3);color:var(--text-primary)}.mode-button.active{background:var(--surface-3);color:var(--text-primary);border-color:var(--accent-primary)}.selection-controls{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.selector-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;width:100%;display:flex}.selector-row-primary{min-height:56px}.selector-row-secondary{align-items:center;min-height:48px}.mode-selector-inline{flex-direction:column;align-items:flex-start;gap:.5rem;height:auto;margin:0;padding:0;display:flex}.mode-selector-inline label{color:var(--text-primary);white-space:nowrap;letter-spacing:.02em;margin-bottom:0;font-size:.9rem;font-weight:500}.mode-selector-inline .mode-buttons{gap:.35rem}.mode-selector-inline .mode-button{height:var(--dropdown-height);padding:0 .75rem;font-size:.8rem}.mode-selector-inline.mode-selector-static .mode-buttons{gap:0}.mode-selector-inline .mode-pill{height:var(--dropdown-height);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--surface-2);color:var(--text-secondary);justify-content:center;align-items:center;padding:0 .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.view-switch{flex-direction:column;align-items:flex-start;gap:.5rem;height:auto;margin:0;padding:0;display:flex}.view-switch label{color:var(--text-primary);white-space:nowrap;letter-spacing:.02em;margin-bottom:0;font-size:.9rem;font-weight:500}.view-switch-toggle{--view-switch-padding:4px;height:var(--dropdown-height);min-width:170px;padding:var(--view-switch-padding);border:var(--dropdown-border-hover);border-radius:var(--border-radius-lg);background:var(--dropdown-background-hover);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);font-weight:600;font-size:var(--font-size-md);box-shadow:none;grid-template-columns:1fr 1fr;align-items:center;display:grid;position:relative}.view-switch-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.view-switch-toggle:hover{background:var(--dropdown-background-hover);border-color:var(--dropdown-border-hover)}.view-switch-toggle .switch-thumb{top:var(--view-switch-padding);bottom:var(--view-switch-padding);left:var(--view-switch-padding);width:calc(50% - (var(--view-switch-padding)*2));background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:calc(var(--border-radius-lg) - var(--view-switch-padding));z-index:1;transition:transform .18s;position:absolute}.view-switch-toggle.is-arpeggios .switch-thumb{transform:translateX(calc(100% + (var(--view-switch-padding)*2)))}.view-switch-toggle .switch-option{z-index:2;text-align:center;color:var(--text-secondary);padding:0 10px;font-size:.85rem;font-weight:600;line-height:1;position:relative}.view-switch-toggle.is-arpeggios .switch-option-arpeggios,.view-switch-toggle:not(.is-arpeggios) .switch-option-chords{color:var(--text-primary)}.notation-selection{flex-direction:column;align-items:flex-start;gap:.5rem;height:auto;margin:0;padding:0;display:flex}.notation-selection label{font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;font-size:var(--font-size-sm);letter-spacing:.02em;margin-bottom:0}.root-selection{flex-direction:column;align-items:flex-start;gap:.5rem;height:auto;margin:0;padding:0;display:flex}.root-selection label{color:var(--text-primary);white-space:nowrap;letter-spacing:.02em;margin-bottom:0;font-size:.9rem;font-weight:500}.unified-selector .type-selection-inline{--selector-type-trigger-width:clamp(152px,24vw,184px);flex-direction:column;align-items:flex-start;gap:.5rem;height:auto;margin:0;padding:0;display:flex}.type-selection-inline label{color:var(--text-primary);white-space:nowrap;letter-spacing:.02em;margin-bottom:0;font-size:.9rem;font-weight:500}:root{--dropdown-height:var(--control-md);--dropdown-root-width:84px;--dropdown-type-width:140px;--dropdown-border:1px solid #ffffff1f;--dropdown-background:#ffffff08;--dropdown-background-hover:#ffffff0f;--dropdown-border-hover:#ffffff2e}.unified-selector .root-selection .root-note-dropdown{width:var(--dropdown-root-width);margin:0;padding:0}.unified-selector .type-selection-inline .chord-type-dropdown{width:var(--selector-type-trigger-width);margin:0;padding:0}.unified-selector .selector-row .notation-toggle{height:var(--dropdown-height);box-sizing:border-box;margin:0;padding:0}.unified-selector .selector-row .notation-toggle .notation-toggle-button{padding:var(--input-padding)}.unified-selector .root-selection .root-note-trigger{width:var(--dropdown-root-width);min-width:60px}.unified-selector .type-selection-inline .chord-type-trigger{width:var(--selector-type-trigger-width);justify-content:space-between;min-width:0}.unified-selector .type-selection-inline .chord-type-trigger .selected-chord-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.unified-selector .type-selection-inline .chord-type-trigger .dropdown-arrow{flex-shrink:0}.chord-type-selection,.scale-type-selection{z-index:var(--z-sidebar);flex-direction:column;align-items:flex-start;gap:.75rem;display:flex;position:relative}.unified-selector .chord-type-grid,.unified-selector .scale-type-grid{max-height:calc(100vh - 120px)}.unified-selector .dropdown-menu.chord-type-grid.compact,.unified-selector .dropdown-menu.scale-type-grid{box-sizing:border-box;gap:10px!important;width:clamp(300px,85vw,640px)!important;max-width:92vw!important;padding:12px!important}.unified-selector .dropdown-menu.scale-type-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}.unified-selector .type-dropdown-header{margin-bottom:10px;padding-bottom:8px}.unified-selector .chord-name-hover-display{margin-bottom:10px;padding:8px 10px}.unified-selector .scale-category{border-radius:var(--border-radius-md);padding:10px}.unified-selector .category-title{margin-bottom:8px;padding-bottom:6px;font-size:.8rem}.unified-selector .scale-button{min-height:var(--control-sm);border-radius:16px;max-width:none;padding:8px 14px;font-size:.8rem}.unified-selector .scale-buttons{gap:6px}@media (max-width:768px){.unified-selector .chord-type-grid,.unified-selector .scale-type-grid{max-height:calc(100vh - var(--control-xl))}.unified-selector .dropdown-menu.chord-type-grid.compact,.unified-selector .dropdown-menu.scale-type-grid{gap:8px!important;width:min(85vw,300px)!important;padding:12px!important}.unified-selector .dropdown-menu.scale-type-grid{grid-template-columns:1fr!important}}.chord-type-selection label,.scale-type-selection label{color:var(--text-primary);font-weight:500}.chord-notes-display{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;width:100%;margin-top:.75rem;padding-top:.75rem;display:flex}.notes-label{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.notes-container{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.note-item{flex-direction:column;align-items:center;gap:.125rem;display:flex}.note-badge{background:var(--color-overlay-medium);color:var(--text-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-md);border:1px solid var(--border-color);padding:.35rem .6rem;font-weight:600}.note-roman{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}@media (max-width:768px){.unified-selector{padding:.625rem}.selection-controls{gap:.5rem}.selector-row{flex-flow:wrap;justify-content:center;align-items:center;gap:.375rem;min-height:48px}.notation-selection,.root-selection,.type-selection-inline,.mode-selector-inline,.view-switch{flex:none;justify-content:flex-start;width:auto;max-width:none;margin-top:0;overflow:visible}.notation-selection .notation-toggle{width:auto;min-width:70px}.unified-selector .root-selection .root-note-trigger{width:var(--dropdown-root-width);min-width:var(--dropdown-root-width)}.unified-selector .type-selection-inline{--selector-type-trigger-width:clamp(164px,56vw,244px)}.unified-selector .type-selection-inline .chord-type-dropdown{max-width:none;overflow:visible}.unified-selector .type-selection-inline .chord-type-trigger{width:var(--selector-type-trigger-width);min-width:0;max-width:100%}.mode-selector{margin-bottom:.5rem}.mode-buttons{flex-direction:column;align-items:flex-start;gap:.375rem}.mode-button{width:100%;max-width:280px;padding:.625rem 1.25rem}.view-switch-toggle{min-width:160px}.chord-type-selection,.scale-type-selection{width:100%;max-width:400px}}@media (min-width:390px) and (max-width:480px){.unified-selector .type-selection-inline{--selector-type-trigger-width:clamp(220px,62vw,268px)}}@media (max-width:400px){.unified-selector{--dropdown-root-width:80px;padding:.5rem}.selector-row{flex-wrap:wrap;justify-content:center;gap:.25rem;margin-bottom:.375rem}.unified-selector .type-selection-inline{--selector-type-trigger-width:clamp(156px,calc(100vw - 132px),244px)}.type-selection-inline{flex:0 auto;width:auto;margin-top:0}.mode-selector-inline{flex:100%;width:100%;margin-top:.375rem}.view-switch{flex:0 0 100%;align-items:center;width:auto;margin-top:0}.view-switch-toggle{width:100%;max-width:260px}.unified-selector .type-selection-inline .chord-type-trigger{width:var(--selector-type-trigger-width);min-width:0;max-width:100%}.chord-type-grid.compact{width:min(95vw,260px)}.notation-selection .notation-toggle{min-width:60px}.mode-button{max-width:260px;padding:.5rem 1rem}}