:root{--bg: #0c0d10;--surface: #12141a;--surface-2: #1a1d25;--surface-hover: #1d212a;--border: #23272f;--border-strong: #333947;--text: #e9ecf2;--text-dim: #8f97a6;--accent: #b8e04d;--accent-ink: #161f08;--ok: #3ecf8e;--error: #f47174;--danger: #e5484d;--warn: #e6a23c;--radius: 6px;--radius-sm: 4px;--app-header-height: 4.5rem;--now-playing-bar-height: 5.5rem;color-scheme:dark light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;height:var(--app-header-height);padding:0 clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--border);background:var(--bg)}.app-title{margin:0;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:650}.app-tagline{color:var(--text-dim);font-size:.85rem}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:clamp(1rem,4vw,2.5rem)}.card{background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,3vw,1.75rem)}.card-title{margin:0 0 1rem;font-size:1.1rem}.status{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-weight:550}.status-loading{color:var(--text-dim)}.status-ok{color:var(--ok)}.status-error{color:var(--error)}.dot{width:.6rem;height:.6rem;border-radius:50%;flex:none}.dot-ok{background:var(--ok)}.dot-error{background:var(--error)}.meta{margin:0 0 1rem;display:grid;gap:.5rem}.meta-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}.meta-row dt{color:var(--text-dim)}.meta-row dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.notice{background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;color:var(--text-dim);font-size:.9rem}.features{margin-top:1.25rem}.features-title{margin:0 0 .6rem;font-size:.95rem;color:var(--text-dim)}.features-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.5rem}.feature{font-size:.85rem;padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent}.feature-on{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.feature-off{color:var(--text-dim);opacity:.6}.app-footer{padding:1rem clamp(1rem,4vw,2.5rem);border-top:1px solid var(--border);color:var(--text-dim);font-size:.85rem}.auth-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,5vw,3rem)}.auth-card{width:100%;max-width:26rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.25rem,4vw,2rem);display:flex;flex-direction:column;gap:.9rem}.auth-title{margin:0;font-size:1.4rem;font-weight:650}.auth-subtitle{margin:0 0 .4rem;color:var(--text-dim);font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.85rem;color:var(--text-dim)}.field-input{width:100%;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font-size:1rem}.field-input:focus{outline:none;border-color:var(--accent)}.field-checkbox{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:.75rem 0 .25rem;font-size:.9rem;color:var(--text-dim);cursor:pointer}.field-checkbox input{width:auto;margin:0}.auth-error{margin:0;padding:.6rem .75rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--error) 18%,var(--surface-2));border:1px solid color-mix(in srgb,var(--error) 45%,var(--border));color:var(--text);font-size:.9rem}.auth-submit,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-size:1rem;font-weight:650;line-height:1.25;text-decoration:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.auth-submit{margin-top:.3rem;background:var(--accent);color:var(--accent-ink)}.auth-submit:hover:not(:disabled){filter:brightness(1.08)}.button-secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.button-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-dim)}.button-danger,.auth-submit-danger{background:var(--danger);border-color:var(--danger);color:#fff}.button-danger:hover:not(:disabled),.auth-submit-danger:hover:not(:disabled){filter:brightness(1.1)}.auth-submit:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.6;cursor:progress}.app-nav{justify-self:center;display:flex;align-items:center;gap:1rem;font-size:.9rem}.app-user{justify-self:end;display:flex;align-items:center;gap:1rem;font-size:.9rem}.nav-link{color:var(--text-dim);text-decoration:none;background:none;border:none;font:inherit;cursor:pointer;padding:0;transition:color .12s ease}.nav-link:hover{color:var(--text)}.nav-icon-link{display:inline-flex;align-items:center;gap:.4rem}.nav-icon{flex:none;width:1.5em;height:1.5em}.nav-user,.nav-logout{color:var(--text-dim)}.enriching-indicator{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.85rem}.enriching-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);animation:enriching-pulse 1s ease-in-out infinite}@keyframes enriching-pulse{0%,to{opacity:.3}50%{opacity:1}}.nav-logout:disabled{cursor:progress;opacity:.6}.nav-dropdown{position:relative;display:inline-flex}.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:.25rem}.nav-dropdown-caret{font-size:.7em;line-height:1}.nav-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);min-width:11rem;margin:0;padding:.35rem;list-style:none;display:grid;gap:.15rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:200}.nav-dropdown-item{display:block;padding:.4rem .6rem;border-radius:6px;color:var(--text);text-decoration:none;white-space:nowrap}.nav-dropdown-item:hover{background:var(--surface-hover);color:var(--accent)}.nav-dropdown-menu-end{left:auto;right:0;transform:none}.nav-dropdown-item-button{width:100%;text-align:left;background:none;border:none;font:inherit;cursor:pointer}.nav-dropdown-item-button:disabled{cursor:progress;opacity:.6}.nav-dropdown-section{padding:.5rem .6rem .2rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-top:1px solid var(--border);margin-top:.2rem}.switch-user-status,.auto-skip-state{float:right;margin-left:1rem;font-size:.7rem;color:var(--text-dim)}.user-menu-toggle{color:var(--text-dim)}.user-menu-toggle:hover{text-decoration:none;color:var(--text)}.meta-role{margin:.5rem 0 0;color:var(--text-dim);font-size:.9rem}.app-title-link{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center}.app-title-link:hover{color:#cfe86a}.app-wordmark{display:block;height:clamp(1.35rem,4.6vw,2.2rem);width:auto}.app-main-wide{max-width:1500px}.app-main-full{max-width:none}.app-main-left{margin:0;padding-left:clamp(2rem,8vw,5rem)}.section-title{margin:0 0 1rem;font-size:.85rem;font-weight:650;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.home-browse-link{display:inline-block;text-decoration:none;text-align:center}.back-link{display:inline-block;margin-bottom:2rem}.back-link-lg{font-size:1.8rem}.library-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.library-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text)}.library-card:hover{border-color:var(--accent)}.library-name{font-weight:600;font-size:1.05rem}.library-kind{color:var(--text-dim);font-size:.85rem;text-transform:capitalize}.library-roots{color:var(--text-dim);font-size:.8rem}.grid-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1rem}.grid-toolbar .section-title{grid-column:1;margin-bottom:0;font-size:1.8rem}.grid-toolbar .sort-control{grid-column:3;justify-self:end}.letter-jump{grid-column:2;justify-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem}.letter-jump-btn{padding:.25rem .7rem;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-dim);font:inherit;font-size:1.35rem;font-weight:650;letter-spacing:.03em;cursor:pointer}.letter-jump-btn:hover,.letter-jump-btn:focus-visible{color:var(--accent);background:var(--surface-hover)}.sort-control{display:flex;align-items:center;gap:.5rem}.sort-select{padding:.45rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font:inherit}.poster-grid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(.75rem,2vw,1.25rem);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.poster-tile{min-width:0;scroll-margin-top:calc(var(--app-header-height) + 1rem)}.poster-link{display:block;text-decoration:none;color:var(--text)}.poster-frame{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);border:1px solid var(--border);transition:border-color .12s ease}.poster-link:hover .poster-frame,.poster-link:focus-visible .poster-frame{border-color:var(--accent)}.poster{width:100%;height:100%;display:block}.poster-img{object-fit:cover}.poster-placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-dim)}.poster-initials{font-size:1.6rem;font-weight:700;letter-spacing:.05em}.poster-caption{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .1rem 0}.poster-title{font-size:.85rem;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-year{font-size:.75rem;color:var(--text-dim)}[data-testid=library-grid-screen] .poster-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}[data-testid=library-grid-screen] .poster-caption{display:none}.poster-context{font-size:.72rem;font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-footer{margin-top:1.5rem;text-align:center}.grid-controls{grid-column:3;justify-self:end;display:flex;align-items:center;gap:.75rem}.layout-toggle{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.layout-toggle-btn{padding:.3rem .7rem;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-dim);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.layout-toggle-btn:hover,.layout-toggle-btn:focus-visible{color:var(--accent)}.layout-toggle-btn[aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.browse-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.browse-rows-detail{gap:.4rem}.browse-row{scroll-margin-top:calc(var(--app-header-height) + 1rem)}.browse-row-link{display:flex;align-items:center;gap:.85rem;padding:.5rem .4rem;text-decoration:none;color:var(--text);border-radius:var(--radius-sm)}.browse-row-detail .browse-row-link{align-items:flex-start}.browse-row-list .browse-row-link{border-bottom:1px solid var(--border);border-radius:0}.browse-row-link:hover,.browse-row-link:focus-visible{background:var(--surface-hover);color:var(--accent)}.browse-row-thumb{flex:0 0 auto;width:3rem}.browse-row-thumb .poster-frame{width:100%}.browse-row-thumb .artist-frame{aspect-ratio:1 / 1;border-radius:50%}.browse-row-thumb .album-frame{aspect-ratio:1 / 1}.browse-row-text{min-width:0;display:flex;flex-direction:column;gap:.15rem}.browse-row .poster-title{white-space:normal}.browse-row-name{display:flex;align-items:center;gap:.5rem;min-width:0}.browse-row-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;color:var(--text-dim)}.browse-row-overview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-row{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.poster-row{display:flex;grid-template-columns:none;overflow-x:auto;padding-bottom:.5rem}.poster-row>.poster-tile{flex:0 0 clamp(8.5rem,18vw,11rem);width:clamp(8.5rem,18vw,11rem)}.home-browse{margin-top:1rem}.home-row>.nav-link{display:inline-block;margin-bottom:.5rem}.filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .625rem;border:1px solid currentColor;border-radius:999px}.badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600}.poster-frame .badge{position:absolute;top:.5rem;left:.5rem}.badge-watched{background:var(--ok);color:#06210f}.badge-resume{background:var(--accent);color:var(--accent-ink)}.badge-unwatched{background:var(--bg);color:var(--text-dim);border:1px solid var(--border-strong)}.badge-unwatched-count{background:var(--accent);color:var(--accent-ink)}.poster-frame .badge-unwatched-count{left:auto;right:.5rem}.badge-missing{background:color-mix(in srgb,var(--error) 25%,var(--surface-2));color:var(--text);border:1px solid color-mix(in srgb,var(--error) 45%,var(--border))}.detail-backdrop{position:fixed;inset:var(--app-header-height) 0 auto auto;width:80vw;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 25rem),transparent),linear-gradient(to right,transparent,black 50rem);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,black calc(100% - 25rem),transparent),linear-gradient(to right,transparent,black 50rem);mask-composite:intersect}.detail-backdrop-img{display:block;width:100%;height:auto;opacity:0;transition:opacity .5s ease}.detail-backdrop-loaded .detail-backdrop-img{opacity:1}.detail-backdrop-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:var(--backdrop-fade, .15)}.detail-hero{display:flex;gap:clamp(1rem,4vw,2rem);flex-wrap:wrap;min-height:calc(45vw - 25rem)}.detail-poster{width:clamp(10rem,28vw,16rem);aspect-ratio:2 / 3;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);border:1px solid var(--border);flex:none;align-self:flex-start}.detail-poster .poster-img{object-fit:contain}.detail-info{flex:1;min-width:14rem;display:flex;flex-direction:column;gap:.75rem}.detail-title{margin:0;font-size:clamp(1.4rem,4vw,2rem)}.detail-logo-heading{margin:0}.detail-logo{display:block;max-width:min(28rem,100%);max-height:8rem;object-fit:contain;object-position:left center}.detail-meta{display:flex;gap:1rem;color:var(--text-dim);font-size:.95rem;flex-wrap:wrap}.detail-watchstate{display:flex;gap:.5rem;flex-wrap:wrap}.badge-rating{background:var(--surface);border:1px solid var(--border);color:var(--text)}.detail-tagline{margin:0;font-style:italic;color:var(--text-dim)}.detail-overview{margin:0;max-width:35rem;line-height:1.5}.season-picker{display:flex;align-items:center;gap:.6rem;margin-top:3.25rem}.season-picker-label{font-size:.85rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.season-select{padding:.4rem .7rem;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;cursor:pointer}.season-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.episode-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:clamp(.75rem,2vw,1.25rem);grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 720px){.episode-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.episode-tile{position:relative;display:flex;flex-direction:column;gap:.4rem;min-width:0}.episode-thumb{padding:0;border:none;background:none;cursor:pointer;line-height:0}.episode-still{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);transition:border-color .12s ease}.episode-tile:hover .episode-still,.episode-thumb:focus-visible .episode-still{border-color:var(--accent)}.episode-still-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:1.4rem;line-height:1}.episode-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:0;border:none;background:none;color:inherit;text-align:left;cursor:pointer}.episode-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.episode-code{color:var(--text-dim);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.episode-title{font-weight:600;font-size:.95rem}.episode-text:hover .episode-title{color:var(--accent)}.episode-overview{font-size:.85rem;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.row-menu{position:absolute;top:.4rem;right:.4rem;display:flex;justify-content:center}.row-menu-toggle{padding:.25rem .5rem;border:none;border-radius:6px;background:var(--bg);color:var(--text-dim);font-size:1.2rem;line-height:1;cursor:pointer;opacity:0}.episode-tile:hover .row-menu-toggle,.episode-tile:focus-within .row-menu-toggle,.row-menu-toggle[aria-expanded=true]{opacity:1}.row-menu-toggle:hover{background:var(--surface-hover);color:var(--text)}.row-menu-list{position:absolute;top:100%;right:0;z-index:20;min-width:11rem;margin:.2rem 0 0;padding:.3rem;list-style:none;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius)}.row-menu-item{position:relative}.row-menu-button{display:flex;align-items:center;width:100%;padding:.45rem .6rem;border:none;border-radius:6px;background:none;color:var(--text);font-size:.9rem;text-align:left;cursor:pointer}.row-menu-button:hover{background:var(--surface-hover)}.detail-genres{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.genre-chip{padding:.15rem .6rem;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);font-size:.85rem;color:var(--text-dim)}.detail-cast{margin-top:2rem}.detail-web-references{margin-top:1.5rem}.web-reference-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.cast-strip{list-style:none;margin:.5rem 0 0;padding:0 0 .5rem;display:flex;flex-direction:row;gap:.75rem;overflow-x:auto}.cast-member{flex:0 0 auto;width:6.5rem;display:flex;flex-direction:column;gap:.15rem}.cast-photo{width:6.5rem;height:8.5rem;border-radius:6px;object-fit:cover;background:var(--surface);border:1px solid var(--border)}.cast-photo-placeholder{display:flex;align-items:center;justify-content:center}.cast-initials{font-size:1.5rem;font-weight:600;color:var(--text-dim)}.cast-person{font-weight:600;font-size:.85rem}.cast-character{color:var(--text-dim);font-size:.8rem}.play-button{align-self:flex-start;margin-top:.25rem}.detail-editions{margin-top:2rem}.edition{margin-bottom:1.25rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.edition-name{margin:0 0 .75rem;font-size:1rem}.file-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.file-row{display:flex;flex-direction:column;gap:.25rem}.file-primary{display:flex;align-items:center;gap:.6rem}.file-container{font-weight:600}.file-quality{color:var(--accent);font-weight:600;font-size:.85rem}.file-secondary{display:flex;gap:1rem;color:var(--text-dim);font-size:.85rem;flex-wrap:wrap}.edition-subtitles{background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.subtitle-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.subtitle-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text)}.subtitle-chip-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:0 .3rem}.file-audio{margin-top:.15rem}.audio-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.audio-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text)}.audio-chip-codec{font-size:.7rem;color:var(--text-dim)}.audio-chip-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:0 .3rem}.file-video{margin-top:.15rem}.video-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.video-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text)}.video-chip-codec{font-size:.7rem;color:var(--text-dim)}.video-chip-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:0 .3rem}.detail-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.detail-actions .play-button{margin-top:0}.detail-actions .edit-item{margin-top:0;display:inline-flex}.detail-resume-point{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;max-width:35rem}.resume-point-heading{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.resume-point-code{font-size:.85rem;font-weight:700;letter-spacing:.04em;color:var(--text-dim)}.resume-point-title{font-size:1.05rem;font-weight:600}.resume-point-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.25rem}.resume-point-actions .play-button{margin-top:0}.restart-button{padding:0;font-weight:600}.resume-point-progress{display:flex;align-items:center;gap:.6rem}.resume-progress-track{flex:1 1 auto;max-width:22rem;height:4px;border-radius:2px;background:var(--border-strong);overflow:hidden}.resume-progress-fill{height:100%;background:var(--accent)}.resume-progress-remaining{flex:none;font-size:.8rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;font-size:1.15rem;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.icon-button:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.icon-button:disabled{opacity:.55;cursor:default}.icon-button.is-active{color:var(--accent);border-color:var(--accent)}.overflow-menu{position:relative;display:inline-flex}.overflow-menu-list{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;min-width:12rem;display:flex;flex-direction:column;padding:.35rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius)}.overflow-menu-item{text-align:left;padding:.5rem .65rem;font:inherit;color:var(--text);background:none;border:none;border-radius:6px;cursor:pointer}.overflow-menu-item:hover{background:var(--surface-hover)}.add-to-collection-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.add-to-collection-title{font-weight:600}.player{display:flex;flex-direction:column;gap:1rem}.player-stage{background:#000;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.player-video{display:block;width:100%;max-height:80vh;background:#000}.player-controls{display:flex;gap:.75rem;flex-wrap:wrap}.player-unsupported,.player-busy{display:flex;flex-direction:column;gap:.75rem;max-width:48rem}.now-playing-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bg);border-top:1px solid var(--border);padding:.5rem clamp(.75rem,3vw,1.5rem)}.now-playing-spacer{height:var(--now-playing-bar-height)}.now-playing-inner{display:flex;align-items:stretch;gap:1rem}.now-playing-left{display:flex;align-items:center;gap:.6rem;flex:1 1 0;min-width:0}.now-playing-thumb{width:3rem;height:3rem;flex:none;border-radius:6px;overflow:hidden;background:var(--surface-2)}.now-playing-thumb .poster{width:100%;height:100%;object-fit:cover}.now-playing-labels{display:flex;flex-direction:column;min-width:0}.now-playing-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing-context{color:var(--text-dim);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing-label-link{display:block;color:inherit;text-decoration:none}.now-playing-label-link:hover{text-decoration:underline}.now-playing-center{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;flex:none;min-width:min(26rem,100%)}.now-playing-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem}.now-playing-play{font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center}.now-playing-play-icon{width:1.6em;height:1.6em;display:block}.now-playing-icon{width:1.15em;height:1.15em;display:block}.now-playing-lg-icon{font-size:1.35rem;display:inline-flex;align-items:center}.now-playing-shuffle,.now-playing-repeat{opacity:.55}.now-playing-shuffle.is-active,.now-playing-repeat.is-active{opacity:1;color:var(--accent)}.now-playing-repeat{position:relative}.now-playing-repeat-one{position:absolute;right:.05em;bottom:.05em;font-size:.62em;font-weight:700;line-height:1;color:var(--accent)}.now-playing-right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex:1 1 0}.now-playing-volume{display:flex;align-items:center;gap:.4rem}.now-playing-mute{font-size:1rem}.now-playing-volume-slider{width:5rem;accent-color:var(--accent)}.now-playing-captions{position:relative;display:flex;align-items:center;z-index:60}.now-playing-cc.is-active{color:var(--accent)}.now-playing-captions-menu{position:absolute;bottom:calc(100% + .4rem);right:0;z-index:60;margin:0;padding:.25rem;list-style:none;min-width:9rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius)}.now-playing-captions-item{display:block;width:100%;padding:.35rem .6rem;text-align:left;background:none;border:none;color:inherit;font:inherit;border-radius:.35rem;cursor:pointer}.now-playing-captions-item:hover,.now-playing-captions-item[aria-checked=true]{background:var(--surface-hover, rgba(255, 255, 255, .08))}.now-playing-audio{position:relative;display:flex;align-items:center;z-index:60}.now-playing-audio-menu{position:absolute;bottom:calc(100% + .4rem);right:0;z-index:60;margin:0;padding:.25rem;list-style:none;min-width:9rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius)}.now-playing-video-select{position:relative;display:flex;align-items:center;z-index:60}.now-playing-video-menu{position:absolute;bottom:calc(100% + .4rem);right:0;z-index:60;margin:0;padding:.25rem;list-style:none;min-width:9rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius)}.now-playing-progress{display:flex;align-items:center;gap:.6rem}.now-playing-time{color:var(--text-dim);font-size:.8rem;font-variant-numeric:tabular-nums;flex:none;min-width:3.5rem}.now-playing-time:last-child{text-align:right}.now-playing-seek{--seek-thumb: 16px;display:block;width:100%;height:var(--seek-thumb);margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.now-playing-seek::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--seek-fill, 0%),var(--border-strong) var(--seek-fill, 0%))}.now-playing-seek::-webkit-slider-thumb{-webkit-appearance:none;width:var(--seek-thumb);height:var(--seek-thumb);margin-top:calc((4px - var(--seek-thumb)) / 2);border:0;border-radius:50%;background:var(--accent)}.now-playing-seek::-moz-range-track{height:4px;border-radius:2px;background:var(--border-strong)}.now-playing-seek::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}.now-playing-seek::-moz-range-thumb{width:var(--seek-thumb);height:var(--seek-thumb);box-sizing:border-box;border:0;border-radius:50%;background:var(--accent)}.now-playing-seek-wrap{position:relative;flex:1 1 auto;min-width:0}.now-playing-seek-preview{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:.4rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.2rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);pointer-events:none;z-index:1}.now-playing-seek-preview-frame{background-color:#000;background-repeat:no-repeat}.now-playing-seek-preview-time{color:var(--text-dim);font-size:.8rem;font-variant-numeric:tabular-nums}.now-playing-surface{background:#000;overflow:hidden}.now-playing-surface-media{display:block}.now-playing-surface[data-surface=stage]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;align-items:center;justify-content:center;background:#000}.now-playing-surface[data-surface=stage] .now-playing-surface-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.now-playing-stage-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:54;background:#000}.now-playing-surface[data-surface=stage] .now-playing-video{width:100%;height:100%;max-height:100%;object-fit:contain}.now-playing-bar:fullscreen{background:#000}.now-playing-bar:fullscreen .now-playing-queue{display:none}.app-header{transition:transform .35s ease}body.np-immersive .now-playing-bar{background:transparent;border-top:0;padding:0}body.np-immersive .now-playing-inner{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.5rem clamp(.75rem,3vw,1.5rem);background:var(--bg);border-top:1px solid var(--border);transition:transform .35s ease}body.np-immersive.np-controls-hidden .app-header{transform:translateY(-100%)}body.np-immersive.np-controls-hidden .now-playing-inner{transform:translateY(100%)}body.np-controls-hidden .now-playing-surface[data-surface=stage]{cursor:none}.now-playing-surface[data-surface=pip]{position:fixed;right:clamp(.75rem,3vw,1.5rem);bottom:6rem;z-index:49;width:min(20rem,60vw);border:1px solid var(--border);border-radius:var(--radius);cursor:move;touch-action:none}.now-playing-surface[data-surface=pip] .now-playing-video{width:100%;max-height:40vh;display:block}.now-playing-surface[data-surface=bar-only],.now-playing-surface-audio{position:fixed;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.now-playing-pip-controls{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}.now-playing-pip-corner{position:absolute;top:.35rem;z-index:1;display:flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;font-size:1.3rem;line-height:1;color:#fff;border-radius:var(--radius);background:#0000008c}.now-playing-pip-corner:hover{color:#fff;background:#000c}.now-playing-pip-corner-expand{left:.35rem}.now-playing-pip-corner-close{right:.35rem}.now-playing-upnext{position:fixed;right:clamp(.75rem,3vw,1.5rem);bottom:calc(var(--now-playing-bar-height) + 1rem);z-index:65;display:flex;align-items:center;gap:1rem;max-width:min(24rem,90vw);padding:.6rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);cursor:pointer;text-align:left;color:inherit;animation:now-playing-upnext-in .25s ease}.now-playing-upnext:hover{border-color:var(--accent)}@keyframes now-playing-upnext-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.now-playing-upnext-lead{display:flex;flex:none;flex-direction:column;gap:.15rem}.now-playing-upnext-heading{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim)}.now-playing-upnext-countdown{font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums}.now-playing-upnext-thumb{flex:none}.now-playing-drawer-backdrop{position:fixed;top:var(--app-header-height);bottom:var(--now-playing-bar-height);left:0;right:0;z-index:60;background:#00000073;display:flex;justify-content:flex-end}.now-playing-drawer{width:min(24rem,90vw);height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border-strong)}.queue-panel{display:flex;flex-direction:column;height:100%;min-height:0}.queue-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem clamp(.75rem,2vw,1.25rem);border-bottom:1px solid var(--border);flex:none}.queue-panel-heading{margin:0;font-size:1.05rem;font-weight:650}.queue-panel-header-actions{display:flex;align-items:center;gap:.9rem}.queue-panel-close{display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim)}.queue-panel-close:hover{color:var(--text)}.queue-panel-close-icon{width:1.3rem;height:1.3rem;display:block}.queue-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:.75rem clamp(.75rem,2vw,1.25rem) 0}.queue-section{display:flex;flex-direction:column;min-height:0}.queue-section-now{flex:none;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.queue-section-upnext{flex:1 1 auto;padding-bottom:.75rem}.queue-section-title{margin:0 0 .5rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.queue-section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.queue-upnext-list{overflow-y:auto;max-height:100%}.queue-empty{margin:0;color:var(--text-dim);font-size:.85rem}.queue-entry{display:flex;align-items:center;gap:.6rem;padding:.4rem;border:1px solid transparent;border-radius:var(--radius);background:transparent}.queue-entry:hover{background:var(--surface-hover)}.queue-entry-current{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.queue-entry-grip{flex:none;display:inline-flex;align-items:center;color:var(--text-dim);cursor:grab}.queue-entry-grip-icon{width:1rem;height:1rem;display:block}.queue-entry[draggable=true]{cursor:grab}.queue-entry-dragging{opacity:.45}.queue-entry-drag-over{border-top-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.queue-entry-poster{width:2.5rem;height:2.5rem;flex:none;border-radius:6px;overflow:hidden}.queue-entry-poster .poster{width:100%;height:100%;object-fit:cover}.queue-entry-info{display:flex;flex-direction:column;min-width:0;flex:1 1 0}.queue-entry-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-entry-kind{color:var(--text-dim);font-size:.8rem}.queue-entry-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);padding:.25rem;border-radius:6px}.queue-entry-remove:hover{color:var(--error)}.queue-entry-remove-icon{width:1.05rem;height:1.05rem;display:block}.dot-loading{background:var(--accent)}.admin-page-title{margin:0 0 1.25rem;font-size:1.5rem}.admin-libraries{display:flex;flex-direction:column;gap:1.5rem;max-width:var(--admin-panel-max)}.admin-libraries-scan-all{display:flex;justify-content:flex-end}.admin-library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.admin-library-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-seek-previews{flex:0 0 100%;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.85rem}.admin-seek-previews-coverage{color:var(--text-dim)}.admin-seek-previews-failed{flex:0 0 100%;min-width:0}.admin-seek-previews-failed-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text-dim)}.admin-seek-previews-list{list-style:none;margin:.5rem 0 0;padding:0;max-height:20rem;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.admin-seek-previews-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem .75rem;padding:.6rem .75rem}.admin-seek-previews-list li+li{border-top:1px solid var(--border)}.admin-seek-previews-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-seek-previews-reason{color:var(--error);overflow-wrap:anywhere}.admin-seek-previews-path{color:var(--text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}@media (max-width: 480px){.admin-seek-previews-list li{grid-template-columns:minmax(0,1fr)}.admin-seek-previews-list li button{justify-self:start}}.admin-library-identity{display:flex;align-items:center;gap:.65rem;min-width:0}.admin-library-icon{display:inline-flex;color:var(--text-dim)}.admin-library-kind-icon{width:1.25rem;height:1.25rem}.admin-library-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-library-aside{display:flex;align-items:center;gap:1rem}.scan-status{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-weight:550;font-size:.85rem}.scan-state-error{color:var(--error)}.scan-counts{color:var(--text-dim);font-weight:400}.admin-library-menu{position:relative;top:auto;right:auto}.admin-library-menu .row-menu-toggle{opacity:1;background:none;color:var(--text-dim)}.admin-library-menu .row-menu-toggle:hover,.admin-library-menu .row-menu-toggle[aria-expanded=true]{background:var(--surface-hover);color:var(--text)}.admin-library-menu .row-menu-list{background:var(--surface);box-shadow:0 8px 24px #00000080}.row-menu-button-danger{color:var(--danger)}.row-menu-button-danger:hover:not(:disabled){background:var(--danger);color:#fff}.row-menu-button:disabled{color:var(--text-dim);cursor:default}.row-menu-button:disabled:hover{background:none}.confirm-dialog-message{margin:0;color:var(--text)}.library-dialog{padding:0;border:none;background:transparent;color:var(--text);max-width:min(520px,94vw);width:94vw;max-height:90vh;overflow:visible}.library-dialog::backdrop{background:#000000b8}.library-dialog-panel{display:flex;flex-direction:column;max-height:90vh;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.library-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,1.5rem);border-bottom:1px solid var(--border)}.library-dialog-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.15rem}.library-dialog-kind{color:var(--text-dim);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.library-dialog-close{font-size:1.1rem;line-height:1;padding:.25rem .5rem}.library-dialog-body{padding:clamp(1rem,3vw,1.5rem);overflow-y:auto;display:flex;flex-direction:column;gap:1.1rem}.library-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,1.5rem);border-top:1px solid var(--border)}.library-dialog-footer-end{justify-content:flex-end}.library-dialog-footer-actions{display:flex;align-items:center;gap:.6rem}.library-dialog-footer .auth-submit{margin-top:0}.wizard-page{display:flex;flex-direction:column;gap:.6rem;min-height:8rem}.wizard-prompt{margin:0;font-weight:550}.kind-picker{display:flex;gap:.75rem;flex-wrap:wrap}.kind-option{flex:1 1 6rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;transition:color .12s ease,border-color .12s ease}.kind-option:hover{color:var(--text);border-color:var(--accent)}.kind-option.is-selected{color:var(--text);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kind-option-icon{width:2rem;height:2rem}.kind-option-label{font-weight:600;font-size:.9rem}.edit-library-name-row,.edit-library-add-row{display:flex;gap:.5rem;align-items:center}.edit-library-name-row .field-input,.edit-library-add-row .field-input{flex:1}.edit-library-roots{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.25rem}.edit-library-root{color:var(--text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;word-break:break-all}.admin-content{--admin-panel-max: 35rem}.admin-panel{max-width:var(--admin-panel-max)}.admin-panel+.admin-panel{margin-top:1.5rem}.admin-panel-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#3f4245;padding:5px 5px 5px 13px;border-radius:var(--radius) var(--radius) 0 0}.admin-panel-label{display:flex;align-items:baseline;gap:.6rem;min-width:0}.admin-panel-title{margin:0;font-size:.95rem;font-weight:650}.admin-panel-count{font-size:.9rem;color:var(--text-dim)}.admin-panel-action{margin-top:0;padding:.5rem .9rem;font-size:.9rem}.admin-panel-body{border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius)}.admin-panel-body>.status,.admin-panel-body>.card{margin:0;padding:.75rem .85rem}.admin-panel-row{padding:.6rem .85rem;border-radius:0}.admin-panel-row:last-child{border-radius:0 0 var(--radius) var(--radius)}.admin-panel-row:hover,.admin-panel-row:focus-within{position:relative;z-index:1}.admin-panel-row+.admin-panel-row{border-top:1px solid var(--border)}.admin-panel-row:hover{background:var(--surface-hover)}.admin-row-actions{display:flex;align-items:center;gap:.4rem;flex:none;opacity:0;transition:opacity .12s ease}.admin-panel-row:hover .admin-row-actions,.admin-panel-row:focus-within .admin-row-actions,.admin-row-actions.is-active,.admin-row-actions.is-persistent{opacity:1}.admin-row-actions.is-active,.admin-row-actions.is-persistent{transition:none}@media (hover: none){.admin-row-actions{opacity:1}}.admin-row-actions button{cursor:pointer}.icon-button-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.admin-user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-user-identity{display:flex;align-items:baseline;gap:.75rem;min-width:0}.user-username{font-weight:600}.user-role{color:var(--text-dim);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.user-link-state{font-size:.8rem;padding:.1rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--border);white-space:nowrap}.user-link-state.is-linked{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent)}.user-link-state.is-unlinked{color:var(--text-dim)}.origin-list{list-style:none;margin:0 0 .4rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.origin-row{display:flex;align-items:center;gap:.4rem}.origin-row .field-input{flex:1;min-width:0}.invite-result{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.invite-string{font-family:var(--font-mono, ui-monospace, monospace);font-size:.8rem}.invite-qr{width:100%;max-width:15rem;height:auto;align-self:center;background:#fff;border-radius:var(--radius-sm)}.library-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.library-checklist-item label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.library-checklist-item input{accent-color:var(--accent)}.status-empty{color:var(--text-dim)}.admin-layout{display:flex;align-items:flex-start;gap:clamp(1.5rem,4vw,3rem)}.admin-tabs{display:flex;flex-direction:column;gap:.15rem;flex:none;width:12rem;position:sticky;top:calc(var(--app-header-height) + 1.5rem)}.admin-tab{padding:.45rem .85rem;color:var(--text-dim);text-decoration:none;font-weight:600;font-size:.9rem;border-left:2px solid var(--border);transition:color .12s ease,border-color .12s ease}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--text);border-left-color:var(--accent)}.admin-content{flex:1;min-width:0}@media (max-width: 760px){.admin-layout{flex-direction:column}.admin-tabs{position:static;flex-direction:row;width:100%;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--border)}.admin-tab{border-left:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.admin-tab.active{border-bottom-color:var(--accent)}}.admin-needs-fixing{--admin-panel-max: 52rem}.admin-needs-fixing,.admin-devices{display:flex;flex-direction:column;gap:1rem}.needs-fixing-library-picker{max-width:28rem}.needs-fixing-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.needs-fixing-toolbar .needs-fixing-library-picker{flex:1 1 18rem}.needs-fixing-recheck-button{flex:0 0 auto;width:auto}.needs-fixing{display:flex;flex-direction:column;gap:1.25rem}.needs-fixing-list,.overrides-list,.devices-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.override-item,.device-item{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.override-title{flex:1 1 12rem;min-width:0}.needs-fixing-filters{display:flex;flex-wrap:wrap;gap:.4rem;padding:.25rem 0 .75rem}.needs-fixing-chip{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);cursor:pointer;font:inherit;font-size:.85rem;font-weight:600;padding:.3rem .75rem;transition:color .12s ease,border-color .12s ease,background-color .12s ease}.needs-fixing-chip:hover{color:var(--text);border-color:var(--text-dim)}.needs-fixing-chip.is-active{color:var(--text);border-color:var(--accent)}.needs-fixing-chip.is-empty:not(.is-active){opacity:.5}.needs-fixing-chip-count{color:var(--text-dim);font-weight:700;margin-left:.15rem}.needs-fixing-chip.is-active .needs-fixing-chip-count{color:var(--accent)}.needs-fixing-rescan{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;border:1px solid var(--accent);border-radius:6px;padding:.6rem .85rem;margin-bottom:.75rem}.needs-fixing-rescan .status{flex:1 1 18rem;margin:0}.fix-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:.85rem;padding-top:.85rem;padding-bottom:.85rem}.fix-item-body{display:flex;flex-direction:column;gap:.4rem;min-width:0}.fix-item-art{flex:none;width:5.5rem}.fix-item-art .poster{width:100%;aspect-ratio:2 / 3;border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:cover;display:block}.fix-item-art .poster-placeholder{background:var(--surface);height:auto}.fix-item-art .poster-initials{font-size:1.1rem}@media (max-width: 760px){.fix-item-art{width:3.75rem}.fix-item-art .poster-initials{font-size:.9rem}}.fix-item>*{grid-column:1 / -1}.fix-item>.fix-item-art{grid-column:1;grid-row:1}.fix-item>.fix-item-body{grid-column:2;grid-row:1}.fix-item.is-open{border-left:2px solid var(--accent);padding-left:.75rem}.fix-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem}.fix-item-kind{flex:none;border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.1rem .35rem;text-transform:uppercase}.fix-item-identity{flex:1 1 16rem;min-width:0}.fix-item-breadcrumb{color:var(--text-dim)}.fix-item-name{color:var(--text);font-weight:600}.fix-item-toggle{flex:none}.fix-item-toggle.is-active{color:var(--accent)}.fix-item-problem{color:var(--text-dim);font-size:.9rem;margin:0}.fix-item-matched{color:var(--text);font-size:.9rem;margin:0}.fix-item-matched-label{color:var(--text-dim);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.fix-item-matched.is-unmatched{color:var(--text-dim);font-style:italic}.fix-item-path{color:var(--text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;word-break:break-all}.fix-item-path-missing{font-family:inherit;font-style:italic}.fix-item-collisions{display:flex;flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none}.fix-item-collision-note{color:var(--text-dim);font-size:.8rem}.fix-item-actions{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem}.fix-item-children{margin-top:.35rem;font-size:.9rem}.fix-item-child-list{display:flex;flex-direction:column;gap:0;margin:.5rem 0 0;padding:0 0 0 .85rem;border-left:2px solid var(--border);list-style:none;max-height:26rem;overflow-y:auto;overscroll-behavior:contain}.fix-item-child-list.is-expanded{max-height:none;overflow-y:visible}.fix-item.fix-item-compact{grid-template-columns:minmax(0,1fr);padding-top:.45rem;padding-bottom:.45rem}.fix-item.fix-item-compact>.fix-item-body{grid-column:1 / -1;grid-row:1;gap:.2rem}.fix-item-compact .fix-item-problem{font-size:.85rem}.fix-item-compact .fix-item-path{font-size:.75rem}.fix-item-compact .fix-item-actions{font-size:.85rem;gap:.6rem}.fix-picker{display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--border);margin-top:.5rem;padding-top:.85rem}.fix-best-guess{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;border:1px solid var(--accent);border-radius:6px;padding:.75rem}.fix-best-guess-label{color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex:0 0 100%}.fix-best-guess>.fix-candidate{flex:1 1 16rem}.fix-best-guess-actions{flex:none;display:flex;flex-direction:column;gap:.25rem}.fix-apply-hint{color:var(--text-dim);font-size:.75rem;margin:0;max-width:16rem}.fix-picker-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.fix-picker-search .field{flex:1 1 20rem}.fix-picker-search-actions{display:flex;gap:.5rem}.fix-candidate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.fix-candidate{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:.5rem;text-align:left;width:100%}.fix-candidate:hover,.fix-candidate:focus-visible{border-color:var(--text-dim)}.fix-candidate.is-selected{border-color:var(--accent)}.fix-candidate-thumb{flex:none;width:2.5rem;border-radius:3px}.fix-candidate-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.fix-candidate-title{color:var(--text);font-weight:600}.fix-candidate-type,.fix-candidate-hint{color:var(--text-dim);font-size:.8rem}.fix-picker-apply{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.episode-chooser{display:flex;flex-direction:column;gap:.75rem}.episode-chooser-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.episode-chooser-series{flex:1 1 12rem;margin:0;color:var(--text);font-weight:600}.episode-chooser-label{color:var(--text-dim);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.episode-chooser-season{max-width:18rem}.episode-choice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:22rem;overflow-y:auto}.episode-choice{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:1px solid var(--border);border-radius:4px;color:inherit;cursor:pointer;font:inherit;padding:.5rem;text-align:left}.episode-choice:hover,.episode-choice:focus-visible{border-color:var(--accent)}.episode-choice:disabled{cursor:default;opacity:.6}.episode-choice-still{flex:none;width:5.5rem;aspect-ratio:16 / 9;border-radius:3px;object-fit:cover}.episode-choice-body{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.episode-choice-title{color:var(--text);font-weight:600}.episode-choice-code{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.episode-choice-meta{color:var(--text-dim);font-size:.75rem}.episode-choice-overview{color:var(--text-dim);font-size:.8rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.episode-choice-action{flex:none;color:var(--accent);font-size:.85rem;font-weight:600}.needs-fixing-corrections{display:flex;flex-direction:column;gap:.5rem}.needs-fixing-corrections-toggle{align-self:flex-start;color:var(--text-dim);font-size:.9rem}.override-folder{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;word-break:break-all}.override-ids,.override-created{color:var(--text-dim);font-size:.8rem}.device-platform,.device-last-seen{color:var(--text-dim);font-size:.85rem}.device-actions{margin-left:auto}.admin-providers{display:flex;flex-direction:column;gap:1.5rem;max-width:52rem}.admin-providers-intro{margin:0;color:var(--text-dim);font-size:.9rem;max-width:44rem}.provider-group{display:flex;flex-direction:column;gap:1.25rem}.provider-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.provider-group-head .section-title{margin:0}.provider-kind-status{font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;padding:.2rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.provider-kind-status[data-enabled=true]{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--border));background:color-mix(in srgb,var(--ok) 12%,transparent)}.provider-kind-status[data-consent-blocked=true]{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--border));background:color-mix(in srgb,var(--warn) 12%,transparent)}.provider-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.provider-row{display:flex;flex-direction:column;gap:.5rem;padding:.7rem clamp(.7rem,2vw,1rem);border-radius:var(--radius);border:1px solid var(--border);background:transparent}.provider-row[data-authoritative=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 6%,transparent)}.provider-row-main{display:flex;align-items:center;gap:.6rem}.provider-enable{flex:none;cursor:pointer}.provider-name{font-size:1rem;font-weight:650}.provider-edit{margin-left:auto;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer}.provider-edit:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.provider-row-error{margin:0;font-size:.82rem}.provider-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.provider-role-badge{font-size:.72rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;padding:.15rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim)}.provider-role-badge[data-role=authoritative]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 14%,transparent)}.provider-kinds{font-size:.8rem;color:var(--text-dim)}.provider-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:550;cursor:pointer;white-space:nowrap}.provider-toggle input{cursor:pointer}.provider-description{margin:0;color:var(--text-dim);font-size:.9rem;line-height:1.55}.provider-description a{color:var(--accent);white-space:nowrap}.provider-key-field{gap:.4rem}.provider-advanced{border-top:1px solid var(--border);padding-top:.75rem}.provider-advanced>summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-dim);list-style-position:inside;-webkit-user-select:none;user-select:none}.provider-advanced>summary:hover{color:var(--text)}.provider-advanced[open]>summary{margin-bottom:.75rem}.provider-advanced .field+.field{margin-top:.75rem}.provider-test{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.provider-test .status{margin:0;font-size:.85rem}.masked-key{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.masked-key-input{flex:1 1 16rem;min-width:12rem}.masked-key-reveal,.masked-key-clear{font-size:.85rem}.masked-key-status{font-size:.78rem;font-weight:650;color:var(--text-dim)}.masked-key-status[data-configured=true]{color:var(--ok)}.masked-key-cleared{font-size:.78rem;color:var(--error)}.provider-config-dialog .library-dialog-body{display:flex;flex-direction:column;gap:1.1rem}.provider-config-advanced{display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--border);padding-top:.9rem}.provider-config-subhead{margin:0;font-size:.8rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim)}.library-dialog-title .provider-role-badge{font-weight:650}.admin-section{display:flex;flex-direction:column;gap:1rem;max-width:52rem}.admin-section-title{margin:0;font-size:1.05rem;font-weight:650}.admin-section-note{margin:0;color:var(--text-dim);font-size:.9rem;max-width:44rem}.provider-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem clamp(.85rem,2vw,1.25rem);border:1px solid var(--border);border-radius:var(--radius)}.provider-enable{display:inline-flex;align-items:center;gap:.5rem;font-weight:550;cursor:pointer}.provider-docs{margin-left:auto;color:var(--accent);font-size:.85rem;text-decoration:none;white-space:nowrap}.provider-docs:hover{text-decoration:underline}.provider-desc{margin:0;color:var(--text-dim);font-size:.9rem;line-height:1.55}.sink-events{display:flex;flex-direction:column;gap:.5rem;border:0;margin:0;padding:0}.sink-event-option{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .5rem;cursor:pointer}.sink-event-label{font-weight:550}.sink-event-hint{grid-column:2}.sink-counters{display:flex;flex-wrap:wrap;gap:1.25rem;margin:.25rem 0 0}.sink-counters>div{display:flex;flex-direction:column;gap:.1rem}.sink-counters dt{font-size:.8rem;opacity:.75}.sink-counters dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.provider-language.card,.provider-behavior.card{display:flex;flex-direction:column;gap:1rem}.provider-behavior .section-title{margin:0}.provider-language .field-input{max-width:16rem}.provider-behavior .field-input[type=number]{max-width:12rem}.field-hint{font-size:.8rem;color:var(--text-dim)}.enrichment-policy-panel{display:flex;flex-direction:column;gap:1.1rem}.policy-control-label{display:flex;align-items:center;gap:.5rem}.policy-override-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);padding:.05rem .35rem}.policy-override-badge[data-overridden=true]{color:var(--accent);border-color:var(--accent)}.tri-state{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:.35rem 0}.tri-state-option{background:transparent;color:var(--text);border:none;border-left:1px solid var(--border);padding:.3rem .7rem;font-size:.85rem;cursor:pointer}.tri-state-option:first-child{border-left:none}.tri-state-option[data-active=true]{background:var(--accent);color:var(--accent-ink)}.tri-state-option:disabled{opacity:.6;cursor:default}.policy-language-row{display:flex;align-items:center;gap:.6rem;margin:.35rem 0}.policy-language-row .field-input{max-width:12rem}.policy-supplement-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.25rem 0}.policy-supplement-name{font-size:.9rem}.provider-save-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 0;margin-top:-.5rem;background:linear-gradient(to top,var(--bg) 60%,color-mix(in srgb,var(--bg) 0%,transparent))}.provider-save-bar .auth-submit{margin-top:0}.provider-save-bar .status{margin:0}.enrichment-override-picker{margin-top:1rem}.section-title-danger{color:var(--danger, #b3261e)}.detail-hint-danger{color:var(--danger, #b3261e);opacity:.95}.enrichment-override-picker .field{flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap}.enrichment-override-picker .field-input{flex:1 1 12rem}.edit-item{margin-top:1rem}.edit-item-button{font-weight:600}.edit-item-dialog{padding:0;border:none;background:transparent;color:var(--text);max-width:min(680px,94vw);width:94vw;max-height:90vh;overflow:visible}.edit-item-dialog::backdrop{background:#000000b8}.edit-item-panel{display:flex;flex-direction:column;max-height:90vh;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.edit-item-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,1.5rem);border-bottom:1px solid var(--border)}.edit-item-title{margin:0;font-size:1.15rem}.edit-item-close{font-size:1.1rem;line-height:1;padding:.25rem .5rem}.edit-item-tablist{display:flex;gap:.25rem;padding:.5rem clamp(1rem,3vw,1.5rem) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.edit-item-tablist-single{display:none}.edit-item-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font:inherit;font-weight:600;padding:.6rem .9rem;margin-bottom:-1px;cursor:pointer;border-radius:6px 6px 0 0}.edit-item-tab:hover:not(.is-active){color:var(--text);background:var(--surface-hover)}.edit-item-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}.edit-item-tab-danger{color:var(--danger, #b3261e)}.edit-item-tab-danger.is-active{border-bottom-color:var(--danger, #b3261e)}.edit-item-body{padding:clamp(1rem,3vw,1.5rem);overflow-y:auto}.edit-item-body>.metadata-editor,.edit-item-body>.enrichment-override-picker,.edit-item-body>.fix-label-editor{margin-top:0}.enrichment-candidate-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.enrichment-candidate{display:flex;align-items:center;gap:.75rem}.enrichment-candidate[role=button]{cursor:pointer;text-align:left;width:100%}.enrichment-candidate[role=button]:hover{border-color:var(--accent)}.enrichment-candidate.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.enrichment-candidate[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.edit-apply-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-top:1rem}.edit-apply-hint{margin:0 0 .5rem;font-size:.85em;opacity:.75}.edit-apply-hint-danger{color:var(--danger, #b3261e);opacity:.95}.enrichment-candidate-thumb{width:40px;height:60px;object-fit:cover;border-radius:4px;flex:0 0 auto}.enrichment-candidate-body{display:flex;flex-direction:column;gap:.15rem;flex:1 1 auto;min-width:0}.enrichment-candidate-title{font-weight:600}.enrichment-candidate-hint{font-size:.85em;opacity:.75;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.enrichment-tracklist-toggle{align-self:flex-start;font-size:.8em;padding:.1rem 0}.enrichment-tracklist{margin:.25rem 0 0;padding-left:1.25rem;font-size:.82em;opacity:.85;max-height:12rem;overflow-y:auto}.enrichment-tracklist li{list-style:none}.enrichment-candidate-type{align-self:flex-start;font-size:.72em;text-transform:uppercase;letter-spacing:.04em;opacity:.7;border:1px solid currentColor;border-radius:.3rem;padding:.02rem .35rem}.metadata-editor{display:flex;flex-direction:column;gap:1rem}.metadata-editor .section-title{margin:0}.detail-hint{margin:0;color:var(--text-dim);font-size:.9rem;line-height:1.5}.metadata-field{display:flex;flex-direction:column;gap:.35rem}.metadata-label{display:flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--text-dim)}.metadata-input{width:100%;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:.95rem}textarea.metadata-input{resize:vertical;min-height:4.5rem;line-height:1.5}.metadata-input:focus{outline:none;border-color:var(--accent)}.metadata-input:disabled{opacity:.6;cursor:not-allowed}.metadata-actions{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.fixlabel-lock{display:inline-flex;align-items:center;gap:.4rem;margin-left:.5rem}.fixlabel-release{font-size:.8em}.fixlabel-artwork{margin-top:.75rem}.fixlabel-artwork-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.fixlabel-artwork-panel{margin-top:.5rem}.fixlabel-artwork-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem}.fixlabel-artwork-choice{position:relative;display:block;width:100%;padding:0;border:2px solid transparent;border-radius:6px;background:none;cursor:pointer;overflow:hidden}.fixlabel-artwork-choice:hover{border-color:currentColor}.fixlabel-artwork-choice img{display:block;width:100%;height:auto;border-radius:4px}.fixlabel-artwork-applying{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;font-size:.8em}.fixlabel-artwork-dims{position:absolute;left:0;bottom:0;padding:.1rem .3rem;background:#0009;color:#fff;font-size:.7em;border-top-right-radius:4px}.fixlabel-artwork-choice.is-applied{border-color:var(--accent, #4ea1ff)}.fixlabel-artwork-applied{position:absolute;top:0;right:0;padding:.1rem .3rem;background:var(--accent, #4ea1ff);color:#fff;font-size:.7em;border-bottom-left-radius:4px}.fixlabel-artwork-upload{margin-top:.75rem;padding:.9rem;border:1px dashed var(--border, #3a3a3a);border-radius:6px;text-align:center;display:flex;flex-direction:column;gap:.4rem;align-items:center}.fixlabel-artwork-upload.is-dragover{border-color:var(--accent, #4ea1ff);background:#4ea1ff14}.fixlabel-artwork-upload-hint{margin:0;font-size:.85em;color:var(--text-muted, #9a9a9a)}.fixlabel-artwork-upload-note{margin:0;font-size:.75em;color:var(--text-muted, #9a9a9a)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transcoding-panel{display:flex;flex-direction:column;gap:1rem;padding:1.1rem clamp(.85rem,2vw,1.35rem)}.transcoding-headline{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.transcoding-label{font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim)}.transcoding-backend-active{font-size:1.35rem;font-weight:700;color:var(--accent)}.transcoding-badge{font-size:.72rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;padding:.15rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.transcoding-badge-degraded{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,var(--border));background:color-mix(in srgb,var(--warn) 14%,transparent)}.transcoding-detail{margin:0;display:flex;flex-direction:column;gap:.5rem}.transcoding-detail-row{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}.transcoding-detail-row dt{flex:0 0 5.5rem;font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim)}.transcoding-detail-row dd{margin:0;color:var(--text)}.transcoding-load-count{font-size:1.35rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.transcoding-load-note{margin:0;font-size:.85rem;color:var(--text-dim)}.transcoding-gpu-freshness{font-size:.78rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.playback-options-panel{max-height:82vh}.playback-options-body{padding:1rem clamp(1rem,3vw,1.5rem);overflow-y:auto}.playback-options-section+.playback-options-section{margin-top:1.5rem}.playback-options-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 .5rem}.playback-options-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.playback-options-row{display:flex;align-items:flex-start;gap:.6rem;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text);font:inherit;padding:.55rem .7rem;cursor:pointer}.playback-options-row:hover{background:var(--surface, rgba(255, 255, 255, .04))}.playback-options-row.is-active{border-color:var(--accent, #b6ff3a)}.playback-options-mark{color:var(--accent, #b6ff3a);line-height:1.4}.playback-options-row-text{display:flex;flex-direction:column;gap:.1rem}.playback-options-row-hint{font-size:.8rem;color:var(--text-dim)}.playback-options-footer{display:flex;align-items:center;gap:.75rem;padding:1rem clamp(1rem,3vw,1.5rem);border-top:1px solid var(--border)}.admin-remote-access{display:flex;flex-direction:column;gap:1.25rem}.tailnet-panel{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem clamp(.85rem,2vw,1.35rem)}.tailnet-headline{margin:0;font-size:1.15rem;font-weight:700}.tailnet-label{font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim)}.tailnet-body{margin:0;color:var(--text);max-width:62ch}.tailnet-hint{font-size:.85rem;color:var(--text-dim)}.tailnet-cost strong{color:var(--text)}.tailnet-address-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.tailnet-address{font-size:clamp(1.25rem,3vw,1.7rem);font-weight:700;color:var(--accent);overflow-wrap:anywhere}.tailnet-login-link{font-size:1.05rem;font-weight:600;color:var(--accent);overflow-wrap:anywhere}.tailnet-warning{margin:0;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--warn) 50%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);max-width:62ch}.tailnet-error{margin:0;color:var(--error);max-width:62ch;overflow-wrap:anywhere}.tailnet-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.tailnet-actions .auth-submit{margin-top:0}.tailnet-settings{display:flex;flex-direction:column;gap:1rem}.tailnet-toggle{display:flex;align-items:center;gap:.4rem}.tailnet-https-panel{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.tailnet-https-panel p{margin:0}.tailnet-https-detail{font-size:.85rem;overflow-wrap:anywhere}.tailnet-save-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.file-matcher{display:flex;flex-direction:column;gap:1rem}.matcher-header{display:flex;gap:1rem;align-items:flex-start}.matcher-header .poster,.matcher-header .poster-placeholder{width:6rem;flex:0 0 auto}.matcher-header-body{display:flex;flex-direction:column;gap:.25rem}.matcher-title{margin:0;font-size:1.3rem}.matcher-hint{margin:0;color:var(--text-dim);font-size:.85rem}.matcher-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.matcher-toolbar-hint{color:var(--text-dim);font-size:.85rem}.matcher-notices{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:1500px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) clamp(1rem,4vw,2.5rem);pointer-events:none}.matcher-notices>*{pointer-events:auto;margin:0;background:var(--bg);border-radius:var(--radius);box-shadow:0 6px 24px #00000073}.matcher-notices>.status{padding:.75rem;border:1px solid var(--border-strong)}.app-shell:has(.now-playing-bar) .matcher-notices{bottom:var(--now-playing-bar-height)}.matcher-selection,.matcher-applied,.matcher-collision,.matcher-confirm-leave,.matcher-occupied-choice{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2)}.matcher-selection{flex-direction:row;align-items:center;justify-content:space-between;border-color:var(--accent)}.matcher-collision{border-color:var(--error)}.matcher-collision-paths{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.matcher-collision-paths code{overflow-wrap:anywhere}.matcher-unsorted{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:.75rem}.matcher-unsorted-title{margin:0 0 .25rem;font-size:1rem}.matcher-group{border:1px solid var(--border);border-radius:var(--radius)}.matcher-group-toggle{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;background:none;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.matcher-group-toggle:hover{background:var(--surface-hover)}.matcher-group-counts{color:var(--text-dim);font-size:.85rem}.matcher-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.75rem;padding:.75rem;border-top:1px solid var(--border)}@media (max-width: 60rem){.matcher-columns{grid-template-columns:minmax(0,1fr)}}.matcher-column-title{margin:0 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.matcher-file-list,.matcher-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.matcher-file,.matcher-slot{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:.4rem .5rem;display:flex;flex-direction:column;gap:.2rem}.matcher-slot{padding:.4rem;--part-pad-y: .3rem;--part-pad-x: .4rem;--part-gap: .2rem;--part-row: 1.5em;--part-inset: calc(var(--part-pad-x) + 1px);--part-height: calc( 2 * var(--part-row) + var(--part-gap) + 2 * var(--part-pad-y) + 2px )}.matcher-slot-target,.matcher-slot-pin{padding-left:var(--part-inset)}.matcher-file.is-selected,.matcher-part.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.matcher-file-pick,.matcher-part-name,.matcher-slot-target{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;background:none;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:none}.matcher-slot-target{flex-direction:row;align-items:baseline;gap:0;white-space:pre;min-width:0}.matcher-part-name{display:block;white-space:nowrap;padding:0}.matcher-slot-name,.matcher-part-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.matcher-slot-sep,.matcher-part-elision{color:var(--text-dim)}.matcher-file-name{overflow-wrap:anywhere}.matcher-file-claim,.matcher-file-note,.matcher-part-claim,.matcher-part-shared,.matcher-slot-pin{font-size:.8rem;color:var(--text-dim);font-style:italic}.matcher-part-unreadable,.matcher-file-unreadable{font-size:.8rem;color:var(--warn);font-style:normal}.matcher-slot-head{display:flex;align-items:center;gap:.4rem}.matcher-slot-head .matcher-slot-target{flex:1 1 auto;width:auto}.matcher-slot-menu{position:relative;top:auto;right:auto;flex:none}.matcher-slot-menu .row-menu-toggle{padding:0 .35rem;background:none;font-size:1rem;opacity:.55}.matcher-slot-menu .row-menu-toggle:hover,.matcher-slot-menu .row-menu-toggle:focus-visible,.matcher-slot-menu .row-menu-toggle[aria-expanded=true]{background:var(--surface-hover);opacity:1}.matcher-fill-records{margin-left:.8rem}.matcher-repoint-dialog{padding:0;border:none;background:transparent;color:var(--text);max-width:min(880px,94vw);width:94vw;max-height:90vh;overflow:visible}.matcher-repoint-dialog::backdrop{background:#000000b8}.matcher-repoint-panel{display:flex;flex-direction:column;max-height:90vh;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.matcher-repoint-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,1.5rem);border-bottom:1px solid var(--border)}.matcher-repoint-target{margin:0;font-size:1.05rem;font-weight:600}.matcher-repoint-close{flex:none;font-size:1.1rem;line-height:1;padding:.25rem .5rem}.matcher-repoint-body{display:flex;flex-direction:column;gap:.75rem;padding:clamp(1rem,3vw,1.5rem);overflow-y:auto}.matcher-slot-code{font-variant-numeric:tabular-nums;font-weight:600}.matcher-slot.is-mismatch{border-color:var(--warn)}.matcher-part-claim.is-mismatch,.matcher-part-mark{color:var(--warn)}.matcher-slot-name.is-bare{color:var(--text-dim);font-style:italic}.matcher-slot-empty{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--part-height);margin:.15rem 0 0;padding:var(--part-pad-y) var(--part-pad-x);background:none;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);font:inherit;text-align:center;cursor:pointer}.matcher-slot-empty:hover,.matcher-slot-empty:focus-visible{border-color:var(--accent);color:var(--text)}.matcher-part{margin:.15rem 0 0;min-height:var(--part-height);justify-content:center;padding:var(--part-pad-y) var(--part-pad-x);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 1px 2px #00000059;display:flex;flex-direction:column;gap:var(--part-gap);touch-action:none}.matcher-part-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.matcher-part-head{display:flex;align-items:center;gap:.5rem}.matcher-part-head .matcher-part-name{flex:1 1 auto}.matcher-part-actions{display:flex;flex:none;margin-left:auto;gap:.25rem}.matcher-part-action{display:inline-flex;align-items:center;justify-content:center;width:var(--part-row);height:var(--part-row);padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);font-size:1em;cursor:pointer;transition:color .12s ease,background .12s ease}.matcher-part-action:hover,.matcher-part-action:focus-visible{background:var(--surface-hover);color:var(--text)}.matcher-part-action svg{width:1.15em;height:1.15em}.matcher-ignored{border-top:1px solid var(--border);padding-top:.5rem}.matcher-drag-ghost{position:fixed;z-index:40;transform:translate(.75rem,.75rem);pointer-events:none;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);font-size:.8rem;box-shadow:0 6px 18px #00000073}.album-editions{margin-top:1rem}.album-edition-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.album-edition{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border, rgba(128, 128, 128, .35));border-radius:.4rem;padding:.4rem .6rem}.album-edition.is-in-use{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.album-edition-body{display:flex;flex-direction:column;gap:.1rem;flex:1 1 auto;min-width:0}.album-edition-line{font-variant-numeric:tabular-nums}.album-edition.is-fitting .album-edition-line{font-weight:600}.album-edition-hint,.album-edition-fits,.album-edition-in-use{font-size:.82em;opacity:.8}.album-edition-in-use{opacity:.95;color:var(--accent)}.album-edition-use{flex:0 0 auto}.admin-linked-servers{display:flex;flex-direction:column;gap:1.25rem}.link-paste{display:flex;flex-direction:column;gap:.75rem;padding:1.1rem clamp(.85rem,2vw,1.35rem)}.link-invite-input{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.85rem;resize:vertical;overflow-wrap:anywhere}.link-paste-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.link-paste-bar .auth-submit{margin-top:0}.link-result{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--ok) 45%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ok) 10%,transparent)}.link-result-headline{margin:0}.link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.link-row{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem clamp(.85rem,2vw,1.35rem)}.link-row-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.link-server-name{font-size:1.15rem;font-weight:700}.link-state-chip{font-size:.8rem;padding:.1rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);white-space:nowrap}.link-state-chip.is-connected{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent)}.link-state-chip.is-unreachable,.link-state-chip.is-revoked{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,var(--border));background:color-mix(in srgb,var(--warn) 12%,transparent)}.link-state-note{margin:0;max-width:62ch;color:var(--text);overflow-wrap:anywhere}.link-facts{display:flex;gap:1.5rem;flex-wrap:wrap;margin:0}.link-fact dt{font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim)}.link-fact dd{margin:0;overflow-wrap:anywhere}.link-libraries{display:flex;flex-direction:column;gap:.3rem}.link-library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.link-library{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.link-library-name{font-weight:600}.link-library-kind{color:var(--text-dim);font-size:.85rem;text-transform:capitalize}.link-library-rename{display:flex;flex-direction:column;gap:.3rem;width:100%}.link-library-rename-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.link-library-rename-row .field-input{flex:1 1 14rem;min-width:0}.link-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.link-rekey{display:flex;flex-direction:column;gap:.4rem}.link-rekey .auth-submit{margin-top:0;align-self:flex-start}.linked-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.05rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;max-width:100%}.linked-badge-icon{flex:none;font-size:.85em}.linked-badge-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-provided{font-size:.8rem;color:var(--text-dim)}.admin-libraries-linked-note{padding:.6rem .9rem;font-size:.85rem;color:var(--text-dim)}.is-unavailable{opacity:.55}.is-unavailable:hover{opacity:.8}.plugin-version{margin-left:auto;font-size:.85rem;color:var(--text-muted)}.plugin-row-status{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-dim)}.plugin-row-status[data-error=true]{color:var(--error)}.plugin-edit-button{border-color:transparent;background:none}.plugin-edit-button:hover:not(:disabled){background:var(--surface-hover);border-color:transparent}.admin-plugins,.admin-subtitle-providers,.admin-event-sinks{--admin-panel-max: 52rem}.admin-plugins .provider-card,.admin-subtitle-providers .provider-card,.admin-event-sinks .provider-card{max-width:var(--admin-panel-max)}.plugin-inline-input{width:auto}.plugin-hours-input{width:4rem}.admin-plugins input[type=file].field-input{padding:.45rem .75rem}.admin-plugins input[type=file].field-input::file-selector-button{margin-right:.75rem;padding:.5rem .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-weight:650;cursor:pointer;transition:background .12s ease,border-color .12s ease}.admin-plugins input[type=file].field-input::file-selector-button:hover{background:var(--surface-hover);border-color:var(--text-dim)}.admin-plugins .admin-actions,.admin-subtitle-providers .admin-actions,.admin-event-sinks .admin-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.admin-plugins .admin-actions .auth-submit,.admin-subtitle-providers .admin-actions .auth-submit,.admin-event-sinks .admin-actions .auth-submit{margin-top:0}.admin-plugins .admin-actions[data-testid=plugin-tabs]{gap:.25rem;padding-bottom:.1rem;border-bottom:1px solid var(--border)}.plugin-facts{display:flex;flex-wrap:wrap;gap:1.25rem;margin:.5rem 0 .75rem}.plugin-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.plugin-facts dd{margin:.15rem 0 0;font-variant-numeric:tabular-nums}.plugin-settings{margin:.75rem 0;padding-top:.75rem;border-top:1px solid var(--border)}.plugin-settings-title{margin:0 0 .25rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.field-required{color:var(--danger)}.field-help{margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.plugin-field-options{display:flex;flex-wrap:wrap;gap:.75rem}.plugin-field-option{display:inline-flex;align-items:center;gap:.35rem}.skip-marker{position:fixed;left:clamp(.75rem,3vw,1.5rem);bottom:calc(var(--now-playing-bar-height) + 1rem);z-index:65;padding:.55rem 1.1rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:inherit;font-weight:600;cursor:pointer}.skip-marker:hover{border-color:var(--accent)}.online-search{display:flex;align-items:center;gap:.5rem;max-width:32rem;margin:.75rem 0 1.25rem}.online-search .field-input{flex:1;min-width:0;width:auto}.online-search .auth-submit{margin-top:0}.online-thumb{aspect-ratio:16 / 9}.poster-row>.online-item{flex:0 0 clamp(12rem,26vw,16rem);width:clamp(12rem,26vw,16rem)}.online-item-play{width:100%;padding:0;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.online-thumb .poster-img{width:100%;height:100%;object-fit:cover;display:block}.online-item-description,.online-item-published{font-size:.75rem;color:var(--text-dim)}.online-item-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-online-sources{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.online-source-tile{display:flex;align-items:center;gap:.6rem}.online-source-tile-icon{width:2.5rem;height:2.5rem;border-radius:.4rem;object-fit:cover;flex:none}.online-source-tile-generic{display:inline-flex;align-items:center;justify-content:center;font-weight:600;background:var(--surface-2)}.now-playing-online-video{width:min(22rem,40vw);max-height:8rem}
