:root{--bg: #121212;--surface: #181818;--surface-2: #1f1f1f;--surface-3: #242424;--border: #2a2a2a;--text: #ffffff;--muted: #b3b3b3;--green: #1db954;--green-hover: #1ed760;--danger: #ff6b6b;--shadow: 0 10px 30px rgba(0, 0, 0, .35)}html,body{margin:0;padding:0;background:linear-gradient(180deg,#101010,#121212);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}.page-shell{max-width:1280px;margin:0 auto;padding:32px 24px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:24px;border:1px solid rgba(255,255,255,.06);border-radius:24px;background:radial-gradient(circle at top left,rgba(29,185,84,.14),transparent 35%),linear-gradient(180deg,#ffffff08,#ffffff03);box-shadow:var(--shadow)}.topbar h1{margin:4px 0 0;font-size:2rem;line-height:1.1;letter-spacing:-.03em}.eyebrow,.section-kicker{margin:0;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:.92rem}.status-pill.is-authenticated{color:var(--text)}.status-dot{width:9px;height:9px;border-radius:50%;background:#666}.status-pill.is-authenticated .status-dot{background:var(--green);box-shadow:0 0 12px #1db954b3}.status-pill.is-disconnected .status-dot{background:#666}.app-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.panel{background:linear-gradient(180deg,#ffffff06,#ffffff04);border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:22px;box-shadow:var(--shadow);min-width:0}.panel-header,.subsection-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-header h2,.subsection-header h2{margin:4px 0 0;font-size:1.15rem;letter-spacing:-.02em}.panel-subsection{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.search-row,.run-row,.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field{display:grid;gap:8px;margin-top:16px}.field-label{color:var(--muted);font-size:.92rem;font-weight:600}.text-input{width:100%;min-height:44px;padding:11px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.text-input:hover{background:var(--surface-3)}.text-input:focus{border-color:#1db954cc;box-shadow:0 0 0 3px #1db95429}.primary-button,.secondary-button,.ghost-button,.pill-button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.pill-button:hover{transform:translateY(-1px)}.primary-button{background:var(--green);color:#08130d}.primary-button:hover{background:var(--green-hover)}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.secondary-button{background:#fff;color:#111}.secondary-button:hover{background:#f2f2f2}.ghost-button{background:transparent;color:var(--text);border-color:#ffffff1f}.ghost-button:hover{background:#ffffff0d}.pill-button{background:#1db9541f;color:var(--green-hover);border-color:#1db95438}.pill-button:hover{background:#1db9542e}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.mode-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .12s ease}.mode-card:hover{background:var(--surface-2);transform:translateY(-1px)}.mode-card.active{border-color:#1db95473;background:linear-gradient(180deg,#1db9541f,#1db9540a)}.mode-card input{margin-top:2px;accent-color:var(--green)}.mode-title{font-weight:700;margin-bottom:4px}.mode-description{color:var(--muted);font-size:.9rem;line-height:1.35}.results-list,.selected-list{display:grid;gap:8px;padding:6px;border-radius:18px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);min-height:72px;max-height:320px;overflow:auto}.results-list.compact{max-height:260px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:transparent;transition:background .15s ease}.list-row:hover{background:#ffffff0a}.artist-cell{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.artist-image{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#333}.artist-image.small{width:36px;height:36px}.artist-image-placeholder{background:linear-gradient(135deg,#1db95466,#ffffff14),#2a2a2a}.artist-meta{min-width:0}.artist-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:18px 14px;color:var(--muted);text-align:center}.count-badge{min-width:32px;height:32px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;color:var(--text);font-weight:700}.message{margin:0;color:var(--muted)}.logs-section{margin-top:24px}.logs-output{margin:0;padding:16px;min-height:320px;max-height:420px;overflow:auto;border-radius:18px;background:linear-gradient(180deg,#00000052,#00000080),#0d0d0d;border:1px solid rgba(255,255,255,.06);color:#d4d4d4;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.85rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}@media(max-width:980px){.app-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:flex-start}}@media(max-width:640px){.page-shell{padding:18px 14px 28px}.topbar,.panel{padding:18px;border-radius:20px}.mode-toggle{grid-template-columns:1fr}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(29,185,84,.18),transparent 30%),linear-gradient(180deg,#101010,#121212)}.login-card{width:100%;max-width:460px;padding:32px;border-radius:28px;background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px #0006;text-align:center}.login-card h1{margin:6px 0 14px;font-size:2rem;line-height:1.08;letter-spacing:-.03em}.login-copy{margin:0 0 24px;color:var(--muted);line-height:1.5}.login-button{width:100%;min-height:48px;font-size:1rem}
