:root{--bg: #121212;--surface: #1e1e1e;--surface-2: #2a2a2a;--text: #f5f5f5;--text-dim: #a0a0a0;--green: #1db954;--yellow: #e6b800;--red: #e05252;--accent: #1db954;--radius: 8px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}.app{max-width:880px;margin:0 auto;padding:24px 16px 80px}h1{font-size:22px;margin:0 0 4px}.header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.subtitle{color:var(--text-dim);margin:0 0 24px}button{font:inherit;border:none;border-radius:var(--radius);padding:8px 16px;cursor:pointer;background:var(--surface-2);color:var(--text)}button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#000;font-weight:600}button.link{background:none;color:var(--text-dim);text-decoration:underline;padding:4px}textarea,input[type=text],select{font:inherit;width:100%;background:var(--surface);color:var(--text);border:1px solid #333;border-radius:var(--radius);padding:10px 12px}textarea{min-height:220px;resize:vertical;font-family:ui-monospace,monospace;font-size:13px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{background:none;color:var(--text-dim);border-bottom:2px solid transparent;border-radius:0;padding:6px 4px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.toolbar{display:flex;gap:12px;align-items:center;margin:16px 0;flex-wrap:wrap}.toolbar .spacer{flex:1}.counts{color:var(--text-dim);font-size:13px}.counts b{color:var(--text)}.row{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px}.row.excluded{opacity:.5}.row .art{width:44px;height:44px;border-radius:4px;background:var(--surface-2);flex-shrink:0;object-fit:cover}.row .art.placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:18px}.row .main{flex:1;min-width:0}.row .raw{color:var(--text-dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .match-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .controls{display:flex;gap:8px;align-items:center;flex-shrink:0}.badge{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;flex-shrink:0}.badge.confident{background:var(--green)}.badge.uncertain{background:var(--yellow)}.badge.none{background:var(--red)}.badge.pending{background:var(--text-dim);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}.score{color:var(--text-dim);font-size:12px;margin-left:6px}select.alt-select{width:260px;font-size:13px;padding:6px 8px}.manual-search{display:flex;gap:8px;margin-top:8px}.manual-search input{flex:1}.panel{background:var(--surface);border-radius:var(--radius);padding:16px;margin:24px 0}.panel h2{margin:0 0 12px;font-size:16px}.playlist-choice{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.playlist-choice select,.playlist-choice input{max-width:320px}.summary{border-left:3px solid var(--green)}.summary p{margin:4px 0}.error{color:var(--red);margin:8px 0}.connect{text-align:center;padding:80px 0}.stats-footer{margin-top:48px;padding-top:12px;border-top:1px solid #2a2a2a;text-align:center}.stats-footer b{color:var(--text)}
