:root{color-scheme:dark;--bg: #12141a;--panel: #1c1f27;--panel-2: #232733;--text: #e6e9f0;--muted: #8b93a7;--accent: #7c5cff;--accent-2: #4ecd97;--danger: #ff6b6b;--border: #2e3342;--log-verbose: #a5b4cf;--log-debug: #82b8f8;--log-info: #dce6f5;--log-warning: #f6c453;--log-error: #ff9494;--log-fatal: #ff8ad8;--warning: #e8a13c;--surface-warning: rgba(232, 161, 60, .1);--surface-error: rgba(255, 107, 107, .1);--surface-success: rgba(78, 205, 151, .1);--surface-info: rgba(124, 92, 255, .1);--surface-selection: rgba(124, 92, 255, .08);--surface-hover: rgba(124, 92, 255, .07);--code-bg: #0d0f14;--code-text: #c9d1df;--shadow-color: rgba(0, 0, 0, .35);--overlay: rgba(0, 0, 0, .6)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text)}header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--panel)}header h1{display:inline-flex;align-items:center;gap:.6rem;font-size:1.25rem;margin:0;white-space:nowrap}.header-brand{flex:0 0 auto}nav{display:flex;gap:.35rem;min-width:0;overflow-x:auto;scrollbar-width:none}nav::-webkit-scrollbar{display:none}.mobile-menu-button{display:none!important}.mobile-menu{display:none}nav a{flex:0 0 auto;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .7rem;cursor:pointer;font-size:.9rem;text-decoration:none;white-space:nowrap}nav.main-nav{flex:1 1 auto}nav a:hover{filter:brightness(1.15)}nav a.active{background:var(--accent);border-color:transparent;color:#fff}nav button.active{background:var(--accent);color:#fff}.mobile-menu{width:100%;padding:.8rem;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.mobile-menu-group+.mobile-menu-group{margin-top:.75rem}.mobile-menu-heading{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.mobile-menu-links{display:grid;gap:.35rem}.mobile-menu-links a{display:block;padding:.65rem .7rem;border-radius:6px;color:var(--text);text-decoration:none}.mobile-menu-links a:hover{background:var(--panel)}.mobile-menu-links a.active{background:var(--accent);color:#fff}.mobile-menu-account{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border)}.mobile-menu-account .user-badge{min-width:0;flex-wrap:wrap}.mobile-menu-account .user-badge>span:first-child{min-width:0;overflow-wrap:anywhere}.mobile-menu-account>button{min-width:0;white-space:nowrap}main{padding:1.5rem 1.5rem 5rem;max-width:1200px;margin:0 auto}.download-setup-notice{display:flex;align-items:center;gap:.45rem 1rem;flex-wrap:wrap;padding:.7rem .9rem;margin-bottom:1.2rem;background:#e8a13c1a;border:1px solid #e8a13c;border-radius:8px;color:var(--text);font-size:.86rem}.download-setup-notice strong{color:#e8a13c}.download-setup-notice a{margin-left:auto;white-space:nowrap}.tab{display:none}.tab.active{display:block}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;flex-wrap:wrap}.toolbar h2{margin:0}.discover-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.discover-tuning-panel{max-width:680px;margin:0 0 1.25rem;width:100%;box-sizing:border-box;padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px var(--shadow-color)}.discover-tuning-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.discover-tuning-panel h3{margin:0}.discover-tuning-panel-head p{margin:.3rem 0 0}.discover-tuning-presets{display:flex;gap:.45rem;flex-wrap:wrap;margin:.9rem 0 1rem}.discover-tuning-slider{display:grid;gap:.35rem;margin:.85rem 0}.discover-tuning-slider>span{display:flex;justify-content:space-between;gap:1rem}.discover-tuning-slider output{color:var(--accent-2);font-variant-numeric:tabular-nums}.discover-tuning-slider input{width:100%;accent-color:var(--accent)}.discover-tuning-slider small{color:var(--muted)}.discover-tuning-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.discover-rail-editor{display:grid;gap:.55rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.discover-rail-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:.45rem}.discover-rail-row label{display:flex;align-items:center;gap:.6rem;margin:0;min-width:0;flex:1}.discover-rail-row input[type=checkbox]{width:1rem;height:1rem;margin:0;padding:0;flex:0 0 1rem}.discover-rail-row span{display:flex;gap:.25rem}.discover-rail-row button{min-width:2rem;padding:.2rem .45rem}.link-button{padding:0;border:0;background:none;color:var(--accent-2);text-decoration:underline;cursor:pointer;font:inherit}.row{display:flex;gap:.5rem;flex-wrap:wrap}.library-toolbar{margin-bottom:.5rem}.library-root-add-row{width:min(100%,32rem)}.library-root-add-row input{flex:1 1 16rem;min-width:12rem}.library-root-selection{min-width:0;margin:.5rem 0 .8rem;padding:.65rem .8rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.library-root-selection legend{padding:0 .35rem;color:var(--text);font-size:.85rem;font-weight:600}.root-selection-all{margin:0 0 .45rem;font-weight:600}.library-root-selection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.35rem .8rem}.library-root-option{min-width:0;margin:0}.library-root-option span{min-width:0;overflow-wrap:anywhere}.library-maintenance-row{display:flex;align-items:center;gap:1rem;margin:.75rem 0;padding:.7rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.library-maintenance-label{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.library-maintenance-row .row{flex:1}.root-selection-summary{margin:.7rem 0;color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.search-row{flex:1;min-width:0}.search-row input{flex:1;min-width:8rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-download-list{display:none}#downloads-table{table-layout:fixed}#downloads-table th:nth-child(1),#downloads-table td:nth-child(1){width:4%}#downloads-table th:nth-child(2),#downloads-table td:nth-child(2){width:8%}#downloads-table th:nth-child(3),#downloads-table td:nth-child(3){width:10%}#downloads-table th:nth-child(4),#downloads-table td:nth-child(4){width:9%}#downloads-table th:nth-child(5),#downloads-table td:nth-child(5){width:8%}#downloads-table th:nth-child(6),#downloads-table td:nth-child(6){width:11%}#downloads-table th:nth-child(7),#downloads-table td:nth-child(7){width:7%}#downloads-table th:nth-child(8),#downloads-table td:nth-child(8){width:8%}#downloads-table th:nth-child(9),#downloads-table td:nth-child(9){width:9%}#downloads-table th:nth-child(10),#downloads-table td:nth-child(10){width:19%}#downloads-table th:nth-child(11),#downloads-table td:nth-child(11){width:7%}#downloads-table th.download-select-cell,#downloads-table td.download-select-cell{text-align:center;padding-inline:.35rem}#downloads-table td:nth-child(4) .badge{white-space:nowrap}#downloads-table td:not(.download-search-term):not(.err):not(.state-cell){overflow-wrap:anywhere}#downloads-table .download-source-content{min-width:0}#downloads-table .download-source-content strong,#downloads-table .download-source-content span{overflow-wrap:anywhere}#downloads-table .progress-bar{width:100%;max-width:120px}.download-queue-surface{background:var(--panel);border:1px solid var(--border);border-radius:10px}.download-batch-toolbar{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.4rem .6rem;background:var(--panel-2);border-bottom:1px solid var(--border);border-radius:9px 9px 0 0}.download-selection-summary{margin-right:auto;color:var(--muted);font-size:.76rem;white-space:nowrap}.download-batch-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.35rem}.download-batch-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:1.9rem;padding:.3rem .55rem;font-size:.74rem;line-height:1.1;white-space:nowrap}.download-row-select{width:1rem;height:1rem;margin:0;padding:0;accent-color:var(--accent);cursor:pointer}#downloads-table .download-row-select{display:block;margin:0 auto;vertical-align:middle}.download-queue-surface #downloads-table{background:transparent;border-radius:0 0 9px 9px}.download-queue-surface .mobile-download-list{padding:.7rem}.download-queue-surface tr.is-selected td{background:#7c5cff14}.download-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px #7c5cff2e}.download-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.35rem}.download-actions button,.download-card-actions button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 5.75rem;min-width:5.75rem;min-height:2rem;padding:.35rem .6rem;font-size:.78rem;line-height:1.1;white-space:nowrap}.download-card{display:grid;gap:.7rem;padding:.85rem;background:var(--panel);border:1px solid var(--border);border-radius:10px}.download-card-heading,.download-card-status,.download-card-details,.download-card-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.download-card-heading{justify-content:space-between;align-items:flex-start}.download-card-selection,.download-card-heading-actions{display:flex;align-items:flex-start;gap:.55rem;min-width:0}.download-card-heading-actions{align-items:center}.download-card-title{display:grid;gap:.15rem;min-width:0}.download-card-selection>.download-row-select{margin-top:.2rem}.download-card-title span{color:var(--muted);overflow-wrap:anywhere}.download-search-term{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.download-card-status .progress-bar{flex:1;min-width:7rem}.download-card-details{color:var(--muted);font-size:.8rem}.download-card-details span{display:inline-flex;align-items:center;gap:.25rem}.download-card-details b{color:var(--text);font-weight:500}.download-card-error{color:var(--danger);font-size:.8rem;overflow-wrap:anywhere}.download-card-actions{justify-content:flex-end}.download-card-actions button{flex:1 1 5.75rem}.blacklist-add-panel{display:grid;gap:.6rem;margin-bottom:1.25rem;padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:10px}.blacklist-panel-heading h3{margin:0}.blacklist-panel-heading p{margin:.25rem 0 0}.blacklist-add-panel .form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1rem;margin-bottom:0}.blacklist-add-panel .form-group{min-width:0;margin-bottom:0}.blacklist-field-label{display:flex;align-items:baseline;gap:.35rem}.blacklist-add-panel .form-help{color:var(--muted);font-size:.75rem;font-weight:400}.blacklist-form-actions{display:flex;justify-content:flex-end}.blacklist-list{display:grid;gap:.7rem}.blacklist-entry{display:grid;gap:.55rem;padding:.85rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:9px}.blacklist-entry-heading,.blacklist-entry-source{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.blacklist-entry-item{display:grid;gap:.15rem;min-width:0}.blacklist-entry-item span,.blacklist-entry-source span{color:var(--muted);overflow-wrap:anywhere}.blacklist-entry-source{justify-content:flex-start;flex-wrap:wrap;font-size:.84rem}.blacklist-entry-source strong{color:var(--text)}.blacklist-entry-actions{display:flex;justify-content:flex-end}.blacklist-entry-actions button{padding:.3rem .55rem;font-size:.8rem}td.err{max-width:none;overflow:hidden;overflow-wrap:break-word;line-height:1.25;white-space:normal;color:var(--danger)}@media(max-width:1260px){header{flex-wrap:nowrap;gap:.6rem .9rem;padding:.8rem 1rem}header h1{font-size:1.1rem}header nav{gap:.3rem}header nav a{padding:.35rem .55rem;font-size:.78rem}header>.header-right{gap:.6rem}header>.header-right button{padding:.35rem .65rem;font-size:.78rem}}button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.45rem .9rem;cursor:pointer;font-size:.9rem}button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}button.download-batch-retry{background:#7c5cff2e;border:1px solid rgba(124,92,255,.65);color:#d8d0ff}button.download-batch-reimport{background:var(--panel-2);border:1px solid var(--text);color:var(--text)}button.download-batch-blacklist{background:#e8a13c1f;border:1px solid rgba(232,161,60,.65);color:#f6c453}button.download-batch-remove{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.7);color:var(--danger)}button.download-batch-clear{color:var(--danger);border-color:#ff6b6bb3}.download-batch-actions button:disabled{filter:none}button.download-action-retry{background:#7c5cff1f;border-color:#7c5cff8c;color:#d8d0ff}button.download-action-blacklist{background:#e8a13c1a;border-color:#e8a13c8c;color:#f6c453}button.download-action-remove{background:#ff6b6b14}button.download-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.download-overflow-wrap{position:relative;display:inline-flex}button.download-overflow-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:.15rem;font-size:1.25rem;line-height:.8}.download-overflow-trigger>span{transform:translateY(-.1rem)}.download-action-menu{position:fixed;z-index:50;display:grid;gap:.15rem;min-width:11rem;padding:.35rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;box-shadow:0 .7rem 1.5rem #00000059}button.download-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2rem;padding:.4rem .55rem;background:transparent;border:0;border-radius:5px;color:var(--text);font-size:.82rem;text-align:left}button.download-menu-item:hover{background:var(--panel);filter:none}button.download-menu-item-retry{color:#d8d0ff}button.download-menu-item-blacklist{color:#f6c453}button.download-menu-item-remove,button.download-menu-item-cancel{color:var(--danger)}.download-action-icon{display:block;width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4}button:hover{filter:brightness(1.15)}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.45rem .6rem;font-size:.9rem}textarea{resize:vertical;font-family:inherit}input:disabled,select:disabled,textarea:disabled{background:var(--panel);border-color:var(--border);color:var(--muted);cursor:not-allowed;opacity:.65}button:disabled{filter:none;opacity:.5;cursor:not-allowed}button:disabled:hover{filter:none}input:disabled::placeholder{color:var(--muted);opacity:.7}label{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.85rem;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:.45rem;flex-wrap:wrap;cursor:pointer;color:var(--text)}label.check input[type=checkbox]{width:auto;margin:0;flex:0 0 auto}label.check .hint{flex-basis:100%}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.section{margin-bottom:1.6rem}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:1rem}.section-head h3{margin:0;font-size:1.05rem}.section-heading-copy{min-width:0}.section-description{color:var(--muted);font-size:.78rem;margin:.18rem 0 0}.section-see-all{display:inline-block;margin-top:.3rem;color:var(--accent-2);font-size:.78rem;text-decoration:none}.section-see-all:hover{text-decoration:underline}.discover-undo{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px var(--shadow-color)}.discover-section-page-head{margin:1rem 0}.back-link{color:var(--accent-2);text-decoration:none;font-size:.85rem}.back-link:hover{text-decoration:underline}.discover-section-page h2{margin:.45rem 0 0}.discover-section-page-head p{margin:.35rem 0 0}.discover-section-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;color:var(--muted)}.discover-section-filter select{min-width:12rem}.discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.8rem;align-items:start;container-type:inline-size}.discover-grid>.card{min-width:0;box-sizing:border-box}.discover-grid>.card.album-tracks-expanded{grid-column:1 / -1;max-width:680px}@container (min-width: 540px){.discover-grid>.card.album-tracks-expanded{grid-column:span 2;max-width:none}}.discover-sources{margin:.75rem 0 1rem;color:var(--muted)}.discover-sources summary{cursor:pointer}@media(max-width:580px){.discover-grid>.card.album-tracks-expanded{grid-column:1 / -1}}.section-nav{display:none;gap:.3rem}.section-nav.visible{display:flex}.section-nav button{padding:.25rem .6rem;font-size:1.1rem;line-height:1}.cards-row{display:flex;align-items:stretch;gap:.8rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.4rem;scrollbar-width:none}.cards-row::-webkit-scrollbar{display:none}.cards-row .card{flex:0 0 260px;width:260px;scroll-snap-align:start}.cards-row .card.album-tracks-expanded{flex-basis:min(380px,calc(100vw - 2rem));width:min(380px,calc(100vw - 2rem));z-index:2}.card.album-tracks-expanded .album-track-title,.card.album-tracks-expanded .album-track-artist{overflow:visible;white-space:normal;overflow-wrap:break-word}@media(max-width:720px){.cards-row .card{flex-basis:200px;width:200px}.cards>div:has(>.card.album-tracks-expanded){grid-column:1 / -1}.section-scrollable-right .cards-row{-webkit-mask-image:linear-gradient(to right,#000 0 calc(100% - 1.5rem),transparent 100%);mask-image:linear-gradient(to right,#000 0 calc(100% - 1.5rem),transparent 100%)}.section-scrollable-left .cards-row{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 100%);mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 100%)}.section-scrollable-left.section-scrollable-right .cards-row{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 calc(100% - 1.5rem),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 calc(100% - 1.5rem),transparent 100%)}}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.9rem;display:flex;flex-direction:column;gap:.4rem}.card .artist{color:var(--muted);font-size:.85rem}.card .title{font-weight:600;line-height:1.2;min-height:2.4em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card>.row{margin-top:auto}.card .meta{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.album-track-toggle{cursor:pointer;text-align:left}.album-track-toggle:hover{background:var(--panel-2);border-color:var(--accent);color:var(--accent);filter:none}.album-track-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.album-track-toggle.is-expanded{color:var(--accent);border-color:var(--accent)}.album-track-list{container-type:inline-size;min-width:0;display:grid;gap:.45rem;margin-top:.1rem;padding:.55rem .65rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.album-track-list-items{min-width:0;display:grid;gap:.15rem;margin:0;padding:0;list-style:none}.album-track-row{min-width:0;display:grid;grid-template-columns:1.5rem 1.65rem minmax(3rem,1fr) auto auto 1.65rem;align-items:center;gap:.45rem;padding:.25rem .35rem;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.album-track-row:last-child{border-bottom:0}@container (max-width: 300px){.album-track-row{grid-template-columns:1.25rem 1.65rem minmax(0,1fr) 1.65rem;gap:.3rem;padding-inline:0}.album-track-position{grid-column:1;grid-row:1}.album-track-preview{grid-column:2;grid-row:1}.album-track-copy{grid-column:3;grid-row:1}.album-track-download{grid-column:4;grid-row:1}.album-track-duration{grid-column:3;grid-row:2}.album-track-owned{grid-column:3;grid-row:3}}.album-track-preview{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;min-height:1.65rem;padding:.25rem;background:transparent;border:1px solid transparent;color:var(--accent)}.album-track-preview:hover:not(:disabled){background:var(--panel-2);border-color:var(--accent)}.album-track-preview:disabled{color:var(--muted);opacity:.45;cursor:not-allowed}.album-track-preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.album-track-download{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;min-height:1.65rem;padding:.25rem;background:transparent;border:1px solid transparent;color:var(--accent-2)}.album-track-download:hover:not(:disabled){background:var(--panel-2);border-color:var(--accent-2)}.album-track-download:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.album-track-download.is-queueing,.album-track-download.is-queued,.album-track-download.is-owned{color:var(--accent-2)}.album-track-download.is-failed{color:var(--danger)}.album-track-position{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.album-track-copy{display:grid;gap:.1rem;min-width:0}.album-track-title,.album-track-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-track-title{font-weight:600}.album-track-artist,.album-track-duration,.album-track-status{color:var(--muted)}.album-track-artist,.album-track-duration{font-size:.72rem}.album-track-duration{font-variant-numeric:tabular-nums;white-space:nowrap}.album-track-owned,.album-track-owned-placeholder{min-width:2.9rem;text-align:right;font-size:.68rem;font-weight:600}.album-track-owned{color:var(--accent-2)}.album-track-owned-placeholder{visibility:hidden}.album-track-status{font-size:.76rem;line-height:1.3}.album-track-error{color:var(--danger)}.feedback-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:.1rem}.feedback-btn{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem;padding:.35rem;font-size:.72rem;line-height:1;transition:border-color .15s ease-out,color .15s ease-out,background .15s ease-out}.feedback-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);filter:none}.feedback-btn:focus-visible,.feedback-more>summary:focus-visible,.feedback-more-action:focus-visible,.feedback-more-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feedback-btn.is-active{color:var(--accent-2);border-color:var(--accent-2);background:#4ecd971a}.feedback-btn-negative:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.feedback-icon{display:block;width:1rem;height:1rem;flex:0 0 auto}.feedback-more{position:relative}.feedback-more>summary{list-style:none;cursor:pointer;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px}.feedback-more>summary::-webkit-details-marker{display:none}.feedback-more[open]>summary{color:var(--accent);border-color:var(--accent)}.feedback-more-panel{position:fixed;z-index:20;width:min(12rem,calc(100vw - 1rem));display:grid;gap:.35rem;padding:.65rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 .5rem 1.2rem #00000059}.feedback-more-heading{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.feedback-more-action{width:100%;min-height:2rem;padding:.4rem .5rem;background:transparent;border:1px solid transparent;color:var(--text);font-size:.78rem;text-align:left}.feedback-more-action:hover:not(:disabled){background:var(--panel-2);border-color:var(--border);filter:none}.feedback-more-action.is-active{color:var(--accent-2)}.card-quality{display:flex;align-items:center;min-height:1.45rem}.badge{font-size:.7rem;border-radius:999px;padding:.1rem .55rem;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.badge.in-library{color:var(--accent-2);border-color:var(--accent-2)}.badge.source{color:var(--accent);border-color:var(--accent)}.badge.lossy{display:inline-flex;align-items:center;gap:.2rem;color:#e8a13c;border-color:#e8a13c}.upgrade-icon{display:block;flex:0 0 auto}button.upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:transparent;color:#e8a13c;border:1px solid #e8a13c;flex:1;min-height:2.35rem}button.upgrade-btn:hover:not(:disabled){background:#e8a13c1f;filter:none}button.upgrade-btn:disabled{opacity:.6}button.card-delete-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#ff4d4d;border:1px solid #ff4d4d;min-height:2.35rem;padding:.35rem .8rem}button.card-delete-btn:hover:not(:disabled){background:#ff4d4d1a;filter:none}button.card-delete-btn:disabled{opacity:.6}.card-actions-row{display:flex;gap:.4rem;margin-top:.45rem}.album-detail-actions{display:flex;justify-content:flex-end;margin:-.25rem 0 .5rem}li .track-delete-btn{margin-left:.5rem;padding:0 .45rem;font-size:.8rem;color:#ff4d4d;border:1px solid transparent;border-radius:4px;background:transparent;opacity:0;transition:opacity .12s ease}li:hover .track-delete-btn,li .track-delete-btn:focus-visible{opacity:1}li .track-delete-btn:hover{border-color:#ff4d4d}.library-track-result-actions{display:flex;align-items:center;gap:.45rem}.yt-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;min-height:2.35rem;padding:.45rem .9rem;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:#ff4d4d;cursor:pointer}.yt-btn:hover{border-color:#ff4d4d;background:#ff4d4d1a}.skeleton{background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 50%,var(--panel-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite ease-in-out;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-skeleton{pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-cover{width:100%;aspect-ratio:1;border-radius:8px;margin-bottom:.2rem}.skeleton-artist{height:.85rem;width:55%}.skeleton-title{height:1.05rem;width:80%;margin:.1rem 0}.skeleton-meta{display:flex;gap:.4rem;margin:.2rem 0}.skeleton-badge{height:1.1rem;width:3.5rem;border-radius:999px}.skeleton-row{display:flex;gap:.5rem;margin-top:auto;padding-top:.3rem}.skeleton-btn{height:2rem;width:2.6rem;border-radius:6px}.skeleton-btn-wide{flex:1}table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:10px;overflow:hidden}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border);font-size:.88rem}th{color:var(--muted);font-weight:500;background:var(--panel-2)}.table-link{padding:0;background:transparent;color:var(--accent);border:0;text-decoration:underline}.table-link:disabled{color:var(--muted);text-decoration:none;opacity:1;cursor:default}.download-source-content{display:flex;flex-direction:column;gap:.15rem}.download-source-content strong{color:var(--text);font-weight:500}.download-source-content span{color:var(--muted);font-size:.8rem}.download-files-modal{max-width:1000px}.download-file-list{display:flex;flex-direction:column;gap:.55rem}.download-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.65rem;align-items:center}.download-file-row code{min-width:0;overflow-wrap:anywhere;background:var(--panel-2);border-radius:4px;padding:.35rem .45rem;color:var(--text)}.download-file-header{color:var(--muted);font-size:.8rem}.download-file-header span:first-child{grid-column:1}.download-file-header span:last-child{grid-column:3}.state{font-weight:600;white-space:nowrap}#downloads-table .state-cell{white-space:nowrap}.state.Completed{color:var(--accent-2)}.state.Failed,.state.Cancelled{color:var(--danger)}.state.Downloading,.state.Importing,.state.Searching{color:var(--accent)}.roots{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem}.roots li{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.5rem .8rem}.roots .path{font-family:Consolas,monospace;font-size:.85rem}.status-line{color:var(--muted);font-size:.85rem;margin:.5rem;min-height:1.2em}.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1.2rem 0}.pagination span{color:var(--muted);font-size:.9rem;min-width:7rem;text-align:center}.section-subnav{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:1.2rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.section-nav-links{display:flex;gap:.35rem;flex-wrap:wrap}.section-subnav a{color:var(--muted);padding:.35rem .7rem;border-radius:5px;text-decoration:none;font-size:.85rem}.section-subnav a:hover{background:var(--panel-2);color:var(--text)}.section-subnav a.active{background:var(--panel-2);color:var(--accent)}.admin-build-info{margin-left:auto;color:var(--muted);font-size:.75rem;white-space:nowrap}.admin-build-info code{color:var(--text)}.log-toolbar{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin:1.25rem 0 .8rem}.log-live-tail.active{background:var(--accent);border-color:var(--accent);color:#fff}.log-settings{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin:.8rem 0 1rem;padding:.8rem;background:var(--panel);border:1px solid var(--border);border-radius:8px}.log-setting-level{display:flex;flex-direction:column;gap:.3rem;min-width:min(100%,15rem);margin:0}.log-setting-level span,.log-filters label span{color:var(--muted);font-size:.78rem}.log-setting-level select{width:100%}.log-settings .status-line{margin:0 0 .55rem}.log-filters{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin:.8rem 0}.log-filter-search{display:flex;flex-direction:column;gap:.3rem;min-width:min(100%,20rem);margin:0}.log-filter-search input{width:100%}.log-level-filter{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;min-width:min(100%,11rem);margin:0}.log-level-filter select{width:100%}.log-filters>.btn{align-self:flex-end;margin:0}.log-picker{margin:0;min-width:min(100%,24rem)}.log-picker span{color:var(--muted);font-size:.78rem}.log-picker select{width:100%}.log-meta{color:var(--muted);font-size:.78rem;padding-bottom:.55rem}.log-viewer-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.78rem;margin:.6rem 0}.log-viewer-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;justify-content:flex-end}.log-viewer{margin:0;padding:1rem;min-height:24rem;max-height:calc(100vh - 18rem);overflow:auto;background:#0d0f14;border:1px solid var(--border);border-radius:8px;color:#c9d1df;font:.76rem/1.5 Consolas,SFMono-Regular,monospace;white-space:pre}.log-viewer .log-level-verbose{color:var(--log-verbose)}.log-viewer .log-level-debug{color:var(--log-debug)}.log-viewer .log-level-info{color:var(--log-info)}.log-viewer .log-level-warning{color:var(--log-warning)}.log-viewer .log-level-error{color:var(--log-error)}.log-viewer .log-level-fatal{color:var(--log-fatal)}.source-pills{display:flex;gap:.5rem;flex-wrap:wrap}.source-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:.8rem;cursor:default}.source-pill-icon{font-size:.75rem;line-height:1}.source-pill-ok .source-pill-icon{color:var(--accent-2)}.source-pill-ok{border-color:color-mix(in srgb,var(--accent-2) 35%,transparent)}.source-pill-error{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.source-pill-error .source-pill-icon{color:var(--danger)}.source-pill-off{color:var(--muted)}.discover-snapshot{display:flex;align-items:center;gap:.7rem}.discover-refreshing{color:var(--accent)}.discover-feedback{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.75rem .5rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:8px;font-size:.86rem}.discover-feedback-warning{background:#e8a13c1a;border-color:#e8a13c}.discover-feedback-error{background:#ff6b6b1a;border-color:var(--danger)}.discover-feedback button{margin-left:auto}fieldset{border:1px solid var(--border);border-radius:10px;margin-bottom:1.2rem;background:var(--panel)}legend{color:var(--muted);padding:0 .5rem;font-size:.9rem}fieldset label input,fieldset label select{width:100%;max-width:480px}.discover-rail-list{display:grid;gap:.45rem;list-style:none;margin:.75rem 0 0;padding:0}.discover-rail-card{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.65rem;margin:0;padding:.55rem .65rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.discover-rail-order{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border:1px solid var(--border);border-radius:50%;background:var(--panel);color:var(--accent);font-size:.78rem;font-weight:600;line-height:1}.discover-rail-toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;margin:0!important;color:var(--text)}fieldset .discover-rail-toggle input[type=checkbox]{width:auto;margin:0}.discover-rail-copy{display:grid;gap:.1rem;min-width:0}.discover-rail-copy strong{overflow:hidden;color:var(--text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.discover-rail-visibility,.discover-rail-toggle-text{color:var(--muted);font-size:.74rem}.discover-rail-toggle-text{white-space:nowrap}.discover-rail-actions{display:flex;align-items:center;gap:.25rem}.discover-rail-move{min-width:2rem;padding:.3rem;font-size:1rem;line-height:1}.discover-rail-toggle input:focus-visible,.discover-rail-move:focus-visible,.discover-tuning-control input:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem}.discover-tuning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.discover-tuning-control{display:flex;flex-direction:column;min-width:0;margin:0;padding:.75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.discover-tuning-familiarity{border-top:.15rem solid var(--accent-2)}.discover-tuning-adventurousness{border-top:.15rem solid var(--accent)}.discover-tuning-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.discover-tuning-heading label{margin:0;color:var(--text);font-size:.9rem;font-weight:600}.discover-tuning-heading output{color:var(--accent-2);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600}.discover-tuning-adventurousness output{color:var(--accent)}.discover-tuning-description{min-height:2.3em;margin:.3rem 0 .65rem;line-height:1.35}.discover-tuning-control input[type=range]{width:100%;max-width:none;height:1.2rem;padding:0;border:0;background:transparent;accent-color:var(--accent)}.discover-tuning-familiarity input[type=range]{accent-color:var(--accent-2)}.discover-tuning-scale{display:flex;justify-content:space-between;gap:.5rem;margin-top:.35rem;color:var(--muted);font-size:.72rem;line-height:1.25}.discover-tuning-scale span{min-width:0}.discover-tuning-scale span:nth-child(2){text-align:center}.discover-tuning-scale span:last-child{text-align:right}.discover-tuning-save-note{margin:.75rem 0 0}.discover-tuning-save-note strong{color:var(--text);font-weight:600}.override-row{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;max-width:480px;margin:0 0 .6rem}.btn-override,.btn-revert{font-size:.78rem;padding:.18rem .55rem;border-radius:4px;background:var(--panel-2);color:var(--accent);border:1px solid var(--border);cursor:pointer;line-height:1.2}.btn-override:hover,.btn-revert:hover{background:var(--border);color:#fff}.client-header-controls{display:flex;align-items:center;gap:1.5rem;margin:.4rem 0 .8rem;flex-wrap:wrap}.client-toggle{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:.45rem!important;margin:0!important;cursor:pointer;font-size:.9rem;color:var(--text);-webkit-user-select:none;user-select:none}.client-priority{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--muted)}.priority-label{font-size:.85rem;color:var(--muted)}.priority-input{width:3.5rem!important;padding:.2rem .4rem!important;font-size:.85rem!important;text-align:center;border-radius:4px;height:auto!important}.hint{color:var(--muted);font-size:.8rem}a{color:var(--accent)}.empty{color:var(--muted);grid-column:1 / -1;padding:2rem;text-align:center}.now-playing{color:var(--accent-2);font-size:.78rem;min-height:1.4em;overflow:hidden;display:flex;align-items:center;gap:.4rem}.np-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.np-controls{display:none;gap:.25rem;align-items:center}.np-btn{padding:0 .45rem;font-size:.95rem;line-height:1.3;min-width:1.6rem}.np-count{color:var(--muted);font-size:.72rem}.preview-btn{min-width:2.6rem}.global-player{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(12rem,1.2fr) auto minmax(10rem,2fr) auto auto;align-items:center;gap:.75rem;padding:.55rem 1rem;padding-bottom:calc(.55rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--panel) 96%,#000);border-top:1px solid var(--border);box-shadow:0 -4px 18px #0003}.global-player-info{min-width:0;display:flex;align-items:center;gap:.65rem}.global-player-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.global-player-controls{display:flex;align-items:center;gap:.3rem}.player-control{min-width:2.25rem;padding:.3rem .55rem;display:inline-flex;align-items:center;justify-content:center;line-height:1}.global-player .player-control:not(.secondary),.global-player .player-control:not(.secondary):focus,.global-player .player-control:not(.secondary):active{background:var(--accent);color:#fff}.global-player .player-control:not(.secondary):hover:not(:disabled){filter:brightness(1.15)}.global-player .player-control:not(.secondary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.transport-icon{display:inline-block;vertical-align:middle;color:currentColor}.play-icon{width:0;height:0;margin-left:.08rem;border-top:.42rem solid transparent;border-bottom:.42rem solid transparent;border-left:.68rem solid currentColor}.pause-icon{width:.65rem;height:.82rem;border-radius:1px;background:linear-gradient(to right,currentColor 0 .22rem,transparent .22rem .43rem,currentColor .43rem 100%)}.player-close{min-width:1.7rem;padding:.2rem .35rem;background:transparent;color:var(--muted);border:1px solid transparent;font-size:1.2rem;line-height:1}.player-close:hover{color:var(--text);background:var(--panel-2);border-color:var(--border)}.global-player-seek{width:100%;height:1.1rem;padding:0;border:0;border-radius:0;background:transparent;appearance:none;-webkit-appearance:none}.global-player-seek::-webkit-slider-runnable-track{height:.25rem;border-radius:999px;background:linear-gradient(to right,var(--accent) 0 var(--seek-progress),var(--panel-2) var(--seek-progress) 100%)}.global-player-seek::-webkit-slider-thumb{width:.75rem;height:.75rem;margin-top:-.25rem;border:2px solid var(--panel);border-radius:50%;background:var(--accent);cursor:pointer;-webkit-appearance:none}.global-player-seek::-moz-range-track{height:.25rem;border-radius:999px;background:linear-gradient(to right,var(--accent) 0 var(--seek-progress),var(--panel-2) var(--seek-progress) 100%)}.global-player-seek::-moz-range-progress{height:.25rem;background:var(--accent)}.global-player-seek::-moz-range-thumb{width:.75rem;height:.75rem;border:2px solid var(--panel);border-radius:50%;background:var(--accent);cursor:pointer}.global-player-seek:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.global-player-time{color:var(--muted);font-size:.76rem;white-space:nowrap}.settings-save-bar{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.8rem 0;background:color-mix(in srgb,var(--bg) 94%,transparent);border-top:1px solid var(--border)}.settings-save-bar .status-line{margin:0}.library-radio-picker{flex:1;min-width:20rem}.library-radio-picker>.form-group{margin:0}.library-autocomplete{max-height:18rem;overflow-y:auto;margin-top:.45rem;padding:.35rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.library-result{display:flex;align-items:flex-start;gap:.6rem;flex-wrap:wrap;padding:.55rem;border-bottom:1px solid var(--border)}.library-result:last-child{border-bottom:0}.library-result-main{display:flex;flex-direction:column;gap:.12rem;flex:1;min-width:12rem}.library-result-main span{color:var(--text);font-size:.86rem}.library-result button{padding:.28rem .55rem;font-size:.78rem}.library-track-list{flex-basis:100%;display:grid;gap:.25rem;padding:.35rem .25rem 0}.library-track-option{flex-direction:row;align-items:center;margin:0;color:var(--text);font-size:.82rem}.library-selection{margin-top:.55rem;color:var(--muted);font-size:.8rem}.library-selection-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.library-selection-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .35rem .2rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.library-selection-chip button{padding:0 .25rem;border:0;background:transparent;font-size:1rem;line-height:1}.library-search-hint{margin:-.35rem 0 .8rem}.library-track-results{margin-top:1.5rem}.library-track-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.library-track-results-head h3{margin:0;font-size:1.05rem}.library-track-results-list{display:grid;gap:.45rem}.library-track-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.7rem .8rem;background:var(--panel);border:1px solid var(--border);border-radius:8px}.library-track-result-copy{display:grid;gap:.2rem;min-width:0}.library-track-result-artist{color:var(--muted);font-size:.8rem}.library-track-result-title{font-size:.95rem;line-height:1.2}.library-track-album{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;max-width:100%;padding:.25rem .45rem;background:var(--surface-info);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:5px;color:var(--accent);font-size:.78rem;text-align:left}.library-track-album:hover{filter:none;border-color:var(--accent)}.library-track-album:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library-track-album-label{flex:0 0 auto;font-size:.64rem;font-weight:700;letter-spacing:.04em}.library-track-album span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.card-cover-slot{width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--panel-2);flex:0 0 auto}.card-cover{width:100%;height:100%;object-fit:cover;display:block;background:var(--panel-2)}.cover-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--muted);background:linear-gradient(145deg,var(--panel-2),var(--panel))}.cover-placeholder span{font-size:2rem;color:var(--border)}.cover-placeholder small{font-size:.72rem}.badge-album{color:var(--accent);border-color:var(--accent)}.badge-song{color:#e8a13c;border-color:#e8a13c}.from-album{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reason{color:var(--accent-2);font-size:.78rem;min-height:1.05rem}.reason-label{color:var(--text);font-weight:600}.reason-details{color:var(--muted);font-size:.74rem}.reason-details summary{cursor:pointer}.reason-details ul{margin:.2rem 0 0 1rem;padding:0}.card-action-error{display:flex;gap:.35rem .6rem;flex-wrap:wrap;color:var(--danger);font-size:.76rem;line-height:1.3}.discover-card{padding:.75rem;gap:.3rem}.discover-card .reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.1em}.discover-card .reason-details{margin-top:-.1rem}.discover-card .meta .source{display:none}.discover-card .feedback-actions{margin-top:.1rem}.radio-controls{display:flex;align-items:flex-start;gap:.8rem;flex-wrap:wrap;padding:1rem;margin-bottom:1.5rem;background:var(--panel);border:1px solid var(--border);border-radius:10px}.radio-controls .form-group{margin:0;min-width:11rem}.radio-controls .radio-seeds{flex:1;min-width:18rem}.radio-controls .request-btn{align-self:flex-start;margin-top:1.6rem;margin-bottom:0}.radio-now{max-width:28rem}.radio-current{display:flex;flex-direction:column;gap:.7rem}.radio-actions{display:flex;justify-content:flex-end}.radio-upcoming{margin-top:1.5rem}.radio-upcoming h3{font-size:1rem;margin:0 0 .5rem}.radio-upcoming-item{display:flex;flex-direction:column;gap:.15rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.chart-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.25rem}.chart-radio-link{display:inline-flex;align-items:center;padding:.2rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text);font-size:.76rem;text-decoration:none}.chart-radio-link:hover{border-color:var(--accent);color:#fff}.chart-song-item{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.chart-song-actions{display:inline-flex;flex-wrap:wrap;gap:.35rem}.indexer-list{display:flex;flex-direction:column;gap:.2rem;max-height:14rem;overflow-y:auto;margin-top:.5rem}.indexer-list .check span{color:var(--text);font-size:.88rem}.progress-bar{background:var(--panel-2);border-radius:4px;height:8px;width:120px;overflow:hidden}.progress-bar>div{background:var(--accent);height:100%}.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.update-modal{z-index:100}.search-override-modal{z-index:90}.update-modal-box{max-width:30rem}.modal-box{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:640px;width:90%;max-height:80vh;overflow:auto;position:relative}.modal-box .close{position:absolute;top:.6rem;right:.6rem}#detail-tracks li{padding:.2rem 0;font-size:.88rem}.move-rename-modal{max-width:900px}.wizard-steps{display:flex;gap:.4rem;margin:.8rem 0 1.2rem;color:var(--muted);font-size:.8rem}.wizard-steps span{padding:.3rem .6rem;border-bottom:2px solid var(--border)}.wizard-steps span.active{color:var(--accent);border-color:var(--accent)}.move-rename-modal label{color:var(--muted)}.move-rename-modal label input,.move-rename-modal label select{width:100%;max-width:none}.move-rename-modal label.move-option{flex-direction:row;align-items:center;gap:.55rem;cursor:pointer;color:var(--text)}.move-rename-modal label.move-option input{width:auto}.pattern-tokens{margin:-.2rem 0 .8rem}.pattern-tokens code,.move-rename-modal label code{color:var(--text);background:var(--panel-2);padding:.1rem .25rem;border-radius:3px}.wizard-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.search-override-modal-box{max-width:520px}.search-override-form{display:grid;gap:.5rem}.search-override-form input{width:100%;max-width:none}.search-override-metadata{display:grid;gap:.45rem;margin:0;padding:.65rem .75rem .75rem;border:1px solid var(--border);border-radius:8px}.search-override-metadata legend{padding:0 .25rem;color:var(--text);font-weight:600}.search-override-metadata .hint{margin:0 0 .15rem;line-height:1.35}.search-override-suggestion{display:grid;gap:.25rem;padding:.65rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.search-override-suggestion-label{color:var(--muted);font-size:.76rem}.search-override-suggestion code{color:var(--text);overflow-wrap:anywhere}.search-override-hint{margin:.1rem 0 0}.search-override-skip{margin:.35rem 0 0;padding:.65rem .75rem;background:#7c5cff14;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:8px}.search-override-skip .hint{margin:0;line-height:1.35}.wizard-error{color:var(--danger);background:#ff6b6b14;border:1px solid var(--danger);border-radius:6px;padding:.55rem .7rem;margin-top:.8rem;font-size:.85rem}.wizard-warning{color:#e8a13c}.missing-covers-modal{max-width:520px}.cover-job-summary{display:grid;gap:.25rem;margin:.8rem 0 1rem;color:var(--muted)}.cover-job-summary strong{color:var(--text)}.cover-job-summary code{overflow-wrap:anywhere;color:var(--text);font-size:.8rem}.cover-option{margin-top:1rem}.playlist-import-shell{max-width:1080px}.playlist-import-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,30rem);gap:1.5rem;align-items:stretch;margin:1rem 0 1.5rem}.playlist-import-intro{display:flex;flex-direction:column;justify-content:center;min-width:0}.playlist-import-intro h2{margin:.15rem 0 .45rem}.playlist-import-intro p{max-width:38rem;margin:0;line-height:1.5}.playlist-import-kicker{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.playlist-file-picker{position:relative;display:flex;align-items:center;gap:.8rem;min-width:0;padding:.85rem 1rem;background:linear-gradient(135deg,rgba(124,92,255,.16),var(--panel));border:1px dashed color-mix(in srgb,var(--accent) 70%,var(--border));border-radius:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.playlist-file-picker:hover,.playlist-file-picker:focus-visible,.playlist-file-picker.is-dragging{border-color:var(--accent);background:linear-gradient(135deg,rgba(124,92,255,.24),var(--panel));outline:none}.playlist-file-picker.is-dragging{transform:translateY(-1px)}.playlist-file-picker.has-file{border-style:solid}.playlist-file-picker input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.playlist-file-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.25rem;width:2.25rem;height:2.25rem;border-radius:9px;background:var(--accent);color:#fff;font-size:1.35rem;font-weight:700;line-height:1}.playlist-file-copy{display:grid;gap:.15rem;min-width:0;flex:1}.playlist-file-copy strong,.playlist-file-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-file-copy strong{color:var(--text);font-size:.88rem}.playlist-file-copy span{color:var(--muted);font-size:.74rem}.playlist-file-picker-button{position:relative;flex:0 0 auto;padding:.45rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text);font-size:.85rem;white-space:nowrap}.playlist-import-cover-status{margin:-.6rem 0 .7rem}.playlist-import-album-card{width:min(100%,320px);max-width:320px}.playlist-import-album-card .meta .badge-album{display:none}.playlist-import-track-card{width:100%;max-width:none}.playlist-import-album-card{margin:.5rem 0 1rem}.playlist-import-track-list{display:grid;gap:0;margin-left:1.5rem;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.playlist-import-track-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .7rem;background:var(--panel-2);border-bottom:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.playlist-import-track-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;margin:0;padding:0 .7rem 0 .55rem;border-bottom:1px solid var(--border)}.playlist-import-track-row:last-child{border-bottom:0}.playlist-import-track-row>.check{flex:0 0 auto;padding-top:0}.playlist-import-track-content{flex:1 1 auto;min-width:0}.playlist-import-track-card>.card,.playlist-import-album-card>.card{width:100%}.playlist-import-album-label{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.playlist-import-album-label>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-track-card{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.9rem;min-height:3.2rem;padding:.55rem 0;background:transparent;border:0;border-radius:0}.compact-track-info{display:flex;align-items:center;gap:.45rem;min-width:0;flex:1 1 auto}.compact-track-info .artist,.compact-track-info .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-track-info .artist{flex:0 1 12rem}.compact-track-info .title{min-width:0;flex:1 1 auto;min-height:0;-webkit-line-clamp:1}.compact-track-separator{color:var(--border);flex:0 0 auto}.compact-track-actions{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}.compact-track-actions>.preview-btn,.compact-track-actions>.yt-btn,.compact-track-actions>.request-btn{height:2.35rem;min-height:2.35rem}.compact-track-actions .request-btn{white-space:nowrap}.compact-track-card.has-action-error{flex-wrap:wrap}.compact-track-card .card-action-error{flex:1 0 100%;margin:0}.playlist-import-modal{z-index:80;padding:1rem}.playlist-mapping-modal{width:min(760px,96vw);max-width:760px}.playlist-mapping-modal h3{margin:.2rem 0 .45rem}.playlist-mapping-modal>p{line-height:1.45}.playlist-mapping-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;margin:1rem 0 1.2rem}.playlist-mapping-control{min-width:0;margin:0}.playlist-mapping-control select{width:100%;max-width:none}.playlist-mapping-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.playlist-mapping-label .badge{color:var(--muted);font-size:.65rem;font-weight:500}.playlist-mapping-preview{display:grid;gap:.35rem;margin:.5rem 0 .8rem}.playlist-mapping-preview>strong{color:var(--text)}.playlist-example-table{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.playlist-example-row{display:grid;grid-template-columns:2rem minmax(10rem,1.35fr) minmax(9rem,1.1fr) minmax(9rem,1.2fr) minmax(5rem,.7fr);gap:.65rem;align-items:center;min-width:38rem;padding:.55rem .7rem;border-bottom:1px solid var(--border);color:var(--text);font-size:.8rem}.playlist-example-row:last-child{border-bottom:0}.playlist-example-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-example-header{background:var(--panel-2);color:var(--muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.playlist-example-empty{padding:.8rem;color:var(--muted);font-size:.8rem}.playlist-mapping-warning{margin:.7rem 0 0;color:var(--danger);font-size:.82rem}.playlist-mapping-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.1rem}.preview-summary{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);margin:.7rem 0}.preview-summary strong{color:var(--text)}.preview-list{max-height:48vh;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.move-preview-row{display:flex;flex-direction:row;align-items:flex-start;gap:.6rem;margin:0;padding:.65rem .7rem;border-bottom:1px solid var(--border);color:var(--text)!important;cursor:pointer}.move-preview-row:last-child{border-bottom:0}.move-preview-row.invalid{cursor:not-allowed;opacity:.7}.move-preview-paths{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:.45rem;align-items:center;width:100%;min-width:0}.move-preview-kind{color:var(--muted);font-size:.7rem;text-transform:uppercase;white-space:nowrap}.move-preview-paths code,.move-current code{overflow-wrap:anywhere;white-space:normal;color:var(--text);font-size:.78rem}.move-arrow{color:var(--accent);text-align:center}.move-preview-problem{grid-column:1 / -1;color:var(--danger);font-size:.75rem}.move-progress{width:100%;margin-top:1rem}.progress-label{color:var(--muted);font-size:.8rem;margin-top:.4rem}.move-current{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem;align-items:center;margin-top:1rem;padding:.6rem;background:var(--bg);border:1px solid var(--border);border-radius:6px}.auth-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:2rem 1rem}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:680px;width:100%;margin:1.5rem auto;box-shadow:0 8px 24px #00000059}.auth-header{margin-bottom:1.5rem;text-align:center}.auth-header h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--text)}.auth-subtitle{color:var(--muted);font-size:.9rem;margin:0;line-height:1.4}.form-fieldset{border:1px solid var(--border);border-radius:8px;padding:1.2rem;margin-bottom:1.5rem;background:var(--panel-2)}.form-fieldset legend{font-weight:600;font-size:.95rem;color:var(--accent);padding:0 .5rem}.form-row{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.flex-1{flex:1;min-width:220px}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.form-group label{color:var(--muted);font-size:.85rem;margin:0}.form-group input,.form-group select,.form-select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.55rem .75rem;font-size:.9rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.client-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.client-box-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.client-box-header .checkbox-label{flex:1 1 12rem;min-width:0;margin:0}.client-box-header .checkbox-label input{flex:0 0 auto}.client-box-header .checkbox-label span{min-width:0;overflow-wrap:anywhere}.client-box-header .btn{flex:0 0 auto}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:.6rem;cursor:pointer;color:var(--text);font-size:.95rem;-webkit-user-select:none;user-select:none}.font-bold{font-weight:600}.client-fields{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.setup-actions{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.setup-actions>:last-child{margin-left:auto!important}.btn{border-radius:6px;padding:.55rem 1.1rem;font-size:.92rem;font-weight:500;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:filter .15s ease,background .15s ease}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:#ff6b6b1a}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.25rem;font-size:.88rem;line-height:1.4}.alert-error{background:#ff6b6b26;border:1px solid var(--danger);color:#ff9b9b}.alert-success{background:#4ecd9726;border:1px solid var(--accent-2);color:#7ef0be}.alert-info{background:#7c5cff26;border:1px solid var(--accent);color:#c4b5fd}.error-text{color:var(--danger);font-size:.82rem;margin:.25rem 0 0}.subdued{color:var(--muted);font-size:.88rem}.header-right{margin-left:auto;display:flex;align-items:center;gap:1rem}.user-badge{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-admin{background:#7c5cff40;color:#c4b5fd;border:1px solid var(--accent)}.badge-user{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.tastes-page .toolbar{align-items:flex-start;margin-top:.25rem;margin-bottom:1.35rem}.tastes-page-heading{display:grid;gap:.28rem;min-width:0}.tastes-page-heading h2{margin:0;font-size:clamp(1.65rem,2.6vw,2.15rem);letter-spacing:-.035em}.tastes-page-heading .subdued{max-width:42rem;line-height:1.45}.tastes-feedback-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:0 .1rem .85rem;border-bottom:1px solid var(--border)}.tastes-feedback-intro h3{margin:.2rem 0 .25rem;font-size:1.2rem;letter-spacing:-.02em}.tastes-feedback-intro p{margin:0;line-height:1.4}.tastes-feedback-count{flex:0 0 auto;margin:0;white-space:nowrap}.tastes-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.tastes-section{min-width:0;margin:0;padding:.8rem;background:#1c1f27b8;border:1px solid var(--border);border-radius:12px}.tastes-section-head{align-items:flex-start;gap:.7rem;margin-bottom:.65rem}.tastes-section-heading{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.tastes-section-heading>div{min-width:0}.tastes-section-heading h3{margin:.05rem 0 .18rem;font-size:1rem;letter-spacing:-.01em}.tastes-section-heading .subdued{max-width:34rem;font-size:.78rem;line-height:1.35}.tastes-section-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;color:var(--accent);background:#7c5cff1f;border:1px solid rgba(124,92,255,.35);border-radius:8px;font-size:.9rem}.tastes-section-liked .tastes-section-icon,.tastes-section-saved .tastes-section-icon{color:var(--accent-2);background:#4ecd971a;border-color:#4ecd9759}.tastes-count{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:1.7rem;height:1.7rem;padding:.1rem .45rem;color:var(--text);font-variant-numeric:tabular-nums}.tastes-section .cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.tastes-card{min-width:0;padding:.65rem;border-radius:9px;background:linear-gradient(145deg,#232733eb,#1c1f27f5);gap:.25rem}.tastes-card-like,.tastes-card-save-for-later{border-top:2px solid var(--accent-2)}.tastes-card-not-for-me,.tastes-card-hide-artist,.tastes-card-already-heard{border-top:2px solid rgba(124,92,255,.65)}.tastes-card .title{min-height:0;font-size:.9rem}.tastes-card .artist{font-size:.76rem}.tastes-card .meta{gap:.3rem}.tastes-card .meta .badge{padding:.08rem .4rem;font-size:.64rem}.tastes-card-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;min-width:0;margin-top:.25rem;padding-top:.4rem;border-top:1px solid rgba(46,51,66,.75)}.tastes-card-updated{min-width:0;margin:0;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tastes-card-actions{flex:0 0 auto;align-items:center;justify-content:flex-end;flex-wrap:nowrap;margin:0!important}.tastes-card-action{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-height:1.75rem;padding:.22rem .45rem;box-sizing:border-box;border-radius:6px;font-size:.72rem;line-height:1;white-space:nowrap}.tastes-card-action-icon{display:block;width:.9rem;height:.9rem;flex:0 0 .9rem}.tastes-card-actions .table-link{border:1px solid var(--border);background:var(--panel-2);color:var(--accent);text-decoration:none}.tastes-card-actions .table-link:hover{border-color:var(--accent);background:#7c5cff1f}.tastes-card-actions .danger{margin-left:0}.tastes-empty{display:flex;align-items:flex-start;gap:.55rem;min-height:3.5rem;padding:.85rem;text-align:left;background:#12141a59;border:1px dashed var(--border);border-radius:8px;font-size:.8rem;line-height:1.4}.tastes-empty:before{content:"—";color:var(--accent);font-weight:700}.status-active{background:#4ecd9733;color:#4ecd97}.status-used{background:#8b93a733;color:var(--muted)}.youtube-music-connection{display:block;padding:0;overflow:hidden}.youtube-music-connection>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;cursor:pointer;list-style-position:inside}.youtube-music-connection>summary:hover,.youtube-music-legacy>summary:hover{background:#7c5cff14}.youtube-music-connection-summary-title{font-weight:600}.youtube-music-connection-summary-status,.youtube-music-option-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.youtube-music-connection-summary-status{flex-wrap:wrap;justify-content:flex-end}.youtube-music-connection-body{display:grid;gap:.8rem;padding:0 1rem 1rem}.youtube-music-connection-intro{margin:0;line-height:1.45}.youtube-music-connection-grid{display:grid;gap:.8rem;align-items:start}.youtube-music-connection-option,.youtube-music-legacy{min-width:0;padding:.8rem;background:#23273373;border:1px solid var(--border);border-radius:8px}.youtube-music-option-heading h3,.youtube-music-option-title{margin:0;font-size:.9rem}.youtube-music-connection-option>.hint,.youtube-music-legacy-content>.hint{margin:.5rem 0 .7rem;line-height:1.4}.youtube-music-connection-actions{margin-top:.7rem}.youtube-music-connection-actions button{font-size:.82rem}.youtube-music-message{display:block;margin:.55rem 0 0;line-height:1.4}.youtube-music-warning{display:block;margin:.7rem 0 0;padding:.6rem .7rem;background:#f6c4531a;border:1px solid rgba(246,196,83,.55);border-radius:7px;color:#f6d777;font-size:.78rem;line-height:1.45}.youtube-music-warning:before{content:"⚠ ";font-weight:700}.youtube-music-warning-badge{background:#f6c45329;color:#f6d777}.youtube-music-legacy{padding:0}.youtube-music-legacy>summary{padding:.8rem;cursor:pointer;list-style-position:inside}.youtube-music-legacy-content{padding:0 .8rem .8rem}.youtube-music-legacy-content textarea{min-height:5rem;width:100%}.youtube-music-player{margin:0 0 1rem;scroll-margin-top:1rem}.youtube-music-player-host{width:100%;background:#000}.youtube-music-player-host iframe{display:block;width:100%;max-width:100%}.youtube-music-search{margin-top:1rem;padding:1rem}.youtube-music-search .toolbar{margin:0 0 .35rem}.youtube-music-search-intro{margin:0 0 .8rem;line-height:1.4}.youtube-music-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}.youtube-music-search-form input{min-width:0;width:100%}.youtube-music-search-form button{white-space:nowrap}.youtube-music-search-status{margin:.55rem 0 .7rem}.youtube-music-search-list{display:grid;max-height:34rem;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:#12141a47}.youtube-music-search-result{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;padding:.55rem .65rem;border-bottom:1px solid var(--border)}.youtube-music-search-result:last-child{border-bottom:0}.youtube-music-search-result:hover{background:#7c5cff12}.youtube-music-search-result-cover{width:3rem;height:3rem;object-fit:cover;border-radius:5px;background:var(--panel-2)}.youtube-music-search-result-cover-empty{display:grid;place-items:center;color:var(--muted);font-size:1.2rem}.youtube-music-search-result-copy{display:grid;gap:.15rem;min-width:0}.youtube-music-search-result-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.youtube-music-search-result-meta{overflow:hidden;color:var(--muted);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.youtube-music-search-result-actions{display:flex;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.youtube-music-search-action{padding:.32rem .55rem;font-size:.74rem;white-space:nowrap}.youtube-music-icon-action{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;min-width:2.35rem;min-height:2.25rem;padding:.4rem}.youtube-music-icon-action .transport-icon{margin:0}.radio-icon{display:block;width:1.05rem;height:1.05rem}.youtube-music-playlists{margin:1rem 0}.youtube-music-playlists .toolbar{margin-bottom:.35rem}.youtube-music-playlists-intro{margin:0 0 .7rem}.youtube-music-playlist-status{margin:.35rem 0 .55rem}.youtube-music-playlist-list{max-height:32rem;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.youtube-music-playlist-row{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;padding:.5rem .65rem;border-bottom:1px solid var(--border);transition:background .15s}.youtube-music-playlist-row:last-child{border-bottom:0}.youtube-music-playlist-row:hover{background:#7c5cff12}.youtube-music-empty-playlists{display:grid;gap:.25rem;padding:1rem}.youtube-music-playlist-cover{width:3rem;height:3rem;object-fit:cover;border-radius:5px;background:var(--panel-2)}.youtube-music-playlist-cover-empty{display:grid;place-items:center;color:var(--muted);font-size:1.2rem}.youtube-music-playlist-copy{display:grid;gap:.15rem;min-width:0}.youtube-music-playlist-copy strong,.youtube-music-playlist-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-music-playlist-meta{color:var(--muted);font-size:.74rem}.youtube-music-playlist-action{padding:.32rem .6rem;font-size:.74rem}.youtube-music-layout-editor{margin-top:1rem;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:#1c1f2738}.youtube-music-layout-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.youtube-music-layout-editor-header h4{margin:0 0 .25rem}.youtube-music-layout-editor-header p{margin:0;max-width:42rem}.youtube-music-layout-editor-actions{margin-bottom:.65rem}.youtube-music-layout-list{display:grid;gap:.4rem}.youtube-music-layout-row{display:grid;grid-template-columns:minmax(10rem,1fr) auto auto auto;align-items:center;gap:.75rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:7px;background:#23273359}.youtube-music-layout-row-copy{display:grid;gap:.15rem;min-width:0}.youtube-music-layout-row-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-music-layout-check{margin:0;white-space:nowrap}.youtube-music-layout-move{gap:.25rem}.youtube-music-layout-move button{padding:.25rem .45rem;line-height:1}.youtube-music-layout-save{margin-top:.7rem}.youtube-music-playlist-settings{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.youtube-music-playlist-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.youtube-music-playlist-settings-header h4{margin:0 0 .25rem}.youtube-music-playlist-settings-header p{margin:0}.youtube-music-playlist-settings-count{white-space:nowrap}.youtube-music-playlist-settings-list{display:grid;gap:.4rem;max-height:24rem;overflow-y:auto}.youtube-music-playlist-setting{display:grid;grid-template-columns:auto 2.4rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:7px;background:#23273359}.youtube-music-playlist-setting:hover{border-color:var(--accent);background:#7c5cff14}.youtube-music-playlist-setting input{width:auto;margin:0}.youtube-music-playlist-setting img,.youtube-music-playlist-setting-cover-empty{width:2.4rem;height:2.4rem;border-radius:5px;object-fit:cover;background:var(--panel-2)}.youtube-music-playlist-setting-cover-empty{display:grid;place-items:center;color:var(--muted)}.youtube-music-playlist-setting-copy{display:grid;gap:.15rem;min-width:0}.youtube-music-playlist-setting-copy strong,.youtube-music-playlist-setting-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-music-playlist-setting-copy small{color:var(--muted)}.youtube-music-shelf-summary:hover{background:#7c5cff14}.youtube-music-shelf{margin:0 0 1.35rem;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#1c1f2752}.youtube-music-shelf-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;cursor:pointer;list-style-position:inside}.youtube-music-shelf-summary h3{display:inline;margin:0;font-size:1.02rem}.youtube-music-shelf-count{color:var(--muted);font-size:.73rem;white-space:nowrap}.youtube-music-shelf>.cards{padding:0 .85rem .85rem}.youtube-music-shelf>.cards>div{display:flex;min-width:0}.youtube-music-shelf>.cards>div>.card{width:100%;height:100%;min-width:0;flex:1 1 auto;box-sizing:border-box}.youtube-music-empty-shelves{display:grid;gap:.25rem;margin:.5rem 0 1rem;padding:1rem}.youtube-music-layout-row:hover{border-color:var(--accent);background:#7c5cff14}.status-expired,.status-revoked{background:#ff6b6b33;color:var(--danger)}.plugin-capabilities{display:flex;flex-wrap:wrap;gap:.25rem;max-width:16rem}.plugin-capability{padding:.1rem .4rem;font-size:.68rem;line-height:1.25;white-space:nowrap}.admin-table{width:100%;border-collapse:collapse;margin-top:.75rem}.admin-table th,.admin-table td{padding:.65rem .85rem;border-bottom:1px solid var(--border);text-align:left;font-size:.88rem}.admin-table th{background:var(--panel-2);color:var(--muted)}.artist-follower-page{max-width:1040px}.artist-follower-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px solid var(--border)}.artist-follower-hero-copy{min-width:0}.artist-follower-eyebrow{display:block;color:#b9aaff;font-size:.68rem;font-weight:700;letter-spacing:.13em;line-height:1.2}.artist-follower-hero h2{margin:0 0 .45rem;font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.025em}.artist-follower-intro{max-width:42rem;margin:0;color:var(--text);font-size:.95rem;line-height:1.55}.artist-follower-source-note{margin:.65rem 0 0;color:var(--muted);font-size:.78rem}.artist-follower-hero-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:.7rem;flex:0 0 auto}.artist-follower-status{margin:.75rem .25rem;color:var(--muted)}.artist-follower-dashboard{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.75fr);gap:1rem;align-items:start}.artist-follower-followed-panel,.artist-follower-history-panel{min-width:0}.artist-follower-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.35rem 0 .7rem}.artist-follower-section-heading h3{margin:.2rem 0 0;font-size:1.2rem;letter-spacing:-.015em}.artist-follower-followed-help{max-width:38rem;margin:.25rem 0 0;line-height:1.35}.artist-follower-section-count{padding:.28rem .55rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.7rem;white-space:nowrap}.artist-follower-list{display:grid;gap:.75rem}.artist-follower-empty{display:grid;justify-items:center;gap:.7rem;min-height:15.5rem;padding:3rem 1.5rem;background:linear-gradient(180deg,#232733a3,#1c1f2773);border:1px dashed #454c61;border-radius:14px;text-align:center}.artist-follower-empty:before{content:"♪";display:grid;place-items:center;width:3rem;height:3rem;border:1px solid rgba(124,92,255,.48);border-radius:50%;background:#7c5cff1f;color:#b9aaff;font-size:1.4rem}.artist-follower-empty p{max-width:26rem;margin:0;line-height:1.5}.artist-follower-side-panels{display:grid;gap:1rem}.artist-follower-panel{margin:0;padding:1rem;border-radius:14px}.artist-follower-panel-heading{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.9rem}.artist-follower-panel-heading h3{margin:0;font-size:1rem}.artist-follower-panel-heading .hint{margin:.25rem 0 0;line-height:1.4}.artist-follower-panel-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex:0 0 auto;border:1px solid rgba(124,92,255,.4);border-radius:8px;background:#7c5cff1f;color:#b9aaff;font-size:.9rem}.artist-follower-settings-form{align-items:flex-end}.artist-follower-settings-form label{flex:1 1 8rem;margin:0}.artist-follower-settings-form input{width:100%}.artist-follower-settings-form button{white-space:nowrap}.artist-follower-sync-panel{min-height:12rem}.artist-follower-sync-actions{margin-bottom:.75rem}.artist-follower-sync-details{min-width:0}.artist-follower-sync-details p{margin:.5rem 0;line-height:1.45}.artist-follower-sync-details ul{max-height:10rem;overflow:auto;margin:.45rem 0 0;padding-left:1.15rem;color:var(--muted);font-size:.8rem}.artist-follower-history-panel{margin-top:1.5rem}.artist-follower-history-list{display:grid;gap:.5rem}.artist-follower-history-entry{margin:0;padding:0;overflow:hidden}.artist-follower-history-entry summary{padding:.85rem 1rem;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;list-style-position:inside}.artist-follower-history-entry summary:hover{background:#7c5cff14}.artist-follower-history-entry>:not(summary){margin-left:1rem;margin-right:1rem}.artist-follower-history-entry>p:first-of-type{margin-top:0;padding-top:.2rem}.artist-follower-history-entry>ul,.artist-follower-history-entry>div{padding-bottom:.8rem}.artist-follower-artist-card{gap:.85rem;padding:1rem}.artist-follower-artist-header,.artist-follower-artist-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.artist-follower-artist-name{display:block;font-size:1.05rem}.artist-follower-artist-title-row{display:flex;align-items:center;gap:.35rem;min-width:0}.artist-follower-artist-title-row .artist-follower-artist-name{min-width:0;overflow-wrap:anywhere}.artist-follower-verified-badge{display:inline-flex;margin-top:.35rem;padding:.18rem .45rem;border:1px solid rgba(78,205,151,.28);border-radius:999px;color:var(--accent-2);font-size:.67rem;font-weight:600}.artist-follower-musicbrainz-link{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:0 0 auto;width:1.05rem;height:1.05rem;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text);vertical-align:middle;font-weight:600;text-decoration:none;white-space:nowrap}.artist-follower-musicbrainz-link:hover,.artist-follower-musicbrainz-link:focus-visible{background:#7c5cff29;color:#fff;outline:none}.artist-follower-musicbrainz-icon{display:block;width:.82rem;height:.92rem;object-fit:contain}.artist-follower-external-arrow{position:absolute;top:-.18rem;right:-.06rem;color:#d2c9ff;font-size:.68rem;font-weight:800;line-height:1;text-shadow:0 0 2px var(--panel-2)}.artist-follower-artist-options{margin:0;padding:.75rem;background:#12141a3d}.artist-follower-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.08rem .7rem}.artist-follower-option-grid .checkbox-label{display:grid;grid-template-columns:1rem minmax(0,1fr);align-items:start;column-gap:.6rem;min-width:0;padding:.18rem .35rem;border-radius:6px;font-size:.78rem}.artist-follower-option-grid .checkbox-label:hover{background:var(--panel-2)}.artist-follower-option-grid .checkbox-label input{width:1rem;max-width:none;height:1rem;margin:.18rem 0 0}.artist-follower-option-grid .checkbox-label .artist-follower-checkbox-title{min-width:0;line-height:1.25}.artist-follower-cutoff-field{margin:0;flex:1 1 11rem}.artist-follower-cutoff-field input{width:100%}.artist-follower-artist-footer button{align-self:flex-end}.artist-follower-wizard-modal{z-index:120;align-items:flex-start;padding:clamp(1.5rem,8vh,5rem) 1rem 1.5rem;background:#05060ac7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.artist-follower-wizard{width:min(760px,100%);max-width:760px;max-height:calc(100vh - 3rem);padding:1.5rem;border-color:#7c5cff66;box-shadow:0 1.5rem 4rem #0000006b}.artist-follower-wizard-header{display:flex;justify-content:space-between;gap:1rem;padding-right:2.25rem}.artist-follower-wizard-header h3{margin:.35rem 0 .2rem;font-size:1.35rem}.artist-follower-wizard-header .hint{margin:0;line-height:1.4}.artist-follower-wizard .close{width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:1.1rem}.artist-follower-wizard .close:hover{border-color:var(--accent);color:var(--text)}.artist-follower-step-indicator{margin:1.2rem 0 0;padding:.55rem .7rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:#b9aaff;font-size:.75rem;font-weight:600;letter-spacing:.02em}.artist-follower-wizard-body{padding-top:.2rem}.artist-follower-search-hint{display:flex;align-items:flex-start;gap:.55rem;margin:.9rem 0;padding:.7rem .8rem;border:1px solid rgba(124,92,255,.22);border-radius:9px;background:#7c5cff12}.artist-follower-search-hint p{margin:0;line-height:1.45}.artist-follower-search-hint-icon{color:#b9aaff;font-size:1rem;line-height:1.15}.artist-follower-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem}.artist-follower-search-field{margin:0;color:var(--muted)}.artist-follower-search-field input{width:100%;min-height:2.75rem}.artist-follower-search-button{min-height:2.75rem;padding-inline:1.1rem}.artist-follower-search-results{margin-top:1.15rem}.artist-follower-results-intro{margin:0 0 .55rem;color:var(--muted);font-size:.78rem}.artist-follower-results-scroll{max-height:min(26rem,42vh);overflow:auto;padding:.1rem .25rem .2rem 0}.artist-follower-results-list{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.artist-follower-result{display:block;margin:0;padding:.7rem .8rem;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);color:var(--text);cursor:pointer;outline:none}.artist-follower-result:hover,.artist-follower-result:focus-visible{border-color:#7c5cffb8;background:#7c5cff1c;filter:none}.artist-follower-result[aria-selected=true]{border-color:var(--accent);background:#7c5cff2e;box-shadow:0 0 0 1px #7c5cff2e}.artist-follower-result-copy{display:grid;gap:.18rem;min-width:0}.artist-follower-result-name-line{display:inline-flex;align-items:center;gap:.2rem;min-width:0;max-width:100%}.artist-follower-result-name-line strong{overflow-wrap:anywhere}.artist-follower-result-meta{color:var(--muted);font-size:.75rem}.artist-follower-selected-artist{display:flex;align-items:flex-start;gap:.6rem;margin-top:.9rem;padding:.7rem .8rem;border:1px solid rgba(78,205,151,.3);border-radius:9px;background:#4ecd9714}.artist-follower-selected-copy{display:grid;gap:.2rem;min-width:0;flex:1 1 auto}.artist-follower-selected-meta{color:var(--muted);font-size:.75rem}.artist-follower-selected-check{color:var(--accent-2);font-weight:700}.artist-follower-wizard-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:.9rem;border-top:1px solid var(--border)}.artist-follower-policy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0;padding:1rem .8rem .8rem}.artist-follower-policy-options legend{grid-column:1 / -1}.artist-follower-policy-options .checkbox-label{display:grid;grid-template-columns:1rem minmax(0,1fr);column-gap:.65rem;align-items:start;min-width:0;margin:0;padding:.7rem;border:1px solid var(--border);border-radius:8px;background:#2327338f}.artist-follower-policy-options .checkbox-label:hover{border-color:#505871}.artist-follower-policy-options .checkbox-label input{width:1rem;max-width:none;height:1rem;margin:.18rem 0 0}.artist-follower-checkbox-copy{display:grid;gap:.2rem;min-width:0}.artist-follower-checkbox-title{color:var(--text);line-height:1.25}.artist-follower-policy-options .checkbox-label .hint{line-height:1.35}.artist-follower-wizard-body>label{margin-top:1rem}.artist-follower-review-card{display:grid;gap:0;margin-top:1rem;padding:0;overflow:hidden}.artist-follower-review-card>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.7rem .85rem;border-bottom:1px solid var(--border)}.artist-follower-review-card>div:last-child{border-bottom:0}.artist-follower-review-card dt{color:var(--muted);font-size:.8rem}.artist-follower-review-card dd{margin:0;font-size:.82rem;font-weight:600}@media(max-width:800px){header{flex-wrap:wrap;gap:.6rem .9rem;padding:.8rem 1rem}header h1{font-size:1.15rem}.desktop-nav,header>.header-right,header>.desktop-theme-control{display:none}.mobile-header-controls{display:flex;align-items:center;gap:.5rem;order:2;margin-left:auto;min-width:0}.mobile-menu-button{display:inline-flex!important;order:initial;margin-left:0}header>.mobile-menu{display:block;order:3}main{padding:1rem .75rem calc(5rem + env(safe-area-inset-bottom))}.library-root-add-row{width:100%}.library-root-selection-list{grid-template-columns:1fr}.library-maintenance-row{align-items:stretch;flex-direction:column;gap:.6rem}.library-maintenance-row .row{width:100%}.library-maintenance-row button{flex:1 1 auto}.tastes-feedback-intro{align-items:flex-start;flex-direction:column}.tastes-groups,.tastes-section .cards{grid-template-columns:1fr}.search-row input{flex-basis:100%}.search-row select{flex:1}input,select,textarea,.form-group input,.form-group select,.form-select{font-size:16px}.desktop-download-table{display:none}.mobile-download-list{display:grid;gap:.7rem}.download-batch-toolbar{align-items:stretch;flex-direction:column}.download-selection-summary{margin-right:0}.download-batch-actions{width:100%}.download-batch-actions button{flex:1 1 calc(50% - .35rem)}.download-card-selection{flex:1}.download-card-heading-actions{flex-shrink:0}.table-responsive{overflow-x:visible!important}table.admin-table{min-width:0;display:block;background:transparent}.admin-table thead{display:none}.admin-table tbody{display:grid;gap:.7rem}.admin-table tr{display:grid;padding:.45rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:9px}.admin-table td{display:grid;grid-template-columns:minmax(7rem,36%) minmax(0,1fr);gap:.6rem;min-width:0;white-space:normal;overflow-wrap:anywhere;padding:.45rem 0}.admin-table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.76rem}.admin-table td[colspan]{display:block}.admin-table td[colspan]:before{display:none}.admin-table td:last-child{border-bottom:0}.admin-table td>code{white-space:normal;overflow-wrap:anywhere}.admin-table td>.row{justify-content:flex-start!important;flex-wrap:wrap!important}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.cards-row{gap:.6rem}.cards-row .card{flex:0 0 200px}.youtube-music-search-form{grid-template-columns:1fr}.youtube-music-search-form button{width:100%}.youtube-music-search-result{grid-template-columns:2.75rem minmax(0,1fr);align-items:start}.youtube-music-search-result-cover{width:2.75rem;height:2.75rem}.youtube-music-search-result-actions{grid-column:2;justify-content:flex-start}.youtube-music-playlist-row{grid-template-columns:2.75rem minmax(0,1fr);align-items:start}.youtube-music-playlist-cover{width:2.75rem;height:2.75rem}.youtube-music-playlist-action{grid-column:2;justify-self:start}.youtube-music-layout-editor-header{flex-direction:column}.youtube-music-layout-editor-header button{width:100%}.youtube-music-playlist-settings-header{flex-direction:column}.youtube-music-playlist-settings-count{white-space:normal}.youtube-music-layout-row{grid-template-columns:minmax(0,1fr) auto}.youtube-music-layout-check{justify-self:start}.youtube-music-layout-move{grid-column:2;grid-row:1 / span 2}.modal-box{padding:1rem;width:95%}.auth-card{padding:1.25rem}.client-header-controls{gap:.75rem}fieldset label input,fieldset label select{max-width:none}.discover-rail-card{grid-template-columns:1.8rem minmax(0,1fr)}.discover-rail-actions{grid-column:2;justify-content:flex-start}.discover-tuning-grid{grid-template-columns:1fr}.global-player{grid-template-columns:1fr auto auto;gap:.35rem .6rem;padding:.45rem .65rem;padding-bottom:calc(.45rem + env(safe-area-inset-bottom))}.global-player-info{grid-column:1}.global-player-controls{grid-column:2;grid-row:1}.player-close{grid-column:3;grid-row:1}.global-player-seek{grid-column:1 / span 2;grid-row:2}.global-player-time{grid-column:3;grid-row:2}.setup-actions{flex-direction:column;align-items:stretch;flex-wrap:nowrap}.setup-actions>button{width:100%}.setup-actions>:last-child{margin-left:0!important}.library-radio-picker{min-width:100%}.radio-controls{align-items:stretch}.radio-controls>.form-group,.radio-controls>.library-radio-picker,.radio-controls>.request-btn{width:100%;min-width:0}.radio-controls>.request-btn{margin-bottom:0}.radio-controls .request-btn{align-self:flex-start;margin-top:0}.download-setup-notice a{margin-left:0}.blacklist-add-panel .form-row{grid-template-columns:1fr;gap:.65rem}.blacklist-add-panel .form-group{width:100%}.blacklist-form-actions{justify-content:stretch}.blacklist-form-actions button{width:100%}.playlist-import-header{grid-template-columns:1fr;gap:1rem}.playlist-file-picker{min-height:4.5rem}.playlist-file-picker-button{padding:.4rem .65rem;font-size:.8rem}.playlist-import-track-list{margin-left:.5rem}.playlist-mapping-controls{grid-template-columns:1fr}.playlist-mapping-actions{flex-direction:column-reverse}.playlist-mapping-actions button{width:100%}}@media(max-width:480px){header{padding:.7rem .8rem}main{padding:.9rem .6rem calc(5rem + env(safe-area-inset-bottom))}}@media(max-width:720px){.artist-follower-hero{flex-direction:column;gap:1rem;padding:1.1rem}.artist-follower-hero-actions{align-items:stretch}.artist-follower-hero-actions .row>*{flex:1 1 auto}.artist-follower-dashboard{grid-template-columns:1fr}.artist-follower-section-heading{align-items:flex-start}.artist-follower-section-count{display:none}.artist-follower-option-grid,.artist-follower-policy-options{grid-template-columns:1fr}.artist-follower-policy-options legend{grid-column:auto}.artist-follower-search-form{grid-template-columns:1fr}.artist-follower-search-button{width:100%}.artist-follower-wizard{padding:1rem}.artist-follower-wizard-actions{flex-wrap:wrap}.artist-follower-wizard-actions button{flex:1 1 auto}}.desktop-theme-control{display:flex;align-items:center;flex:0 0 auto;min-width:0}.mobile-header-controls{display:none}.theme-selector{position:relative;display:inline-flex;align-items:center;min-width:0;width:auto;margin:0;color:var(--muted);white-space:nowrap;z-index:21}.theme-selector-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.25rem;min-width:2.25rem;gap:0;height:2.25rem;margin:0;padding:.45rem;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;line-height:1}.theme-selector-trigger:hover{filter:brightness(1.12)}.theme-selector-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-selector-trigger[aria-expanded=true]{background:var(--surface-selection);border-color:var(--accent);color:var(--text)}.theme-selector-icon,.theme-selector-trigger>svg{display:block;width:1.15rem;height:1.15rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-selector-menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:30;display:grid;gap:.3rem;width:min(13rem,calc(100vw - 1rem));max-width:calc(100vw - 1rem);max-height:min(24rem,calc(100dvh - 1.5rem));overflow-y:auto;padding:.65rem;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 .7rem 1.5rem var(--shadow-color)}.theme-selector-heading,.theme-selector-menu>h2{margin:0 .25rem .15rem;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em}.theme-selector-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;margin:0;padding:.5rem .6rem;background:transparent;color:var(--text);border:1px solid transparent;border-radius:6px;font:inherit;font-size:.85rem;line-height:1.25;text-align:left;white-space:nowrap}.theme-selector-option-content{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.theme-selector-option-icon{width:1rem;height:1rem}.theme-selector-option:hover{filter:none;background:var(--surface-hover);border-color:var(--border)}.theme-selector-option[aria-checked=true]{background:var(--surface-selection);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--text);font-weight:600}.theme-selector-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:800px){.desktop-theme-control{display:none}.mobile-header-controls{display:flex}.theme-selector-menu{width:min(13rem,calc(100vw - 1rem));max-width:calc(100vw - 1rem)}}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root[data-theme=light]{color-scheme:light;--bg: #f6f8fc;--panel: #ffffff;--panel-2: #edf1f7;--text: #1d2738;--muted: #596579;--accent: #684de0;--accent-2: #14724f;--danger: #c43d4d;--border: #738096;--log-verbose: #56657d;--log-debug: #2869a5;--log-info: #29384f;--log-warning: #8b5b00;--log-error: #b52f3e;--log-fatal: #a62983;--warning: #946000;--surface-warning: #fff5df;--surface-error: #fff0f1;--surface-success: #e8f8f0;--surface-info: #f0edff;--surface-selection: #ebe7ff;--surface-hover: #f0edff;--code-bg: #f1f4f8;--code-text: #27344a;--shadow-color: rgba(28, 42, 66, .2);--overlay: rgba(20, 28, 43, .46)}:root[data-theme=light] .download-setup-notice{background:var(--surface-warning);border-color:var(--warning)}:root[data-theme=light] .download-setup-notice strong,:root[data-theme=light] .wizard-warning,:root[data-theme=light] .badge.lossy,:root[data-theme=light] .badge-song{color:var(--warning)}:root[data-theme=light] .badge.lossy,:root[data-theme=light] .badge-song{border-color:var(--warning)}:root[data-theme=light] .download-queue-surface tr.is-selected td,:root[data-theme=light] .search-override-skip,:root[data-theme=light] .tastes-card-actions .table-link:hover{background:var(--surface-selection)}:root[data-theme=light] .download-card.is-selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}:root[data-theme=light] button.download-batch-retry,:root[data-theme=light] button.download-action-retry,:root[data-theme=light] button.download-menu-item-retry{background:var(--surface-info);border-color:color-mix(in srgb,var(--accent) 65%,var(--border));color:#5740b7}:root[data-theme=light] button.download-batch-blacklist,:root[data-theme=light] button.download-action-blacklist,:root[data-theme=light] button.download-menu-item-blacklist{background:var(--surface-warning);border-color:color-mix(in srgb,var(--warning) 65%,var(--border));color:var(--warning)}:root[data-theme=light] button.download-batch-remove,:root[data-theme=light] button.download-action-remove{background:var(--surface-error);border-color:color-mix(in srgb,var(--danger) 70%,var(--border))}:root[data-theme=light] .download-action-menu,:root[data-theme=light] .feedback-more-panel{box-shadow:0 .7rem 1.5rem var(--shadow-color)}:root[data-theme=light] .feedback-btn.is-active{background:var(--surface-success)}:root[data-theme=light] .btn-override:hover,:root[data-theme=light] .btn-revert:hover,:root[data-theme=light] .chart-radio-link:hover,:root[data-theme=light] .artist-follower-musicbrainz-link:focus-visible{color:var(--text)}:root[data-theme=light] .log-viewer{background:var(--code-bg);color:var(--code-text)}:root[data-theme=light] .discover-feedback-warning{background:var(--surface-warning);border-color:var(--warning)}:root[data-theme=light] .discover-feedback-error,:root[data-theme=light] .wizard-error{background:var(--surface-error)}:root[data-theme=light] .global-player{background:var(--panel);box-shadow:0 -4px 18px var(--shadow-color)}:root[data-theme=light] .modal{background:var(--overlay)}:root[data-theme=light] .playlist-file-picker{background:linear-gradient(135deg,var(--surface-info),var(--panel))}:root[data-theme=light] .playlist-file-picker:hover,:root[data-theme=light] .playlist-file-picker:focus-visible,:root[data-theme=light] .playlist-file-picker.is-dragging{background:linear-gradient(135deg,var(--surface-selection),var(--panel))}:root[data-theme=light] .alert-error{background:var(--surface-error);color:var(--danger)}:root[data-theme=light] .alert-success{background:var(--surface-success);color:var(--accent-2)}:root[data-theme=light] .alert-info{background:var(--surface-info);color:#5740b7}:root[data-theme=light] .badge-admin{background:var(--surface-selection);color:#5740b7}:root[data-theme=light] .tastes-feedback-intro{background:var(--surface-info)}:root[data-theme=light] .tastes-card{background:linear-gradient(145deg,#f4f2ff,var(--panel))}:root[data-theme=light] .tastes-empty{background:#f7f8fb}:root[data-theme=light] .youtube-music-connection-option,:root[data-theme=light] .youtube-music-layout-row,:root[data-theme=light] .youtube-music-playlist-setting{background:var(--surface-info)}:root[data-theme=light] .youtube-music-warning{background:var(--surface-warning);border-color:color-mix(in srgb,var(--warning) 55%,var(--border));color:var(--warning)}:root[data-theme=light] .youtube-music-warning-badge{background:#ffedc2;color:var(--warning)}:root[data-theme=light] .youtube-music-search-result,:root[data-theme=light] .youtube-music-playlist-row{background:var(--panel)}:root[data-theme=light] .youtube-music-search-result:hover,:root[data-theme=light] .youtube-music-playlist-row:hover,:root[data-theme=light] .youtube-music-shelf-summary:hover,:root[data-theme=light] .youtube-music-layout-row:hover,:root[data-theme=light] .youtube-music-playlist-setting:hover,:root[data-theme=light] .artist-follower-history-entry summary:hover{background:var(--surface-hover)}:root[data-theme=light] .youtube-music-shelf{background:var(--panel)}:root[data-theme=light] .status-active{background:var(--surface-success);color:var(--accent-2)}:root[data-theme=light] .status-expired,:root[data-theme=light] .status-revoked{background:var(--surface-error)}:root[data-theme=light] .artist-follower-empty{background:linear-gradient(180deg,#f1f3f8,#fafbfc);border-color:var(--border)}:root[data-theme=light] .artist-follower-wizard-modal{background:var(--overlay)}:root[data-theme=light] .artist-follower-wizard{box-shadow:0 1.5rem 4rem var(--shadow-color)}:root[data-theme=light] .artist-follower-policy-options .checkbox-label:hover{border-color:var(--accent)}@media(max-width:480px){.theme-selector-menu{width:min(12rem,calc(100vw - 1rem))}}:root[data-theme=light] .auth-card{box-shadow:0 8px 24px var(--shadow-color)}:root[data-theme=light] .upgrade-btn{color:var(--warning);border-color:var(--warning)}:root[data-theme=light] .yt-btn{color:#c52f3c}:root[data-theme=light] .yt-btn:hover{border-color:#c52f3c;background:var(--surface-error)}:root[data-theme=light] .tastes-section{background:var(--panel)}:root[data-theme=light] .tastes-section-icon{background:var(--surface-info);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}:root[data-theme=light] .tastes-section-liked .tastes-section-icon,:root[data-theme=light] .tastes-section-saved .tastes-section-icon{background:var(--surface-success);border-color:color-mix(in srgb,var(--accent-2) 35%,var(--border))}:root[data-theme=light] .youtube-music-legacy{background:var(--panel)}:root[data-theme=light] .artist-follower-eyebrow,:root[data-theme=light] .artist-follower-step-indicator,:root[data-theme=light] .artist-follower-search-hint-icon{color:#5740b7}:root[data-theme=light] .artist-follower-panel-icon,:root[data-theme=light] .artist-follower-empty:before{background:var(--surface-info);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:#5740b7}:root[data-theme=light] .artist-follower-external-arrow{color:#5740b7}:root[data-theme=light] .artist-follower-artist-options{background:#f7f8fb}:root[data-theme=light] .artist-follower-search-hint{background:var(--surface-info);border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}:root[data-theme=light] .artist-follower-result:hover,:root[data-theme=light] .artist-follower-result:focus-visible{background:var(--surface-hover)}:root[data-theme=light] .artist-follower-result[aria-selected=true]{background:var(--surface-selection);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}:root[data-theme=light] .artist-follower-selected-artist{background:var(--surface-success);border-color:color-mix(in srgb,var(--accent-2) 35%,var(--border))}:root[data-theme=light] .artist-follower-policy-options .checkbox-label{background:var(--panel-2)}
