:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#14181f;--panel:#1e2430;--border:#2a3142;--fg:#e6e9ef;--muted:#9aa3b2;--accent:#1db954;--warn:#f3b73a;--err:#f06262;--ok:#6ad28f}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1040px;margin:32px auto;padding:0 16px}header{margin-bottom:24px}h1{margin:0 0 4px;font-size:1.6rem}.tagline{color:var(--muted);margin:0}.app-tabs{border:1px solid var(--border);background:#11151c;border-radius:8px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.app-tab{color:var(--muted);background:0 0;flex:1 1 0}.app-tab.active{background:var(--accent);color:#08110b}.sharing-tabs,.utility-tabs{border:1px solid var(--border);background:#11151c;border-radius:8px;gap:6px;margin-top:16px;padding:4px;display:flex}.sharing-tab,.utility-tab{color:var(--muted);background:0 0;flex:1 1 0}.sharing-tab.active,.utility-tab.active{background:var(--accent);color:#08110b}.utility-tabs{flex-wrap:wrap}.utility-tab{min-width:130px}.hint{color:var(--muted);font-size:.9rem}#byo-client-details{border-top:1px solid var(--border);margin-top:8px;padding-top:12px}#byo-client-details>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;padding:4px 0}#byo-client-details>summary:hover{color:var(--fg)}#byo-client-details[open]>summary{color:var(--fg);margin-bottom:8px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:18px 20px}.card h2{margin:0 0 12px;font-size:1.05rem;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input[type=text]{color:inherit;border:1px solid var(--border);font:inherit;background:#11151c;border-radius:6px;flex:240px;padding:8px 10px}button{background:var(--accent);color:#08110b;font:inherit;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-weight:600}button.secondary{color:var(--fg);border:1px solid var(--border);background:0 0}button:hover{filter:brightness(1.05)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{word-break:break-all;background:#11151c;border-radius:4px;padding:2px 6px;font-size:.9em}.redirect-uri-row{margin:4px 0 12px}.redirect-uri-row code{border:1px solid var(--border);-webkit-user-select:all;user-select:all;flex:auto;padding:8px 10px;font-size:.95em}.status{color:var(--muted);margin:10px 0 0;font-size:.9rem}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.err{color:var(--err)}a{color:var(--accent)}#playlist-info{color:var(--fg);margin-top:12px}#tracks-list{border:1px solid var(--border);padding-left:24px;background:#11151c;border-radius:6px;max-height:50vh;margin-top:12px;padding-block:8px;overflow:auto}#tracks-list:empty{display:none}#tracks-list li{padding:2px 0}.hidden{display:none!important}.review-toolbar{border:1px solid var(--border);background:#11151c;border-radius:6px;margin-top:16px;padding:12px}.review-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-actions .divider{background:var(--border);width:1px;height:22px;margin:0 4px}.review-actions label{color:var(--muted);font-size:.9rem}.review-actions input[type=number]{width:70px}.review-summary{color:var(--muted);margin:10px 0 0;font-size:.9rem}#review-groups,#disk-groups{border:1px solid var(--border);background:#11151c;border-radius:6px;max-height:60vh;margin-top:12px;padding:6px 0;overflow:auto}#review-groups:empty,#disk-groups:empty{display:none}.review-group{border-bottom:1px solid var(--border);padding:10px 14px}.review-group:last-child{border-bottom:none}.review-group-header{color:var(--accent);margin-bottom:6px;font-weight:600}.review-candidate-section{margin-top:10px}.review-candidate-section h4{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:600}.stem-match-section{border-left:3px solid var(--accent);background:#1db95414;border-radius:4px;padding:8px 10px}.stem-match-section h4{color:var(--ok)}.review-candidates{margin:0;padding:0;list-style:none}.review-candidate{padding:4px 0}.review-candidate label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.review-candidate input[type=checkbox]{margin-top:3px}.review-candidate-text{flex:auto;font-size:.92rem}.review-candidate-text .score,.review-candidate-text .playcount,.review-candidate-text .file-detail{color:var(--muted);margin-left:6px;font-weight:400}.review-candidate-text .flag-badge{white-space:nowrap;border:1px solid;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.78rem;font-weight:600;display:inline-block}.review-candidate-text .flag-stem{color:var(--ok);background:#6ad28f1f}.review-candidate-text .flag-grid{color:var(--warn);background:#f3b73a1f}.review-candidate-text .path{color:var(--muted);word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem}.generated-stems-connect{border:1px solid var(--border);background:#11151c;border-radius:6px;margin:12px 0;padding:10px 12px}.generated-stems-connect .hint{margin-top:0}.generated-stems-connect .status{margin-bottom:0}.sharing-step{border-top:1px solid var(--border);padding:14px 0}.sharing-instructions{border:1px solid var(--border);background:#11151c;border-radius:6px;margin-bottom:10px;padding:10px 12px}.sharing-instructions>summary{cursor:pointer;color:var(--muted);font-weight:600}.sharing-instructions[open]>summary{color:var(--fg)}.sharing-instructions ol{margin:10px 0 0;padding-left:24px}.sharing-instructions li+li{margin-top:6px}.sharing-step:first-of-type{border-top:0;padding-top:4px}.sharing-step h3{margin:0 0 10px;font-size:.95rem}#share-recipient-root-path{width:100%;margin:6px 0 10px;display:block}.stem-marker-option{align-items:center;gap:8px;margin-bottom:6px;display:flex}.reconciliation-list{border:1px solid var(--border);background:#11151c;border-radius:6px;max-height:260px;margin:6px 0 18px;padding:8px 8px 8px 32px;overflow:auto}.reconciliation-list li+li{margin-top:5px}.stem-share-list{border:1px solid var(--border);background:#11151c;border-radius:6px;max-height:420px;margin:10px 0 0;padding:6px 10px;list-style:none;overflow:auto}.stem-share-list:empty{display:none}.stem-share-list li{border-bottom:1px solid var(--border);padding:6px 2px}.stem-share-list li:last-child{border-bottom:0}.stem-share-list label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.stem-share-list input{margin-top:4px}.stem-share-list code{color:var(--muted)}.not-found-section{margin-top:16px}.not-found-section h3{color:var(--warn);margin:0 0 6px;font-size:1rem}#not-found-list,#disk-not-found-list{border:1px solid var(--border);padding-left:24px;background:#11151c;border-radius:6px;max-height:30vh;margin:0;padding-block:8px;overflow:auto}#not-found-list li,#disk-not-found-list li{color:var(--muted);padding:2px 0}.backups-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.backups-list:empty:before{content:"No snapshots yet — load a collection.nml above to capture one.";color:var(--muted);font-size:.9rem;font-style:italic}.crates-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.crates-list:empty:before{content:"No crates yet — download one above to capture it here.";color:var(--muted);font-size:.9rem;font-style:italic}.backup-row{border:1px solid var(--border);background:#11151c;border-radius:6px;align-items:center;gap:12px;padding:8px 10px;display:flex}.backup-meta{flex:1;min-width:0}.backup-meta-line{font-size:.95rem;display:block}.backup-meta-sub{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.backup-actions{flex-shrink:0;gap:6px;display:flex}.backup-actions button{padding:4px 10px;font-size:.85rem}.collection-cached-info{border:1px solid var(--border);color:var(--muted);background:#11151c;border-radius:6px;margin:4px 0 8px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.collection-cached-info strong{color:var(--fg);font-family:inherit}.collection-cached-info .sep{opacity:.5;margin:0 8px}.disk-sources-list{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.disk-source-row{border:1px solid var(--border);background:#11151c;border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.disk-source-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.disk-source-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:.75rem}.disk-source-count{color:var(--muted);font-size:.85rem}.disk-source-prefix-row label{color:var(--muted);flex-direction:row;align-items:center;gap:8px;font-size:.85rem;display:flex}.disk-source-prefix-row input{flex:auto;min-width:0;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.disk-source-status{margin:0}.disk-source-tags-row{color:var(--muted);font-size:.85rem}.disk-source-tags-label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.disk-source-actions{flex-wrap:wrap;gap:6px;display:flex}.disk-source-actions button{padding:4px 10px;font-size:.85rem}#crates-section>details>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}#crates-section>details>summary::-webkit-details-marker{display:none}#crates-section>details>summary:before{content:"▸";color:var(--muted);font-size:.9rem;transition:transform .12s;display:inline-block}#crates-section>details[open]>summary:before{transform:rotate(90deg)}#crates-section>details>summary>h2{margin:0;display:inline}#config-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;list-style:none;display:flex}#config-details>summary::-webkit-details-marker{display:none}#config-details>summary:before{content:"▸";color:var(--muted);font-size:.9rem;line-height:1.55rem;transition:transform .12s}#config-details[open]>summary:before{transform:rotate(90deg)}.auth-summary{flex-wrap:wrap;flex:auto;align-items:baseline;gap:2px 12px;display:flex}.auth-summary h2,.auth-summary .hint{margin:0}.auth-summary .status{flex-basis:100%;margin:2px 0 0}.auth-content{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}#auth-details{margin-bottom:8px}#auth-details>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;padding:4px 0}#auth-details>summary:hover{color:var(--fg)}#auth-details[open]>summary{color:var(--fg);margin-bottom:8px}#version-badge{color:var(--muted);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.75rem;position:fixed;bottom:12px;right:16px}
