:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--bg-raised:#111113;--bg-hover:#1c1c20;--fill:#ffffff0d;--fill-hover:#ffffff17;--border:#ffffff14;--border-strong:#ffffff29;--text:#f4f4f5;--text-muted:#a1a1aa;--text-faint:#71717a;--accent:#c86cf2;--accent-text:#160a1e;--accent-soft:#c86cf224;--danger:#f87171;--warn:#fbbf24;--radius:10px;--radius-sm:6px;--shadow:0 16px 48px -12px #000000b3;--sidebar-width:236px;--audio-bar-height:84px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:#ffffff24 transparent;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}::selection{background:color-mix(in srgb, var(--accent) 40%, transparent)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit}h1{letter-spacing:-.025em;margin:0 0 4px;font-size:1.75rem;font-weight:600;line-height:1.2}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:1.05rem;font-weight:600}h3{letter-spacing:-.01em;font-weight:600}code{word-break:break-all;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.85em}.muted{color:var(--text-muted)}.error{color:var(--danger)}.warn{color:var(--warn)}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg);border-right:1px solid var(--border);scrollbar-width:none;flex-direction:column;gap:6px;height:100vh;padding:18px 12px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);align-items:center;gap:10px;padding:2px 10px 18px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.brand .logo{color:var(--text);flex-shrink:0}.sidebar nav{flex:1}.nav-heading{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin:18px 10px 6px;font-size:.7rem;font-weight:500}.nav-note{margin:4px 10px;font-size:.9rem}.nav-link{color:var(--text-muted);border-radius:8px;align-items:center;gap:12px;padding:8px 10px;font-size:.925rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-link svg{opacity:.85;flex-shrink:0}.nav-link:hover{color:var(--text);background:var(--fill)}.nav-link.active{color:var(--text);background:var(--fill-hover)}.nav-link.active svg{color:var(--accent);opacity:1}.nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-count{font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:.75rem}.main{min-width:0}.topbar{z-index:5;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);border-bottom:1px solid var(--border);padding:14px 32px;position:sticky;top:0}.search{width:min(440px,100%);position:relative}.search svg{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search input{border-radius:999px;width:100%;height:38px;padding-left:40px}.search input::-webkit-search-cancel-button{filter:grayscale()}.content{padding:28px 32px}input,select,textarea,.button{font:inherit;color:inherit;background:var(--fill);border:1px solid var(--border);border-radius:8px;padding:7px 12px;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}input::placeholder{color:var(--text-faint)}input:hover:not(:focus-visible,[type=checkbox],[type=radio],[type=range]),select:hover{border-color:var(--border-strong)}select{background-color:var(--bg-raised)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:color-mix(in srgb, var(--accent) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}input[type=checkbox],input[type=radio],progress{accent-color:var(--accent)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button{white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:6px 14px;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.button svg{flex-shrink:0}.button:hover:not(:disabled){background:var(--fill-hover);border-color:var(--border-strong)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--text);border-color:var(--text);color:var(--bg);font-weight:600}.button.primary:hover:not(:disabled){box-shadow:0 8px 28px -8px color-mix(in srgb, var(--accent) 60%, transparent);background:#fff;border-color:#fff}.button.danger{color:var(--danger)}.button.danger:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent)}.icon-button{width:30px;height:30px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--text);background:var(--fill)}.badge{border:1px solid var(--border);background:var(--fill);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.72rem;font-weight:500;display:inline-flex}.spinner{border:2px solid var(--text-muted);border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.page-header p{margin:0}.toolbar{gap:8px;display:flex}.scan-status{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:16px;font-size:.9rem;display:flex}.scan-status progress{width:160px}.scan-file{text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;overflow:hidden}.grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:28px 20px;margin:0;padding:0;list-style:none;display:grid}.card{border-radius:var(--radius);flex-direction:column;gap:1px;text-decoration:none;display:flex}.card .poster{margin-bottom:10px;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}.card:hover .poster{box-shadow:0 0 0 1px var(--border-strong), 0 18px 40px -14px #000000e6;transform:translateY(-4px)}.card:focus-visible{outline:none}.card:focus-visible .poster{box-shadow:0 0 0 2px var(--accent)}.card-title{text-overflow:ellipsis;white-space:nowrap;font-size:.925rem;font-weight:500;overflow:hidden}.card-title-icon{align-items:center;gap:6px;display:flex}.card-title-icon svg{color:var(--text-faint);flex-shrink:0}.card-subtitle{color:var(--text-faint);min-height:1.2em;font-size:.8rem}.empty{border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:14px;padding:40px 32px}.poster{aspect-ratio:2/3;border-radius:var(--radius);box-shadow:0 0 0 1px var(--border);flex-direction:column;justify-content:flex-end;gap:4px;padding:14px;display:flex;position:relative;overflow:hidden}.poster-icon{color:var(--text-faint);position:absolute;top:12px;left:14px}.card-art:has(.card-heart) .poster-icon{display:none}.poster-title{letter-spacing:-.01em;color:var(--text);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:1rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.poster-year{color:var(--text-faint);font-size:.8rem}.poster-large{flex-shrink:0;width:220px;padding:18px}.poster-large .poster-title{font-size:1.5rem}.back{color:var(--text-muted);margin-bottom:16px;font-size:.9rem;text-decoration:none;display:inline-block}.back:hover{color:var(--text)}.detail-head{gap:36px;margin-bottom:36px;display:flex}.detail-info{min-width:0}.show-title{margin:0 0 4px}.year{font-weight:400}.facts{color:var(--text-muted);margin:0 0 18px;font-size:.9rem}.meta{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.9rem;display:grid}.meta dt{color:var(--text-faint)}.meta dd{min-width:0;margin:0}.streams{margin-bottom:24px}.streams table{border-collapse:collapse;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.streams td{border-top:1px solid var(--border);vertical-align:top;padding:10px 14px;font-size:.9rem}.streams tr:first-child td{border-top:none}.streams td:first-child{width:3em}.flags{text-align:right;white-space:nowrap}.flags .badge+.badge{margin-left:4px}.settings section{max-width:900px;margin-top:28px}.library-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.library-row{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 18px;display:flex}.library-row-main{flex-wrap:wrap;flex:1;align-items:center;gap:6px 12px;min-width:0;display:flex}.library-row-main .scan-status{margin:0}.library-name{font-weight:600;text-decoration:none}.library-path{color:var(--text-faint);flex-basis:100%;font-size:.85rem}.library-row-actions{align-items:flex-start;gap:8px;display:flex}.add-library{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:16px;padding:20px;display:grid}.add-library label{color:var(--text-muted);flex-direction:column;gap:8px;font-size:.8rem;font-weight:500;display:flex}.add-library input,.add-library select{color:var(--text);font-size:.925rem;font-weight:400}.add-library input:not([type=checkbox]),.add-library select{height:40px}.add-library p{margin:0}.add-library .wide,.form-actions{grid-column:1/-1}.form-actions{align-items:center;gap:12px;display:flex}.welcome{text-align:center;max-width:460px;margin:10vh auto}@media (width<=720px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:4px;height:auto;padding:10px 16px;position:static;overflow-x:auto}.brand{padding:0 8px 0 0}.sidebar nav{flex-shrink:0;gap:4px;display:flex}.sidebar{scrollbar-width:none}.nav-link{white-space:nowrap}.nav-settings .nav-name{display:none}.poster-title{font-size:.9rem}.nav-heading,.nav-count{display:none}.nav-link{padding:6px 10px}.brand span{display:none}.topbar,.content{padding-left:16px;padding-right:16px}.content{padding-top:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:18px 12px}.detail-head{flex-direction:column;gap:16px}.poster-large{width:160px}.add-library{grid-template-columns:1fr}}.play{margin:0 0 18px}.play-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tracks-summary{margin:10px 0 0;font-size:.9rem}.stream-summary{margin-top:10px;font-size:.85rem}.stream-summary p{margin:0}.stream-summary ul{margin:4px 0 0;padding-left:18px}.notice{border:1px solid color-mix(in srgb, var(--warn) 30%, transparent);background:color-mix(in srgb, var(--warn) 6%, transparent);border-radius:var(--radius);flex-direction:column;gap:6px;max-width:640px;padding:12px 16px;font-size:.9rem;display:flex}.notice ul{margin:0;padding-left:20px}.badge-selected{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.streams tr.selected td{background:color-mix(in srgb, var(--accent) 6%, transparent)}.hint{font-size:.8rem}.player{color:#fff;-webkit-user-select:none;user-select:none;background:#000;position:fixed;inset:0;overflow:hidden;container-type:size}.player.idle{cursor:none}.player-video{object-fit:contain;width:100%;height:100%;display:block}.player-cues{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:.15em;font-size:clamp(15px,min(4.4cqh,2.8cqw),56px);line-height:1.25;transition:bottom .25s;display:flex;position:absolute;bottom:max(6cqh,24px);left:5%;right:5%}.player:not(.idle) .player-cues{bottom:max(6cqh,124px)}.player-cue{white-space:pre-line;text-shadow:0 1px 2px #000c;background:#0009;border-radius:4px;padding:.1em .35em}.player-subtitle-status{border-radius:var(--radius);background:#111113d9;margin:0;padding:6px 12px;font-size:.85rem;position:absolute;top:72px;right:clamp(16px,3vw,32px)}.player-top,.player-bottom{padding:16px clamp(16px,3vw,32px);transition:opacity .25s;position:absolute;left:0;right:0}.player-top{background:linear-gradient(#000000b3,#0000);align-items:center;gap:12px;display:flex;top:0}.player-bottom{background:linear-gradient(#0000,#000c);padding-top:40px;bottom:0}.player.idle .player-top,.player.idle .player-bottom{opacity:0;pointer-events:none}.player-title{flex-direction:column;min-width:0;font-size:1.1rem;font-weight:600;display:flex}.player-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-subtitle{color:#ffffffbf;font-size:.9rem;font-weight:400}.player-controls{align-items:center;gap:4px;margin-top:6px;display:flex}.player-button{width:42px;height:42px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.player-button:hover{background:#ffffff1f}.player-button.active{background:#ffffff2e}.player-button:focus-visible,.player-big-play:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player-volume{align-items:center;display:flex}.player-volume input{width:90px}.player-time{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:10px;font-size:.9rem}.player-spacer{flex:1}.player-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.player-big-play{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;padding-left:6px;display:flex}.player-big-play:hover{background:var(--accent);color:var(--accent-text)}.player-error{text-align:center;border-radius:var(--radius);background:#111113eb;max-width:min(480px,90vw);padding:20px 24px}.player-error-actions{justify-content:center;gap:10px;display:flex}.player-spinner{pointer-events:none;border:4px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;animation:.9s linear infinite spin;position:absolute;top:50%;left:50%}.player-menu{z-index:2;border-radius:var(--radius);scrollbar-color:#ffffff4d transparent;scrollbar-width:thin;background:#111113f2;width:min(340px,100vw - 32px);max-height:calc(100% - 140px);padding:12px;position:absolute;bottom:96px;right:clamp(16px,3vw,32px);overflow-y:auto;box-shadow:0 8px 30px #00000080}.player-menu-status{color:#ffffffb3;margin:0 0 8px;padding:0 6px;font-size:.8rem}.player-menu fieldset{border:none;margin:0;padding:0}.player-menu fieldset+fieldset{border-top:1px solid #ffffff1f;margin-top:8px;padding-top:8px}.player-menu legend{letter-spacing:.04em;text-transform:uppercase;color:#fff9;padding:4px 6px;font-size:.75rem;font-weight:600}.player-menu-option{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 6px;font-size:.9rem;display:flex}.player-menu-option:hover{background:#ffffff1a}.player-menu-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.player-menu-option svg{visibility:hidden;color:var(--accent);flex:none}.player-menu-option[aria-pressed=true] svg{visibility:visible}.player-message{max-width:640px;margin:10vh auto;padding:0 16px}:is(.player,.audio-bar) input[type=range]{--slider-fill:var(--accent);appearance:none;cursor:pointer;background:0 0;border:none;height:18px;margin:0;padding:0}:is(.player-volume,.audio-right) input[type=range]{--slider-fill:#ffffffe6}.player-seek{width:100%}:is(.player,.audio-bar) input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--slider-fill) var(--played), #ffffff59 var(--played) var(--buffered), #ffffff24 var(--buffered));border-radius:2px;height:4px}:is(.player,.audio-bar) input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--slider-fill) var(--played), #ffffff59 var(--played) var(--buffered), #ffffff24 var(--buffered));border-radius:2px;height:4px}:is(.player,.audio-bar) input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:none;border-radius:50%;width:13px;height:13px;margin-top:-4.5px;transition:transform .15s;transform:scale(0);box-shadow:0 1px 6px #00000080}:is(.player,.audio-bar) input[type=range]::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:13px;height:13px;transition:transform .15s;transform:scale(0);box-shadow:0 1px 6px #00000080}:is(.player,.audio-bar) input[type=range]:is(:hover,:focus-visible,:active)::-webkit-slider-thumb{transform:scale(1)}:is(.player,.audio-bar) input[type=range]:is(:hover,:focus-visible,:active)::-moz-range-thumb{transform:scale(1)}@media (hover:none){:is(.player,.audio-bar) input[type=range]::-webkit-slider-thumb{transform:scale(1)}:is(.player,.audio-bar) input[type=range]::-moz-range-thumb{transform:scale(1)}}.player-seek:hover::-webkit-slider-runnable-track{height:6px}.player-seek:hover::-moz-range-track{height:6px}.player-seek:hover::-webkit-slider-thumb{margin-top:-3.5px}:is(.player,.audio-bar) input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=720px){.player-volume input,.player-button[aria-label^=Back\ 10],.player-button[aria-label^=Forward\ 10]{display:none}}.poster-image{background:var(--bg-raised);padding:0}.poster-image img{object-fit:cover;width:100%;height:100%;display:block}.poster-wide{aspect-ratio:16/9}.poster-large.poster-wide{width:360px}.card-art{position:relative}.card-badge{background:var(--text);min-width:24px;height:24px;color:var(--bg);font-variant-numeric:tabular-nums;border-radius:12px;place-items:center;padding:0 7px;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000080}.card-badge.watched{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent);background:#09090bb3;padding:0;box-shadow:inset 0 0 0 1px #ffffff1f}.detail{position:relative}.backdrop{z-index:-1;pointer-events:none;height:420px;position:absolute;inset:-28px -32px auto;overflow:hidden}.backdrop img{object-fit:cover;object-position:center 25%;opacity:.3;filter:saturate(.8);width:100%;height:100%;-webkit-mask-image:linear-gradient(#000 20%,#0000);mask-image:linear-gradient(#000 20%,#0000)}.content{isolation:isolate;position:relative}.breadcrumbs{color:var(--text-faint);flex-wrap:wrap;gap:8px;min-height:1.4em;margin-bottom:18px;font-size:.875rem;display:flex}.breadcrumbs a{color:var(--text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--text)}.tagline{color:var(--text-muted);margin:0 0 8px;font-style:italic}.overview{max-width:68ch;color:color-mix(in srgb, var(--text) 88%, transparent);margin:0 0 18px;line-height:1.6}.credits{margin-bottom:12px}.detail-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.match-note{margin:0 0 16px}.link-button{color:var(--text);font:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;background:0 0;border:none;padding:0}.link-button:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.cast{margin-top:28px}.cast-list{scrollbar-width:thin;gap:16px;margin:0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.cast-list li{flex-direction:column;flex:0 0 104px;gap:2px;font-size:.85rem;display:flex}.cast-list img,.cast-initials{border-radius:var(--radius);object-fit:cover;background:var(--bg-raised);width:104px;height:140px;box-shadow:0 0 0 1px var(--border);margin-bottom:6px}.cast-initials{letter-spacing:.04em;color:var(--text-faint);place-items:center;font-size:1.4rem;font-weight:500;display:grid}.cast-name{font-weight:550}.cast-character{color:var(--text-muted)}.episode-nav{justify-content:space-between;gap:16px;margin:8px 0 24px;display:flex}.episode-nav-link{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;max-width:48%;padding:10px 14px;text-decoration:none;display:flex}.episode-nav-link:last-child{text-align:right}.episode-nav-link:hover{background:var(--fill);border-color:var(--border-strong)}.episodes{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.episode{grid-template-columns:260px 1fr;align-items:start;gap:20px;display:grid}.episode-art{border-radius:var(--radius);display:block;position:relative;overflow:hidden}.episode-art .poster{box-shadow:none}.episode-progress{background:var(--accent);height:3px;box-shadow:0 0 10px var(--accent);position:absolute;bottom:0;left:0}.episode-info h3{margin:0 0 2px;font-size:1.05rem}.episode-info h3 a{text-decoration:none}.episode-facts{margin:0 0 6px;font-size:.85rem}.episode-overview{max-width:75ch;color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 10px;display:-webkit-box;overflow:hidden}.dialog{border:1px solid var(--border-strong);background:var(--bg-raised);width:min(640px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--text);box-shadow:var(--shadow);border-radius:16px;padding:24px}.dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dialog-head h2{margin:0}.match-search{gap:8px;margin-bottom:12px;display:flex}.match-search label:first-child{flex:1}.match-search input{width:100%}.match-search .match-year{width:90px}.match-results{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.match-result{border-radius:var(--radius);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:12px;padding:8px;display:flex}.match-result:hover,.match-result:focus-visible{border-color:var(--border-strong);background:var(--fill);outline:none}.match-result img,.match-noposter{object-fit:cover;background:var(--bg-hover);border-radius:4px;flex-shrink:0;width:54px;height:81px}.match-overview{-webkit-line-clamp:2;color:var(--text-muted);-webkit-box-orient:vertical;margin-top:2px;font-size:.85rem;display:-webkit-box;overflow:hidden}.tmdb-attribution{color:var(--text-muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.tmdb-logo{color:#0d253f;letter-spacing:.04em;background:linear-gradient(90deg,#90cea1,#01b4e4);border-radius:6px;flex-shrink:0;padding:3px 10px;font-weight:800;text-decoration:none}.nav-activity{align-items:center;gap:8px;font-size:.8rem;display:flex}.player-up-next{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:2;border-radius:var(--radius);background:#111113eb;border:1px solid #ffffff1a;flex-direction:column;gap:4px;max-width:min(360px,100vw - 32px);padding:14px 16px;display:flex;position:absolute;bottom:110px;right:clamp(16px,3vw,32px);box-shadow:0 8px 30px #00000080}.player-up-next .player-error-actions{margin-top:8px}@media (width<=720px){.episode{grid-template-columns:1fr}.poster-large.poster-wide{width:100%}.backdrop{height:260px;inset:-16px -16px auto}.episode-nav-link{max-width:none}}.detail-head>.poster{align-self:flex-start}.poster-square{aspect-ratio:1}.poster-round{border-radius:50%}.poster-large.poster-square{width:240px}.square-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tabs{border:1px solid var(--border);background:var(--fill);border-radius:10px;flex-wrap:wrap;gap:2px;margin-bottom:24px;padding:3px;display:inline-flex}.tab{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--fill-hover);box-shadow:inset 0 0 0 1px var(--border)}.track-search input{width:min(420px,100%);margin-bottom:12px}.track-list{margin:0 0 16px;padding:0;list-style:none}.track{border-radius:var(--radius);flex-wrap:wrap;align-items:center;display:flex}.track+.track{box-shadow:0 -1px 0 var(--border)}.track:hover,.track:focus-within{background:var(--fill);box-shadow:none}.track:hover+.track,.track:focus-within+.track{box-shadow:none}.disc-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);flex-basis:100%;padding:16px 12px 6px;font-size:.8rem;font-weight:600}.track-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.track-number{text-align:right;font-variant-numeric:tabular-nums}.track.playing .track-title,.track.playing .track-number{color:var(--accent)}.eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq span{background:var(--accent);transform-origin:bottom;border-radius:1px;width:3px;height:100%;animation:.9s ease-in-out infinite alternate eq}.eq span:nth-child(2){animation-delay:-.3s}.eq span:nth-child(3){animation-delay:-.6s}@keyframes eq{0%{transform:scaleY(.25)}}@media (prefers-reduced-motion:reduce){.eq span{animation:none}}.track-text{flex-direction:column;min-width:0;display:flex}.track-title,.track-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.track-artist{font-size:.85rem}.track-duration{font-variant-numeric:tabular-nums}.track-actions{opacity:0;gap:2px;padding-right:8px;display:flex}.track:hover .track-actions,.track:focus-within .track-actions{opacity:1}@media (hover:none){.track-actions{opacity:1}}.player-button.small{width:32px;height:32px}.player-button:disabled{opacity:.35;cursor:default}.playlist-choices{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.app:has(.audio-bar) .content{padding-bottom:calc(var(--audio-bar-height) + 36px)}.app:has(.audio-bar) .sidebar{height:calc(100vh - var(--audio-bar-height))}.audio-bar{z-index:20;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);background:#09090be6;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:16px;padding:10px 16px;display:grid;position:fixed;bottom:0;left:0;right:0}.audio-track{align-items:center;gap:12px;min-width:0;display:flex}.audio-cover{box-shadow:0 0 0 1px var(--border);object-fit:cover;background:var(--bg-raised);border-radius:6px;flex-shrink:0}.audio-cover-empty{color:var(--text-muted);place-items:center;display:grid}.audio-text{flex-direction:column;min-width:0;display:flex}.audio-title{font-size:.9rem;font-weight:500}.audio-title,.audio-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audio-artist{font-size:.8rem}.audio-artist a{color:inherit;text-decoration:none}.audio-artist a:hover{color:var(--text);text-decoration:underline}.audio-center{flex-direction:column;align-items:center;gap:2px;display:flex}.audio-controls{align-items:center;gap:4px;display:flex}.audio-play{background:var(--text);color:var(--bg)}.audio-play:hover{box-shadow:0 6px 24px -6px color-mix(in srgb, var(--accent) 70%, transparent);background:#fff}.audio-seek{font-variant-numeric:tabular-nums;align-items:center;gap:10px;width:100%;font-size:.8rem;display:flex}.audio-seek .player-seek{flex:1}.audio-error{font-size:.8rem}.audio-right{justify-content:flex-end;align-items:center;gap:4px;display:flex}.audio-volume{width:100px}.now-playing{right:16px;bottom:calc(var(--audio-bar-height) + 8px);z-index:21;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:min(420px,100vw - 32px);max-height:min(70vh,640px);box-shadow:var(--shadow);background:#111113e0;border-radius:14px;flex-direction:column;padding:12px;display:flex;position:fixed}.now-playing-head{align-items:flex-start;gap:8px;display:flex}.now-playing-head .tabs{flex:1;margin-bottom:8px}.queue,.lyrics{margin:0;padding:0;list-style:none;overflow-y:auto}.queue li{border-radius:6px;align-items:center;display:flex}.queue li.current{background:var(--fill-hover)}.queue-track{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:6px;display:grid}.queue-track>span:nth-child(2){flex-direction:column;min-width:0;font-size:.9rem;display:flex}.queue-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queue li.current .queue-title{color:var(--accent)}.lyrics button{width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:1.05rem;display:block}.lyrics li.active button{color:var(--text);font-weight:600}.lyrics-plain{white-space:pre-wrap;font:inherit;overflow-y:auto}@media (width<=720px){.audio-bar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.audio-center{order:3;grid-column:1/-1}.audio-volume,.audio-right>.player-button:first-child,.audio-controls>.small{display:none}.app:has(.audio-bar) .sidebar{height:auto}}.checkbox{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.checkbox input{margin-top:4px}.photo-grid{position:relative}.photo-section{margin:0;padding-top:16px;font-size:1.05rem;position:absolute;left:0;right:0}.photo-row{gap:4px;display:grid;position:absolute;left:0;right:0}.photo-cell{background:var(--bg-raised);cursor:zoom-in;border:none;border-radius:4px;padding:0;position:relative;overflow:hidden}.photo-cell img{object-fit:cover;width:100%;height:100%;display:block}.photo-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-video-badge{color:#fff;background:#000000a6;border-radius:4px;padding:1px 6px;font-size:.75rem;position:absolute;bottom:6px;right:6px}.folder-grid{margin-bottom:24px}.folder-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.viewer{z-index:50;color:#fff;-webkit-user-select:none;user-select:none;background:#000;position:fixed;inset:0}.viewer-stage{touch-action:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.viewer-image{object-fit:contain;transform-origin:50%;will-change:transform;max-width:100%;max-height:100%;transition:transform 80ms ease-out}.viewer-video{flex-direction:column;align-items:center;gap:8px;max-width:100%;max-height:100%;display:flex}.viewer-video video{max-width:100vw;max-height:calc(100vh - 60px)}.viewer-top{background:linear-gradient(#000000b3,#0000);align-items:center;gap:4px;padding:12px 16px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0;right:0}.viewer-top a.player-button{text-decoration:none}.viewer-date{margin-left:8px;font-size:.95rem}.viewer-nav{border-radius:var(--radius);color:#fff;cursor:pointer;background:#00000059;border:none;width:48px;height:72px;font-size:2.4rem;line-height:1;transition:opacity .2s;position:absolute;top:50%;translate:0 -50%}.viewer-nav.prev{left:12px}.viewer-nav.next{right:12px}.viewer-bare .viewer-top,.viewer-bare .viewer-nav{opacity:0;pointer-events:none}.viewer-info{border-radius:var(--radius);-webkit-user-select:text;user-select:text;background:#111113eb;width:min(360px,100vw - 32px);max-height:calc(100vh - 96px);padding:16px;position:absolute;top:64px;right:16px;overflow-y:auto}.viewer-info h2{overflow-wrap:anywhere;margin:0 0 12px;font-size:1rem}.viewer-info code{overflow-wrap:anywhere}@media (width<=720px){.viewer-nav{display:none}}.sign-in{--si-accent:var(--accent);--si-line:#ffffff17;--si-fill:#ffffff09;isolation:isolate;background:var(--bg);min-height:100dvh;color:var(--text);place-items:center;padding:24px 16px;display:grid;position:relative;overflow:hidden}.sign-in:before{content:"";z-index:-1;aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,#a855f729,#d946ef0f 55%,#0000);border-radius:50%;width:720px;position:absolute;top:-360px;right:-260px}.sign-in:after{content:"";z-index:-1;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.sign-in-card{flex-direction:column;gap:18px;width:min(360px,100%);animation:.5s cubic-bezier(.2,.7,.2,1) both sign-in-enter;display:flex}@keyframes sign-in-enter{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.sign-in-card{animation:none}}.sign-in-brand{letter-spacing:.14em;text-transform:uppercase;color:#a1a1aa;align-items:center;gap:10px;margin-bottom:28px;font-size:.8rem;font-weight:500;display:flex}.sign-in-brand svg{color:#e4e4e7;width:30px;height:30px}.sign-in-card h1{letter-spacing:-.025em;margin:0;font-size:1.75rem;font-weight:600;line-height:1.2}.sign-in-card p{margin:0}.sign-in-card .sign-in-lede{color:#a1a1aa;margin:6px 0 10px;font-size:.925rem}.sign-in-card label{color:#a1a1aa;flex-direction:column;gap:8px;font-size:.8rem;font-weight:500;display:flex}.sign-in-card .hint,.sign-in-card label .error{color:#71717a;font-weight:400}.sign-in-card label .error{color:#f87171}.sign-in-field{display:flex;position:relative}.sign-in-card input{color:#f4f4f5;background:var(--si-fill);border:1px solid var(--si-line);border-radius:10px;width:100%;height:46px;padding:0 14px;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}.sign-in-card input:hover{border-color:#ffffff29}.sign-in-card input:focus-visible{border-color:color-mix(in srgb, var(--si-accent) 70%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--si-accent) 16%, transparent);background:#ffffff0d;outline:none}.sign-in-field input{padding-right:64px}.sign-in-reveal{font:inherit;color:#a1a1aa;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:.75rem;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.sign-in-reveal:hover{color:#f4f4f5}.sign-in-reveal:focus-visible{outline:2px solid var(--si-accent);outline-offset:0}.sign-in-alert{color:#fca5a5;background:#f8717114;border:1px solid #f8717133;border-radius:10px;padding:10px 12px;font-size:.875rem}.sign-in-submit{height:46px;font:inherit;color:#09090b;cursor:pointer;background:#f4f4f5;border:0;border-radius:10px;margin-top:6px;font-size:.95rem;font-weight:600;transition:background .15s,box-shadow .2s,opacity .15s}.sign-in-submit:hover:not(:disabled){box-shadow:0 8px 30px -8px color-mix(in srgb, var(--si-accent) 55%, transparent);background:#fff}.sign-in-submit:focus-visible{outline:2px solid var(--si-accent);outline-offset:3px}.sign-in-submit:disabled{opacity:.5;cursor:default}.sign-in-card .sign-in-foot{color:#52525b;text-align:center;margin-top:18px;font-size:.75rem}.error-detail{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--danger);font-size:.85rem}.nav-group{margin-bottom:8px}.user-list{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.user-row{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.user-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.user-row .add-library{margin-top:12px}.user-meta{font-size:.85rem}.library-choice{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.library-choice legend{margin-bottom:6px}.diag-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:.9rem}.diag-table td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:6px 8px}.problems{margin:0;padding-left:18px;font-size:.85rem}.diagnostics h3{margin-top:20px}.button.active,.button.favourite.on{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.button.active:hover:not(:disabled),.button.favourite.on:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.card-heart{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:24px;height:24px;color:var(--accent);background:#09090bb3;border-radius:12px;place-items:center;display:grid;position:absolute;top:8px;left:8px;box-shadow:inset 0 0 0 1px #ffffff1f}.card-progress{background:#fff3;border-radius:2px;height:3px;position:absolute;bottom:18px;left:8px;right:8px;overflow:hidden}.card-progress span{background:var(--accent);border-radius:2px;height:100%;display:block}.card-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);letter-spacing:.06em;text-transform:uppercase;background:#09090bb3;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:600;position:absolute;top:8px;left:8px;box-shadow:inset 0 0 0 1px #ffffff1f}.small-link{margin-top:4px;font-size:.85rem}.home{flex-direction:column;gap:40px;display:flex}.home-row-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.home-row-head a{font-size:.85rem;text-decoration:none}.home-row-head a:hover{color:var(--text)}.home-row-head h2{margin:0}.row-scroller{scroll-snap-type:x proximity;scrollbar-width:thin;grid-auto-columns:150px;grid-auto-flow:column;gap:16px;margin:-8px 0 0;padding:8px 0 12px;list-style:none;display:grid;overflow-x:auto}.row-scroller>li{scroll-snap-align:start}.row-scroller>li.row-wide{width:300px}.row-scroller .poster-square{width:150px}.audio-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}@media (width<=720px){.row-scroller{grid-auto-columns:112px;gap:12px}.row-scroller>li.row-wide{width:220px}.row-scroller .poster-square{width:112px}.nav-group{margin-bottom:0;display:flex}.nav-user{border:none;flex-shrink:0;margin:0;padding:0 0 0 6px}.nav-user-name{display:none}}.nav-user{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:6px;padding:12px 4px 2px 10px;font-size:.875rem;display:flex}.nav-avatar{width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--border-strong);background:linear-gradient(135deg,#3f3f46,#18181b);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:600;display:grid}.nav-user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:1;overflow:hidden}.sidebar nav.nav-group{flex:none}.add-library label.checkbox,.library-choice label.checkbox{color:var(--text);flex-direction:row;align-items:center}
