: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:780px;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}.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-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 .path{color:var(--muted);word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem}.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}#backups-section>details>summary,#crates-section>details>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}#backups-section>details>summary::-webkit-details-marker{display:none}#crates-section>details>summary::-webkit-details-marker{display:none}#backups-section>details>summary:before,#crates-section>details>summary:before{content:"▸";color:var(--muted);font-size:.9rem;transition:transform .12s;display:inline-block}#backups-section>details[open]>summary:before,#crates-section>details[open]>summary:before{transform:rotate(90deg)}#backups-section>details>summary>h2,#crates-section>details>summary>h2{margin:0;display:inline}.auth-header{align-items:baseline;gap:12px;display:flex}.auth-header h2,.auth-header .status{margin:0}#auth-details{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}#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}
