:root{--bg: #0f1115;--bg-elev: #171a21;--bg-elev2: #1f232c;--border: #2a2f3a;--border-strong: #3a4150;--text: #e6e8ec;--text-muted: #8b919c;--accent: #4f8cff;--accent-hover: #6ba0ff;--danger: #ff5c5c;--accent-gold: #e8c37a;--accent-gold-soft: rgba(232, 195, 122, .16);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[data-theme=light]{--bg: #f7f8fa;--bg-elev: #ffffff;--bg-elev2: #eef1f5;--border: #d6dae1;--border-strong: #b4bcc8;--text: #1a1d23;--text-muted: #5c6470;--accent: #2f6fe0;--accent-hover: #1f5bc4;--danger: #d23b3b;--accent-gold: #9a6f12;--accent-gold-soft: rgba(154, 111, 18, .14)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.muted{color:var(--text-muted)}.small{font-size:.85rem}.app{--sidebar-w: 250px;display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:1fr auto;grid-template-areas:"sidebar main" "player player";height:100vh}.app.sidebar-collapsed{--sidebar-w: 56px}.app.no-player{grid-template-rows:1fr 0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;margin-top:-16px;padding:16px 0 8px;background:var(--bg-elev);z-index:5}.collapse-btn{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;cursor:pointer;padding:2px 8px;font-size:.9rem;line-height:1}.collapse-btn:hover{border-color:var(--accent);color:var(--accent-hover)}.sidebar.collapsed{align-items:center;padding:16px 6px}.library-list.collapsed{align-items:center;margin-top:12px}.library-icon-only{width:40px;height:40px;border-radius:8px;background:transparent;border:none;color:var(--text);font-size:1.2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.library-icon-only svg{width:22px;height:22px}.library-icon-only:hover{background:var(--bg-elev2)}.library-icon-only.active{background:var(--accent);color:#fff}.sidebar{grid-area:sidebar;background:var(--bg-elev);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px;gap:8px;overflow-y:auto}.sidebar-header .brand{font-weight:700;font-size:1.3rem;letter-spacing:.5px}.sidebar-header .brand-wrap{display:flex;align-items:center;gap:8px}.env-badge{font-size:.62rem;font-weight:800;letter-spacing:1px;line-height:1;padding:3px 6px;border-radius:5px;color:#1b1206;background:var(--accent-gold);border:1px solid var(--accent-gold);text-transform:uppercase}.app.env-dev:before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent-gold);z-index:1000;pointer-events:none}.sidebar-section-label{text-transform:uppercase;font-size:.7rem;letter-spacing:1px;color:var(--text-muted);margin-top:12px}.library-list{display:flex;flex-direction:column;gap:2px}.library-item{display:flex;align-items:center;border-radius:8px}.library-item:hover{background:var(--bg-elev2)}.library-item.active{background:var(--accent)}.library-item.active .library-item-main{color:#fff}.library-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:transparent;border:none;color:var(--text);text-align:left;padding:8px 10px;cursor:pointer;font-size:.95rem}.library-icon{font-size:1rem;display:inline-flex;align-items:center;justify-content:center}.library-icon svg{width:18px;height:18px;display:block}.library-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-label{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.library-label .library-name{flex:none}.library-server{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-custom-icon{width:18px;height:18px;border-radius:4px;object-fit:cover;display:block}.library-icon-only .library-custom-icon{width:22px;height:22px}.library-menu{position:relative;flex:none}.library-menu-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;margin-right:4px;border-radius:6px;font-size:1.1rem;line-height:1;opacity:0}.library-item:hover .library-menu-btn,.library-item.active .library-menu-btn{opacity:1}.library-item.active .library-menu-btn{color:#fff}.menu-popup{position:absolute;right:0;top:100%;margin-top:4px;z-index:50;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:4px;min-width:140px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000073}.menu-popup button{background:transparent;border:none;color:var(--text);text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.85rem}.menu-popup button:hover{background:var(--bg)}.menu-popup button.danger{color:var(--danger)}.add-library-btn{margin-top:auto;background:var(--bg-elev2);border:1px dashed var(--border);color:var(--text);padding:10px;border-radius:8px;cursor:pointer}.add-library-btn:hover{border-color:var(--accent);color:var(--accent-hover)}.main{grid-area:main;overflow-y:auto;padding:24px 28px}.empty-main{color:var(--text-muted);margin-top:15vh;text-align:center}.library-view-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.library-view-header h1{margin:0 0 4px}.toolbar{display:flex;align-items:center;gap:10px;justify-content:flex-end}.circle-btn{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);cursor:pointer}.circle-btn:hover{border-color:var(--accent);color:var(--accent-hover)}.circle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.icon-btn{height:36px;min-width:36px;padding:0 10px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:.95rem}.icon-btn:hover{border-color:var(--accent)}.search-control,.hamburger{position:relative}.search-popup,.hamburger-popup{position:absolute;right:0;top:100%;margin-top:8px;z-index:60;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 12px 32px #00000080;display:flex;flex-direction:column;gap:12px}.search-popup{width:340px}.hamburger-popup{width:280px}.search-popup-row{display:flex;gap:8px}.search-field,.sort-field{height:36px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 8px;font-size:.85rem;cursor:pointer}.search-input{flex:1;min-width:0;height:36px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 10px;font-size:.9rem}.search-clear{align-self:flex-start;background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:0}.seg-control{display:flex;align-items:center;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:3px}.seg-control.vertical{flex-direction:column;align-items:stretch}.seg-label{color:var(--text-muted);font-size:.78rem;padding:0 6px}.seg-control button{flex:1;background:transparent;border:none;color:var(--text);border-radius:6px;padding:7px 10px;cursor:pointer;font-size:.85rem}.seg-control button:hover{background:var(--bg-elev2)}.seg-control button.active{background:var(--accent);color:#fff}.menu-group-label{text-transform:uppercase;font-size:.68rem;letter-spacing:1px;color:var(--text-muted)}.sort-editor{display:flex;flex-direction:column;gap:4px}.sort-criterion{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:4px 8px}.sort-rank{display:flex;flex-direction:column;flex:none}.rank-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.55rem;line-height:1;padding:1px 2px}.rank-btn:hover:not(:disabled){color:var(--accent)}.rank-btn:disabled{opacity:.25;cursor:default}.sort-crit-index{flex:none;width:16px;text-align:center;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.sort-crit-label{flex:1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-dir{flex:none;background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.72rem;padding:4px 8px;font-variant-numeric:tabular-nums}.sort-dir:hover{border-color:var(--accent)}.composer-heading{margin:0 0 16px}.playlists-toolbar{margin-bottom:16px}.playlist-list{display:flex;flex-direction:column;gap:8px}.playlist-card{display:flex;align-items:center;gap:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--text);text-align:left}.playlist-card:hover{border-color:var(--accent)}.playlist-kind-badge{flex:none;font-size:.72rem;color:var(--text-muted);background:var(--bg-elev2);border-radius:6px;padding:3px 8px}.playlist-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.playlist-detail-header h2{margin:0 0 4px}.smart-rules-summary{margin-top:6px;font-style:italic}.danger-text{color:var(--danger)}.add-playlist-card .card-art{border:2px dashed var(--border);box-shadow:none;background:var(--bg-elev)}.add-playlist-card:hover .card-art{border-color:var(--accent);outline:none}.add-plus{font-size:3rem!important;font-weight:300;color:var(--text-muted);line-height:1}.add-playlist-card:hover .add-plus{color:var(--accent)}.playlist-card-chip{position:absolute;top:8px;left:8px;font-size:.7rem;font-weight:600;color:#fff;background:#0009;border-radius:6px;padding:2px 7px}.add-tracks-search{width:100%;height:38px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 12px;margin-bottom:12px}.add-tracks-list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.add-track-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 6px;border-bottom:1px solid var(--border)}.add-track-info{display:flex;flex-direction:column;min-width:0}.add-track-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-track-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-track-added{flex:none;color:var(--accent)}.add-tracks-more{text-align:center;padding:10px 0 2px}.save-target-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 14px}.save-target-hint{flex:1;min-width:220px}.redirs-pane{padding:18px 22px 60px;max-width:1100px}.redirs-head h2{margin:0 0 4px}.redirs-head p{margin:0 0 8px;max-width:760px}.redirs-section{margin-top:18px}.redirs-template{width:100%;font-family:var(--mono, ui-monospace, monospace);font-size:.95rem;padding:8px 10px}.redirs-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.redirs-chip{border:1px solid var(--border);background:var(--surface-2, rgba(127, 127, 127, .08));border-radius:14px;padding:3px 10px;font-size:.82rem;cursor:pointer}.redirs-chip:hover{border-color:var(--accent)}.redirs-spaces{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.redirs-spaces-with{width:70px;padding:4px 8px}.redirs-modes{display:flex;flex-direction:column;gap:8px}.redirs-mode{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"radio title" "radio hint";gap:0 10px;align-items:start;padding:8px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.redirs-mode.active{border-color:var(--accent);background:var(--surface-2, rgba(127, 127, 127, .06))}.redirs-mode input{grid-area:radio;margin-top:3px}.redirs-mode-title{grid-area:title;font-weight:600}.redirs-mode .small{grid-area:hint}.redirs-output{margin-top:12px}.redirs-output-row{display:flex;gap:8px;align-items:center}.redirs-output-row input{flex:1;padding:6px 10px}.redirs-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.redirs-confirm{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.redirs-progress .redirs-phase{font-size:.9rem;margin-bottom:6px}.redirs-bar{height:8px;border-radius:4px;background:var(--surface-2, rgba(127, 127, 127, .15));overflow:hidden}.redirs-bar-fill{height:100%;background:var(--accent);transition:width .2s ease}.redirs-result{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.redirs-summary{margin-bottom:10px;font-size:.9rem}.redirs-table-wrap{max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:8px}.redirs-table{width:100%;border-collapse:collapse;font-size:.85rem}.redirs-table th,.redirs-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}.redirs-table th{position:sticky;top:0;background:var(--surface, #1c1c1c);z-index:1}.redirs-path{font-family:var(--mono, ui-monospace, monospace);font-size:.8rem;word-break:break-all}.redirs-num{text-align:right}.redirs-badge{display:inline-block;border-radius:10px;padding:1px 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.redirs-badge.move{background:#50a05a33;color:#4caf50}.redirs-badge.noop{background:#7f7f7f2e;color:var(--muted)}.redirs-badge.skip{background:#c8963c33;color:#d6932f}.cut-edge-cell{white-space:nowrap}.cut-edge{display:inline-flex;align-items:center;gap:6px}.cut-edge-empty{color:var(--text-muted)}.cut-edge-time{display:inline-block;min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.cut-offset{display:inline-block;min-width:50px;font-size:.72rem;color:var(--muted, var(--text-muted));font-variant-numeric:tabular-nums}.cut-offset.is-hidden{visibility:hidden}.cut-nudge{display:inline-flex;gap:2px;vertical-align:middle}.cut-nudge-btn{border:1px solid var(--border);background:var(--surface-2, rgba(127, 127, 127, .08));border-radius:4px;font-size:.95rem;line-height:1;padding:1px 5px;cursor:pointer}.cut-nudge-btn:hover:not(:disabled){border-color:var(--accent)}.cut-nudge-btn:disabled{opacity:.4;cursor:default}.cut-actions{white-space:nowrap}.cut-actions .tf-seam{vertical-align:middle}.cut-actions .tf-seam+.tf-seam{margin-left:6px}.cut-playend{white-space:nowrap}.field-hint{font-size:.78rem;color:var(--muted);margin-top:3px}.field-hint.error{color:var(--danger, #d9534f)}.checkbox-row{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--text)!important}.checkbox-row input{height:auto!important;width:auto}.rule-builder{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:8px;padding:12px}.rule-match{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted)}.rule-match select{height:30px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:0 6px}.modal.playlist-creator-smart{width:620px;max-width:94vw}.rule-row{display:flex;gap:6px;flex-wrap:wrap}.rule-row select,.rule-row input{height:34px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 8px;font-size:.85rem;min-width:0}.rule-row select{flex:0 0 auto}.rule-row input{flex:1;min-width:160px}.composer-tile{background:linear-gradient(135deg,var(--bg-elev2),#11141b)}.caricature-tile{background:#f4f1ea}.caricature-tile img{width:100%;height:100%;object-fit:cover}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px}.card{background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;padding:0}.card-art{aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--bg-elev2);box-shadow:0 4px 16px #0000004d}.card-art img{width:100%;height:100%;object-fit:cover;display:block}.card-art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem}.card .card-art{transition:transform .15s ease,box-shadow .15s ease}.card:hover{position:relative;z-index:2}.card:hover .card-art{transform:scale(1.05);box-shadow:0 8px 24px #00000073}.card:focus-visible{outline:none}.card:focus-visible .card-art{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.card .card-art{transition:none}.card:hover .card-art{transform:none;outline:2px solid var(--accent)}}.card-title{margin-top:8px;font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-subtitle{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-art-wrap{position:relative}.album-card-menu{position:absolute;right:8px;bottom:8px}.album-card-menu-btn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;border:none;cursor:pointer;font-size:1.15rem;line-height:1;opacity:0;transition:opacity .12s ease,background .12s ease}.card:hover .album-card-menu-btn,.album-card-menu.open .album-card-menu-btn,.album-card-menu-btn:focus-visible{opacity:1}.album-card-menu-btn:hover{background:#000000c7}.album-card-menu-popup{top:auto;bottom:calc(100% + 6px);right:0}.album-detail-menu{position:relative;right:auto;bottom:auto;display:inline-block}.album-detail-menu .album-card-menu-btn{opacity:1;width:38px;height:38px;font-size:1.35rem;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text)}.album-detail-menu .album-card-menu-btn:hover{border-color:var(--accent);background:var(--bg-elev2);color:var(--accent-hover)}.album-detail-menu .album-card-menu-popup{top:calc(100% + 6px);bottom:auto;left:0;right:auto}.back-btn.btn-secondary{margin-bottom:18px;padding:10px 20px;font-size:1rem}.album-detail-header{display:flex;gap:24px;margin-bottom:24px}.album-cover-large{width:200px;height:200px;flex:none;border-radius:12px;overflow:hidden;background:var(--bg-elev2);box-shadow:0 8px 28px #0006}.album-cover-large img{width:100%;height:100%;object-fit:cover}.album-cover-zoom{display:block;width:100%;height:100%;padding:0;margin:0;border:none;background:none;cursor:pointer}.art-lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d1;cursor:default;animation:art-lightbox-fade .15s ease}.art-lightbox-figure{position:relative;display:inline-block;margin:0;max-width:92vw;max-height:92vh;cursor:default}.art-lightbox-img{display:block;max-width:92vw;max-height:92vh;width:auto;height:auto;border-radius:10px;box-shadow:0 16px 60px #0009}.art-lightbox-close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:17px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}.art-lightbox-figure:hover .art-lightbox-close,.art-lightbox-close:focus-visible{opacity:1}.art-lightbox-close:hover{background:#000000d1}@keyframes art-lightbox-fade{0%{opacity:0}to{opacity:1}}.album-detail-meta{display:flex;flex-direction:column;gap:8px;justify-content:flex-end}.album-detail-meta h2{margin:0}.album-composer{color:var(--text);font-size:1rem}.play-album{align-self:flex-start}.album-actions{display:flex;gap:10px;margin-top:8px}.modal.modal-wide{width:min(1040px,94vw);max-height:92vh}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-head h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-actions.inline{margin:0}.edit-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding-right:4px}.edit-section{display:flex;flex-direction:column;gap:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.edit-field{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-muted)}.edit-field.wide{grid-column:1 / -1}.edit-field input{height:34px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 10px;font-size:.9rem}.edit-track-cols{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start}.track-selector{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.track-selector li+li{border-top:1px solid var(--border)}.track-selector button{width:100%;display:flex;gap:8px;align-items:baseline;background:transparent;border:none;color:var(--text);text-align:left;padding:8px 10px;cursor:pointer;font-size:.85rem}.track-selector button:hover{background:var(--bg)}.track-selector button.active{background:var(--accent);color:#fff}.ts-num{flex:none;width:20px;text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.track-selector button.active .ts-num{color:#ffffffd9}.ts-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-fields{display:flex;flex-direction:column;gap:12px}.extra-editor{display:flex;flex-direction:column;gap:8px}.extra-row{display:flex;gap:8px}.extra-key-input,.extra-val-input{height:34px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 10px;font-size:.9rem}.extra-key-input{flex:0 0 180px}.extra-val-input{flex:1;min-width:0}.add-field{align-self:flex-start}.track-list{display:flex;flex-direction:column}.track-row{display:flex;align-items:center;border-bottom:1px solid var(--border);content-visibility:auto;contain-intrinsic-size:auto 56px}.track-row:hover{background:var(--bg-elev2)}.track-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:14px;background:transparent;border:none;color:var(--text);text-align:left;padding:10px 8px;cursor:pointer}.track-row.playing .track-title{color:var(--accent-gold);font-weight:600}.track-menu{position:relative;flex:none;margin-right:6px}.track-menu-btn{width:30px;height:30px;border-radius:50%;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;opacity:0}.track-row:hover .track-menu-btn{opacity:1;border-color:var(--border)}.track-menu-btn:hover{color:var(--accent-hover);border-color:var(--accent)}.track-menu-popup{right:6px}.submenu{display:flex;flex-direction:column;border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.submenu-empty{color:var(--text-muted);font-size:.78rem;padding:6px 10px}.track-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.track-thumb{width:32px;height:32px;border-radius:4px;object-fit:cover}.eq{display:inline-flex;align-items:flex-end;justify-content:flex-end;gap:2px;width:100%;height:14px}.eq span{width:3px;background:var(--accent-gold);border-radius:1px;animation:eq-bounce .9s ease-in-out infinite}.eq span:nth-child(1){animation-delay:-.2s}.eq span:nth-child(2){animation-delay:-.5s}.eq span:nth-child(3){animation-delay:-.8s}@keyframes eq-bounce{0%,to{height:30%}50%{height:100%}}.eq.paused span{animation:none;height:18%}@media (prefers-reduced-motion: reduce){.eq span{animation:none;height:60%}.eq.paused span{height:18%}}.track-main{flex:1;min-width:0;display:flex;flex-direction:column}.track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artists{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-dur{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.playlist-owner{font-style:italic}.track-stars{color:var(--accent);font-size:.8em;letter-spacing:1px;flex:none;white-space:nowrap}.track-extra{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.extra-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:.72rem;color:var(--text)}.extra-key{color:var(--text-muted);text-transform:lowercase}.extra-key:after{content:":"}.btn-primary,.btn-secondary{border-radius:8px;padding:8px 14px;cursor:pointer;border:1px solid var(--border);font-size:.9rem}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--bg-elev2);color:var(--text)}.btn-secondary:hover{border-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:24px;width:380px;display:flex;flex-direction:column;gap:14px}.modal h3{margin:0}.modal label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-muted)}.modal input,.modal select{height:40px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0 10px;color:var(--text);font-size:.95rem}.modal select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%238b919c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.path-row{display:flex;gap:8px}.path-row input{flex:1;min-width:0}.path-browse{flex:none;width:40px;height:40px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:1.1rem}.path-browse:hover{border-color:var(--accent)}.picker-backdrop{z-index:200}.picker{width:460px;height:min(560px,82vh)}.picker-current{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.picker-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:8px;padding:6px}.picker-row{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--text);text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.9rem}.picker-row:hover{background:var(--bg-elev2)}.picker-row.up{color:var(--text-muted)}.picker-icon{width:1.2em;flex:none}.picker-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.form-error{color:var(--danger);font-size:.85rem}.player{grid-area:player;position:relative;background:var(--bg-elev);border-top:1px solid var(--border);padding:14px 20px;min-height:72px}.player-audio{display:grid;grid-template-columns:1fr minmax(340px,460px) 1fr;gap:28px;align-items:center;height:128px;padding:0 28px}.player-audio>audio{display:none}.np-info{min-width:0;max-width:250px;display:flex;flex-direction:column;gap:3px;text-align:center}.scroll-line{position:relative;overflow:hidden;white-space:nowrap}.scroll-measure{position:absolute;visibility:hidden;white-space:nowrap;pointer-events:none}.scroll-static{display:inline-block}.scroll-track{display:inline-flex;gap:var(--scroll-gap, 48px);will-change:transform;animation-name:marquee;animation-timing-function:linear;animation-iteration-count:infinite}.scroll-copy{white-space:nowrap}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(var(--scroll-distance))}}@media (prefers-reduced-motion: reduce){.scroll-track{animation:none}}.np-right{justify-self:end;display:flex;align-items:center;gap:10px}.np-top-controls{display:flex;flex-direction:column;align-self:flex-start;gap:6px}.mini-btn{width:26px;height:26px;border-radius:6px;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.8rem;line-height:1}.mini-btn:hover{border-color:var(--accent);color:var(--accent-hover)}.np-art{width:112px;height:112px;flex:none;border-radius:8px;overflow:hidden;background:var(--bg-elev2);box-shadow:0 4px 14px #00000059}.player-collapsed{display:flex;align-items:center;justify-content:center;gap:16px;height:64px}.player-collapsed .collapse-btn{position:absolute;left:20px}.player-x{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-muted);border-radius:50%;width:30px;height:30px;cursor:pointer}.player-x:hover{border-color:var(--danger);color:var(--danger)}.player-video .player-x{margin-left:auto}.np-art img{width:100%;height:100%;object-fit:cover;display:block}.np-art-zoom{display:block;width:100%;height:100%;padding:0;margin:0;border:none;background:none;cursor:zoom-in}.np-art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.np-track{font-weight:700;font-size:1.25rem;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-line{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-artists{font-weight:600}.np-secondary{color:var(--text-muted)}.np-stars{margin-top:6px;display:flex;justify-content:center;gap:2px}.np-stars .star{background:transparent;border:none;cursor:pointer;padding:0 1px;font-size:1.15rem;line-height:1;color:var(--text-muted)}.np-stars .star.filled{color:var(--accent)}.np-stars .star:hover{color:var(--accent-hover)}.np-player{display:flex;flex-direction:column;gap:12px}.np-scrubber{display:flex;align-items:center;gap:12px}.np-time{font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--text-muted);min-width:42px;text-align:center}.waveform{flex:1;display:flex;align-items:center;gap:2px;height:40px;cursor:pointer;touch-action:none}.wf-bar{flex:1;min-width:0;border-radius:1px;background:var(--bg-elev2);transition:background-color .1s linear}.wf-bar.buffered{background:#4a525f}.wf-bar.played{background:var(--accent-gold)}.np-transport{display:flex;align-items:center;justify-content:center;gap:18px}.ctrl-btn,.skip-btn{background:transparent;border:none;color:var(--text);cursor:pointer;font-size:1.3rem;line-height:1}.ctrl-btn:disabled{opacity:.3;cursor:default}.skip-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px}.skip-glyph{font-size:1.7rem}.skip-num{position:absolute;font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums}.play-btn{width:52px;height:52px;border-radius:50%;background:var(--text);color:var(--bg);border:none;cursor:pointer;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.play-btn:hover{background:#fff}.play-btn.playing{background:var(--accent-gold);color:#1c1503}.play-btn.playing:hover{background:var(--accent-gold);filter:brightness(1.08)}.player-video{display:flex;gap:16px;align-items:center}.video-surface{height:200px;max-width:360px;border-radius:8px;background:#000}.video-meta{display:flex;flex-direction:column;gap:10px}.auth-splash{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-muted)}.auth-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.auth-card{width:320px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;gap:14px}.auth-brand{margin:0;font-size:1.6rem;letter-spacing:.5px;text-align:center}.auth-subtitle{margin:0;text-align:center;color:var(--text-muted);font-size:.9rem}.auth-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-muted)}.auth-field input{background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font-size:.95rem}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-submit{margin-top:4px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px;font-weight:600;cursor:pointer}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem}.auth-error{background:#3a1d22;border:1px solid #5c2a32;color:#ffb3bd;border-radius:8px;padding:8px 10px;font-size:.85rem}.qr-card{align-items:center}.qr-frame{width:232px;height:232px;border-radius:12px;background:#fff;padding:8px;box-sizing:border-box}.qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#555;font-size:.9rem}.qr-steps{margin:2px 0 0;padding-left:18px;color:var(--text-muted);font-size:.82rem;line-height:1.45;align-self:stretch}.qr-steps li{margin:2px 0}.qr-hint{margin:0;text-align:center;color:var(--text-muted);font-size:.82rem}.qr-done{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff;font-size:1.8rem;font-weight:700}.account-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.account-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.preferences-btn{background:none;border:none;color:var(--text-muted);font-size:1.05rem;line-height:1;padding:2px 4px;cursor:pointer}.preferences-btn:hover{color:var(--accent-hover)}.account-name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.account-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-elev2);color:var(--text-muted);border-radius:4px;padding:1px 5px}.logout-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:3px 8px;font-size:.8rem;cursor:pointer}.logout-btn:hover{border-color:var(--accent);color:var(--accent-hover)}.account-actions{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.refresh-server-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:3px 8px;font-size:.8rem;cursor:pointer}.refresh-server-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}.refresh-server-btn:disabled{opacity:.6;cursor:default}.prefs-icon{margin-top:auto}.refresh-server-icon,.logout-icon{margin-top:0}.invite-btn{align-self:stretch;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px;font-size:.8rem;cursor:pointer}.invite-btn:hover:not(:disabled){border-color:var(--accent)}.invite-result{align-self:stretch;display:flex;flex-direction:column;gap:3px}.invite-code{display:block;background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:6px;font-size:.72rem;word-break:break-all;cursor:pointer}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;line-height:1;padding:4px 8px;cursor:pointer;border-radius:6px}.modal-close:hover{color:var(--text);background:var(--bg-elev2)}.prefs-pane,.prefs-list{display:flex;flex-direction:column;width:100%;max-width:620px;margin-inline:auto}.prefs-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:12px 2px;border-bottom:1px solid var(--border)}.prefs-row:last-child{border-bottom:none}.prefs-row-main{display:flex;flex-direction:column;gap:3px}.prefs-row-label{color:var(--text);font-size:.9rem;font-weight:500}.prefs-row-desc{color:var(--text-muted);font-size:.8rem;line-height:1.35}.prefs-row-actions{justify-content:flex-end;border-bottom:none;padding-top:16px}.prefs-control{width:200px;flex:none;height:34px;box-sizing:border-box;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-size:.88rem}.prefs-control.wide{width:300px}.prefs-control.narrow{width:92px}.prefs-control:focus{outline:none;border-color:var(--accent)}.prefs-toggle{width:18px;height:18px;flex:none;accent-color:var(--accent);cursor:pointer}.prefs-row input[type=text],.prefs-inline input{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 8px}.prefs-inline{display:flex;align-items:center;gap:8px}.prefs-section{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:10px}.prefs-modal{width:min(1100px,94vw);height:85vh;max-height:900px}.prefs-tabs{display:flex;justify-content:center;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.prefs-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:8px 14px;font-size:.9rem;cursor:pointer}.prefs-tab:hover{color:var(--text)}.prefs-tab.active{color:var(--text);border-bottom-color:var(--accent)}.prefs-body{flex:1;min-height:240px;overflow-y:auto}.users-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.users-list{display:flex;flex-direction:column;gap:10px}.user-row{background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.user-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.user-identity{display:flex;align-items:center;gap:8px}.account-badge.danger{background:#3a1d22;color:#ffb3bd}.account-badge.owner{background:#3a2f12;color:#ffd479}.user-row-head-actions{display:flex;align-items:center;gap:12px}.btn-secondary.small{padding:3px 8px;font-size:.8rem}.btn-danger-text{background:none;border:none;color:#ff8a96;cursor:pointer;font-size:.85rem}.btn-danger-text:disabled{color:var(--text-muted);cursor:default}.user-row-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.user-ctl{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-muted)}.user-ctl select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:3px 6px}.user-ctl.checkbox input{accent-color:var(--accent)}.user-libraries{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:10px}.user-library-checks{display:flex;flex-wrap:wrap;gap:12px}.user-library-grid{display:flex;flex-direction:column;gap:8px}.user-library-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.user-library-name{min-width:140px;font-size:.85rem;color:var(--text)}.user-library-row select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:3px 6px}.user-library-caps{display:flex;flex-wrap:wrap;gap:12px}.user-cap{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--text-muted)}.user-cap input{accent-color:var(--accent)}.user-cap input:disabled{opacity:.4}.users-toolbar{justify-content:space-between;align-items:flex-end;flex-wrap:wrap}.user-picker{display:flex;flex-direction:column;gap:4px}.user-picker select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;min-width:240px;font-size:.9rem}.users-toolbar-invite{display:flex;align-items:center;gap:10px}.user-detail{background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.user-tabs,.user-shared-playlists{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle.disabled{opacity:.45;cursor:default}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;flex:none;width:34px;height:20px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--border);transition:background .15s ease,border-color .15s ease}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform .15s ease,background .15s ease}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(14px);background:#fff}.toggle input:focus-visible+.toggle-track{box-shadow:0 0 0 2px var(--accent)}.toggle-label{white-space:nowrap}.shared-playlist-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.shared-playlist{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.shared-playlist-info{display:flex;flex-direction:column;gap:2px;min-width:0}.shared-playlist-name{font-size:.9rem;color:var(--text);font-weight:500}.shared-playlist-x{flex:none;width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:none;color:#ff8a96;font-size:1.2rem;line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease}.shared-playlist-x:hover:not(:disabled){background:#3a1d22;border-color:#ff8a96}.shared-playlist-x:disabled{opacity:.4;cursor:default}.section-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;margin-bottom:4px}.users-tab select:focus{outline:none;box-shadow:none}.user-ctl-inline{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted)}.user-ctl-inline select,.lib-block-access .access-select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px}.lib-blocks,.tablib-blocks{display:flex;flex-direction:column}.lib-block,.tablib-block{padding:10px 0;border-bottom:1px solid var(--border)}.lib-block:last-child,.tablib-block:last-child{border-bottom:none}.lib-block-name{font-size:.78rem;color:var(--text);font-weight:500;margin-bottom:6px}.lib-block-access{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.multiselect{position:relative}.multiselect-btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;white-space:nowrap}.multiselect-caret{color:var(--text-muted);font-size:.7rem}.multiselect-panel{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:200px;max-height:280px;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:8px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;gap:8px}.multiselect-actions{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px}.multiselect-actions button{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:.78rem;flex:1}.multiselect-actions button:hover{border-color:var(--accent)}.multiselect-options{display:flex;flex-direction:column;gap:8px}.ms-option{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text);cursor:pointer}.ms-option input{accent-color:var(--accent);width:15px;height:15px;flex:none;margin:0}.modal .user-ctl-inline,.modal .ms-option,.modal .toggle{flex-direction:row;align-items:center}.lib-block-access .access-select{height:30px;width:124px;padding:0 8px;font-size:.85rem}.multiselect-btn{height:30px;min-width:124px;justify-content:space-between}.surface-pills{display:flex;gap:6px;flex-wrap:wrap}.surface-pill{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-muted);border-radius:999px;padding:4px 12px;font-size:.8rem;cursor:pointer}.surface-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.surface-pill:disabled{opacity:.4;cursor:default}.global-tools{display:flex;flex-direction:column;gap:6px;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.system-tab{display:flex;flex-direction:column;width:100%;max-width:620px;margin:0 auto}.system-section{display:flex;flex-direction:column;gap:10px;padding:24px 0;border-top:2px solid var(--border-strong)}.system-section:first-child{border-top:none;padding-top:4px}.system-section h4{margin:0;font-size:.98rem}.prefs-section-note{color:var(--text-muted);font-size:.82rem;line-height:1.4;margin:0;max-width:620px}.system-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.backups-table{width:100%;border-collapse:collapse}.backup-row td{border-top:1px solid var(--border);padding:8px 0;vertical-align:middle}.backup-actions{text-align:right;white-space:nowrap}.backup-actions>*{margin-left:8px}a.btn-secondary{text-decoration:none;display:inline-block}.status-view{padding:24px 28px;overflow-y:auto}.status-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.status-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:8px 16px;font-size:.95rem;cursor:pointer}.status-tab:hover{color:var(--text)}.status-tab.active{color:var(--text);border-bottom-color:var(--accent)}.status-body{display:flex;flex-direction:column;gap:22px;max-width:900px}.status-alerts{display:flex;flex-direction:column;gap:8px}.status-alert{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:.88rem;background:var(--bg-elev);border:1px solid var(--border)}.status-alert-dot{width:9px;height:9px;border-radius:50%;flex:none}.status-alert.error{border-color:color-mix(in srgb,var(--danger) 50%,var(--border))}.status-alert.error .status-alert-dot{background:var(--danger)}.status-alert.warning .status-alert-dot{background:#e0a83b}.status-alert.info .status-alert-dot{background:var(--accent)}.status-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.stat-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat-value{font-size:1.3rem;font-weight:600}.stat-label{color:var(--text-muted);font-size:.8rem;margin-top:2px}.stat-card.good .stat-value{color:#4caf7d}.diag-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.diag-summary{font-size:.9rem}.diag-count{font-weight:600}.diag-count.pass{color:#4caf7d}.diag-count.fail{color:var(--danger)}.diag-count.skip{color:var(--text-muted)}.diag-group h4{margin:0 0 8px}.diag-rows{display:flex;flex-direction:column;gap:6px}.diag-row{display:flex;align-items:baseline;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev)}.diag-row.fail{border-color:var(--danger)}.diag-dot{width:9px;height:9px;border-radius:50%;flex:none;transform:translateY(1px)}.diag-dot.pass{background:#4caf7d}.diag-dot.fail{background:var(--danger)}.diag-dot.skip{background:var(--text-muted)}.diag-name{font-weight:600;flex:none}.diag-msg{flex:1}.stat-card.bad .stat-value{color:var(--danger)}.status-section h4{margin:0 0 8px;font-size:.98rem}.snp-list{display:flex;flex-direction:column;gap:10px}.snp-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 16px}.snp-who{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snp-title{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snp-bar{margin-top:8px;height:4px;border-radius:2px;background:var(--bg-elev2);overflow:hidden}.snp-bar-fill{height:100%;background:var(--accent)}.snp-time{white-space:nowrap}.status-user-list{display:flex;flex-direction:column;gap:8px;max-width:560px}.status-user{display:flex;align-items:center;gap:12px;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:12px 16px;color:var(--text);cursor:pointer}.status-user:hover{border-color:var(--accent)}.status-user-name{font-weight:600;flex:1}.status-user-role{color:var(--text-muted);font-size:.8rem}.status-user-flag{color:var(--danger);font-size:.78rem}.status-user-heading{margin:4px 0 12px}.status-nav{margin-bottom:14px}.remote-view{padding:24px 28px;overflow-y:auto}.remote-view h2{margin:0 0 12px}.remote-libs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.remote-lib{background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:6px 12px;color:inherit;cursor:pointer}.remote-lib.active{border-color:var(--accent);color:var(--accent)}.remote-items{list-style:none;margin:0;padding:0}.remote-item{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--border)}.remote-item-play{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px}.remote-item-title{flex:1}.remote-player{position:sticky;bottom:0;margin-top:16px;padding:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.remote-player-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.remote-player-close{background:none;border:none;color:inherit;cursor:pointer}.modal.scan-progress{min-width:320px}.scan-bar{width:100%;height:10px;border-radius:999px;background:var(--bg-elev2);border:1px solid var(--border);overflow:hidden;margin:12px 0 8px}.scan-bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.scan-bar-fill.indeterminate{width:35%!important;transition:none;animation:scan-indeterminate 1.1s ease-in-out infinite}@keyframes scan-indeterminate{0%{margin-left:-35%}to{margin-left:100%}}.scan-status{margin:0}.scan-issue-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.scan-issue-row{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2)}.scan-issue-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;word-break:break-all}.mobile-nav-toggle{display:none;position:fixed;top:8px;left:8px;z-index:60;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer}.mobile-nav-toggle:hover{border-color:var(--accent)}.mobile-nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;border:none;cursor:pointer}@media (max-width: 768px){.app,.app.sidebar-collapsed{--sidebar-w: 0px;grid-template-columns:1fr;grid-template-areas:"main" "player"}.sidebar{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:300px;z-index:50;transform:translate(-100%);transition:transform .22s ease;box-shadow:2px 0 18px #00000073}.app.mobile-nav-open .sidebar{transform:translate(0)}.sidebar .collapse-btn{display:none}.mobile-nav-toggle{display:inline-flex}.mobile-nav-backdrop{display:block}.main{padding-top:44px}.player{padding:10px 12px}.player-audio{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);gap:10px;padding:0;height:auto;min-height:88px}.auth-card{width:90%;max-width:320px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.toast-viewport{position:fixed;z-index:1000;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:var(--bg-elev2);border:1px solid var(--border-strong);box-shadow:0 8px 24px #00000059;color:var(--text);font-size:.9rem;line-height:1.35;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast:before{content:"";flex:0 0 3px;align-self:stretch;border-radius:3px;background:var(--accent)}.toast-error:before{background:var(--danger)}.toast-success:before{background:#3fb27f}.toast-msg{flex:1 1 auto;word-break:break-word}.toast-close{flex:0 0 auto;background:none;border:none;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 2px}.toast-close:hover{color:var(--text)}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.modal.modal-confirm{width:min(440px,92vw);max-width:440px}.modal-confirm .confirm-message{margin:6px 0 18px;color:var(--text);line-height:1.5}.btn-primary.btn-primary-danger{background:var(--danger);border-color:var(--danger)}.btn-primary.btn-primary-danger:hover{filter:brightness(1.08)}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--bg-elev) 25%,var(--bg-elev2) 37%,var(--bg-elev) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton-text{display:flex;flex-direction:column;gap:8px;max-width:480px}.skeleton-card .skeleton{display:block}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.mode-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:8px;cursor:pointer;transition:color .12s ease,background .12s ease}.mode-btn:hover{color:var(--text);background:var(--bg-elev2)}.mode-btn.active{color:var(--accent-gold)}.player-audio{position:relative;overflow:hidden}.np-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-size:cover;background-position:center}.np-backdrop-blur{filter:blur(44px) saturate(1.35);opacity:.16}.np-backdrop-color{opacity:.42}.np-backdrop-heavy{position:fixed;top:0;bottom:0;left:var(--sidebar-w, 250px);right:0;height:auto}.np-backdrop-heavy.np-backdrop-blur{opacity:.16;-webkit-mask-image:linear-gradient(to bottom,#000 35%,rgba(0,0,0,.25));mask-image:linear-gradient(to bottom,#000 35%,#00000040)}.np-backdrop-heavy.np-backdrop-color{opacity:.5}.np-backdrop-heavy.np-backdrop-color:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 20%,var(--bg) 96%)}.player-audio>.np-info,.player-audio>.np-player,.player-audio>.np-right{position:relative;z-index:1}.album-detail{position:relative}.album-detail>:not(.np-backdrop){position:relative;z-index:1}.album-detail>.album-detail-header{z-index:3}.queue-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#00000073;display:flex;justify-content:flex-end}.queue-panel{position:relative;width:min(420px,92vw);height:100%;background:var(--bg-elev);border-left:1px solid var(--border-strong);box-shadow:-12px 0 40px #0006;display:flex;flex-direction:column;overflow:hidden;animation:queue-in .2s ease-out}@keyframes queue-in{0%{transform:translate(24px);opacity:0}}.queue-backdrop{position:absolute;inset:0 0 auto 0;height:240px;background-size:cover;background-position:center;filter:blur(48px) saturate(1.4);opacity:.22;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent)}.queue-head,.queue-now,.queue-list{position:relative;z-index:1}.queue-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 8px}.queue-head h3{margin:0;font-size:1.05rem}.queue-now{display:flex;align-items:center;gap:12px;padding:8px 18px 14px;border-bottom:1px solid var(--border)}.queue-now-art{width:56px;height:56px;border-radius:8px;object-fit:cover;flex:0 0 auto}.queue-now-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.queue-now-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-gold)}.queue-now-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-now-sub{font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-controls{display:flex;gap:4px;flex:0 0 auto}.queue-list{flex:1 1 auto;overflow-y:auto;padding:6px 10px 16px}.queue-empty{padding:18px 8px}.queue-row{display:flex;align-items:center;gap:4px;border-radius:8px}.queue-row:hover{background:var(--bg-elev2)}.queue-row-main{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0;padding:8px;background:none;border:none;color:inherit;cursor:pointer;text-align:left}.queue-row-art{width:36px;height:36px;border-radius:5px;object-fit:cover;flex:0 0 auto}.queue-row-meta{display:flex;flex-direction:column;min-width:0}.queue-row-title{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-row-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-row-x{flex:0 0 auto;width:32px;height:32px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:6px;opacity:0;transition:opacity .12s ease,color .12s ease}.queue-row:hover .queue-row-x{opacity:1}.queue-row-x:hover{color:var(--danger)}@media (prefers-reduced-motion: reduce){.queue-panel{animation:none}}.discover-row{width:100%;border-radius:8px}.discover-row:hover{background:var(--bg-elev2)}.discover-axes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px 4px}.discover-axes .chip{cursor:pointer}.explorer-moods{display:flex;flex-direction:column;min-height:0}.explorer-moods .explorer-results{margin-top:8px}.mood-descriptor{font-style:italic;color:var(--accent-gold);font-size:.8rem}.mood-buckets{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px 6px}.mood-bucket{font-size:.82rem;padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev2);color:var(--text);cursor:pointer}.mood-bucket:hover{border-color:var(--accent-gold)}.mood-bucket.on{background:var(--accent-gold-soft);border-color:var(--accent-gold);color:var(--accent-gold);font-weight:600}.mood-leaves{display:flex;flex-wrap:wrap;gap:6px;padding:2px 14px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.mood-leaves .chip{cursor:pointer;text-transform:capitalize}.reco-lib-pick{display:flex;align-items:center;gap:10px;margin:12px 0 6px}.reco-lib-pick label{flex:none}.reco-banner{margin:10px 0;padding:10px 12px;border-radius:8px;background:var(--accent-gold-soft);border:1px solid var(--border-strong);font-size:.85rem;line-height:1.5}.reco-banner code{background:var(--bg-elev2);padding:1px 5px;border-radius:4px}.reco-model{margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev)}.reco-model-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.reco-model-title{min-width:0}.reco-model-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.reco-blurb{font-weight:400}.reco-progress{display:flex;align-items:center;gap:10px;margin:12px 0 8px}.reco-bar{flex:1 1 auto;height:8px;border-radius:4px;background:var(--bg-elev2);overflow:hidden}.reco-bar-fill{height:100%;background:var(--accent-gold);transition:width .4s ease}.reco-bar-fill.indeterminate{width:35%;animation:reco-indeterminate 1.2s ease-in-out infinite}@keyframes reco-indeterminate{0%,to{margin-left:0}50%{margin-left:65%}}@media (prefers-reduced-motion: reduce){.reco-bar-fill.indeterminate{animation:none;width:100%;opacity:.4}}.reco-count{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--text-muted)}.reco-step{max-height:3.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg-elev2);border-radius:6px;padding:6px 8px}.explorer{display:flex;flex-direction:column;height:100%;padding:18px 22px;overflow:hidden}.explorer-head{display:flex;align-items:center;gap:14px;flex:0 0 auto}.explorer-head h2{margin:0;font-size:1.2rem}.explorer-body{display:grid;grid-template-columns:300px 1fr;gap:16px;min-height:0;flex:1 1 auto;margin-top:14px}.explorer-picker{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-elev)}.explorer-search{flex:0 0 auto;border:none;border-bottom:1px solid var(--border);background:var(--bg-elev2);color:var(--text);padding:10px 12px;font-size:.88rem}.explorer-search:focus{outline:none}.explorer-track-list{flex:1 1 auto;overflow-y:auto;padding:4px}.picker-mode{flex:0 0 auto;margin:8px}.explorer-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px}.explorer-album-card{display:flex;flex-direction:column;gap:3px;min-width:0;padding:0;border:none;background:none;color:var(--text);text-align:left;cursor:pointer}.explorer-album-art{aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--bg-elev2);display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.explorer-album-card:hover .explorer-album-art{transform:scale(1.05)}.explorer-album-art img{width:100%;height:100%;object-fit:cover;display:block}.explorer-album-fallback{font-size:1.5rem}.explorer-album-title{font-size:.76rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-album-sub{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-album-back{border-bottom:1px solid var(--border);margin-bottom:4px}.autotag-pick{display:flex;align-items:center;gap:10px;margin-bottom:16px}.explorer-track{display:flex;flex-direction:column;width:100%;text-align:left;gap:1px;padding:7px 9px;border:none;background:none;color:inherit;border-radius:7px;cursor:pointer}.explorer-track:hover{background:var(--bg-elev2)}.explorer-track.active{background:var(--accent-gold-soft)}.explorer-track-title{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explorer-track-sub{font-size:.76rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explorer-results{min-height:0;overflow-y:auto;padding-right:4px}.explorer-seed{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-elev);margin-bottom:12px}.explorer-cover{width:56px;height:56px;border-radius:8px;object-fit:cover;flex:0 0 auto}.explorer-seed .explorer-cover{width:64px;height:64px}.explorer-seed-meta,.explorer-result-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:2px}.explorer-seed-title{font-size:1rem}.explorer-axis{display:flex;align-items:center;gap:8px;margin:4px 0 12px}.explorer-result{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);margin-bottom:10px}.explorer-result.playing{border-color:var(--accent-gold)}.explorer-result-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.explorer-overall{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent-gold)}.axis-bars{margin:8px 0 4px}.score-bar{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--text-muted)}.score-bar.off{opacity:.55}.score-label{flex:0 0 112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.score-track{flex:1 1 auto;height:6px;background:var(--bg-elev2);border-radius:3px;overflow:hidden}.score-fill{display:block;height:100%;background:var(--accent)}.score-val{flex:0 0 38px;text-align:right;font-variant-numeric:tabular-nums}.explorer-drivers{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:5px}.chip.driver{border-color:var(--accent-gold);color:var(--text)}.chip.driver strong{color:var(--accent-gold);font-variant-numeric:tabular-nums}.explorer-expand{align-self:flex-start;margin-top:6px;padding:2px 0;background:none;border:none;color:var(--text-muted);font-size:.72rem;cursor:pointer}.explorer-expand:hover{color:var(--text)}.explorer-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.chip{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev2);color:var(--text-muted);cursor:default}.explorer-axis .chip{cursor:pointer}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.mood{border-color:var(--accent-gold);color:var(--accent-gold);background:var(--accent-gold-soft)}.chip.share{border-style:dashed}.chip.mood-more{border-color:var(--accent-gold);color:var(--accent-gold);background:transparent;border-style:dashed;cursor:pointer;font-variant-numeric:tabular-nums}.chip.mood-more:hover{background:var(--accent-gold-soft)}@media (max-width: 760px){.explorer-body{grid-template-columns:1fr}}.stem-moods{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:5px;font-size:.76rem;color:var(--text)}.stem-mood .stem-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-gold);margin-right:4px}.explorer-facets{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.voice-type{display:inline-flex;align-items:baseline;gap:4px;font-size:.76rem;padding:2px 9px;border:1px solid var(--border);border-radius:999px;white-space:nowrap;cursor:help}.voice-type-fach{font-weight:600;color:var(--accent-gold)}.voice-type-range{color:var(--text-muted);font-variant-numeric:tabular-nums}.opera-voice{display:inline-flex;align-items:center;gap:4px;cursor:help}.opera-voice-tag{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid var(--border)}.opera-voice-tag.ov-warm{color:var(--accent-gold);border-color:color-mix(in srgb,var(--accent-gold) 45%,var(--border));background:color-mix(in srgb,var(--accent-gold) 12%,transparent)}.opera-voice-tag.ov-cool{color:#8fb0d8;border-color:color-mix(in srgb,#8fb0d8 40%,var(--border));background:color-mix(in srgb,#8fb0d8 12%,transparent)}.opera-voice-tag.ov-mid{color:var(--text-muted)}.mood-correct-toggle{align-self:flex-start;margin-top:6px;font-size:.72rem;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px 0}.mood-correct-toggle:hover{color:var(--accent-gold)}.explorer-mood-row{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.mood-correct-pencil{margin-top:5px;width:22px;height:22px;flex-shrink:0;border-radius:6px;border:1px dashed var(--border-strong);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem;line-height:1}.mood-correct-pencil:hover{color:var(--accent-gold);border-color:var(--accent-gold)}.mood-correct-pencil.on{color:var(--accent-gold);border-color:var(--accent-gold);background:var(--accent-gold-soft)}.mood-corrector{margin-top:8px;padding:10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elev1)}.mood-corrector-grid{display:flex;flex-direction:column;gap:6px;margin:8px 0}.mood-corrector-bucket{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.mood-corrector-broad{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);width:64px;flex-shrink:0}.mood-corrector .chip.mood{cursor:pointer}.mood-corrector .chip.mood.on{background:var(--accent-gold);color:#1a1206;border-color:var(--accent-gold)}.mood-corrector .chip.mood.off{opacity:.55}.mood-corrector .chip.mood.off:hover{opacity:1}.mood-corrector-actions{display:flex;gap:8px;align-items:center}.mood-timeline{margin:10px 0 4px}.mood-timeline-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;flex-wrap:wrap}.mood-timeline-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.mood-timeline-summary{font-size:.8rem;color:var(--text);font-style:italic}.mood-timeline-bar{display:flex;width:100%;height:14px;border-radius:4px;overflow:hidden;border:1px solid var(--border-strong)}.mood-timeline-seg{flex-basis:0;min-width:2px;transition:filter .1s}.mood-timeline-seg:hover{filter:brightness(1.25)}.explorer-tabs{display:flex;gap:4px;margin-left:auto;background:var(--bg-elev2);border-radius:9px;padding:3px}.explorer-tab{border:none;background:none;color:var(--text-muted);font-size:.85rem;padding:5px 14px;border-radius:7px;cursor:pointer}.explorer-tab:hover{color:var(--text)}.explorer-tab.on{background:var(--bg-elev);color:var(--text);box-shadow:0 1px 2px #0000002e}.weight-tuner{border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);padding:10px 12px;margin:4px 0 14px}.weight-presets{display:flex;align-items:center;gap:8px;margin-bottom:9px}.weight-sliders{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:24px;row-gap:7px}.weight-group-title{grid-column:1 / -1;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--accent-gold);border-bottom:1px solid var(--border);padding-bottom:4px;margin-top:10px}.weight-sub-label{grid-column:1 / -1;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;color:var(--text-muted);margin-top:5px}.weight-slider{display:grid;grid-template-columns:112px 1fr 38px;align-items:center;gap:10px;font-size:.8rem;color:var(--text-muted)}.weight-slider.off{opacity:.55}.weight-slider.off:hover,.weight-slider.off:focus-within{opacity:1}.weight-label{cursor:help;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weight-slider input[type=range]{width:100%;accent-color:var(--accent-gold);cursor:pointer}.weight-share{text-align:right;font-variant-numeric:tabular-nums;color:var(--accent-gold);font-weight:600}.weight-diversity{margin-top:9px;padding-top:9px;border-top:1px dashed var(--border)}.explorer-calib-note{margin:2px 0 8px;font-style:italic;cursor:help}.review-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.review-score{margin-left:auto}.review-score strong{color:var(--accent-gold)}.review-stage{max-width:760px}.review-progress{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ident-editor{margin:10px 0}.ident-editor-head{font-weight:600;font-size:.85rem;margin-bottom:4px}.ident-warn{color:var(--accent-gold, #d9a441)}.ident-preview td{font-family:var(--mono, ui-monospace, monospace);font-size:.82rem}.user-tabs{display:flex;flex-direction:column;gap:6px;margin-top:10px}.user-tab-grid-wrap{overflow-x:auto}.user-tab-grid{border-collapse:collapse;font-size:.85rem}.user-tab-grid th{font-weight:500;color:var(--text-muted);padding:2px 8px;text-align:center;white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}.user-tab-grid th:first-child{text-align:left}.user-tab-name{padding:2px 10px 2px 0;white-space:nowrap}.user-tab-cell{text-align:center}.user-tab-global{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.md-progress{display:flex;align-items:center;gap:10px;margin:8px 0 12px}.md-progress-track{flex:1;height:8px;border-radius:4px;background:var(--border);overflow:hidden}.md-progress-fill{height:100%;background:var(--accent);transition:width .25s ease}.review-progress-bar{flex:1;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.review-progress-bar>div{height:100%;background:var(--accent-gold);transition:width .25s ease}.review-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);padding:16px;animation:review-deal .22s ease}@keyframes review-deal{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.review-card{animation:none}}.review-card-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.review-art{width:72px;height:72px;border-radius:8px;object-fit:cover;background:var(--bg);flex-shrink:0}.review-meta{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.review-title{font-weight:600}.review-reason{align-self:flex-start;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:99px;border:1px solid var(--border-strong);color:var(--text-muted);cursor:help}.review-reason.models-disagree{color:var(--danger);border-color:var(--danger)}.review-reason.low-confidence{color:var(--accent-gold);border-color:var(--accent-gold)}.review-reason.corrected{color:var(--accent);border-color:var(--accent)}.review-question{margin:6px 0}.review-actions{display:flex;gap:8px;margin-top:14px}.review-listen{white-space:nowrap}.review-listen.playing{color:var(--accent-gold)}.review-fix{margin-top:10px}.review-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start}.review-pair-half{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}.review-pair-role{text-transform:uppercase;letter-spacing:.06em;font-size:.62rem}.review-pair-vs{font-size:1.3rem;color:var(--text-muted);align-self:center}.review-pair-shares{margin-top:10px}.review-done{border:1px dashed var(--border);border-radius:12px;padding:18px;max-width:560px}.discover-diversity{display:flex;align-items:center;gap:8px;padding:6px 2px 2px}.discover-diversity input[type=range]{flex:1;accent-color:var(--accent-gold);cursor:pointer}.discover-diversity>.muted:last-child{min-width:34px;text-align:right;font-variant-numeric:tabular-nums}.explorer-coverage{min-height:0;overflow-y:auto;padding-right:4px;margin-top:14px}.cov-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cov-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);padding:14px 16px}.cov-card-wide{grid-column:1 / -1}.cov-card h3{margin:0 0 2px;font-size:.98rem}.cov-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;margin-top:9px;font-size:.78rem;color:var(--text-muted)}.cov-label{font-weight:600;color:var(--text)}.cov-track{height:8px;background:var(--bg-elev2);border-radius:4px;overflow:hidden}.cov-fill{display:block;height:100%;background:var(--accent)}.cov-count{font-variant-numeric:tabular-nums;white-space:nowrap}.cov-split{margin-top:12px}.mood-hist{display:flex;flex-direction:column;gap:5px;margin-top:10px}.hist-row{display:grid;grid-template-columns:92px 1fr 36px;align-items:center;gap:10px;font-size:.78rem;color:var(--text-muted)}.hist-label{text-align:right}.hist-track{height:14px;background:var(--bg-elev2);border-radius:4px;overflow:hidden}.hist-fill{display:block;height:100%;background:var(--accent-gold);opacity:.85;border-radius:4px}.hist-count{text-align:right;font-variant-numeric:tabular-nums}.affect-wrap{position:relative;width:280px;max-width:100%;margin:14px auto 4px}.affect-canvas{display:block;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2)}.affect-axis{position:absolute;font-size:.68rem;color:var(--text-muted);pointer-events:none}.affect-top{top:-2px;left:50%;transform:translate(-50%,-100%)}.affect-bottom{bottom:-2px;left:50%;transform:translate(-50%,100%)}.affect-left{left:-4px;top:50%;transform:translate(-100%,-50%)}.affect-right{right:-4px;top:50%;transform:translate(100%,-50%)}.explorer-compare{min-height:0;overflow-y:auto;padding-right:4px;margin-top:14px}.cmp-pickers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.cmp-select{display:flex;flex-direction:column;gap:6px}.cmp-select-label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.cmp-select-open{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--bg-elev)}.cmp-search{width:100%;border-bottom:1px solid var(--border)}.cmp-results{max-height:220px;overflow-y:auto;padding:4px}.cmp-chosen{display:flex;align-items:center;gap:10px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-elev);padding:8px 10px}.cmp-chosen-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.cmp-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);padding:16px 18px}.cmp-heads{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.cmp-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.cmp-head .explorer-cover{width:72px;height:72px}.cmp-head-title{font-size:.95rem;margin-top:4px}.cmp-overall{display:flex;flex-direction:column;align-items:center}.cmp-overall-pct{font-size:1.9rem;font-weight:700;color:var(--accent-gold);font-variant-numeric:tabular-nums;line-height:1}.cmp-affect{font-variant-numeric:tabular-nums}.cmp-bars{margin-top:16px}.cmp-shares{margin-top:14px;justify-content:center}.btn-secondary.small{font-size:.74rem;padding:3px 10px}.lens-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-bottom:12px}.lens-toolbar{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev)}.lens-loading{padding:4px 2px}.lens-picker-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.lens-picker-spacer{flex:1 1 auto}.lens-number{margin:0;font-size:1.1rem}.lens-count{font-size:.8rem;color:var(--text-muted)}.lens-spread{font-size:.8rem;color:var(--accent-gold);font-variant-numeric:tabular-nums;margin-left:auto}.lens-table{display:flex;flex-direction:column;gap:8px}.lens-row{display:grid;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev)}.lens-row-head{padding:2px 12px;border:none;background:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.lens-col-rec{text-align:left}.lens-col-metric{text-align:right;font-variant-numeric:tabular-nums;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lens-col-play{justify-self:end}.lens-row.seed{border-color:var(--accent-gold);background:var(--accent-gold-soft)}.lens-row.playing{border-color:var(--accent-gold)}.lens-rec{display:flex;align-items:center;gap:10px;min-width:0}.lens-rec .explorer-cover{width:44px;height:44px}.lens-rec-meta{display:flex;flex-direction:column;min-width:0;gap:2px}.lens-seed-tag{margin-left:6px;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gold);border:1px solid var(--accent-gold);border-radius:4px;padding:0 4px;vertical-align:middle}.lens-metric{display:flex;flex-direction:column;gap:4px;min-width:0}.lens-metric-val{font-size:.82rem;font-variant-numeric:tabular-nums}.lens-bar{height:6px;background:var(--bg-elev2);border-radius:3px;overflow:hidden}.lens-bar-fill{display:block;height:100%;background:var(--accent-gold)}.lens-bar-fill.tempo{background:var(--accent)}.lens-cell-empty{color:var(--text-muted);font-size:.82rem}.lens-voice{display:flex;flex-direction:column;gap:3px;min-width:0}.lens-vib{font-size:.68rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.lens-play{justify-self:end}.lens-play.on{color:var(--accent-gold);border-color:var(--accent-gold)}.lens-foot{margin-top:12px}.lens-overlay{margin:4px 0 18px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev)}.lens-overlay-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.lens-playhead-readout{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent-gold)}.lens-playhead-readout .muted{font-weight:400;font-size:.8rem}.lens-ab-now{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.lens-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}.lens-legend-item{display:flex;align-items:center;gap:7px;padding:3px 7px;border:1px solid transparent;border-radius:8px}.lens-legend-item.on{border-color:var(--accent-gold);background:var(--accent-gold-soft)}.lens-legend-item.now-playing{border-color:var(--accent-gold);background:var(--accent-gold-soft);box-shadow:0 0 0 1px var(--accent-gold) inset}.lens-now-tag{margin-right:5px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bg);background:var(--accent-gold);border-radius:4px;padding:0 4px}.lens-swatch{width:13px;height:13px;border-radius:3px;flex:none}.lens-legend-label{font-size:.8rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lens-ref-tag{margin-left:5px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gold);border:1px solid var(--accent-gold);border-radius:4px;padding:0 3px}.lens-stitch-tag{margin-left:5px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 3px;white-space:nowrap}.lens-uncertain-tag{margin-left:5px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--warn, #c2780a);border:1px solid var(--warn, #c2780a);border-radius:4px;padding:0 3px;white-space:nowrap}.lens-partial-tag{margin-left:5px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px dashed var(--border);border-radius:4px;padding:0 3px;white-space:nowrap}.lens-ab-btn{font-size:.72rem;font-variant-numeric:tabular-nums;padding:1px 7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elev2);color:var(--text);cursor:pointer}.lens-ab-btn:hover:not(:disabled){border-color:var(--accent-gold);color:var(--accent-gold)}.lens-ab-btn.on{border-color:var(--accent-gold);background:var(--accent-gold);color:#1a1205}.lens-ab-btn:disabled{opacity:.4;cursor:not-allowed}.lens-differ-btn{font-size:.72rem;padding:1px 7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elev2);color:var(--text-muted);cursor:pointer}.lens-differ-btn:hover,.lens-differ-btn.on{border-color:var(--accent-gold);color:var(--accent-gold)}.lens-differ{margin:4px 0 10px;padding:9px 12px;border:1px solid var(--border);border-left:3px solid var(--accent-gold);border-radius:8px;background:var(--bg-elev1)}.lens-differ-text{margin:0;font-size:.92rem;line-height:1.5;color:var(--text)}.lens-differ-tag{margin-left:8px;padding:0 6px;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);vertical-align:middle}.lens-charts{display:flex;flex-direction:column;gap:14px}.lens-chart-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:3px}.lens-chart-svg{display:block;width:100%;height:150px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2);touch-action:none;cursor:crosshair}.lens-playhead{stroke:var(--accent-gold);stroke-width:1.5}.lens-playhead-ghost{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3;opacity:.6}.lens-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.lens-viewtoggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:7px;overflow:hidden}.lens-viewtoggle button{font-size:.74rem;padding:2px 9px;border:none;background:var(--bg-elev2);color:var(--text-muted);cursor:pointer}.lens-viewtoggle button.on{background:var(--accent-gold);color:#1a1205}.lens-tool-btn{font-size:.74rem;padding:2px 9px;border:1px solid var(--border-strong);border-radius:7px;background:var(--bg-elev2);color:var(--text);cursor:pointer}.lens-tool-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.lens-tool-btn.on{border-color:var(--accent-gold)}.lens-tool-btn.small{font-size:.68rem;padding:1px 6px}a.lens-tool-btn.lens-download{display:inline-block;text-decoration:none;line-height:1.5}.lens-gear-wrap{position:relative}.lens-gear-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;width:230px;padding:8px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-elev);box-shadow:0 8px 24px #0000004d}.lens-gear-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:2px 4px 6px}.lens-gear-item{display:flex;align-items:center;gap:8px;padding:4px;font-size:.82rem;border-radius:6px;cursor:pointer}.lens-gear-item:hover{background:var(--bg-elev2)}.lens-tier2{margin-left:6px;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 3px}.lens-outlier-tag{margin-left:5px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:#ff922b;border:1px solid #ff922b;border-radius:4px;padding:0 3px}.lens-picker{margin:0 0 12px}.lens-picker-toggle{font-size:.82rem;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px 0}.lens-picker-toggle:hover{color:var(--accent-gold)}.lens-picker-body{margin-top:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev1);padding:8px}.lens-picker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 12px;max-height:340px;overflow-y:auto}.lens-picker-item{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:6px;font-size:.82rem;cursor:pointer}.lens-picker-item:hover{background:var(--bg-elev2)}.lens-picker-item.on{color:var(--accent-gold)}.lens-picker-item.disabled{opacity:.45;cursor:not-allowed}.lens-picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lens-picker-year{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--text-muted)}.lens-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.lens-twin-tag{margin-left:5px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:#51cf66;border:1px solid #51cf66;border-radius:4px;padding:0 3px}.lens-alike{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.lens-signature{font-size:.72rem;color:var(--text-muted);white-space:nowrap;opacity:.85}.lens-band{fill:var(--text-muted);opacity:.12}.lens-mean{stroke:var(--text-muted);stroke-width:1.4;stroke-dasharray:5 4;opacity:.8}.lens-contested{stroke:#ff922b;stroke-width:1.2;stroke-dasharray:2 3;opacity:.85}.lens-span{fill:var(--accent-gold);opacity:.1}.lens-ruler-wrap{margin-bottom:12px}.lens-ruler-row{display:flex;align-items:center;gap:8px}.lens-ruler-row .lens-ruler{flex:1}.lens-ruler-play{flex:none;width:26px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;cursor:pointer}.lens-ruler-play:hover{border-color:var(--accent-gold)}.lens-ruler-play.on{color:var(--accent-gold);border-color:var(--accent-gold)}.lens-ruler{position:relative;height:18px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);cursor:ew-resize;touch-action:none;overflow:hidden}.lens-ruler-sel{position:absolute;top:0;bottom:0;background:var(--accent-gold-soft);border-left:1px solid var(--accent-gold);border-right:1px solid var(--accent-gold)}.lens-ruler-cursor{position:absolute;top:0;bottom:0;width:0;border-left:1.5px solid var(--accent-gold)}.lens-ruler-tick{position:absolute;top:3px;bottom:3px;width:0;border-left:1px solid var(--text-muted);opacity:.35}.lens-libretto{margin-bottom:14px}.lens-libretto-lines{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2)}.lens-libretto-line{display:flex;gap:10px;width:100%;text-align:left;padding:5px 10px;border:none;border-left:2px solid transparent;background:none;color:var(--text);cursor:pointer;font-size:.84rem}.lens-libretto-line:hover{background:var(--bg-elev)}.lens-libretto-line.active{background:var(--accent-gold-soft)}.lens-libretto-line.sel{border-left-color:var(--accent-gold)}.lens-lib-time{flex:none;width:42px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.74rem;padding-top:1px}.lens-lib-text{display:flex;flex-direction:column;gap:1px;min-width:0}.lens-lib-text em{color:var(--text-muted);font-style:italic;font-size:.78rem}.lens-ruler-meta{display:flex;align-items:center;gap:10px;margin-top:4px}.lens-listen{margin-bottom:14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev2)}.lens-listen .lens-ruler-wrap{margin-bottom:10px}.lens-listen .lens-guided{margin-bottom:0;padding-top:8px;border-top:1px solid var(--border)}.lens-match-vol{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.lens-match-vol input{cursor:pointer}.lens-guided{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.lens-guided-every{display:inline-flex;align-items:center;gap:4px}.lens-guided-every select{font-size:.78rem;padding:2px 6px;background:var(--bg-elev2);color:var(--text);border:1px solid var(--border-strong);border-radius:6px}.lens-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.lens-section{border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);overflow:hidden;flex-shrink:0}.lens-section-head{display:flex;align-items:baseline;gap:10px;width:100%;padding:11px 14px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text)}.lens-section.open .lens-section-head{border-bottom:1px solid var(--border)}.lens-section-head:hover{background:var(--bg-elev2)}.lens-section-chevron{display:inline-block;color:var(--text-muted);transition:transform .12s ease;transform:rotate(0);font-size:.85rem}.lens-section-chevron.open{transform:rotate(90deg)}.lens-section-title{font-size:.95rem;font-weight:600;letter-spacing:.01em}.lens-section-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lens-section-body{padding:14px}.lens-section-body .lens-overlay{margin:0;border:none;padding:0;background:none}.lens-empty-hint{margin-top:12px}.lens-mini-cover-wrap{position:relative;flex:0 0 auto;width:22px;height:22px;border-radius:5px;overflow:hidden;background:var(--bg-elev2)}.lens-mini-cover-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-muted)}.lens-mini-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:5px}.lens-summary{margin:4px 0 12px;padding:10px 14px;border:1px solid var(--border);border-left:3px solid var(--accent-gold);border-radius:8px;background:var(--bg-elev1)}.lens-summary-text{margin:0;font-size:.95rem;line-height:1.55;color:var(--text)}.lens-key{margin-bottom:2px}.lens-key-list{margin:8px 0 0;padding:10px 14px 10px 28px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev1);display:flex;flex-direction:column;gap:5px;line-height:1.45}.lens-chart-caption{margin:-1px 0 5px;line-height:1.35}.lens-chart-frame{position:relative}.lens-axis{position:absolute;left:6px;font-size:.66rem;color:var(--text-muted);background:color-mix(in srgb,var(--bg-elev2) 78%,transparent);padding:0 4px;border-radius:4px;pointer-events:none}.lens-axis-hi{top:4px}.lens-axis-lo{bottom:4px}.lens-axis-ref{transform:translateY(-50%);color:var(--accent-gold)}.lens-refline{stroke:var(--accent-gold);stroke-width:1;stroke-dasharray:6 5;opacity:.45}.lens-fingerprint{display:flex;flex-direction:column;gap:8px}.lens-fp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.lens-fp-dim{font-size:.78rem;padding:2px 6px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elev2);color:var(--text)}.lens-fp-rows{display:flex;flex-direction:column;gap:6px}.lens-fp-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr;align-items:center;gap:10px}.lens-fp-label{display:flex;align-items:center;gap:7px;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lens-fp-strip{position:relative;height:26px;border-radius:5px;border:1px solid var(--border);touch-action:none;cursor:crosshair;overflow:hidden}.lens-fp-span{position:absolute;top:0;bottom:0;background:#0000002e;border-left:1px solid var(--accent-gold);border-right:1px solid var(--accent-gold)}.lens-fp-playhead{position:absolute;top:0;bottom:0;width:0;border-left:1.5px solid #fff;mix-blend-mode:difference}.lens-era{margin-top:14px}.lens-era-svg{display:block;width:100%;height:110px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2)}.lens-era-axis{display:flex;justify-content:space-between;margin-top:3px}@media (max-width: 760px){.cov-grid,.cmp-pickers{grid-template-columns:1fr}.lens-row{gap:8px 10px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:32px}.error-boundary-card{max-width:520px;width:100%;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:28px 26px;text-align:center}.error-boundary-card h2{margin:0 0 8px}.error-boundary-detail{margin:16px 0 20px;padding:12px 14px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.8rem;text-align:left;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.error-boundary-actions{display:flex;gap:10px;justify-content:center}.lyrics-lab{display:flex;flex-direction:column;height:100%;min-height:0;padding:20px 24px;gap:14px}.lyrics-head h2{margin:0}.lyrics-sub{margin:4px 0 0;color:var(--text-muted);font-size:13px}.lyrics-body{display:grid;grid-template-columns:280px 1fr;gap:18px;flex:1 1 auto;min-height:0}.lyrics-picker{overflow-y:auto;border-right:1px solid var(--border);padding-right:12px}.lyrics-work-name{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:12px 4px 6px}.lyrics-rec{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;color:var(--text);cursor:pointer}.lyrics-rec:hover{background:var(--bg-elev)}.lyrics-rec.active{border-color:var(--accent);background:var(--bg-elev)}.lyrics-rec-title{font-size:13px}.lyrics-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:999px;white-space:nowrap}.lyrics-badge.subs{background:var(--accent-gold-soft);color:var(--accent-gold)}.lyrics-badge.nosubs{border:1px solid var(--border-strong);color:var(--text-muted)}.lyrics-stage{display:flex;flex-direction:column;min-height:0}.lyrics-player{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}.lyrics-now-title{font-weight:600}.lyrics-source,.lyrics-reflabel{font-size:12px;color:var(--text-muted)}.lyrics-player audio{flex:1 1 320px;min-width:260px;height:36px}.lyrics-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:24px 0 50vh;scroll-behavior:smooth}.lyrics-lines{list-style:none;margin:0 auto;padding:0;max-width:720px;text-align:center}.lyrics-line{padding:12px;border-radius:10px;cursor:pointer;color:var(--text-muted);opacity:.55;transition:opacity .2s,color .2s,background .2s}.lyrics-line:hover{background:var(--bg-elev);opacity:.9}.lyrics-line.past{opacity:.4}.lyrics-line.active{opacity:1;color:var(--text)}.lyrics-line.active .lyrics-primary{color:var(--accent-gold)}.lyrics-primary{display:block;font-size:20px;font-weight:600;line-height:1.35}.lyrics-secondary{display:block;font-size:14px;margin-top:2px;opacity:.85}.lyrics-empty,.lyrics-error{color:var(--text-muted);padding:24px;text-align:center}.lyrics-error{color:var(--danger)}.score-lab{display:flex;flex-direction:column;height:100%;min-height:0}.score-head{padding:18px 22px 10px}.score-head h2{margin:0 0 4px}.score-sub{margin:0;color:var(--text-muted);font-size:13px;max-width:760px}.score-body{display:grid;grid-template-columns:260px 1fr;gap:16px;flex:1;min-height:0;padding:8px 22px 22px}.score-picker{overflow-y:auto;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--border);padding-right:12px}.score-pick{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--text)}.score-pick:hover{border-color:var(--border-strong)}.score-pick.active{border-color:var(--accent-gold);background:var(--bg-elev2)}.score-pick-title{font-weight:600;font-size:13.5px}.score-pick-meta{display:flex;align-items:center;gap:8px}.score-pick-composer{color:var(--text-muted);font-size:12px}.score-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-muted)}.score-badge.omr{color:#d98a00;border-color:#d98a0066}.score-badge.bundled{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.score-stage{display:flex;flex-direction:column;min-height:0;gap:12px;overflow-y:auto}.score-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.score-now-title{font-weight:600;font-size:15px}.score-now-sub{color:var(--text-muted);font-size:12.5px;margin-top:2px;max-width:640px}.score-prov{font-style:italic}.score-modes{display:flex;gap:6px}.score-mode{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:6px 12px;font-size:12.5px;cursor:pointer}.score-mode.active{color:#0f1115;background:var(--accent-gold);border-color:var(--accent-gold);font-weight:600}.score-mode:disabled{opacity:.45;cursor:not-allowed}.score-reflabel{font-size:12.5px;color:var(--text-muted)}.score-reflabel select{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 6px}.score-libfollow{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.score-libfollow-head{font-size:12.5px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:8px}.score-libfollow-row{display:flex;gap:8px}.score-libfollow-row input{flex:1;background:var(--bg-elev2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:13px}.score-libfollow-row button{font-size:13px;background:var(--bg-elev2);border:1px solid var(--border-strong);border-radius:6px;padding:6px 10px;color:var(--text);cursor:pointer;white-space:nowrap}.score-libfollow-row button:disabled{opacity:.5;cursor:default}.score-librecs{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.score-librec{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:6px 9px;cursor:pointer;color:var(--text)}.score-librec:hover:not(:disabled){border-color:var(--border-strong)}.score-librec.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-elev2))}.score-librec:disabled{opacity:.55;cursor:default}.score-librec-title{font-size:13px;font-weight:500}.score-librec-meta{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.score-transport{display:flex;align-items:center;gap:12px}.score-play{width:40px;height:40px;border-radius:999px;border:none;background:var(--accent-gold);color:#0f1115;font-size:14px;cursor:pointer;flex-shrink:0}.score-play:disabled{opacity:.5;cursor:not-allowed}.score-rail{flex:1;accent-color:var(--accent-gold)}.score-time{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12.5px;min-width:88px;text-align:right}.score-hint{font-size:12px;color:var(--text-muted);background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.score-hint-warn{color:var(--text);background:color-mix(in srgb,#d98a00 12%,var(--bg-elev));border-color:#d98a0066}.score-exp{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-left:4px}.tagger-modal{display:flex;flex-direction:column}.tagger-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.tagger-check,.tagger-conf{display:inline-flex;flex-direction:row;align-items:center;gap:6px;color:var(--text-muted);cursor:pointer}.tagger-modal .tagger-check,.tagger-modal .tagger-conf{display:inline-flex;flex-direction:row}.tagger-modal input[type=checkbox]{height:auto;width:auto;padding:0;margin:0;flex-shrink:0}.tagger-conf select{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:3px 6px}.tagger-summary{margin-left:auto;color:var(--text-muted)}.tagger-applied{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--text);background:color-mix(in srgb,#4a9d5b 16%,var(--bg-elev));border:1px solid #4a9d5b66}.tagger-selectbar{display:flex;align-items:center;gap:12px;padding:10px 0 6px}.tagger-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12.5px;padding:0}.tagger-link:hover{text-decoration:underline}.tagger-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.tagger-empty{color:var(--text-muted);padding:28px;text-align:center}.tagger-row{display:flex;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev)}.tagger-row.deselected{opacity:.45}.tagger-row-check{margin-top:3px;flex-shrink:0}.tagger-row-main{flex:1;min-width:0}.tagger-row-head{display:flex;align-items:center;gap:8px}.tagger-file{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tagger-conf-badge{flex-shrink:0;font-size:10.5px;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:999px;border:1px solid}.tagger-conf-badge.high{color:#4a9d5b;border-color:#4a9d5b66}.tagger-conf-badge.mid{color:#d98a00;border-color:#d98a0066}.tagger-conf-badge.low{color:#c75c5c;border-color:#c75c5c66}.tagger-why{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:11.5px;cursor:pointer;text-decoration:underline;padding:0}.tagger-changes{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:5px}.tagger-change{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.tagger-field{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.tagger-from{color:var(--text-muted)}.tagger-from.empty{opacity:.5}.tagger-arrow{color:var(--text-muted)}.tagger-to{color:var(--accent-gold);font-weight:600}.tagger-notes{margin:6px 0 0;padding-left:18px;color:var(--text-muted);font-size:12px}.tagger-open-btn{white-space:nowrap}.metalab{display:flex;flex-direction:column;height:100%;min-height:0}.metalab-head{padding:18px 22px 8px}.metalab-head h2{margin:0 0 4px}.metalab-sub{margin:0;color:var(--text-muted);font-size:13px;max-width:820px}.metalab-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:6px 22px 10px;font-size:13px;border-bottom:1px solid var(--border)}.metalab-controls select{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 8px}.metalab-body{display:grid;grid-template-columns:300px 1fr;gap:16px;flex:1;min-height:0;padding:12px 22px 22px}.metalab-albums{overflow-y:auto;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--border);padding-right:12px}.metalab-album{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--text);font-size:13px}.metalab-album:hover{border-color:var(--border-strong)}.metalab-album.active{border-color:var(--accent-gold);background:var(--bg-elev2)}.metalab-album-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metalab-album-count{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;background:#d98a00;color:#0f1115;border-radius:999px;padding:1px 7px;font-weight:600}.metalab-album-ok{flex-shrink:0;color:#4a9d5b;font-size:12px}.metalab-stage{display:flex;flex-direction:column;min-height:0;gap:10px}.metalab-stage-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.metalab-stage-title{font-weight:600;font-size:15px}.score-error{color:var(--danger);font-size:13px}.score-empty{color:var(--text-muted);padding:20px;text-align:center}.score-canvas-wrap{flex:0 0 auto;min-height:0}.score-canvas{background:#fbfbf9;border-radius:12px;padding:14px}.score-canvas svg{width:100%;height:auto;display:block}.score-canvas g.score-active,.score-canvas g.score-active *{fill:#d98a00!important;stroke:#d98a00!important}.track-forge{padding:20px 24px 60px;max-width:1000px;margin:0 auto}.tf-head h2{margin:0 0 4px}.tf-sub{margin:0 0 18px;color:var(--text-muted);max-width:70ch}.tf-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:16px}.tf-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-muted)}.tf-field select,.tf-field input[type=text]{box-sizing:border-box;height:36px;min-width:260px;max-width:440px;padding:0 9px;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:7px;font-size:.85rem}.tf-field .path-row{display:flex;gap:6px}.tf-field .path-row input[type=text]{flex:1 1 auto;min-width:200px}.tf-field .path-browse{height:36px}.ss-root{position:relative;min-width:260px;max-width:440px}.ss-root.ss-open{z-index:50}.ss-control{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 9px;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:7px;font-size:.85rem;cursor:pointer;text-align:left}.ss-control:disabled{opacity:.55;cursor:default}.ss-open .ss-control{border-color:var(--accent)}.ss-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-placeholder{color:var(--text-muted)}.ss-caret{flex:0 0 auto;color:var(--text-muted);font-size:.7rem}.ss-pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:7px;box-shadow:0 8px 24px #00000059;overflow:hidden}.ss-search{box-sizing:border-box;width:100%;height:34px;padding:0 9px;background:var(--bg-elev2);color:var(--text);border:none;border-bottom:1px solid var(--border);font-size:.85rem;outline:none}.ss-list{max-height:280px;overflow-y:auto}.ss-opt{padding:7px 9px;font-size:.85rem;color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-opt.ss-hi{background:var(--bg-elev2)}.ss-opt.ss-sel{color:var(--accent-gold)}.ss-empty{padding:9px;font-size:.82rem;color:var(--text-muted)}.tf-dropped-row{opacity:.55}.server-name-edit{display:flex;align-items:center;gap:8px}.server-name-edit .prefs-control{width:220px}.tf-run{box-sizing:border-box;height:36px;padding:0 16px;background:var(--accent-gold);color:#1a1206;border:none;border-radius:7px;font-weight:600;cursor:pointer}.tf-run:disabled{opacity:.55;cursor:default}.tf-audio{width:100%;margin:8px 0 16px}.tf-stats{display:flex;gap:20px;margin-bottom:10px;color:var(--text-muted);font-size:13px}.tf-stats b{color:var(--text)}.ct-pickers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.ct-picker-col{display:flex;flex-direction:column;gap:6px;min-width:0}.ct-picker-label{font-size:13px;font-weight:600;color:var(--text-muted)}.ct-pickers .explorer-picker{height:340px}.album-only-picker .explorer-album-card.selected .explorer-album-art{outline:2px solid var(--accent-gold);outline-offset:2px}.album-only-picker .explorer-album-card.selected .explorer-album-title{color:var(--accent-gold)}.ct-lossless{color:#3fb950;border:1px solid #3fb95066;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600}.ct-ref{color:var(--accent, #d4a017);font-size:12px}.ct-outdir{margin-top:12px}.ct-output{align-items:flex-end}.ct-field-wide{flex:1 1 320px}.ct-output input[type=text]{padding:7px 10px;border:1px solid var(--border, #30363d);border-radius:6px;background:var(--bg-input, #0d1117);color:var(--text);font-size:13px}.ct-dest{color:var(--text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-dest code{font-size:12px}.ct-write{margin-left:auto}.ct-written{color:var(--text-muted)}.tf-table{width:100%;border-collapse:collapse;font-size:13px}.tf-table th{text-align:left;padding:6px 10px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.tf-table td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.tf-table tbody tr{cursor:pointer}.tf-table tbody tr:hover{background:var(--bg-elev)}.tf-table tbody tr.active{background:var(--accent-gold-soft)}.tf-mono{font-variant-numeric:tabular-nums;color:var(--text-muted)}.tf-track{color:var(--text)}.tf-confcell{white-space:nowrap;font-variant-numeric:tabular-nums}.tf-conf{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:baseline}.tf-seam{padding:2px 8px;background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:5px;font-size:12px;cursor:pointer;white-space:nowrap}.tf-seam:hover{border-color:var(--accent)}.tf-dropped{margin-top:24px}.tf-dropped h3{font-size:14px;color:var(--text-muted);font-weight:500;margin:0 0 8px}.tf-dropped ul{list-style:none;padding:0;margin:0}.tf-dropped li{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.tf-reason{color:var(--text-muted);font-size:12px;flex:1}.tf-empty,.tf-error{padding:16px;color:var(--text-muted)}.tf-error{color:#f85149}.tf-hint{margin-top:8px;color:var(--text-muted)}.tf-hint code{background:var(--bg-elev2);padding:1px 5px;border-radius:4px}.tf-progress{margin:8px 0 18px}.tf-progress-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-muted);margin-bottom:6px}.tf-progress-pct{font-variant-numeric:tabular-nums}.tf-bar{height:8px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:999px;overflow:hidden}.tf-bar-fill{height:100%;background:var(--accent-gold);border-radius:999px;transition:width .4s ease}.share-modal{width:440px;max-width:92vw}.share-target-name{font-weight:600;margin:-4px 0 6px;color:var(--text)}.share-field{display:flex;flex-direction:column;gap:6px}.share-field>span{font-size:13px;color:var(--text-muted)}.share-field select,.share-field-input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text)}.share-seg{display:flex;gap:8px;flex-wrap:wrap}.share-seg button{flex:1 1 0;min-width:120px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer}.share-seg button.active{border-color:var(--accent-gold);background:var(--accent-gold-soft);color:var(--text)}.share-seg button:disabled{opacity:.5;cursor:not-allowed}.share-link-row{display:flex;gap:8px}.share-link-field{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font-family:ui-monospace,monospace;font-size:13px}.share-hint{font-size:13px;color:var(--text);margin:0}.share-note{font-size:12px;color:var(--text-muted);margin:4px 0 0}.share-error{color:var(--danger);font-size:13px;margin:0}.share-result{display:flex;flex-direction:column;gap:12px}.share-member-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding:4px 2px}.share-member-list.disabled{opacity:.5}.share-resolve{padding:32px;max-width:720px;margin:0 auto}.share-resolve-head{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.share-resolve-head .btn-primary{align-self:flex-start;margin-top:8px}.share-resolve-sub{color:var(--text-muted);margin:0}.share-track-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.share-track{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;background:var(--bg-elev);border:1px solid var(--border)}.share-track.playing{border-color:var(--accent-gold)}.share-track-art{width:48px;height:48px;border-radius:6px;object-fit:cover}.share-track-meta{display:flex;flex-direction:column;min-width:0;flex:1}.share-track-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-track-artist{color:var(--text-muted);font-size:13px}.share-track-play{background:none;border:none;color:var(--accent-gold);font-size:18px;cursor:pointer;padding:4px 10px}.share-track-audio{height:34px;max-width:240px}.shares-table{width:100%;border-collapse:collapse;font-size:14px}.shares-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--border)}.shares-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}.share-row-name{font-weight:600}.shares-actions{display:flex;gap:6px;justify-content:flex-end}.btn-secondary.small{padding:4px 8px;font-size:12px}.share-status{text-transform:capitalize;font-size:12px}.share-status.active{color:var(--accent-gold)}.share-status.expired,.share-status.revoked{color:var(--text-muted)}.works-view{padding:20px 24px;max-width:880px;margin:0 auto}.works-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.works-header h2{margin:0 0 4px}.works-sub{margin:0;color:var(--text-muted);font-size:13px;max-width:48ch}.works-controls{display:flex;gap:8px;align-items:center}.works-controls select{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.works-status{margin:12px 0;color:var(--text-muted);font-size:13px}.works-err{color:var(--danger);font-size:13px;margin:8px 0}.works-loading,.works-empty{color:var(--text-muted);padding:16px 0}.works-list{margin-top:8px}.works-composer{margin-bottom:20px}.works-composer h3{margin:0 0 8px;font-size:14px;color:var(--accent-gold);border-bottom:1px solid var(--border);padding-bottom:4px}.work-card{border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:var(--bg-elev);overflow:hidden}.work-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:none;color:var(--text);padding:10px 12px;cursor:pointer;text-align:left}.work-head:hover{background:var(--bg-elev2)}.work-title{font-weight:600}.work-key{font-weight:400;color:var(--text-muted)}.work-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.work-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-muted)}.work-nick{font-style:italic}.work-count{font-size:11px;color:var(--text-muted)}.work-conflict{color:var(--accent-gold);cursor:help}.work-tracks{list-style:none;margin:0;padding:0 12px 8px;border-top:1px solid var(--border)}.work-tracks li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px}.work-track-name{color:var(--text)}.work-reassign-btn{font-size:12px;padding:3px 10px}.reassign-modal{width:480px;max-width:92vw}.reassign-modal h3{margin:0 0 4px}.reassign-track{color:var(--text-muted);font-size:13px;margin:0 0 12px}.reassign-current{display:flex;align-items:center;gap:10px;background:var(--accent-gold-soft);border-radius:6px;padding:8px 10px;margin-bottom:12px;font-size:13px}.reassign-current button{margin-left:auto;font-size:12px}.reassign-none{color:var(--text-muted)}.reassign-candidates{list-style:none;margin:0;padding:0}.reassign-candidates li{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px}.reassign-candidates li.is-current{border-color:var(--accent-gold)}.cand-head{display:flex;align-items:center;gap:8px}.cand-title{font-weight:600}.cand-score{color:var(--text-muted);font-variant-numeric:tabular-nums}.cand-strong,.cand-auto{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px}.cand-strong{background:var(--bg-elev2);border:1px solid var(--border-strong);color:var(--text-muted)}.cand-auto{background:var(--accent-gold-soft);color:var(--accent-gold)}.cand-why{font-size:12px;color:var(--text-muted);margin:4px 0 8px}.work-display{margin:0;padding:8px 12px;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px}.work-display>div{display:contents}.work-display dt{color:var(--text-muted);text-align:right}.work-display dd{margin:0;color:var(--text);font-family:var(--mono, ui-monospace, monospace)}.batch-modal{width:420px;max-width:92vw}.batch-stats{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.batch-stats li{background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--text-muted)}.batch-stats .batch-n{font-size:20px;font-weight:700;color:var(--text);margin-right:6px}.batch-stats .batch-auto{border-color:var(--accent-gold)}.batch-stats .batch-auto .batch-n{color:var(--accent-gold)}.batch-stats .batch-dim{opacity:.7}.batch-note{font-size:12px;color:var(--text-muted)}.spine-control{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.spine-build-btn{font-size:12px;padding:4px 10px}.lens-align-select{display:inline-flex;align-items:center;gap:4px;cursor:pointer;opacity:.85;white-space:nowrap}.lens-align-select select{cursor:pointer;font-size:12px}.spine-progress{font-size:12px;color:var(--accent-gold)}.spine-err{font-size:12px;color:var(--danger)}.library-copy-modal{width:520px;max-width:94vw}.copy-dest-row{display:flex;gap:8px;align-items:center}.copy-dest-row input{flex:1;min-width:0;height:36px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 10px;font-family:var(--mono, ui-monospace, monospace);font-size:.85rem}.copy-progress{margin-top:6px;display:flex;flex-direction:column;gap:6px}.copy-bar-track{height:8px;background:var(--bg-elev2);border-radius:6px;overflow:hidden}.copy-bar-fill{height:100%;background:var(--accent-gold);transition:width .3s ease}.copy-current{font-family:var(--mono, ui-monospace, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-sublist{display:flex;flex-direction:column;max-height:160px;overflow-y:auto}.album-card-sublist button{padding-left:20px;font-size:.85em;opacity:.92}.omr-ingest-vocal{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.omr-ingest-status{font-size:12px;color:var(--accent-gold)}.omr-ingest-actions{display:flex;gap:6px;justify-content:flex-end}.omr-ingest-actions button{font-size:12px;padding:4px 10px}.omr-ingest-actions .primary{background:var(--accent);color:#fff;border:none;border-radius:6px}.score-views{margin:6px 0 8px}.score-picker-group{margin-top:8px;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;color:var(--text-muted);cursor:help}.score-picker-group:first-child{margin-top:0}.score-badge.scan{background:var(--accent-gold-soft);color:var(--accent-gold)}.score-prepare{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-items:start;max-width:1180px}.prepare-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);padding:14px}.prepare-card-title{font-weight:600}.prepare-card-sub{margin:0 0 4px;font-size:12px;color:var(--text-muted)}.prepare-card input[type=text],.prepare-card select{height:32px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:0 8px;font-size:12px}.prepare-card input[type=text]:first-of-type{font-family:var(--mono, ui-monospace, monospace)}.attach-ref{display:flex;flex-direction:column;gap:6px;margin-top:2px}.attach-ref-label{font-size:12px;color:var(--text-muted)}.attach-ref-chosen{display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--text);border:1px solid var(--accent-gold);border-radius:6px;background:var(--accent-gold-soft);padding:6px 8px}.attach-ref-sub{font-size:11px;color:var(--text-muted)}.attach-ref{max-width:460px}.attach-ref .explorer-picker{max-height:280px;max-width:100%}.attach-ref-lib{width:100%}.attach-spine{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.attach-spine-msg{font-size:12px;color:var(--text-muted)}.attach-spine-msg.ok{color:var(--accent-gold)}.attach-spine button{font-size:12px;padding:4px 10px;cursor:pointer;background:var(--bg-elev2);border:1px solid var(--border-strong);border-radius:6px;color:var(--text)}.attach-spine button:disabled{opacity:.5;cursor:default}.score-libfollow>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.score-libfollow>summary::-webkit-details-marker{display:none}.score-libfollow>summary:before{content:"▸";color:var(--text-muted);margin-right:6px;display:inline-block}.score-libfollow[open]>summary:before{content:"▾"}.score-jobbar{margin:4px 0 2px}.score-ingest-toggle{width:100%;margin-top:10px;font-size:13px;background:var(--bg-elev2);border:1px dashed var(--border-strong);border-radius:8px;padding:8px;color:var(--text-muted);cursor:pointer}.score-ingest-toggle:hover{color:var(--text)}.playbill{display:flex;flex-direction:column;gap:14px;max-width:1100px}.playbill-pickers{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.playbill-texts{display:grid;grid-template-columns:3fr 2fr;gap:12px}.playbill-texts label{display:flex;flex-direction:column;gap:4px}.playbill-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);cursor:help}.playbill-texts textarea{min-height:180px;resize:vertical;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px;font-size:12px;font-family:var(--mono, ui-monospace, monospace)}.playbill-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.playbill-table{width:100%;border-collapse:collapse;font-size:.8rem}.playbill-table th{text-align:left;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:4px 8px;border-bottom:1px solid var(--border)}.playbill-table td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:top}.playbill-table .chip{margin:1px 3px 1px 0}.playbill-uncast{opacity:.55}.playbill-title{cursor:help}.playbill-conf{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-muted)}.playbill-done{color:var(--accent-gold);font-size:.8rem}@media (max-width: 900px){.playbill-texts{grid-template-columns:1fr}}.learn-admin .btn,.learn-public .btn,.learn-picker .btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-elev2);color:var(--text);font-size:14px;cursor:pointer;text-decoration:none;transition:background .12s,border-color .12s,opacity .12s}.learn-admin .btn:hover,.learn-public .btn:hover{border-color:var(--accent)}.learn-admin .btn:disabled,.learn-public .btn:disabled{opacity:.45;cursor:default}.learn-admin .btn.primary,.learn-public .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.learn-admin .btn.primary:hover,.learn-public .btn.primary:hover{background:var(--accent-hover)}.learn-admin .btn.ghost{background:transparent}.learn-admin .btn.danger{color:var(--danger);border-color:var(--danger)}.learn-admin .btn.small{padding:4px 10px;font-size:13px}.learn-admin .btn.block{width:100%;justify-content:center}.learn-public .link-btn,.learn-admin .link-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit}.learn-admin{padding:24px;max-width:1100px;margin:0 auto}.learn-admin .view-header h1{margin:0 0 4px}.learn-admin .view-header p{margin:0;max-width:640px}.learn-admin code{background:var(--bg-elev2);padding:1px 5px;border-radius:4px}.learn-admin-body{display:grid;grid-template-columns:260px 1fr;gap:20px;margin-top:18px;align-items:start}.learn-lesson-list{display:flex;flex-direction:column;gap:8px}.learn-lesson-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border-radius:9px;border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;text-align:left}.learn-lesson-row:hover{border-color:var(--border-strong)}.learn-lesson-row.active{border-color:var(--accent);background:var(--bg-elev2)}.learn-lesson-row-title{font-weight:600}.learn-lesson-row-badges{display:flex;gap:6px}.learn-badge{font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--border-strong)}.learn-badge.live{color:#2fbf71;border-color:#2fbf71}.learn-badge.draft{color:var(--text-muted)}.learn-badge.fb{color:var(--accent-gold);border-color:var(--accent-gold)}.learn-editor-pane{border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);padding:18px;min-height:320px}.learn-editor-empty{padding:60px 20px;text-align:center}.learn-meta{display:flex;flex-direction:column;gap:10px}.learn-meta-title{font-size:22px;font-weight:700;background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text);padding:4px 0}.learn-meta-title:focus{outline:none;border-bottom-color:var(--accent)}.learn-meta-intro,.learn-meta-title{width:100%}.learn-meta-intro,.learn-block-body,.learn-block-heading,.learn-block-note,.learn-meta-title,.learn-comment,.learn-name,.learn-picker input,.learn-picker select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font:inherit;resize:vertical}.learn-meta-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.learn-meta-status{display:inline-flex;gap:8px;align-items:center;margin-left:auto}.learn-slug{font-size:12px;color:var(--text-muted)}.learn-del{margin-left:8px}.learn-tabs{display:flex;gap:4px;margin:16px 0 12px;border-bottom:1px solid var(--border)}.learn-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:8px 14px;cursor:pointer;font:inherit}.learn-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.learn-block-editor{display:flex;flex-direction:column;gap:12px}.learn-blocks-empty{padding:12px 0}.learn-block-card{position:relative;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev2);padding:14px}.learn-block-card.track{border-left:3px solid var(--accent-gold)}.learn-block-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px}.learn-block-controls .icon-btn.danger{color:var(--danger)}.learn-text-fields,.learn-track-fields{display:flex;flex-direction:column;gap:8px}.learn-add-row{display:flex;gap:10px;margin-top:4px}.learn-add-btn{flex:1;padding:12px;border:1px dashed var(--border-strong);border-radius:10px;background:transparent;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.learn-add-btn:hover{border-color:var(--accent);color:var(--accent)}.learn-track-head{display:flex;gap:12px;align-items:flex-start}.learn-track-art{width:64px;height:64px;border-radius:8px;overflow:hidden;flex:none}.learn-track-art.small{width:48px;height:48px}.learn-track-art img{width:100%;height:100%;object-fit:cover}.learn-track-art-fallback,.learn-card-art-fallback{width:100%;height:100%;display:grid;place-items:center;background:var(--bg-elev2);color:var(--text-muted);font-size:22px}.learn-track-meta{min-width:0}.learn-track-meta h3{margin:0 0 2px;font-size:16px}.learn-track-composer{color:var(--accent-gold);font-size:14px}.learn-track-note{margin:6px 0 0;font-style:italic;color:var(--text-muted)}.learn-audio{width:100%;margin-top:4px}.learn-fb-list{display:flex;flex-direction:column;gap:10px}.learn-fb-empty{padding:12px 0}.learn-fb-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-elev2)}.learn-fb-head{display:flex;gap:10px;align-items:flex-start}.learn-fb-art{width:40px;height:40px;border-radius:6px;object-fit:cover;flex:none}.learn-fb-about{flex:1;min-width:0}.learn-fb-ratings{display:flex;gap:12px;color:var(--accent-gold)}.learn-fb-comment{margin:8px 0 0;white-space:pre-wrap}.learn-picker-controls{display:flex;gap:10px;margin-bottom:12px}.learn-picker-controls input{flex:1}.learn-picker-list{max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.learn-picker-row{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;width:100%}.learn-picker-row:hover{background:var(--bg-elev2)}.learn-picker-art{width:40px;height:40px;border-radius:5px;object-fit:cover;flex:none}.learn-picker-meta{display:flex;flex-direction:column;min-width:0}.learn-picker-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-stars{display:flex;flex-direction:column;gap:2px}.learn-stars-label{font-size:12px;color:var(--text-muted)}.learn-stars-row{display:inline-flex}.learn-star{background:none;border:none;cursor:pointer;color:var(--border-strong);font-size:22px;line-height:1;padding:0 1px}.learn-star.on{color:var(--accent-gold)}.learn-public{min-height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column}.learn-pub-header{border-bottom:1px solid var(--border);padding:14px 20px}.learn-brand{background:none;border:none;cursor:pointer;color:var(--text);font-size:18px;font-weight:700;display:inline-flex;align-items:center;gap:8px}.learn-brand-mark{color:var(--accent-gold)}.learn-pub-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:28px 20px 60px}.learn-pub-footer{border-top:1px solid var(--border);padding:16px 20px;text-align:center}.learn-loading,.learn-empty{padding:60px 20px;text-align:center;color:var(--text-muted)}.learn-index-title{margin:0 0 18px}.learn-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.learn-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);overflow:hidden;cursor:pointer;text-align:left;color:var(--text);padding:0;transition:border-color .12s,transform .12s}.learn-card:hover{border-color:var(--accent-gold);transform:translateY(-2px)}.learn-card-art{aspect-ratio:1;width:100%;background:var(--bg-elev2)}.learn-card-art img{width:100%;height:100%;object-fit:cover;display:block}.learn-card-body{padding:12px 14px}.learn-card-body h3{margin:0 0 4px;font-size:16px}.learn-card-intro{margin:0;color:var(--text-muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learn-card-count{display:inline-block;margin-top:8px;font-size:12px;color:var(--accent-gold)}.learn-back,.learn-brand{-webkit-tap-highlight-color:transparent}.learn-back{background:none;border:none;cursor:pointer;color:var(--accent);padding:0;margin-bottom:14px;font:inherit}.learn-lesson-title{margin:0 0 8px;font-size:28px}.learn-lesson-intro{color:var(--text-muted);font-size:17px;line-height:1.5;margin:0 0 24px}.learn-blocks{display:flex;flex-direction:column;gap:28px}.learn-text-block h2{margin:0 0 8px}.learn-text-block p{margin:0 0 12px;line-height:1.6}.learn-track-block{border:1px solid var(--border);border-radius:14px;background:var(--bg-elev);padding:16px}.learn-feedback{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:10px}.learn-feedback-title{font-weight:600}.learn-rating-row{display:flex;gap:26px;flex-wrap:wrap}.learn-comment{width:100%}.learn-feedback-actions{display:flex;gap:10px;align-items:center}.learn-name{flex:1}.learn-feedback-done{color:#2fbf71}.learn-feedback-err{color:var(--danger)}@media (max-width: 720px){.learn-admin-body{grid-template-columns:1fr}.learn-meta-status{margin-left:0}}.learn-block-drag.dragging{opacity:.55}.learn-drag-handle{background:none;border:none;cursor:grab;color:var(--text-muted);font-size:16px;line-height:1;padding:0 2px}.learn-drag-handle:active{cursor:grabbing}.learn-share{margin-top:6px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev2);padding:12px;display:flex;flex-direction:column;gap:10px}.learn-share-row{display:flex;gap:8px}.learn-share-url{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font:inherit;font-size:13px}.learn-share-preview{display:flex;gap:12px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg)}.learn-share-thumb{width:96px;height:96px;flex:none;background:var(--bg-elev2)}.learn-share-thumb img{width:100%;height:100%;object-fit:cover;display:block}.learn-share-text{padding:10px 12px;min-width:0;display:flex;flex-direction:column;gap:3px}.learn-share-title{font-weight:700}.learn-share-desc{color:var(--text-muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learn-share-host{text-transform:lowercase}.learn-lyrics-toggle{margin-left:auto;align-self:flex-start;flex:none;background:transparent;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);padding:4px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.learn-lyrics-toggle:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.learn-lyrics-toggle.on{background:var(--accent-gold-soft);border-color:var(--accent-gold);color:var(--accent-gold)}.learn-lyrics-panel{margin-top:12px;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:2px;scroll-behavior:smooth}.learn-lyric-line{background:none;border:none;text-align:left;width:100%;cursor:pointer;padding:6px;border-radius:6px;display:flex;flex-direction:column;gap:1px;color:var(--text-muted);transition:color .15s,opacity .15s,transform .15s;line-height:1.4}.learn-lyric-line:hover{background:var(--bg-elev2)}.learn-lyric-line.past{opacity:.5}.learn-lyric-line.active{color:var(--text);transform:scale(1.02);transform-origin:left center}.learn-lyric-primary{font-size:17px;font-weight:600}.learn-lyric-line.active .learn-lyric-primary{color:var(--accent-gold)}.learn-lyric-secondary{font-size:13px;color:var(--text-muted);font-style:italic}.learn-lyrics-admin{margin-top:2px}.learn-add-btn.small{flex:none;padding:7px 12px;font-size:13px}.learn-picker p{margin:0 0 10px}.learn-picker input[type=search]{width:100%;margin-bottom:10px}.explorer-eval{display:flex;flex-direction:column;gap:10px}.eval-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.eval-progress{max-width:640px;margin:8px 0 4px}.eval-progress .scan-bar{margin:6px 0}.eval-progress .scan-bar-sub{height:6px;margin-left:16px;width:calc(100% - 16px)}.eval-progress .scan-bar-sub .scan-bar-fill{background:var(--accent-dim, var(--text-muted))}.eval-progress .scan-bar-sub+p{margin-left:16px}.eval-check{display:inline-flex;align-items:center;gap:6px;font-size:14px}.eval-table{border-collapse:collapse;width:100%;max-width:640px;font-size:14px}.eval-table th,.eval-table td{text-align:right;padding:6px 12px;border-bottom:1px solid var(--border)}.eval-table th:first-child,.eval-table td:first-child{text-align:left}.eval-table thead th{color:var(--text-muted);font-weight:600}.eval-row-live{background:var(--accent-gold-soft)}.eval-row-live td:first-child{font-weight:700;color:var(--accent-gold)}.eval-legend{max-width:640px}.eval-subhead{margin:20px 0 4px;font-size:15px}.scan-pagenav{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-muted)}.scan-followpage{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:12px}.scan-audio{width:100%;height:34px}.scan-page-wrap{position:relative;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;-webkit-user-select:none;user-select:none}.scan-page-img{display:block;width:100%;height:auto}.scan-measure{position:absolute;cursor:pointer;border-radius:3px}.scan-measure:hover{background:color-mix(in srgb,var(--accent-gold) 14%,transparent)}.scan-measure.active{background:color-mix(in srgb,var(--accent-gold) 22%,transparent);outline:2px solid var(--accent-gold);outline-offset:-2px;transition:left .12s linear,top .12s linear,width .12s linear,height .12s linear}.peer-id,.peer-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:all;user-select:all;white-space:nowrap}.peer-id:hover,.peer-code:hover{border-color:var(--border-strong)}.peer-code{font-size:1.25rem;letter-spacing:.18em;font-weight:600}.peer-id-small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--text-muted)}.peer-list{display:flex;flex-direction:column;gap:4px;margin:6px 0}.peer-row .prefs-row-label{display:inline-flex;align-items:center;gap:8px}.peer-dot{width:9px;height:9px;border-radius:50%;flex:none}.peer-dot-ok{background:#3dbb6e}.peer-dot-unknown{background:var(--text-muted)}.peer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.peer-pair-box{border:1px dashed var(--border-strong);border-radius:8px;padding:12px 14px;margin:6px 0;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.peer-code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.peer-sas{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem;font-weight:700;letter-spacing:.3em;color:var(--accent-gold);align-self:center;padding:4px 0}.peer-section-label{display:flex;align-items:center;gap:7px}.peer-badge{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-gold);border:1px solid var(--accent-gold);border-radius:999px;padding:2px 8px;vertical-align:middle;margin-left:8px}.peer-expose-list{display:flex;flex-direction:column;gap:6px}.modal .peer-expose-row{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:.9rem;color:var(--text);cursor:pointer}.modal .peer-expose-row input[type=checkbox]{width:auto;flex:none;margin:0;accent-color:var(--accent)}.np-peer-origin{font-size:.78rem;color:var(--accent-gold);border:1px solid var(--accent-gold);border-radius:999px;padding:2px 10px;display:inline-block;margin-top:4px}.peer-grants-row{align-items:flex-start}.peer-grant-list,.peer-audit-list{display:flex;flex-direction:column;gap:10px;min-width:320px;max-width:460px}.peer-grant-user{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.peer-grant-disabled{opacity:.55}.peer-grant-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.peer-grant-meta{font-size:.78rem;color:var(--text-muted)}.peer-grant-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.peer-grant-targets{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-left:2px solid var(--border-strong)}.peer-audit-row{display:flex;flex-direction:column;gap:1px;font-size:.85rem;border-bottom:1px solid var(--border);padding-bottom:6px}.peer-audit-row:last-child{border-bottom:none}.peer-lib-actions{display:flex;align-items:center;gap:10px}.cc-view{display:flex;flex-direction:column;min-height:0}.cc-mode{flex:0 0 auto}.cc-dropzone{flex:1 1 auto;min-height:320px;margin:8px 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--border-strong, var(--border));border-radius:16px;background:var(--bg-elev);color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.cc-dropzone:hover,.cc-dropzone.dragging{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg-elev))}.cc-drop-title{font-size:1.05rem;font-weight:600;color:var(--text);margin:4px 0 0}.cc-body{flex:1 1 auto;display:flex;gap:18px;min-height:0;margin:8px 0 12px}.cc-panel{flex:0 0 290px;max-width:290px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:16px;align-self:flex-start}.cc-editing{margin:0 0 12px}.cc-editing strong{color:var(--text)}.cc-controls{display:flex;flex-direction:column;gap:16px}.cc-field{display:flex;flex-direction:column;gap:6px}.cc-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.cc-hint{font-size:.78rem;line-height:1.35;color:var(--text-muted)}.cc-check{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text);cursor:pointer}.cc-check input{width:16px;height:16px;accent-color:var(--accent)}.cc-controls select{height:36px;padding:0 9px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;font-size:.85rem}.cc-color-row{display:flex;align-items:center;gap:12px}.cc-color-row input[type=color]{width:40px;height:30px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer}.cc-size-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.cc-chip{height:30px;padding:0 11px;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);border-radius:7px;font-size:.82rem;cursor:pointer;transition:all .12s ease}.cc-chip:hover{color:var(--text);border-color:var(--border-strong, var(--border))}.cc-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.cc-size-row input[type=number]{width:78px;height:30px;padding:0 8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;font-size:.85rem}.cc-unit{font-size:.82rem;color:var(--text-muted)}.cc-stage{flex:1 1 auto;display:flex;flex-direction:column;gap:16px;min-width:0;border-radius:12px}.cc-stage.dragging{outline:2px dashed var(--accent);outline-offset:6px}.cc-preview{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-height:0}.cc-preview figure{margin:0;display:flex;flex-direction:column;gap:8px}.cc-preview figcaption{text-align:center;font-size:.82rem;color:var(--text-muted)}.cc-frame{position:relative;aspect-ratio:1 / 1;max-height:60vh;display:flex;align-items:center;justify-content:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;overflow:hidden}.cc-frame img{max-width:100%;max-height:100%;object-fit:contain;display:block}.cc-frame-checker{background-image:linear-gradient(45deg,rgba(127,127,127,.14) 25%,transparent 25%),linear-gradient(-45deg,rgba(127,127,127,.14) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(127,127,127,.14) 75%),linear-gradient(-45deg,transparent 75%,rgba(127,127,127,.14) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.cc-frame-err{padding:16px;text-align:center;color:var(--danger)}.cc-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:cc-spin .8s linear infinite}@keyframes cc-spin{to{transform:rotate(360deg)}}.cc-strip{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:4px 2px 8px}.cc-thumb{position:relative;flex:0 0 auto;width:64px;height:64px;border-radius:9px;overflow:hidden;border:2px solid transparent;background:var(--bg-elev);cursor:pointer;padding:0;transition:border-color .12s ease}.cc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cc-thumb.active{border-color:var(--accent)}.cc-thumb-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:16px;text-align:center;border:none;border-radius:50%;background:#0000009e;color:#fff;font-size:13px;cursor:pointer;opacity:0;transition:opacity .12s ease}.cc-thumb:hover .cc-thumb-remove{opacity:1}.cc-thumb-add{display:flex;align-items:center;justify-content:center;color:var(--text-muted);border:2px dashed var(--border);font-size:22px}.cc-thumb-add:hover{color:var(--accent);border-color:var(--accent)}.cc-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.cc-spacer{flex:1 1 auto}.cc-actions-err{color:var(--danger);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal.set-art-modal{width:560px;max-width:calc(100vw - 32px)}.set-art-body{display:flex;flex-direction:column;gap:18px;padding:4px 2px}.set-art-previews{display:flex;align-items:center;justify-content:center;gap:16px}.set-art-previews figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.set-art-previews figcaption{font-size:.8rem;color:var(--text-muted)}.set-art-frame{width:168px;height:168px;display:flex;align-items:center;justify-content:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;overflow:hidden}.set-art-frame img{width:100%;height:100%;object-fit:cover}.set-art-none{font-size:.8rem;color:var(--text-muted);text-align:center;padding:0 10px}.set-art-drop{border-style:dashed;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.set-art-drop:hover,.set-art-drop.dragging{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg-elev))}.set-art-arrow{font-size:1.4rem;color:var(--text-muted)}.set-art-modes{display:flex;flex-direction:column;gap:10px;border:none;margin:0;padding:0}.set-art-modes label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:9px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.set-art-modes label.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.set-art-modes label input{margin-top:3px;accent-color:var(--accent)}.set-art-modes label div{display:flex;flex-direction:column;gap:2px}.set-art-modes label strong{font-size:.9rem;color:var(--text)}.set-art-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--border)}.set-art-footer .link-btn{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font-size:.85rem}.set-art-footer .link-btn:hover{text-decoration:underline}.set-art-footer .link-btn:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.remaster-view{display:flex;flex-direction:column;height:100%;min-height:0}.rw-head{display:flex;align-items:center;gap:14px;padding:14px 18px 10px}.rw-head h2{margin:0}.remaster-workbench{display:grid;grid-template-columns:360px 1fr;gap:18px;flex:1;min-height:0;padding:0 18px 18px}.rw-left{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.rw-section h4{margin:0 0 8px;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.rw-search,.rw-label{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev);color:var(--text)}.rw-track-list{margin-top:8px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.rw-track{display:flex;flex-direction:column;width:100%;text-align:left;gap:1px;padding:8px 10px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer}.rw-track:last-child{border-bottom:none}.rw-track.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.rw-track-title{color:var(--text);font-size:.9rem}.rw-models{display:flex;flex-direction:column;gap:8px}.rw-models label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.rw-models label.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.rw-models label.disabled{opacity:.5;cursor:not-allowed}.rw-models label input{margin-top:3px;accent-color:var(--accent)}.rw-models label div{display:flex;flex-direction:column;gap:2px}.rw-params{display:flex;flex-direction:column;gap:10px}.rw-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.btn-secondary.tiny{padding:2px 10px;font-size:.78rem}.rw-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:8px}.rw-row-label{font-size:.85rem;color:var(--text)}.rw-row select{padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elev);color:var(--text)}.rw-slider input[type=range]{accent-color:var(--accent);width:100%}.rw-slider-val{min-width:48px;text-align:right}.rw-check{display:flex;align-items:center;gap:8px;font-size:.85rem}.rw-check input{accent-color:var(--accent)}.rw-run{display:flex;gap:10px;align-items:center}.rw-run .rw-label{flex:1}.rw-right{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.rw-right-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.rw-right-head h4{margin:0}.rw-empty{padding:40px 16px;text-align:center}.rw-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.rw-card{border:1px solid var(--border);border-radius:11px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--bg-elev)}.rw-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.rw-card-head{display:flex;align-items:center;gap:8px}.rw-model-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}.rw-model-badge.demucs{background:color-mix(in srgb,#6c8cff 22%,transparent)}.rw-card-label{font-weight:600;font-size:.9rem}.rw-playing{color:var(--accent);font-size:.78rem;font-weight:600}.rw-del{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem}.rw-del:hover{color:var(--danger, #e05260)}.rw-audio{width:100%;height:34px}.rw-use{align-self:flex-start}.rw-card-error{color:var(--danger, #e05260);font-size:.82rem}.rw-card-progress .bar{height:6px;border-radius:4px;background:var(--border);overflow:hidden;position:relative}.rw-card-progress .bar.indeterminate .bar-fill{position:absolute;width:40%;height:100%;background:var(--accent);animation:rw-indeterminate 1.1s ease-in-out infinite}@keyframes rw-indeterminate{0%{left:-40%}to{left:100%}}.np-remaster{display:inline-flex;margin-top:8px;border:1px solid var(--border);border-radius:7px;overflow:hidden}.np-remaster button{background:transparent;border:none;color:var(--text-muted);padding:3px 12px;cursor:pointer;font-size:.78rem}.np-remaster button.active{background:var(--accent);color:var(--accent-contrast, #1a1208)}
