:root{--bg:#050806;--surface:#101410;--surface-strong:#172018;--ink:#f1fff4;--muted:#a7b5ab;--line:#273129;--spotify:#1db954;--spotify-bright:#25e66d;--teal:#32d0b0;--coral:#ff7a5c;--amber:#f3b84b;--focus:#57f287;--shadow:0 18px 45px #00000052}*{box-sizing:border-box}html,body{min-height:100%}body{background:linear-gradient(180deg, #1db95414, transparent 220px), var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app-shell{flex-direction:column;min-height:100vh;padding:24px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1440px;margin:0 auto 20px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{border-radius:8px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden;box-shadow:0 12px 28px #1db95438}.brand-mark img{width:100%;height:100%;display:block}.brand h1,.brand p{margin:0}.brand h1{letter-spacing:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.05}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.user-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:7px 12px;display:flex}.user-avatar{aspect-ratio:1;background:var(--spotify);color:#031507;border-radius:999px;flex:0 0 26px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.command,.icon-command{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 12px;font-weight:800;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.command{background:var(--spotify);color:#021107;border-color:#159946}.command:hover,.icon-command:hover{transform:translateY(-1px)}.icon-command,.command.secondary{background:var(--surface);color:var(--ink)}.command.compact{min-height:34px;padding:7px 10px;font-size:.78rem}.command.danger{color:#ffb7b7;border-color:#ff5c5c7a}.command.danger:hover:not(:disabled){background:#ff5c5c1f;border-color:#ff7e7eb8}.command.green{background:var(--spotify-bright);border-color:var(--spotify);color:#031507}.command.disabled,.command:disabled,.icon-command:disabled{cursor:not-allowed;opacity:.5;pointer-events:none;transform:none}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.panel-title{align-items:center;gap:10px;min-width:0;display:flex}.panel-title h2,.panel-title h3,.panel-title p{margin:0}.panel-title h2{font-size:1rem}.panel-title h3{font-size:.95rem}.muted{color:var(--muted)}.alert{color:#ffe5a6;background:#f3b84b1f;border:1px solid #f3b84b80;border-radius:8px;align-items:center;gap:10px;max-width:1440px;margin:0 auto 16px;padding:12px 14px;display:flex}.alert.danger{color:#ffc4b5;background:#ff7a5c1f;border-color:#ff7a5c80}.alert.success{color:#b9ffd0;background:#25e66d1f;border-color:#25e66d75}.alert.skipped-review{align-items:flex-start}.alert.skipped-review>span{gap:5px;min-width:0;display:grid}.skipped-review-row{color:#ffe5a6;overflow-wrap:anywhere;font-size:.82rem}.alert.inline{max-width:none;margin:0}.auth-shell{background:linear-gradient(180deg, #1db9541a, transparent 260px), var(--bg);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:18px;width:100%;max-width:430px;padding:22px;display:grid}.auth-brand{align-items:center}.auth-form{gap:14px;display:grid}.form-field{gap:7px;display:grid}.form-field input,.form-field select,.form-field textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;outline:none;min-height:44px;padding:0 12px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--spotify-bright);box-shadow:0 0 0 3px #25e66d1f}.form-field textarea{resize:vertical;min-height:86px;padding:10px 12px;line-height:1.45}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{color:var(--muted);opacity:.72}.auth-note{color:var(--muted);background:#1db95414;border:1px solid #1db95442;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.auth-footer{margin-top:18px}.settings-shell{justify-content:flex-start}.help-shell{background:radial-gradient(circle at 78% 8%,#32d0b017,#0000 25rem),radial-gradient(circle at 12% 34%,#1db95412,#0000 28rem);justify-content:flex-start}.help-content{gap:18px;width:100%;max-width:1120px;margin:0 auto;display:grid}.help-hero{background:linear-gradient(125deg, #1db95421, transparent 52%), var(--surface);grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:center;gap:42px;padding:clamp(24px,5vw,54px);display:grid;position:relative;overflow:hidden}.help-hero:after{background:var(--teal);content:"";filter:blur(80px);opacity:.08;border-radius:999px;width:180px;height:180px;position:absolute;top:-70px;right:-30px}.help-hero-copy{z-index:1;position:relative}.help-kicker{color:var(--spotify-bright);letter-spacing:.02em;align-items:center;gap:7px;font-size:.82rem;font-weight:800;display:inline-flex}.help-hero h2{letter-spacing:-.045em;max-width:760px;margin:18px 0;font-size:clamp(2rem,5vw,3.65rem);line-height:1.02}.help-hero p{color:var(--muted);max-width:720px;margin:0;font-size:clamp(1rem,2vw,1.12rem);line-height:1.75}.help-hero-mark{z-index:1;grid-template-columns:64px minmax(18px,1fr) 64px minmax(18px,1fr) 64px;align-items:center;gap:12px;display:grid;position:relative}.help-hero-mark span{color:var(--spotify-bright);background:#050806cc;border:1px solid #57f28766;border-radius:18px;justify-content:center;align-items:center;height:64px;display:flex;box-shadow:0 16px 34px #00000047}.help-hero-mark span:last-child{color:var(--teal);border-color:#32d0b06b}.help-hero-mark i{background:linear-gradient(90deg, var(--line), var(--spotify));height:1px}.help-topic-nav{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.help-topic-nav a{border:1px solid var(--line);color:var(--muted);background:#101410b8;border-radius:999px;padding:9px 13px;font-size:.82rem;font-weight:750;transition:border-color .16s,color .16s,transform .16s}.help-topic-nav a:hover{color:var(--ink);border-color:#57f2877a;transform:translateY(-1px)}.help-section{border:1px solid var(--line);background:#101410d1;border-radius:8px;padding:clamp(20px,4vw,34px);scroll-margin-top:20px}.help-section-heading{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.help-section-heading.compact{margin-bottom:20px}.help-section-heading h2,.help-section-heading p,.help-footer h2,.help-footer p{margin:0}.help-section-heading h2{letter-spacing:-.025em;margin-top:4px;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.15}.help-section-icon{border:1px solid;border-radius:10px;flex:0 0 42px;justify-content:center;align-items:center;height:42px;display:inline-flex}.help-section-icon.green{color:var(--spotify-bright);background:#1db9541c}.help-section-icon.teal{color:var(--teal);background:#32d0b01a}.help-section-icon.amber{color:var(--amber);background:#f3b84b1a}.help-intro{color:var(--muted);max-width:760px;margin:-8px 0 22px 56px;line-height:1.7}.help-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.help-step{background:var(--bg);border:1px solid var(--line);min-height:230px;padding:20px}.help-step:first-child{border-radius:8px 0 0 8px}.help-step:last-child{border-radius:0 8px 8px 0}.help-step>span{color:var(--spotify-bright);letter-spacing:.08em;font-size:.78rem;font-weight:900}.help-step h3{margin:24px 0 10px;font-size:1rem}.help-step p,.scan-choice p,.help-feature-grid p,.help-section>p,.faq-list p{color:var(--muted);font-size:.91rem;line-height:1.65}.help-callout{color:var(--teal);background:#32d0b012;border:1px solid #32d0b042;border-radius:8px;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 15px;display:flex}.help-callout.tip{color:var(--spotify-bright);background:#1db95414;border-color:#1db95447}.help-callout.warning{color:var(--amber);background:#f3b84b14;border-color:#f3b84b4d}.help-callout svg{flex:none;margin-top:2px}.help-callout p{color:var(--muted);margin:0;line-height:1.6}.help-callout strong{color:var(--ink)}.scan-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.scan-choice{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:18px;display:flex}.scan-choice-title{align-items:center;gap:11px;margin-bottom:18px;display:flex}.scan-choice-title .help-section-icon{flex-basis:38px;height:38px}.scan-choice h3{margin:0;font-size:1.08rem}.scan-choice>strong{font-size:.92rem;line-height:1.45}.scan-choice>div:last-child{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding-top:13px;font-size:.84rem;line-height:1.55}.scan-choice>div:last-child span{color:var(--ink);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:850;display:block}.help-decision-list{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;display:grid;overflow:hidden}.help-decision-list div{border-bottom:1px solid var(--line);background:#05080673;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;display:flex}.help-decision-list div:nth-child(odd){border-right:1px solid var(--line)}.help-decision-list div:nth-last-child(-n+2){border-bottom:0}.help-decision-list span{color:var(--muted);font-size:.84rem}.help-decision-list strong{color:var(--spotify-bright);text-align:right;white-space:nowrap;font-size:.82rem}.help-split-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.help-split-section .help-section{height:100%}.help-section>p{margin:0 0 15px}.audio-cap-line{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:24px 0 17px;font-size:.72rem;font-weight:800;display:grid}.audio-cap-line i{background:linear-gradient(90deg, var(--spotify), var(--spotify-bright));border-radius:999px;height:5px;position:relative}.audio-cap-line i:after{background:var(--spotify-bright);border:3px solid var(--surface);content:"";border-radius:999px;width:13px;height:13px;position:absolute;top:-4px;right:-2px}.audio-cap-line strong{color:var(--spotify-bright)}.help-small-copy{font-size:.82rem!important}.help-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.help-feature-grid article{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:19px}.help-feature-grid svg{color:var(--spotify-bright)}.help-feature-grid article:nth-child(2n) svg{color:var(--teal)}.help-feature-grid h3{margin:16px 0 8px;font-size:.98rem}.help-feature-grid p{margin:0}.sync-guide{background:radial-gradient(circle at 8% 18%,#1db95414,#0000 24rem),radial-gradient(circle at 92% 42%,#32d0b012,#0000 25rem),#101410db}.sync-guide .help-intro strong{color:var(--ink)}.sync-pipeline{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:10px;margin:4px 0 18px;display:grid}.sync-pipeline>div{border:1px solid var(--line);background:#050806bd;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:12px;min-height:82px;padding:14px;display:grid}.sync-pipeline>div>span{color:var(--spotify-bright);background:#1db9541a;border:1px solid #1db95447;border-radius:9px;grid-row:1/3;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.sync-pipeline>div:nth-of-type(3)>span,.sync-pipeline>div:nth-of-type(4)>span{color:var(--teal);background:#32d0b017;border-color:#32d0b045}.sync-pipeline small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;min-width:0;font-size:.65rem;font-weight:800}.sync-pipeline strong{min-width:0;font-size:.82rem;line-height:1.25}.sync-pipeline>i{background:linear-gradient(90deg, var(--line), var(--spotify), var(--line));height:1px;position:relative}.sync-pipeline>i:after{border-right:1px solid var(--spotify-bright);border-top:1px solid var(--spotify-bright);content:"";width:6px;height:6px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.sync-truth-strip{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;display:grid;overflow:hidden}.sync-truth-strip>div{border-right:1px solid var(--line);background:#0508067a;gap:4px;padding:13px 15px;display:grid}.sync-truth-strip>div:last-child{border-right:0}.sync-truth-strip strong{color:var(--spotify-bright);text-transform:uppercase;font-size:.76rem}.sync-truth-strip span{color:var(--muted);font-size:.8rem;line-height:1.4}.sync-target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sync-target-card{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:20px;display:flex;position:relative;overflow:hidden}.sync-target-card:before{background:linear-gradient(90deg, var(--spotify), transparent);content:"";height:2px;position:absolute;top:0;left:0;right:0}.sync-target-card.plex:before{background:linear-gradient(90deg, var(--teal), transparent)}.sync-target-heading{align-items:center;gap:12px;margin-bottom:14px;display:flex}.sync-target-heading h3,.sync-target-heading p{margin:0}.sync-target-heading h3{margin-top:3px;font-size:1.25rem}.sync-target-card>p,.sync-skipped-panel>p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.sync-target-card ul,.sync-skipped-panel ul{color:var(--muted);gap:9px;margin:17px 0;padding-left:19px;font-size:.84rem;line-height:1.5;display:grid}.sync-target-card li::marker{color:var(--spotify-bright)}.sync-skipped-panel li::marker{color:var(--spotify-bright)}.sync-target-card.plex li::marker{color:var(--teal)}.sync-target-card li strong,.sync-skipped-panel li strong{color:var(--ink)}.sync-target-note{color:var(--muted);background:#1db95412;border:1px solid #1db95433;border-radius:7px;margin-top:auto;padding:11px 12px;font-size:.79rem;line-height:1.55}.sync-target-card.plex .sync-target-note{background:#32d0b00f;border-color:#32d0b033}.sync-mode-heading{margin:30px 0 15px}.sync-mode-heading h3,.sync-mode-heading p{margin:0}.sync-mode-heading h3{margin-top:4px;font-size:1.15rem}.sync-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sync-mode-grid article{border:1px solid var(--line);background:#050806ad;border-radius:8px;flex-direction:column;padding:18px;display:flex}.sync-mode-grid article.full-sync-mode{border-color:#f3b84b57}.sync-mode-number{color:var(--spotify-bright);letter-spacing:.08em;font-size:.69rem;font-weight:900}.full-sync-mode .sync-mode-number{color:var(--amber)}.sync-mode-grid h3{margin:17px 0 9px;font-size:1.08rem}.sync-mode-grid article>strong{font-size:.84rem;line-height:1.5}.sync-mode-grid p{color:var(--muted);margin:10px 0 18px;font-size:.82rem;line-height:1.6}.sync-mode-grid small{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding-top:11px;font-size:.74rem;line-height:1.5}.full-sync-mode small{color:#ffe0a1}.sync-skipped-panel{background:#f3b84b0e;border:1px solid #f3b84b42;border-radius:8px;margin-top:18px;padding:18px}.sync-skipped-panel>div:first-child{align-items:center;gap:12px;display:flex}.sync-skipped-panel h3,.sync-skipped-panel p{margin:0}.sync-skipped-panel h3{margin-top:3px;font-size:1rem}.sync-skipped-panel ul{grid-template-columns:repeat(2,minmax(0,1fr));margin:17px 0}.sync-best-order{margin-top:18px}.faq-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.faq-list details{background:var(--bg);border-bottom:1px solid var(--line)}.faq-list details:last-child{border-bottom:0}.faq-list details[open]{background:#172018b3}.faq-list summary{cursor:pointer;padding:17px 46px 17px 17px;font-size:.93rem;font-weight:800;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:var(--spotify-bright);content:"+";font-size:1.25rem;font-weight:500;position:absolute;top:12px;right:17px}.faq-list details[open] summary:after{content:"−"}.faq-list p{max-width:900px;margin:-2px 17px 0;padding:0 28px 18px 0}.faq-list code{color:var(--spotify-bright);background:#1db95417;border:1px solid #1db95438;border-radius:5px;padding:1px 5px}.help-footer{background:linear-gradient(105deg, #1db9541f, transparent 65%), var(--surface);justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.help-footer h2{margin-top:5px;font-size:clamp(1.15rem,2.5vw,1.55rem)}.help-footer .command{flex:none}.help-footer-arrow{transform:rotate(180deg)}.settings-grid{gap:16px;width:100%;max-width:860px;margin:0 auto;display:grid}.settings-panel{min-height:0}.settings-body{gap:16px;padding:16px;display:grid}.organize-form{gap:16px}.segmented-control{background:var(--bg);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented-control button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:0 10px;font-weight:700;display:inline-flex}.segmented-control button.active{color:var(--ink);background:#1db95424}.settings-subsection{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.settings-actions{flex-wrap:wrap;gap:10px;display:flex}.settings-inline-grid{grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:end;gap:12px;display:grid}.checkbox-field{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.checkbox-field input{accent-color:var(--spotify-bright)}.connect-grid{grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:16px;max-width:1100px;margin:0 auto;display:grid}.connect-panel{padding:20px}.connect-panel h2{letter-spacing:0;margin:0 0 10px;font-size:1.35rem}.connect-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.signal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.signal{border-left:4px solid var(--line);min-height:104px;padding:12px}.signal.ready{border-color:var(--spotify-bright)}.signal.waiting{border-color:var(--amber)}.signal.locked{border-color:var(--teal)}.signal h3,.signal p{overflow-wrap:anywhere;margin:0}.signal h3{margin-bottom:8px;font-size:.9rem}.workspace-grid{grid-template:"library operations""library detail"minmax(0,1fr)/minmax(250px,320px) minmax(0,1fr);align-items:stretch;gap:16px;max-width:1440px;margin:0 auto;display:grid}.library-panel,.detail-panel{min-height:calc(100vh - 128px)}.library-panel{grid-area:library;grid-template-rows:auto auto minmax(0,1fr);align-self:stretch;display:grid}.detail-panel{grid-area:detail}.ops-panel{grid-area:operations;grid-template-columns:minmax(0,1fr);align-self:start;width:100%;min-height:auto;display:grid}.ops-panel>.panel-header{border-bottom:1px solid var(--line)}.library-tools{gap:10px;padding:14px;display:grid}.scope-control{gap:6px;display:grid}.scope-control select{appearance:none;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;outline:none;min-height:42px;padding:0 34px 0 10px}.scope-control select:focus,.search-box:focus-within{border-color:var(--spotify-bright);box-shadow:0 0 0 3px #25e66d1f}.search-box{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}.search-box input{color:var(--ink);background:0 0;border:0;outline:none;width:100%;min-width:0}.search-box textarea{color:var(--ink);resize:vertical;background:0 0;border:0;outline:none;width:100%;min-width:0;min-height:112px;padding:10px 0;line-height:1.35}.search-box.multiline{align-items:start}.search-box.multiline svg{margin-top:12px}.lookup-form{gap:10px;display:grid}.source-preview{border:1px solid var(--line);border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;min-height:82px;margin:0 14px 14px;padding:10px;display:grid}.source-preview>.muted{grid-column:1/-1}.playlist-list{grid-auto-rows:minmax(74px,max-content);align-content:start;gap:10px;min-height:0;padding:0 14px 14px;display:grid;overflow:auto}.playlist-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;min-height:74px;padding:10px;display:grid}.playlist-button.active{border-color:var(--spotify-bright);box-shadow:inset 0 0 0 1px var(--spotify-bright)}.playlist-art{aspect-ratio:1;background:var(--surface-strong);border-radius:6px;place-items:center;display:grid;overflow:hidden}.playlist-art img{object-fit:cover;width:100%;height:100%}.playlist-meta{min-width:0}.playlist-status-row{grid-column:1/-1;grid-template-columns:max-content max-content;align-items:center;gap:6px;min-width:0;display:grid}.playlist-status-row:empty{display:none}.playlist-status-row>span{white-space:nowrap;justify-content:center;min-height:23px}.playlist-primary-status-badge{grid-area:1/1}.playlist-status-row>.playlist-saved-badge{grid-area:1/2}.playlist-unavailable-status-badge{grid-area:2/1}.playlist-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:850;display:block;overflow:hidden}.playlist-backed-up-badge{color:var(--spotify-bright);background:#25e66d1f;border:1px solid #25e66d61;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.playlist-missing-backup-badge{color:var(--coral);background:#ff7a5c1f;border:1px solid #ff7a5c6b;border-radius:999px;flex:none;align-items:center;padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.playlist-saved-badge{color:#affff1;background:#32d0b01f;border:1px solid #32d0b05c;border-radius:999px;flex:none;align-items:center;padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.playlist-unavailable-badge{color:var(--amber);background:#ffc2571f;border:1px solid #ffc25757;border-radius:999px;flex:none;align-items:center;padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.playlist-count{color:var(--muted);margin-top:4px;font-size:.82rem;display:block}.detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sync-mode-control{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:5px 7px 5px 10px;display:flex}.sync-mode-control select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:6px;outline:none;min-height:30px;padding:0 8px}.auto-sync-control{cursor:pointer;padding-right:10px}.auto-sync-control:has(input:disabled){cursor:not-allowed;opacity:.62}.auto-sync-control input{accent-color:var(--spotify-bright);margin:0}.detail-body{padding:0 16px 16px}.summary-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0 -16px 16px;padding:14px 16px;display:grid}.metadata-stat{font-size:.95rem}.section-heading{gap:4px;margin-bottom:10px;display:grid}.section-heading p{color:var(--muted);margin:0;font-size:.82rem}.folder-plan-section{margin-bottom:16px}.folder-plan-disclosure{background:var(--surface-strong);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:12px 14px;display:flex}.folder-plan-disclosure:hover{border-color:#25e66d66}.folder-plan-disclosure:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.folder-plan-heading-copy{gap:4px;min-width:0;display:grid}.folder-plan-description{color:var(--muted);font-size:.82rem}.folder-plan-disclosure-state{color:var(--spotify-bright);white-space:nowrap;flex:none;align-items:center;gap:8px;font-size:.78rem;font-weight:850;display:inline-flex}.folder-plan-disclosure+div{margin-top:10px}.folder-plan-list{gap:10px;display:grid}.folder-plan-toggle{border:1px solid var(--line);color:var(--spotify-bright);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;margin-top:10px;padding:0 12px;font-size:.82rem;font-weight:850;display:inline-flex}.folder-plan-toggle:hover{background:#25e66d14;border-color:#25e66d57}.folder-plan{background:var(--bg);border:1px solid var(--line);border-radius:8px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px;display:grid}.folder-plan.ready{border-color:#25e66d52}.folder-plan.organize{border-color:#ff5c5c70}.folder-plan.partial,.folder-plan.folder-ready{border-color:#32d0b057}.folder-plan-name,.folder-plan-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.folder-plan-name{font-weight:850}.folder-plan-path,.folder-plan-count{color:var(--muted);font-size:.78rem}.folder-plan-state{place-items:end;gap:5px;min-width:0;display:grid}.folder-plan-status{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:0 8px;font-size:.72rem;font-weight:900;line-height:1;display:inline-flex}button.folder-plan-status{cursor:pointer}button.folder-plan-status:disabled{cursor:wait;opacity:.72}.folder-plan-status.ready{color:#b9ffd0;background:#25e66d1a;border-color:#25e66d57}.folder-plan-status.organize{color:#ffb7b7;background:#ff5c5c1f;border-color:#ff5c5c80}button.folder-plan-status.organize:hover:not(:disabled){color:#ffe0e0;background:#ff5c5c33;border-color:#ff7e7eb8}.folder-plan-status.partial,.folder-plan-status.folder-ready{color:#affff1;background:#32d0b01a;border-color:#32d0b057}.folder-plan-status.download,.folder-plan-status.scan{border-color:var(--line);color:var(--ink);background:#ffffff0a}.folder-plan-count{text-align:right;white-space:nowrap;line-height:1.25}.stat-label,.stat-value{display:block}.stat-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.stat-value{overflow-wrap:anywhere;margin-top:3px;font-size:1.1rem;font-weight:900}.track-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.track-table-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-top:16px}.track-table-heading .command{white-space:nowrap;justify-self:end}.track-row{border-top:1px solid var(--line);grid-template-columns:42px minmax(150px,1.5fr) minmax(120px,1fr) minmax(150px,1fr) 64px;align-items:center;gap:12px;min-height:52px;padding:8px 12px;display:grid}.track-row>span{min-width:0}.track-row:first-child{border-top:0}.track-table-empty{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:18px 12px;font-size:.86rem}.track-head{background:var(--surface-strong);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;min-height:42px;font-size:.76rem;font-weight:850}.track-meta,.track-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.track-title{color:var(--ink);font-weight:850}.track-subtitle,.track-cell{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.track-subtitle{color:var(--muted);margin-top:2px;font-size:.84rem}.unavailable-track-section{margin-top:22px}.unavailable-track-row{opacity:.72;background:#ffffff05}.unavailable-track-row .track-title{color:var(--muted)}.track-unavailable-reason{color:#d8b5b5;white-space:normal;margin-top:4px;font-size:.75rem;line-height:1.35;display:block}.library-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex;overflow:hidden}.track-status-stack{gap:3px;width:100%;min-width:0;display:grid}.track-status-actions{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.track-status{border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;width:max-content;padding:5px 8px;font-size:.72rem;font-weight:900;line-height:1;display:inline-flex}.track-status.actionable{cursor:pointer}.track-status.actionable:hover:not(:disabled){color:var(--spotify-bright);border-color:#25e66d6b}.track-status.actionable:disabled{cursor:wait;opacity:.7}.track-status.exists{color:var(--spotify-bright);background:#25e66d1f;border-color:#25e66d6b}.track-status.missing,.track-status.unindexed{color:var(--muted);background:#ffffff0a}.track-status.unavailable{color:#d8b5b5;background:#ffffff0a;border-color:#ffb7b740}.track-status.move{color:#ffb7b7;background:#ff5c5c1f;border-color:#ff5c5c80}.track-status.move.actionable:hover:not(:disabled){color:#ffe0e0;background:#ff5c5c33;border-color:#ff7e7eb8}.dialog-backdrop{z-index:40;background:#050806b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.track-organize-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:14px;width:min(540px,100%);max-width:540px;padding:16px;display:grid}.dialog-header{grid-template-columns:42px minmax(0,1fr) 40px;align-items:start;gap:10px;display:grid}.dialog-header h2,.dialog-header p{margin:0}.dialog-header h2{font-size:1.05rem;line-height:1.2}.dialog-header p:not(.eyebrow){color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:.82rem}.dialog-close{min-height:38px;padding:0}.organize-choice-summary{border:1px solid var(--line);background:#05080673;border-radius:8px;gap:8px;padding:10px;display:grid}.organize-choice-summary>span{gap:3px;min-width:0;display:grid}.organize-choice-summary span span:last-child{color:var(--ink);overflow-wrap:anywhere;font-size:.82rem}.organize-choice-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.track-status.delete{color:var(--muted);background:#ffffff0a;padding:5px}.track-status.delete.actionable:hover:not(:disabled){color:#ffb7b7;background:#ff5c5c1f;border-color:#ff5c5c80}.track-status.stale{color:#ffc4b5;background:#ff7a5c1f;border-color:#ff7a5c80}.track-status.repair{color:#ffe5a6;background:#f3b84b1f;border-color:#f3b84b80}.track-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;display:block;overflow:hidden}.empty-state,.loading-state{color:var(--muted);text-align:center;place-items:center;gap:10px;min-height:280px;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ops-body{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch;gap:10px;padding:12px;display:grid}.ops-column{align-content:start;gap:10px;min-width:0;display:grid}.ops-scan-column{grid-template-rows:minmax(0,1fr);align-content:stretch}.ops-status-grid{grid-template-rows:repeat(2,minmax(108px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"index folder""plex api";gap:10px;min-width:0;display:grid}.ops-status-grid.without-plex{grid-template-areas:"index folder""index api"}.ops-status-grid>.ops-column{display:contents}.ops-index-card{grid-area:index}.ops-plex-card{grid-area:plex}.ops-folder-card{grid-area:folder}.ops-api-card{grid-area:api}.ops-scan-column>.provider-row,.ops-status-grid .provider-row{height:100%}.provider-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:10px;display:grid}.provider-row.with-action{grid-template-columns:34px minmax(0,1fr)}.icon-command.compact{aspect-ratio:1;min-height:38px;padding:0}.index-row{align-items:flex-start}.index-command{white-space:nowrap;justify-self:start;min-height:38px;margin-top:10px;padding:8px 10px}.navidrome-scan-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.navidrome-scan-actions .index-command{flex:92px;min-width:0;margin-top:0}.navidrome-scan-details{gap:2px;margin-top:4px;display:grid}.provider-row .navidrome-scan-details p{margin-top:0}.provider-row .navidrome-scan-detail-type{color:var(--ink);font-weight:750}.navidrome-scan-progress{margin-top:10px}.provider-content{min-width:0}.provider-icon{aspect-ratio:1;border-radius:8px;place-items:center;display:grid}.provider-icon.green{color:var(--spotify-bright);background:#25e66d29}.provider-icon.amber{color:#805108;background:#be842a29}.provider-icon.teal{color:#00606a;background:#007c8924}.provider-row h3,.provider-row p{margin:0}.provider-row h3{font-size:.9rem}.provider-row p{color:var(--muted);margin-top:2px;font-size:.82rem}.provider-warning{color:#ffe5a6;background:#f3b84b1a;border:1px solid #f3b84b6b;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:10px;padding:10px;display:grid}.provider-warning h3,.provider-warning p{margin:0}.provider-warning h3{font-size:.9rem}.provider-warning p{color:#f6d796;margin-top:2px;font-size:.82rem}.provider-download{background:var(--bg);border:1px solid var(--line);border-radius:8px;gap:10px;padding:10px;display:grid}.backup-workflow{gap:12px;margin-bottom:16px;padding:12px}.backup-workflow-warning{align-items:center}.backup-workflow:focus-visible{outline-offset:2px;border-color:#25e66d80;outline:2px solid #25e66d33}.backup-workflow-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding-bottom:12px;display:flex}.backup-workflow-header>div{min-width:0}.backup-workflow-count{color:#b9ffd0;white-space:nowrap;background:#25e66d1a;border:1px solid #25e66d57;border-radius:999px;flex:none;padding:7px 9px;font-size:.74rem;font-weight:900;line-height:1}.backup-workflow-settings{max-width:420px}.backup-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.backup-workflow-section{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.backup-workflow-section .command{width:100%}.provider-download h3,.provider-download p{margin:0}.provider-download h3{font-size:.9rem}.provider-download p{color:var(--muted);margin-top:2px;font-size:.82rem}.provider-field{gap:6px;display:grid}.provider-field span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.provider-field input,.provider-field select,.provider-field textarea{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;outline:none;width:100%;min-width:0;min-height:40px;padding:0 10px}.provider-field input:focus,.provider-field select:focus,.provider-field textarea:focus{border-color:var(--spotify-bright);box-shadow:0 0 0 3px #25e66d1f}.provider-field textarea{resize:vertical;min-height:122px;padding:10px;line-height:1.4}.provider-divider{background:var(--line);height:1px;margin:4px 0}.provider-throttle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.provider-throttle-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-check{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:flex-start;gap:8px;font-size:.8rem;display:grid}.provider-check input{accent-color:var(--spotify-bright);margin-top:2px}.provider-candidate{color:var(--muted);background:#25e66d12;border:1px solid #25e66d4d;border-radius:8px;gap:4px;padding:8px;font-size:.82rem;display:grid}.provider-candidate strong{color:var(--ink);font-size:.9rem}.provider-candidate a{color:#b9ffd0;overflow-wrap:anywhere;font-weight:800}.provider-candidate-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.provider-inline-button{color:#b9ffd0;background:0 0;border:0;align-items:center;gap:5px;min-height:0;padding:0;font-size:.82rem;font-weight:800;display:inline-flex}.provider-inline-button:disabled{cursor:not-allowed;opacity:.5}.provider-manual-source{gap:8px;display:grid}.provider-action-row{grid-template-columns:minmax(0,1fr) 40px 40px;gap:8px;display:grid}.provider-preview{background:#32d0b014;border:1px solid #32d0b057;border-radius:8px;gap:8px;padding:8px;display:grid}.provider-failed-list{background:#ff7a5c14;border:1px solid #ff7a5c57;border-radius:8px;gap:8px;padding:8px;display:grid}.provider-preview-list{gap:6px;max-height:240px;padding-right:2px;display:grid;overflow:auto}.provider-preview-item{border:1px solid var(--line);background:#05080673;border-radius:8px;gap:3px;min-width:0;padding:7px;font-size:.78rem;display:grid}.provider-preview-item.ready{border-color:#25e66d57}.provider-preview-item.review{border-color:#f3b84b80}.provider-preview-item.failed{border-color:#ff7a5c61}.provider-preview-item span,.provider-preview-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.provider-preview-item.failed span,.provider-preview-item.failed strong,.provider-preview-item.review span,.provider-preview-item.review strong{overflow-wrap:anywhere;white-space:normal}.provider-preview-item.review strong{color:#ffe5a6}.provider-preview-item strong{color:var(--ink);font-size:.8rem}.provider-preview-item a{color:#ffc4b5;overflow-wrap:anywhere;font-weight:800}.provider-download .provider-success{color:#b9ffd0;overflow-wrap:anywhere;background:#25e66d1a;border:1px solid #25e66d5c;border-radius:8px;padding:8px}.provider-download .provider-error{color:#ffc4b5;overflow-wrap:anywhere;background:#ff7a5c1a;border:1px solid #ff7a5c6b;border-radius:8px;padding:8px}.provider-download .provider-queue-note{color:#affff1;overflow-wrap:anywhere;background:#32d0b01a;border:1px solid #32d0b057;border-radius:8px;padding:8px}.download-progress{background:#1db95414;border:1px solid #25e66d57;border-radius:8px;gap:8px;padding:8px;display:grid}.download-progress-meta{color:#b9ffd0;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.74rem;font-weight:800;display:flex}.download-progress-bar{background:#050806b8;border:1px solid #25e66d3d;border-radius:999px;height:10px;position:relative;overflow:hidden}.download-progress-fill{background:linear-gradient(90deg, var(--spotify), var(--spotify-bright));border-radius:inherit;height:100%;transition:width .18s;display:block}.download-progress-fill.indeterminate{width:42%;animation:1.1s ease-in-out infinite download-progress-slide;position:absolute}.download-progress-note{color:#b9ffd0;overflow-wrap:anywhere;font-size:.78rem}@keyframes download-progress-slide{0%{left:-42%}50%{left:29%}to{left:100%}}.path-readout{background:var(--bg);border:1px solid var(--line);border-radius:8px;gap:4px;padding:10px;display:grid}.path-readout span:last-child{color:var(--muted);overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.76rem}.app-footer{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;max-width:1440px;margin:auto auto 0;padding:22px 0 0;display:flex}.app-footer span{border:1px solid var(--line);background:#101410b8;border-radius:999px;min-height:30px;padding:7px 11px;font-size:.78rem;font-weight:800}.app-footer span:first-child{color:var(--spotify-bright)}@media (max-width:1100px){.ops-body{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{padding:16px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:flex-start;width:100%}.help-hero{grid-template-columns:1fr;gap:28px}.help-hero-mark{max-width:360px}.help-steps,.scan-choice-grid,.help-split-section,.help-feature-grid,.help-decision-list,.sync-target-grid,.sync-mode-grid,.sync-truth-strip,.sync-skipped-panel ul{grid-template-columns:1fr}.sync-pipeline{grid-template-columns:1fr;gap:8px}.sync-pipeline>i{background:linear-gradient(180deg, var(--line), var(--spotify), var(--line));justify-self:center;width:1px;height:22px}.sync-pipeline>i:after{border-bottom:1px solid var(--spotify-bright);border-right:1px solid var(--spotify-bright);border-top:0;height:6px;top:auto;bottom:0;right:-3px}.sync-truth-strip>div{border-bottom:1px solid var(--line);border-right:0}.sync-truth-strip>div:last-child{border-bottom:0}.help-step{min-height:0}.help-step:first-child{border-radius:8px 8px 0 0}.help-step:last-child{border-radius:0 0 8px 8px}.help-decision-list div,.help-decision-list div:nth-child(odd),.help-decision-list div:nth-last-child(-n+2){border-bottom:1px solid var(--line);border-right:0}.help-decision-list div:last-child{border-bottom:0}.help-intro{margin-left:0}.help-footer{flex-direction:column;align-items:flex-start}.connect-grid,.workspace-grid,.signal-grid,.summary-strip,.settings-inline-grid,.backup-workflow-grid{grid-template-columns:1fr}.workspace-grid{grid-template-rows:auto auto auto;grid-template-areas:"operations""library""detail"}.ops-body{grid-template-columns:1fr}.ops-status-grid,.ops-status-grid.without-plex{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"index""folder""plex""api"}.ops-status-grid.without-plex{grid-template-areas:"index""folder""api"}.segmented-control{grid-template-columns:1fr}.backup-workflow-header{display:grid}.library-panel,.detail-panel,.ops-panel{min-height:auto}.playlist-list{max-height:420px}.folder-plan{grid-template-columns:24px minmax(0,1fr)}.folder-plan-disclosure{flex-direction:column;align-items:flex-start;gap:10px}.folder-plan-disclosure-state{white-space:normal;justify-content:space-between;width:100%}.folder-plan-state{grid-column:2;justify-items:start}.folder-plan-count{text-align:left}.track-table-heading{grid-template-columns:1fr}.track-table-heading .command{white-space:normal;justify-self:start}.track-row{grid-template-columns:34px minmax(0,1fr) minmax(92px,.85fr) 54px;gap:8px;padding:8px}.track-row .track-cell:nth-child(3),.track-head .track-cell:nth-child(3){display:none}.provider-throttle-grid,.provider-throttle-grid.compact{grid-template-columns:1fr}.provider-action-row{grid-template-columns:minmax(0,1fr) 40px 40px}}
