@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.866357a4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.758e15a8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.866357a4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.758e15a8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.866357a4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.758e15a8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.866357a4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.758e15a8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_d2bd7fb3-module__Il5miW__className{font-family:Outfit,Outfit Fallback;font-style:normal}
*{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#0a0a0b;--bg-elevated:#121214;--bg-card:#18181cd9;--bg-input:#1c1c1f;--bg-hover:#ffffff12;--border-subtle:#ffffff14;--border-strong:#ffffff1f;--text-primary:#fafafa;--text-secondary:#a1a1a6;--text-muted:#71717a;--accent-green:#22c55e;--accent-green-hover:#4ade80;--accent-green-glow:#22c55e66;--accent-plex:#e5a00d;--accent-plex-hover:#f0b429;--accent-plex-glow:#e5a00d59;--accent-red:#ef4444;--accent-red-hover:#f87171;--accent-red-glow:#ef444440;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:500px;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 16px 48px #00000080;--transition-fast:.15s ease;--transition-normal:.25s ease}html,body{max-width:100vw;min-height:100vh}.spotify-theme{background:var(--bg-base);color:var(--text-primary)}.spotify-theme body{background:linear-gradient(165deg,#0d0d0f 0%,var(--bg-base)25%,#0f0f12 50%,var(--bg-base)100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.app-layout{min-height:100vh;display:flex}.playlist-sidebar{background:var(--bg-elevated);border-right:1px solid var(--border-subtle);width:14rem;min-width:14rem;padding:1.25rem .75rem 2rem}.playlist-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 .75rem .75rem;font-size:.75rem;font-weight:600}.playlist-sidebar-list{margin:0;padding:0;list-style:none}.playlist-sidebar-row{align-items:center;gap:.15rem;margin-bottom:.15rem;display:flex}.playlist-sidebar-row .playlist-sidebar-item{flex:1;margin-bottom:0}.playlist-sidebar-delete{width:1.5rem;height:1.5rem;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.125rem;line-height:1}.playlist-sidebar-delete:hover{opacity:1;color:var(--accent-red);background:var(--bg-hover)}.playlist-sidebar-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:.15rem;padding:.5rem .75rem;font-size:.9375rem;display:flex}.playlist-sidebar-item:hover,.playlist-sidebar-item-active{background:var(--bg-hover)}.playlist-sidebar-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.playlist-sidebar-item-badge{color:var(--accent-green);flex-shrink:0;font-size:.5rem}.playlist-sidebar-item-count{color:var(--text-muted);flex-shrink:0;font-size:.8125rem}.playlist-sidebar-add{color:var(--text-secondary);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;width:calc(100% - 1.5rem);transition:border-color var(--transition-fast),color var(--transition-fast);background:0 0;margin:.75rem .75rem 0;padding:.5rem .75rem;font-size:.875rem;font-weight:500}.playlist-sidebar-add:hover{color:var(--text-primary);border-color:var(--text-muted)}.playlist-sidebar-add-form{margin:.75rem}.playlist-sidebar-add-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);box-sizing:border-box;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.875rem}.playlist-sidebar-add-input:focus{border-color:var(--accent-green);outline:none}.playlist-sidebar-add-actions{gap:.5rem;display:flex}.playlist-sidebar-add-btn{background:var(--accent-green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.375rem .75rem;font-size:.8125rem;font-weight:500}.playlist-sidebar-add-btn.playlist-sidebar-add-cancel{color:var(--text-secondary);background:0 0}.playlist-sidebar-add-cancel:hover{color:var(--text-primary)}.playlist-sidebar-loading{color:var(--text-muted);padding:1rem .75rem;font-size:.875rem}.spotify-page{max-width:58rem;min-height:100vh;margin:0 auto;padding:2.25rem 1.5rem 4rem}.spotify-page-main{flex:1;min-width:0}.spotify-header{margin-bottom:1.75rem}.spotify-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.spotify-logo{letter-spacing:-.04em;background:linear-gradient(135deg,var(--text-primary)0%,var(--text-secondary)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.25rem;font-weight:700}.spotify-auth-header{align-items:center;gap:.75rem;display:flex}.spotify-auth-status,.spotify-auth-user{color:var(--text-secondary);font-size:.875rem}.spotify-auth-login,.spotify-auth-logout{border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal);border:none;padding:.5rem 1.125rem;font-size:.875rem;font-weight:600}.spotify-auth-login{background:var(--accent-green);color:#fff;box-shadow:0 2px 12px var(--accent-green-glow);text-decoration:none;display:inline-block}.spotify-auth-login:hover{background:var(--accent-green-hover);box-shadow:0 4px 20px var(--accent-green-glow);transform:scale(1.03)}.spotify-auth-logout{color:var(--text-secondary);background:0 0}.spotify-auth-logout:hover{color:var(--text-primary)}.spotify-tagline{color:var(--text-secondary);margin-bottom:.6rem;font-size:.9375rem;font-weight:500}.spotify-playlist-cta-row{flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;display:flex}.spotify-playlist-cta{color:#fff;background:var(--accent-green);border-radius:var(--radius-full);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal);box-shadow:var(--shadow-sm),0 0 0 1px #ffffff0d;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.spotify-playlist-cta:hover{background:var(--accent-green-hover);box-shadow:0 6px 20px var(--accent-green-glow),0 0 0 1px #ffffff14;transform:translateY(-1px)}.spotify-playlist-cta-plex{background:var(--accent-plex);box-shadow:var(--shadow-sm),0 0 0 1px #ffffff0d}.spotify-playlist-cta-plex:hover{background:var(--accent-plex-hover);box-shadow:0 6px 20px var(--accent-plex-glow),0 0 0 1px #ffffff14}.spotify-playlist-cta-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.spotify-import-section{border-bottom:1px solid var(--border-subtle);margin-bottom:1rem;padding:1rem 0}.spotify-import-desc{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem}.spotify-import-form,.spotify-import-linked{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.spotify-import-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);min-width:12rem;color:var(--text-primary);flex:1;padding:.5rem .75rem;font-size:.875rem}.spotify-import-input:focus{border-color:var(--accent-green);outline:none}.spotify-import-btn{color:#fff;background:var(--accent-green);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.spotify-import-btn:hover:not(:disabled){background:var(--accent-green-hover)}.spotify-import-btn:disabled{opacity:.7;cursor:not-allowed}.spotify-import-link{color:var(--accent-green);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.spotify-import-link:hover{text-decoration:underline}.spotify-import-error{color:var(--accent-red);margin:.5rem 0 0;font-size:.8125rem}.spotify-search{width:100%;max-width:30rem;position:relative}.spotify-search-input-wrap{width:100%;position:relative}.spotify-search-input{border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--bg-input);width:100%;color:var(--text-primary);box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);padding:.7rem 1.125rem;font-size:.9375rem}.spotify-search-input-with-spinner{padding-right:2.5rem}.spotify-search-input::placeholder{color:var(--text-muted)}.spotify-search-input:hover{border-color:var(--border-strong);background:#222226}.spotify-search-input:focus{border-color:var(--accent-green);box-shadow:0 0 0 3px var(--accent-green-glow);outline:none}.spotify-search-spinner{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.spotify-search-spinner-dot{border:2px solid var(--border-subtle);border-top-color:var(--accent-green);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spotify-search-spin}@keyframes spotify-search-spin{to{transform:rotate(360deg)}}.spotify-search-dropdown{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-height:22rem;box-shadow:var(--shadow-lg);z-index:1000;margin-top:.35rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.spotify-search-loading,.spotify-search-empty{color:var(--text-secondary);margin:0;padding:1.125rem 1rem;font-size:.875rem}.spotify-search-list{margin:0;padding:0;list-style:none}.spotify-search-item{cursor:default;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast);align-items:center;gap:.85rem;padding:.6rem 1rem;display:flex}.spotify-search-item:last-child{border-bottom:none}.spotify-search-item:hover{background:var(--bg-hover)}.spotify-search-thumb{object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-elevated);flex-shrink:0;width:48px;height:48px}.spotify-search-thumb-placeholder{background:var(--bg-elevated);display:block}.spotify-search-item-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.spotify-search-item-name{color:var(--text-primary);font-size:.9375rem;font-weight:500}.spotify-search-item-meta{color:var(--text-secondary);font-size:.8125rem}.spotify-search-duration{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8125rem}.spotify-search-save{cursor:pointer;width:2.25rem;height:2.25rem;color:var(--text-secondary);transition:color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:flex}.spotify-search-save:hover:not(:disabled){color:var(--accent-green);background:#22c55e1f;transform:scale(1.08)}.spotify-search-save:disabled{cursor:default;opacity:.6}.spotify-search-save-icon{display:block}.spotify-search-save-check{color:var(--accent-green)}.spotify-playlist{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:0;padding:.5rem 0;overflow-x:auto}.spotify-playlist-loading,.spotify-playlist-error,.spotify-playlist-empty{color:var(--text-secondary);text-align:center;padding:2.5rem 1.25rem;font-size:.9375rem}.spotify-playlist-error{color:var(--accent-red)}.spotify-playlist-header-row{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:36px minmax(0,1.2fr) minmax(0,1fr) minmax(80px,auto) minmax(72px,auto) 48px 36px 36px 36px;align-items:center;gap:.6rem 1rem;margin-bottom:.25rem;padding:0 1.25rem .6rem;font-size:.7rem;font-weight:600;display:grid}.spotify-playlist-header-row .spotify-playlist-col-duration{text-align:right}.spotify-playlist-entries{margin:0;padding:0;list-style:none}.spotify-playlist-entry{border-radius:var(--radius-md);transition:background var(--transition-fast);grid-template-columns:36px minmax(0,1.2fr) minmax(0,1fr) minmax(80px,auto) minmax(72px,auto) 48px 36px 36px 36px;align-items:center;gap:.6rem 1rem;margin:0;padding:.6rem 1.25rem;font-size:.9375rem;display:grid}.spotify-playlist-entry:hover{background:var(--bg-hover)}.spotify-playlist-col-index{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.875rem}.spotify-playlist-col-title{align-items:center;gap:.85rem;min-width:0;display:flex}.spotify-playlist-thumb{object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-elevated);flex-shrink:0;width:42px;height:42px;box-shadow:0 1px 4px #0003}.spotify-playlist-thumb-placeholder{background:var(--bg-elevated);display:block}.spotify-playlist-title-block{flex-direction:column;gap:.2rem;min-width:0;display:flex}.spotify-playlist-track-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.spotify-playlist-artist{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.spotify-playlist-track-status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.spotify-playlist-track-status[data-status=in-plex]{color:var(--accent-green)}.spotify-playlist-track-status[data-status=error]{color:var(--accent-red)}.spotify-playlist-track-status-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.spotify-playlist-pick-mb-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);padding:.2rem .5rem;font-size:.7rem;font-weight:500}.spotify-playlist-pick-mb-btn:hover{background:var(--bg-hover);border-color:var(--accent-green);color:var(--accent-green)}.spotify-playlist-pick-plex-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);padding:.2rem .5rem;font-size:.7rem;font-weight:500}.spotify-playlist-pick-plex-btn:hover{background:var(--bg-hover);border-color:var(--accent-plex);color:var(--accent-plex)}.spotify-playlist-col-album{color:var(--text-secondary);word-wrap:break-word;overflow-wrap:break-word;font-size:.875rem;line-height:1.4}.spotify-playlist-col-date,.spotify-playlist-col-added-by,.spotify-playlist-col-duration{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.spotify-playlist-col-duration{text-align:right;font-variant-numeric:tabular-nums}.spotify-playlist-col-spotify,.spotify-playlist-col-plex,.spotify-playlist-remove-btn{width:2rem;height:2rem;color:var(--accent-red);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.spotify-playlist-remove-btn:hover{color:var(--accent-red-hover);background:#ef444426;transform:scale(1.08)}.spotify-playlist-remove-btn:focus-visible{outline:2px solid var(--accent-red);outline-offset:2px}.spotify-playlist-col-remove{justify-content:center;align-items:center;gap:.25rem;display:flex}.spotify-playlist-resync-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.spotify-playlist-resync-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent)}.spotify-playlist-resync-btn:disabled{opacity:.7;cursor:not-allowed}.spotify-playlist-resync-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spotify-playlist-remove-icon{width:1.25rem;height:1.25rem}.spotify-playlist-track-link-plex{color:var(--accent-plex)}.spotify-playlist-track-link-plex:hover{color:var(--accent-plex-hover)}.spotify-playlist-track-link{width:2rem;height:2rem;color:var(--text-secondary);transition:color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.spotify-playlist-track-link:hover{color:var(--accent-green);background:#22c55e1f;transform:scale(1.1)}.spotify-playlist-track-icon{width:1.25rem;height:1.25rem}.spotify-playlist-track-link-placeholder{width:1.25rem;height:1.25rem;display:block}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-page-card{text-align:center;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-width:24rem;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.login-page-title{letter-spacing:-.04em;background:linear-gradient(135deg,var(--text-primary)0%,var(--text-secondary)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2.75rem;font-weight:700}.login-page-tagline{color:var(--text-secondary);margin:0 0 1rem;font-size:.9375rem;font-weight:500}.login-page-prompt{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9375rem;line-height:1.55}.login-page-button{color:#fff;background:var(--accent-green);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-normal);box-shadow:0 2px 12px var(--accent-green-glow);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-size:1rem;font-weight:600;display:inline-flex}.login-page-button:hover{background:var(--accent-green-hover);box-shadow:0 6px 24px var(--accent-green-glow);transform:translateY(-2px)}.login-page-button-icon{flex-shrink:0;width:1.5rem;height:1.5rem}.login-page-loading{min-height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:.9375rem;font-weight:500;display:flex}.mb-picker-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.mb-picker-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:28rem;max-height:85vh;box-shadow:var(--shadow-lg);padding:1.25rem 1.5rem;overflow:auto}.mb-picker-header{margin-bottom:1rem;padding-right:2rem;position:relative}.mb-picker-title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.mb-picker-subtitle{color:var(--text-secondary);margin:0;font-size:.875rem}.mb-picker-close{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:-.25rem;right:0}.mb-picker-close:hover{color:var(--text-primary);background:var(--bg-hover)}.mb-picker-step{margin-bottom:1rem}.mb-picker-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.mb-picker-search-row{gap:.5rem;margin-bottom:.75rem;display:flex}.mb-picker-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);flex:1;padding:.5rem .75rem;font-size:.9375rem}.mb-picker-input:focus{border-color:var(--accent-green);outline:none}.mb-picker-search-btn{color:#fff;background:var(--accent-green);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.mb-picker-search-btn:hover:not(:disabled){background:var(--accent-green-hover)}.mb-picker-search-btn:disabled{opacity:.7;cursor:not-allowed}.mb-picker-list{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:16rem;margin:0;padding:0;list-style:none;overflow-y:auto}.mb-picker-list li{border-bottom:1px solid var(--border-subtle)}.mb-picker-list li:last-child{border-bottom:none}.mb-picker-list-btn{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;padding:.6rem .75rem;font-size:.9375rem;display:block}.mb-picker-list-btn:hover:not(:disabled){background:var(--bg-hover)}.mb-picker-list-btn:disabled{opacity:.7;cursor:not-allowed}.mb-picker-step-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.mb-picker-back{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:.25rem .5rem;font-size:.8125rem}.mb-picker-back:hover{color:var(--text-primary)}.mb-picker-artist-name{color:var(--text-secondary);margin:0 0 .5rem;font-size:.875rem}.mb-picker-loading,.mb-picker-empty{color:var(--text-muted);margin:0;padding:1rem 0;font-size:.875rem}.mb-picker-release-groups .mb-picker-list-btn{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mb-picker-rg-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mb-picker-rg-type{text-transform:uppercase;color:var(--text-muted);background:var(--bg-elevated);border-radius:4px;flex-shrink:0;padding:.15rem .4rem;font-size:.7rem}.mb-picker-list-btn .mb-picker-plex-artist{text-transform:none;background:0 0;padding:0;font-size:.8125rem}.mb-picker-error{color:var(--accent-red);margin:.75rem 0 0;font-size:.8125rem}@media (max-width:640px){.spotify-playlist-header-row,.spotify-playlist-entry{grid-template-columns:28px 1fr 48px 36px 36px 36px}.spotify-playlist-header-row .spotify-playlist-col-album,.spotify-playlist-header-row .spotify-playlist-col-date,.spotify-playlist-header-row .spotify-playlist-col-added-by,.spotify-playlist-header-row .spotify-playlist-col-duration,.spotify-playlist-entry .spotify-playlist-col-album,.spotify-playlist-entry .spotify-playlist-col-date,.spotify-playlist-entry .spotify-playlist-col-added-by,.spotify-playlist-entry .spotify-playlist-col-duration{display:none}}
