.pl-page{--pl-bg:var(--s1);--pl-surface:var(--s2);--pl-surface-high:#242322;--pl-surface-raised:var(--s3);--pl-text:#e5e2e1;--pl-text-muted:rgb(var(--fg)/0.55);--pl-primary:#e6002c;--pl-primary-soft:#ffb3af;--pl-accent-glow:rgba(230,0,44,0.22);--pl-outline:rgb(var(--fg)/0.08);--pl-radius-lg:1rem;--pl-radius-xl:1.25rem;color:var(--pl-text);padding-bottom:5rem;box-sizing:border-box}:root.theme-light .pl-page{--pl-bg:#f6f5f4;--pl-surface:#ffffff;--pl-surface-high:#f0eeec;--pl-surface-raised:#ffffff;--pl-text:var(--s2);--pl-text-muted:rgba(26,24,24,0.55);--pl-outline:rgba(0,0,0,0.08);--pl-accent-glow:rgba(230,0,44,0.12)}.pl-page__inner{width:100%;max-width:1400px;margin:0 auto;padding:0 1.25rem 1.5rem;box-sizing:border-box}.pl-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1.75rem;padding-top:.25rem}.pl-page-header__eyebrow{margin:0 0 .35rem;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pl-primary-soft)}:root.theme-light .pl-page-header__eyebrow{color:var(--pl-primary)}.pl-page-header__title{margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--pl-text)}.pl-page-header__desc{margin:.5rem 0 0;font-size:.92rem;color:var(--pl-text-muted);max-width:36rem;line-height:1.5}.pl-inline-link{color:var(--pl-primary-soft);font-weight:600;text-decoration:none}.pl-inline-link:hover{text-decoration:underline}:root.theme-light .pl-inline-link{color:var(--pl-primary)}.pl-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start;min-height:0}@media (max-width:992px){.pl-layout{grid-template-columns:1fr}}.pl-sidebar{background:var(--pl-surface);border:1px solid var(--pl-outline);border-radius:var(--pl-radius-xl);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 220px);position:-webkit-sticky;position:sticky;top:1rem;box-sizing:border-box;box-shadow:0 12px 40px rgba(0,0,0,.2)}@media (max-width:992px){.pl-sidebar{max-height:none;position:static}}.pl-sidebar__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pl-sidebar__title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:var(--pl-text)}.pl-sidebar__search{position:relative;display:flex;align-items:center}.pl-sidebar__search .fa-magnifying-glass{position:absolute;left:.85rem;font-size:.85rem;color:var(--pl-text-muted);pointer-events:none}.pl-sidebar__search input{width:100%;box-sizing:border-box;padding:.65rem .85rem .65rem 2.35rem;border-radius:.65rem;border:1px solid var(--pl-outline);background:var(--pl-surface-high);color:var(--pl-text);font-size:.88rem;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.pl-sidebar__search input::placeholder{color:var(--pl-text-muted)}.pl-sidebar__search input:focus{border-color:rgba(230,0,44,.45);box-shadow:0 0 0 2px var(--pl-accent-glow)}.pl-sidebar__list{display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;padding-right:.15rem;min-height:0;flex:1 1}.pl-sidebar__list::-webkit-scrollbar{width:5px}.pl-sidebar__list::-webkit-scrollbar-thumb{background:rgb(var(--fg)/.12);border-radius:4px}.pl-empty-sidebar{margin:.5rem 0;font-size:.88rem;color:var(--pl-text-muted);line-height:1.5}.pl-card{display:flex;align-items:center;gap:.85rem;padding:.65rem .5rem .65rem .65rem;border-radius:.75rem;background:transparent;border:1px solid transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease;text-align:left;width:100%;font:inherit;color:inherit}.pl-card:hover{background:rgb(var(--fg)/.04)}:root.theme-light .pl-card:hover{background:rgba(0,0,0,.03)}.pl-card--active{background:var(--pl-accent-glow);border-color:rgba(230,0,44,.35)}.pl-card__info{flex:1 1;min-width:0}.pl-card__name{font-weight:600;font-size:.9rem;color:var(--pl-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 .15rem}.pl-card__count{font-size:.75rem;color:var(--pl-text-muted);margin:0}.pl-card__row-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0;opacity:0;transition:opacity .15s ease}.pl-card--active .pl-card__row-actions,.pl-card:hover .pl-card__row-actions{opacity:1}.pl-card__icon-btn{background:none;border:none;padding:.4rem;cursor:pointer;color:var(--pl-text);opacity:.45;border-radius:.4rem;transition:opacity .15s ease,background .15s ease,color .15s ease}.pl-card__icon-btn:hover{opacity:1;background:rgb(var(--fg)/.08)}.pl-card__icon-btn--danger:hover{color:var(--pl-primary);background:rgba(230,0,44,.12)}.pl-cover{flex-shrink:0;border-radius:.5rem;overflow:hidden}.pl-cover--single{width:52px;height:52px;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.25)}.pl-cover--empty{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#3a3a3a,#1a1a1a);color:var(--pl-text-muted);font-size:1.1rem}.pl-cover--mosaic{width:52px;height:52px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:1px;gap:1px;background:var(--s0);box-shadow:0 4px 12px rgba(0,0,0,.25)}.pl-cover--mosaic img{width:100%;height:100%;object-fit:cover}.pl-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.pl-hero{position:relative;border-radius:var(--pl-radius-xl);overflow:hidden;border:1px solid var(--pl-outline);min-height:220px}.pl-hero__backdrop{position:absolute;inset:0;background-image:var(--pl-hero-image);background-size:cover;background-position:50%;filter:blur(48px) saturate(1.2);transform:scale(1.15);opacity:.55}.pl-hero__backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(19,19,19,.92),rgba(19,19,19,.75) 45%,rgba(230,0,44,.15))}:root.theme-light .pl-hero__backdrop:after{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,255,255,.82) 50%,rgba(230,0,44,.08))}.pl-hero__body{position:relative;z-index:1;display:flex;align-items:flex-end;gap:1.75rem;padding:1.75rem 2rem}@media (max-width:768px){.pl-hero__body{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}}.pl-hero__art-wrap{position:relative;flex-shrink:0}.pl-hero__art-wrap .pl-cover--empty,.pl-hero__art-wrap .pl-cover--mosaic,.pl-hero__art-wrap .pl-cover--single{width:168px;height:168px;border-radius:.65rem;box-shadow:0 20px 50px rgba(0,0,0,.45)}.pl-hero__art-wrap .pl-cover--mosaic{gap:2px}.pl-hero__play-fab{position:absolute;right:-.35rem;bottom:-.35rem;width:3rem;height:3rem;border-radius:50%;border:none;background:var(--pl-primary);color:rgb(var(--fg));font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(230,0,44,.45);transition:transform .15s ease,background .15s ease}.pl-hero__play-fab:hover:not(:disabled){transform:scale(1.06);background:#ff2a52}.pl-hero__play-fab:disabled{opacity:.45;cursor:not-allowed}.pl-hero__content{flex:1 1;min-width:0;padding-bottom:.25rem}.pl-hero__badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pl-primary-soft);margin-bottom:.5rem}:root.theme-light .pl-hero__badge{color:var(--pl-primary)}.pl-hero__title{margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;color:var(--pl-text)}.pl-hero__meta{margin:.65rem 0 0;font-size:.9rem;color:var(--pl-text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.pl-hero__meta-dot{opacity:.5}.pl-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.25rem}@media (max-width:768px){.pl-hero__actions{justify-content:center}}.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.35rem;border-radius:999px;font-weight:700;font-size:.88rem;cursor:pointer;transition:background .18s ease,transform .15s ease,opacity .15s ease;border:none;font-family:inherit;white-space:nowrap}.pl-btn:disabled{opacity:.45;cursor:not-allowed}.pl-btn--primary{background:var(--pl-primary);color:#fff7f6;box-shadow:0 6px 18px rgba(230,0,44,.35)}.pl-btn--primary:hover:not(:disabled){background:#ff2a52}.pl-btn--secondary{background:rgb(var(--fg)/.1);color:var(--pl-text);border:1px solid var(--pl-outline)}:root.theme-light .pl-btn--secondary{background:rgba(0,0,0,.04)}.pl-btn--secondary:hover:not(:disabled){background:rgb(var(--fg)/.14)}.pl-btn--ghost{background:transparent;color:var(--pl-text-muted);border:1px solid transparent}.pl-btn--ghost:hover:not(:disabled){color:var(--pl-text);background:rgb(var(--fg)/.06)}.pl-btn--compact{padding:.5rem 1rem;font-size:.82rem}.pl-list-container{background:var(--pl-surface);border:1px solid var(--pl-outline);border-radius:var(--pl-radius-xl);padding:.25rem 0 .75rem;box-shadow:0 12px 40px rgba(0,0,0,.15)}.pl-list-container__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--pl-outline);margin-bottom:.25rem}.pl-list-container__title{margin:0;font-size:.95rem;font-weight:700;color:var(--pl-text)}.pl-list-container__link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--pl-primary-soft);text-decoration:none}.pl-list-container__link:hover{text-decoration:underline}:root.theme-light .pl-list-container__link{color:var(--pl-primary)}.pl-table-head{display:grid;grid-template-columns:44px minmax(0,2.5fr) 1.2fr .7fr 72px 72px;padding:.5rem 1.25rem;color:var(--pl-text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.pl-table-head__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:768px){.pl-table-head{grid-template-columns:44px 1fr 72px 56px}.pl-table-head__hide-sm{display:none}}.pl-tracks{display:flex;flex-direction:column}.pl-track-row{display:grid;grid-template-columns:44px minmax(0,2.5fr) 1.2fr .7fr 72px 72px;align-items:center;padding:.55rem 1.25rem;border-radius:.5rem;margin:0 .35rem;cursor:pointer;transition:background .15s ease;outline:none}@media (max-width:768px){.pl-track-row{grid-template-columns:44px 1fr 72px 56px}.pl-track-row__hide-sm{display:none}}.pl-track-row:hover{background:rgb(var(--fg)/.04)}:root.theme-light .pl-track-row:hover{background:rgba(0,0,0,.03)}.pl-track-row--active{background:var(--pl-accent-glow)}.pl-track-row__index{display:flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--pl-text-muted);min-width:2rem}.pl-track-row:hover .pl-track-row__index-num{display:none}.pl-track-row__play-icon{display:none;color:var(--pl-primary-soft);font-size:.8rem}.pl-track-row:hover .pl-track-row__play-icon{display:block}.pl-track-row--active .pl-track-row__index-num{display:flex}.pl-track-row--active:hover .pl-track-row__play-icon{display:none}.pl-track-row__info{display:flex;align-items:center;gap:.85rem;min-width:0}.pl-track-row__thumb{object-fit:cover}.pl-track-row__thumb,.pl-track-row__thumb-placeholder{width:42px;height:42px;border-radius:.4rem;flex-shrink:0}.pl-track-row__thumb-placeholder{background:var(--pl-surface-high);display:flex;align-items:center;justify-content:center;color:var(--pl-text-muted)}.pl-track-row__meta{min-width:0}.pl-track-row__title{margin:0 0 .2rem;font-size:.92rem;font-weight:600;color:var(--pl-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-track-row__title--active{color:var(--pl-primary-soft)}:root.theme-light .pl-track-row__title--active{color:var(--pl-primary)}.pl-track-row__artist{margin:0;font-size:.8rem}.pl-track-row__artist,.pl-track-row__col{color:var(--pl-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-track-row__col{font-size:.85rem}.pl-track-row__col-center{text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-track-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.pl-track-row__trash{background:none;border:none;padding:.35rem;cursor:pointer;color:var(--pl-text-muted);font-size:.9rem;transition:color .15s ease}.pl-track-row__trash:hover{color:var(--pl-primary)}.pl-empty-state{text-align:center;padding:2.5rem 1.5rem}.pl-empty-state--centered{max-width:420px;margin:2rem auto 3rem}.pl-empty-state--inset{padding:2.5rem 1.25rem 3rem}.pl-empty-state__icon{width:4rem;height:4rem;margin:0 auto 1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--pl-primary-soft);background:var(--pl-accent-glow);border:1px solid rgba(230,0,44,.2)}.pl-empty-state__icon--sm{width:3rem;height:3rem;font-size:1.15rem;margin-bottom:1rem}.pl-empty-state__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--pl-text)}.pl-empty-state--inset .pl-empty-state__title{font-size:1.05rem}.pl-empty-state__text{margin:0 0 1.25rem;font-size:.9rem;color:var(--pl-text-muted);line-height:1.55}.pl-modal-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}.pl-modal{width:100%;max-width:440px;background:var(--pl-surface-raised);border:1px solid var(--pl-outline);border-radius:var(--pl-radius-lg);padding:1.5rem;box-shadow:0 24px 80px rgba(0,0,0,.5)}.pl-modal__header{margin-bottom:1.25rem}.pl-modal__title{margin:0 0 .35rem;font-size:1.2rem;font-weight:700;color:var(--pl-text)}.pl-modal__subtitle{margin:0;font-size:.88rem;color:var(--pl-text-muted);line-height:1.45}.pl-modal__label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.45rem;color:var(--pl-text-muted)}.pl-modal__input{width:100%;box-sizing:border-box;padding:.75rem 1rem;border-radius:.6rem;border:1px solid var(--pl-outline);background:var(--pl-surface-high);color:var(--pl-text);font-size:1rem;font-family:inherit;margin-bottom:1.25rem;outline:none}.pl-modal__input:focus{border-color:rgba(230,0,44,.45);box-shadow:0 0 0 2px var(--pl-accent-glow)}.pl-modal__actions{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap}.pl-modal--add-songs{width:min(520px,calc(100vw - 2rem));max-height:min(85vh,720px);display:flex;flex-direction:column}.pl-add-songs__tabs{display:flex;gap:.35rem;margin-bottom:.85rem}.pl-add-songs__tab{flex:1 1;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--pl-border,rgb(var(--fg)/.12));background:transparent;color:var(--pl-text-muted,#b3b3b3);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.pl-add-songs__tab--active{background:rgba(230,0,44,.18);border-color:rgba(230,0,44,.55);color:rgb(var(--fg))}.pl-add-songs__search{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;margin-bottom:.75rem;border-radius:.45rem;background:rgb(var(--fg)/.06);border:1px solid rgb(var(--fg)/.08)}.pl-add-songs__search input{flex:1 1;border:none;background:transparent;color:inherit;font-size:.9rem;outline:none}.pl-add-songs__search i{color:var(--pl-text-muted,#b3b3b3);font-size:.85rem}.pl-add-songs__list{flex:1 1;min-height:0;max-height:min(42vh,360px);overflow-y:auto;margin:0 -.25rem;padding:0 .25rem}.pl-add-songs__empty{margin:1.25rem 0;text-align:center;color:var(--pl-text-muted,#b3b3b3);font-size:.88rem;line-height:1.45}.pl-add-songs__row{display:flex;align-items:center;gap:.65rem;padding:.45rem .35rem;border-radius:.35rem;cursor:pointer;transition:background .12s}.pl-add-songs__row:hover{background:rgb(var(--fg)/.06)}.pl-add-songs__row input{flex-shrink:0;accent-color:var(--pl-accent,#e6002c)}.pl-add-songs__thumb{width:40px;height:40px;border-radius:4px;object-fit:cover;flex-shrink:0}.pl-add-songs__thumb--ph{display:flex;align-items:center;justify-content:center;background:rgb(var(--fg)/.08);color:var(--pl-text-muted,#b3b3b3)}.pl-add-songs__meta{min-width:0;display:flex;flex-direction:column;gap:.15rem}.pl-add-songs__title{font-size:.9rem;font-weight:600}.pl-add-songs__artist,.pl-add-songs__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-add-songs__artist{font-size:.78rem;color:var(--pl-text-muted,#b3b3b3)}.pl-add-songs__actions{align-items:center;justify-content:space-between;margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgb(var(--fg)/.08)}.pl-add-songs__picked{font-size:.82rem;color:var(--pl-text-muted,#b3b3b3)}.pl-add-songs__action-btns{display:flex;gap:.65rem}.pl-toolbar-btn--add-songs{width:auto;padding:0 .85rem;gap:.45rem}.pl-toolbar-btn__label{font-size:.82rem;font-weight:700;letter-spacing:.02em}.pl-toast{z-index:3500;padding:.75rem 1.1rem;border-radius:.5rem;background:rgba(28,10,12,.97);border:1px solid rgba(230,0,44,.45);color:#ffe8e8;font-size:.88rem;font-weight:600;box-shadow:0 12px 40px rgba(0,0,0,.55);pointer-events:none;max-width:min(480px,calc(100vw - 2rem));text-align:center}.pl-toast,.playlist-api-error-toast{position:fixed;left:50%;bottom:5.5rem;transform:translateX(-50%)}.playlist-api-error-toast{z-index:4000;max-width:min(560px,calc(100vw - 2rem));width:100%;pointer-events:auto;box-sizing:border-box}.playlist-api-error-toast__inner{background:rgba(28,10,12,.97);border:1px solid rgba(255,80,80,.45);border-radius:.75rem;padding:1rem 1.1rem;box-shadow:0 12px 40px rgba(0,0,0,.55);color:#ffe8e8}:root.theme-light .playlist-api-error-toast__inner{background:#fff5f5;border-color:rgba(200,40,40,.35);color:#3d0a0a}.playlist-api-error-toast__title{font-weight:700;font-size:.95rem;margin-bottom:.5rem}.playlist-api-error-toast__body{margin:0 0 .65rem;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:12rem;overflow-y:auto;opacity:.95;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.playlist-api-error-toast__hint{margin:0 0 .75rem;font-size:.75rem;opacity:.75;line-height:1.4}.playlist-api-error-toast__hint kbd{display:inline-block;padding:.1rem .35rem;border-radius:.25rem;border:1px solid rgb(var(--fg)/.25);font-size:.7rem;font-family:inherit}:root.theme-light .playlist-api-error-toast__hint kbd{border-color:rgba(0,0,0,.2)}.playlist-api-error-toast__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.playlist-api-error-toast__dismiss,.playlist-api-error-toast__secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;padding:.45rem 1rem;border-radius:999px;font-weight:600;font-size:.8rem;color:inherit}.playlist-api-error-toast__secondary{background:rgb(var(--fg)/.08);border:1px solid rgb(var(--fg)/.2)}.playlist-api-error-toast__secondary:hover{background:rgb(var(--fg)/.14)}.playlist-api-error-toast__dismiss{background:rgb(var(--fg)/.12)}.playlist-api-error-toast__dismiss:hover{background:rgb(var(--fg)/.2)}:root.theme-light .playlist-api-error-toast__secondary{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}:root.theme-light .playlist-api-error-toast__dismiss{background:rgba(0,0,0,.08)}:root.theme-light .playlist-api-error-toast__dismiss:hover{background:rgba(0,0,0,.12)}.playlist-api-log-fab{position:fixed;right:1rem;bottom:6.25rem;z-index:3990;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--pl-outline);background:var(--pl-surface-raised);color:var(--pl-text);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}.playlist-api-log-fab:hover{background:var(--pl-surface-high)}.playlist-api-log-backdrop{position:fixed;inset:0;z-index:3980;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:flex-end;padding:1rem;box-sizing:border-box}.playlist-api-log-panel{width:min(420px,calc(100vw - 2rem));max-height:min(70vh,480px);background:var(--pl-surface-raised);border:1px solid var(--pl-outline);border-radius:var(--pl-radius-lg);box-shadow:0 16px 48px rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden}.playlist-api-log-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--pl-outline)}.playlist-api-log-panel__title{margin:0;font-size:.95rem;font-weight:700;color:var(--pl-text)}.playlist-api-log-panel__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--pl-text-muted);cursor:pointer;padding:.35rem;border-radius:.35rem}.playlist-api-log-panel__close:hover{color:var(--pl-text);background:rgb(var(--fg)/.08)}.playlist-api-log-panel__help{margin:0;padding:.75rem 1rem 0;font-size:.8rem;color:var(--pl-text-muted);line-height:1.45}.playlist-api-log-panel__toolbar{display:flex;gap:.5rem;padding:.75rem 1rem}.playlist-api-log-panel__toolbar button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--pl-outline);background:var(--pl-surface-high);color:var(--pl-text);padding:.4rem .85rem;border-radius:999px;font-size:.78rem;font-weight:600;cursor:pointer}.playlist-api-log-panel__empty{margin:0;padding:1rem;font-size:.85rem;color:var(--pl-text-muted)}.playlist-api-log-panel__list{list-style:none;margin:0;padding:0 .75rem .75rem;overflow-y:auto;flex:1 1}.playlist-api-log-panel__item{padding:.65rem;margin-bottom:.5rem;border-radius:.5rem;background:rgba(0,0,0,.2);border:1px solid var(--pl-outline)}.playlist-api-log-panel__time{display:block;font-size:.68rem;color:var(--pl-text-muted);margin-bottom:.35rem}.playlist-api-log-panel__msg{margin:0;font-size:.72rem;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;color:var(--pl-text)}.pl-page--spotify{padding:0;margin:0 -.5rem}.pl-page--spotify .pl-page-header--hidden{display:none!important}.pl-spotify{display:grid;grid-template-columns:minmax(280px,330px) 1fr;grid-gap:0;gap:0;min-height:calc(100vh - 140px);background:var(--pl-bg,var(--s1));border-radius:.75rem;overflow:hidden;border:1px solid var(--pl-outline)}@media (max-width:992px){.pl-spotify{grid-template-columns:1fr;min-height:auto}}.pl-page--spotify .pl-layout{display:contents}.pl-page--spotify .pl-sidebar.pl-library{background:var(--s0);border:none;border-radius:0;border-right:1px solid var(--pl-outline);padding:.75rem .5rem;max-height:calc(100vh - 140px);position:-webkit-sticky;position:sticky;top:0;box-shadow:none;gap:.5rem}:root.theme-light .pl-page--spotify .pl-sidebar.pl-library{background:#f3f3f3}.pl-library__header{display:flex;align-items:center;gap:.65rem;padding:.35rem .5rem .5rem}.pl-library__collapse,.pl-library__create,.pl-library__icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--pl-text-muted);cursor:pointer;padding:.4rem;border-radius:50%;line-height:1;transition:color .15s ease,background .15s ease,transform .15s ease}.pl-library__collapse:hover,.pl-library__create:hover,.pl-library__icon-btn:hover{color:var(--pl-text);background:rgb(var(--fg)/.08)}.pl-library__create{margin-left:auto;font-size:1rem}.pl-library__title{margin:0;font-size:1rem;font-weight:700;color:var(--pl-text);flex:1 1;white-space:nowrap}.pl-library__filters{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 .5rem .35rem}.pl-library__pill{display:inline-flex;padding:.35rem .85rem;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--pl-text);background:rgb(var(--fg)/.08);border:none}.pl-library__pill--active{background:var(--pl-text);color:var(--s1)}:root.theme-light .pl-library__pill--active{background:var(--s2);color:#fff}.pl-library__controls{display:flex;align-items:center;gap:.5rem;padding:0 .65rem .35rem;color:var(--pl-text-muted);font-size:.8rem}.pl-library__sort-label{flex:1 1;font-weight:600}.pl-library__icon-btn--on{color:var(--pl-primary-soft)}.pl-library__search-wrap{padding:0 .5rem .35rem}.pl-library__search-input{width:100%;box-sizing:border-box;padding:.55rem .75rem;border-radius:.35rem;border:none;background:rgb(var(--fg)/.08);color:var(--pl-text);font-size:.85rem;outline:none}.pl-library__search-input::placeholder{color:var(--pl-text-muted)}.pl-library__list,.pl-page--spotify .pl-sidebar__list{gap:.15rem;padding:0 .35rem}.pl-page--spotify .pl-card.pl-library-item,.pl-page--spotify .pl-library-item{padding:.4rem .5rem;border-radius:.35rem;border:none;transform:none;gap:.75rem}.pl-page--spotify .pl-card:hover,.pl-page--spotify .pl-library-item:hover{background:rgb(var(--fg)/.06);transform:none}.pl-page--spotify .pl-card--active,.pl-page--spotify .pl-library-item--active{background:rgb(var(--fg)/.1);border:none}.pl-library-item__sub,.pl-page--spotify .pl-card__count.pl-library-item__sub{font-size:.75rem;opacity:.55}.pl-page--spotify .pl-card--active .pl-card__name,.pl-page--spotify .pl-library-item--active .pl-library-item__name{color:var(--pl-primary-soft)}.pl-library-item__now{flex-shrink:0;width:1rem}.pl-page--spotify .pl-card__row-actions,.pl-page--spotify .pl-library-item__actions{opacity:0}.pl-page--spotify .pl-library-item--active .pl-card__row-actions,.pl-page--spotify .pl-library-item:hover .pl-card__row-actions{opacity:1}.pl-page--spotify .pl-cover--empty,.pl-page--spotify .pl-cover--mosaic,.pl-page--spotify .pl-cover--single{width:48px;height:48px;border-radius:.25rem}.pl-page--spotify .pl-main.pl-stage-wrap{min-width:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a2a28 0,var(--s1) 320px);overflow:hidden}.pl-page--spotify .pl-stage-hero{border:none;border-radius:0;box-shadow:none;min-height:280px;padding:0;margin:0;background:transparent;align-items:flex-end}.pl-page--spotify .pl-hero__backdrop{opacity:.45;filter:blur(60px) saturate(1.4);transform:scale(1.2)}.pl-page--spotify .pl-hero__body{padding:1.5rem 1.75rem 1rem;align-items:flex-end;gap:1.5rem;width:100%}.pl-page--spotify .pl-hero__art-wrap .pl-cover--empty,.pl-page--spotify .pl-hero__art-wrap .pl-cover--mosaic,.pl-page--spotify .pl-hero__art-wrap .pl-cover--single{width:200px;height:200px;border-radius:.5rem;box-shadow:0 12px 40px rgba(0,0,0,.5)}.pl-page--spotify .pl-hero__play-fab{display:none}.pl-stage-hero__type{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--pl-text);opacity:.9}.pl-stage-hero__title{font-size:clamp(2.5rem,6vw,4.5rem)!important;font-weight:900!important;letter-spacing:-.04em;line-height:1.05;margin:0!important}.pl-stage-hero__byline{margin:.75rem 0 0!important;font-size:.88rem;opacity:.75}.pl-stage-hero__owner{font-weight:700;color:var(--pl-text)}.pl-stage-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem 1.75rem .5rem}.pl-play-circle{width:56px;height:56px;border-radius:50%;border:none;background:var(--pl-primary);color:rgb(var(--fg));font-size:1.25rem;display:flex;align-items:center;justify-content:center;padding-left:.15rem;cursor:pointer;box-shadow:0 8px 24px rgba(230,0,44,.4);transition:transform .15s ease,background .15s ease}.pl-play-circle:hover:not(:disabled){transform:scale(1.04);background:#ff2a52}.pl-play-circle:disabled{opacity:.45;cursor:not-allowed}.pl-toolbar-btn{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--pl-text-muted);font-size:1.1rem;cursor:pointer;border-radius:50%;text-decoration:none;transition:color .15s ease,transform .15s ease}.pl-toolbar-btn:hover{color:var(--pl-text);transform:scale(1.05)}.pl-page--spotify .pl-list-container.pl-songs{background:transparent;border:none;box-shadow:none;padding:0 .5rem 2rem;border-radius:0}.pl-page--spotify .pl-songs__head,.pl-page--spotify .pl-table-head{grid-template-columns:44px minmax(0,4fr) 2fr 1.5fr 56px 48px;padding:0 1.25rem;margin:0;border:none;opacity:.55;font-size:.7rem}.pl-page--spotify .pl-songs__col-time{justify-self:end}.pl-page--spotify .pl-track-row{grid-template-columns:44px minmax(0,4fr) 2fr 1.5fr 56px 48px;padding:.35rem 1.25rem;margin:0;border-radius:.25rem;transform:none}.pl-page--spotify .pl-track-row:hover{background:rgb(var(--fg)/.06);transform:none}.pl-page--spotify .pl-track-row--active{background:rgb(var(--fg)/.08);box-shadow:none}.pl-page--spotify .pl-track-row__title--active{color:var(--pl-primary-soft)!important}.pl-page--spotify .pl-songs__col-added{font-size:.85rem;color:var(--pl-text-muted)}.pl-page--spotify .pl-songs__col-time{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--pl-text-muted);font-size:.85rem}@media (max-width:768px){.pl-page--spotify .pl-songs__head,.pl-page--spotify .pl-table-head,.pl-page--spotify .pl-track-row{grid-template-columns:44px 1fr 56px 40px}}