:root{color-scheme:dark;--bg:#0c0b10;--panel:#15131b;--line:#292530;--muted:#96909f;--purple:#a17aff;--text:#f4f1f8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--text);background:var(--bg);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:#211c2c;color:var(--text);transition:background .15s,border-color .15s}button:hover{background:#322441;border-color:#76519e}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}input,select{border:1px solid #3a3343;background:#100d17;border-radius:8px;padding:11px;color:var(--text);width:100%;min-width:0}label{display:block;font-size:12px;color:#b8b1c2}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.7px;margin:6px 0 0}h2{font-size:22px;line-height:1.25;margin-bottom:12px}h3{font-size:15px;margin:0}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:216px;padding:30px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#100e15;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:.5px;margin-bottom:52px}.brand-icon{width:38px;height:41px;background:linear-gradient(145deg,#c3a1ff,#7550d0);display:grid;place-items:center;border-radius:12px;color:#fff;font-size:18px;box-shadow:0 4px 25px #7541cb33}.brand-sub{display:block;font-size:9px;letter-spacing:2px;color:#b2a6c4;font-weight:500}nav button,.nav-button{display:flex;gap:12px;width:100%;border:0;background:none;text-align:left;margin:4px 0;padding:13px;font-size:13px;color:#b6adbf}nav button span,.nav-button span{font-size:19px;width:22px}nav .selected,.nav-button.selected{background:#30213f;color:#d1b1ff;border-left:3px solid #b27fff}.nav-button{margin-top:18px;border-top:1px solid var(--line);border-radius:0}.sidebar-note{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}.dot,.live-dot{display:inline-block;background:#897c98;width:6px;height:6px;border-radius:50%;margin-right:7px}.live-dot{background:#b17cff;margin:0 0 6px 10px;box-shadow:0 0 12px #a77cff66}.text-button{border:0;background:none;padding:12px 0;color:#c8a7ef;font-size:12px;display:block}.primary{border:0;background:linear-gradient(110deg,#9262e5,#7750c2);font-weight:600}.quiet{background:#19151f;font-size:12px;color:#c7bfce}.muted{color:var(--muted)}main{margin-left:216px;padding:32px 36px 20px;max-width:1820px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.pill{font-size:9px;letter-spacing:1px;border:1px solid #59416d;background:#2a1d38;color:#cda7f5;padding:4px 8px;border-radius:6px;white-space:nowrap}.login-panel{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:46px;background:radial-gradient(ellipse at left top,#352045,transparent 65%),#16111f;border:1px solid #403049;border-radius:20px}.login-panel h2{font-size:35px;letter-spacing:-1px;margin-top:20px}.login-panel em{font-style:normal;color:#bd92fb}.login-panel p{color:#aca2b7}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.checkbox{display:flex;align-items:center;gap:9px;margin:16px 0}.checkbox input{width:auto;accent-color:var(--purple)}form .primary{width:100%}form small{display:block;color:#9c91a6;font-size:10px;margin-top:12px}.error{color:#ffb2b9!important;margin-top:10px}.watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;position:sticky;top:10px;z-index:3;max-height:57vh;background:var(--bg);padding-bottom:12px}.player-panel{background:#111016;border:1px solid var(--line);border-radius:15px;overflow:hidden;min-width:0}.screen{position:relative;aspect-ratio:16/8;max-height:37vh;background:radial-gradient(ellipse,#251730,#07070b 70%);min-height:150px}.screen video{width:100%;height:100%;position:absolute;inset:0;background:#000;object-fit:contain}.player-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse,#251730,#0b090f 70%);pointer-events:none}.player-placeholder h2{font-size:21px;margin:14px 0 4px}.player-placeholder p{font-size:12px;color:var(--muted)}.play-orbit{width:51px;height:51px;border:1px solid #654574;border-radius:50%;display:grid;place-items:center;color:#c69bf7;background:#35213f}.playing-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:12px}.playing-bar h2{font-size:15px;margin:3px 0;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-actions{display:flex;gap:5px}.player-actions button{padding:7px 10px;background:transparent}.player-status{font-size:11px;color:#b9a9c5;margin:0 18px 10px}.player-panel>#retry{margin:0 18px 12px}.quick-panel{border:1px solid var(--line);border-radius:15px;background:#151119;padding:16px;overflow:hidden;display:flex;flex-direction:column}.row{display:flex;align-items:center;justify-content:space-between;gap:8px}.quick-panel .row{flex-wrap:wrap}.quick-panel p{font-size:11px;color:var(--muted);margin:9px 0}.quick-list{overflow:auto;min-height:0}.quick-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 6px;background:none;border:0;border-bottom:1px solid #2a2231;border-radius:0;text-align:left;font-size:12px}.quick-item img{width:34px;height:34px;object-fit:contain;background:#21192b;border-radius:6px}.quick-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-item.current{color:#d5b5ff;background:#2c1e39}.catalog{margin-top:24px}.catalog-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.catalog-top h2{margin:5px 0}.catalog-top p{margin:3px 0;font-size:12px}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:#131018;padding:0 12px;width:300px}.search input{border:0;background:transparent;padding:12px 0}.search span{font-size:26px;color:#9b89ad}.filters{display:flex;align-items:flex-end;gap:10px;margin:18px 0}.filters label{width:300px}.filters select{margin-top:6px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}.card{position:relative;border:1px solid var(--line);border-radius:12px;background:#15111b;overflow:hidden;transition:transform .18s,border-color .18s}.card:hover{transform:translateY(-3px);border-color:#9b6ec5}.card.current{border-color:#bb8aff;box-shadow:0 0 0 1px #8052bc}.card-main{width:100%;border:0;background:none!important;text-align:left;padding:0;border-radius:0;display:block}.art{aspect-ratio:2/3;display:grid;place-items:center;background:linear-gradient(140deg,#302039,#15101b);position:relative}.art img{position:absolute;width:100%;height:100%;object-fit:cover}.art span{font-size:34px;font-weight:800;color:#9e7bbb}.cards.live .art{aspect-ratio:16/10}.cards.live .art img{object-fit:contain;padding:20px}.card-copy{padding:11px}.card-copy h3{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-right:15px}.card-copy small{font-size:10px;color:#a999b4;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:5px}.favorite{position:absolute;right:7px;top:7px;border:0;background:#120c1fcc;border-radius:50%;width:29px;height:29px;padding:0}.favorite.saved{color:#d5abff}.load-more{display:block;margin:24px auto}.empty{padding:38px 20px;text-align:center;border:1px dashed #44364e;border-radius:12px;color:#b2a4bc}.loading{padding:25px 0;color:#b798d3}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding:20px 0;color:#71687c;font-size:10px;letter-spacing:1px}dialog{width:min(640px,92vw);max-height:85vh;border:1px solid #52415f;border-radius:18px;padding:25px;background:#19121f;color:var(--text)}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.dialog-head h2{margin:0}.dialog-head button{background:none;border:0}.episode{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;text-align:left;margin:8px 0}.episode small{color:#b89acf}#seriesPlot{font-size:12px}#episodes{margin-top:18px}#accountDialog p{color:var(--muted)}
.direct-test{margin:10px 12px;font-size:11px;color:var(--muted)}.direct-test summary{cursor:pointer;color:var(--purple)}.direct-test p{margin:10px 0}.direct-test a{display:inline-block;padding:9px 12px;border:1px solid var(--line);border-radius:8px}
/* v3: independent player and catalogue; no sticky overlay over filters. */
html{scrollbar-gutter:stable}
body{overflow-wrap:anywhere}
button{min-height:42px}
main{min-width:0;padding:28px clamp(16px,2.5vw,40px)}
.sidebar{width:216px;padding:28px 16px}
.brand{margin-bottom:38px}
.nav-button{font-size:12px;align-items:center;gap:8px;line-height:1.4;border:0;border-radius:10px;margin-top:8px}
.nav-button span{flex:none}
.filter-favorites{font-size:11px;color:var(--muted)}
#favoriteCount{margin-left:auto;min-width:24px;text-align:center;padding:2px 5px;background:#30223d;border-radius:6px;font-size:10px}
.header-actions{display:flex;gap:8px}
#workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:24px}
.watch-layout{display:flex;flex-direction:column;position:static;max-height:none;min-width:0;padding:0;margin:0;gap:12px;z-index:auto;background:none}
.screen{aspect-ratio:16/9;min-height:0;max-height:none}
.player-panel{min-width:0;box-shadow:0 18px 50px #0003}
.playing-bar{padding:16px;flex-wrap:wrap}
.playing-bar>div:first-child{min-width:0;flex:1}
.playing-bar h2{max-width:none;white-space:normal;overflow-wrap:anywhere;font-size:16px}
.player-actions{flex:none}
.player-actions button{min-width:40px}
.extra-controls{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 14px}
.extra-controls button{flex:1;white-space:nowrap;font-size:11px;padding:8px}
.extra-controls [aria-pressed=true]{color:#dec5ff;border-color:#8d62bc;background:#342242}
.track-panel{margin:12px 16px;padding:12px 0;border-top:1px solid var(--line);font-size:11px}
.track-selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.track-selectors select{margin-top:5px;font-size:12px}.track-panel p{margin:10px 0 0;line-height:1.6}.track-panel p:empty{display:none}
.track-panel summary{cursor:pointer;color:var(--purple);padding-top:10px;min-height:38px}
.remember-warning{font-size:11px!important;line-height:1.6;border-left:2px solid #c98e5b;padding-left:10px}
#forgetSaved{margin-bottom:15px}
.player-status{line-height:1.5;margin:0 16px 10px}
#controlStatus:empty{display:none}
.direct-test{border-top:1px solid var(--line);margin:12px 16px;padding-top:12px}
.direct-test summary{min-height:34px;line-height:1.6}
.quick-panel{display:block;padding:0;border-radius:12px;overflow:visible}
.quick-panel summary{padding:14px 16px;cursor:pointer;font-weight:600;font-size:12px}
.quick-panel summary .pill{margin-left:8px}
.quick-list{max-height:240px;overflow:auto;padding:0 12px 12px;overscroll-behavior:contain}
.keyboard-hint{font-size:10px;text-align:center;margin:0}
.catalog{min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#131017}
.catalog-top{display:flex;align-items:center;gap:12px}
.catalog-top>div:first-child{min-width:0;flex:1}
.catalog-top h2{font-size:21px}
.view-switch{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;flex:none;gap:3px}
.view-switch button{font-size:20px;line-height:1;padding:6px 10px;border:0;min-height:34px;background:transparent}
.view-switch [aria-pressed=true]{background:#352345;color:#d9b8ff}
.search{width:100%;margin-top:18px}
.filters{gap:8px;margin:12px 0 18px;align-items:end;flex-wrap:wrap}
.filters label{width:auto;flex:1;min-width:115px}
.filters .sort-label{flex:.8}
.filters select{font-size:12px;padding:10px 8px;min-height:42px}
.filters button{padding:10px;font-size:11px;max-width:none}
.cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;max-height:65dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;padding:3px 6px 6px 3px}
.card{min-width:0;align-self:start}
.card:hover{transform:none}
.card-main{min-height:0}
.card-copy h3{padding-right:0}
.cards.live .art img{padding:16px}
.favorite{width:36px;height:36px;min-height:36px;z-index:1;border:1px solid #47364f}
.card.current .card-copy h3{color:#ddbaff}
.empty{grid-column:1/-1;font-size:12px}
.load-more{margin:18px auto 0;width:100%}
#catalogStatus:empty{display:none}
.cards.list-view{grid-template-columns:minmax(0,1fr);gap:7px}
.cards.list-view .card-main{display:flex;align-items:center;min-height:76px;padding-right:46px}
.cards.list-view .art{width:64px;height:64px;aspect-ratio:1;flex:none;margin:6px;border-radius:8px;overflow:hidden}
.cards.list-view .art img{padding:8px;object-fit:contain}
.cards.list-view .art span{font-size:22px}
.cards.list-view .card-copy{flex:1;min-width:0}
.cards.list-view .favorite{top:21px}
.cards.list-view .card-copy h3{font-size:13px}
.cards.list-view .card-copy small{white-space:normal}
@media(max-width:1150px){
 .sidebar{width:180px}main{margin-left:180px;padding:24px 20px}
 #workspace{grid-template-columns:minmax(0,1fr)}
 .watch-layout{display:flex}.quick-panel{display:block}
 .cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:60dvh}
 .screen{max-height:50dvh;aspect-ratio:16/9}
 .keyboard-hint{display:none}
 .login-panel{gap:24px;padding:28px}
}
@media(max-width:700px){
 .sidebar{position:relative;width:100%;padding:16px 14px 12px;display:block}
 .brand{margin-bottom:14px}.sidebar>.eyebrow,.sidebar-note{display:none}
 #sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #sections button{margin:0;white-space:nowrap;font-size:11px;min-width:0;padding:10px 3px}
 .nav-button{position:static;display:flex;width:100%;margin-top:10px;justify-content:flex-start;font-size:12px;padding:10px 12px;background:#17121e}
 .nav-button span{font-size:16px}.filter-favorites{display:none}
 main{margin:0;padding:18px 12px}header{gap:8px;margin-bottom:18px}
 h1{font-size:24px}header .eyebrow{font-size:8px;letter-spacing:1px}
 #refresh{font-size:11px;padding:8px}.header-actions{gap:5px}
 #workspace{gap:16px}.watch-layout{position:static;margin:0;padding:0;max-height:none}
 .screen{min-height:0;max-height:none;aspect-ratio:16/9}
 .playing-bar{padding:12px;gap:8px}.playing-bar h2{font-size:14px;max-width:none}
 .playing-bar .eyebrow{font-size:8px}.player-actions button{min-width:36px;padding:6px}
 .extra-controls{padding:0 12px 12px;gap:6px}.extra-controls button{font-size:10px;min-height:38px}
 .player-status{font-size:10px;margin:0 12px 8px}
 .player-placeholder h2{font-size:18px}.player-placeholder p{font-size:11px}
 .catalog{padding:14px}.catalog-top{display:flex}.catalog-top h2{font-size:19px}
 .search{margin-top:12px}.filters label{min-width:105px}.filters button{max-width:none}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:60dvh}
 .login-panel{display:block;padding:24px;margin-bottom:14px}.login-panel h2{font-size:29px}.login-panel form{margin-top:24px}.fields{grid-template-columns:1fr}
 footer{gap:12px;font-size:9px}
}
@media(max-width:380px){.filters button{width:100%}.extra-controls button{white-space:normal}.header-actions #refresh{font-size:0}.header-actions #refresh:after{content:'↻';font-size:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
