:root{--bg:#07101f;--panel:rgba(17,25,48,.78);--line:rgba(255,255,255,.09);--text:#f7f9ff;--muted:#98a6c7;--p:#8b5cf6;--p2:#d946ef;--c:#22d3ee;--g:#34d399;--warn:#fbbf24;--danger:#fb7185}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at 20% 0%,#18254c 0,transparent 34%),radial-gradient(circle at 90% 10%,#4a1354 0,transparent 27%),linear-gradient(180deg,#08111f,#050812 70%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100%}body:before{content:"";position:fixed;inset:0;background:linear-gradient(120deg,rgba(139,92,246,.05),rgba(34,211,238,.03));pointer-events:none}.hidden{display:none!important}.screen{min-height:100vh}.center{display:grid;place-items:center;padding:22px}.glass{background:linear-gradient(180deg,rgba(22,31,58,.92),rgba(10,16,33,.88));border:1px solid var(--line);box-shadow:0 25px 80px rgba(0,0,0,.45);backdrop-filter:blur(22px);border-radius:24px}.login-card{width:min(430px,94vw);padding:32px}.brand{font-size:32px;font-weight:900;letter-spacing:-1.5px;background:linear-gradient(90deg,#fff,#b8a7ff,#62e8ff,#ff8fed);-webkit-background-clip:text;color:transparent}.brand.small{font-size:24px}.muted{color:var(--muted)}input,select,textarea{width:100%;background:#0a1224;color:var(--text);border:1px solid #263556;border-radius:14px;padding:13px 14px;outline:0;margin:7px 0}input:focus,select:focus,textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.16)}button{border:0;border-radius:13px;padding:12px 16px;color:white;font-weight:750;cursor:pointer;transition:.18s transform,.18s opacity,.18s background}button:hover{transform:translateY(-1px)}.primary{width:100%;background:linear-gradient(90deg,var(--p),var(--p2),#ef5da8);box-shadow:0 10px 35px rgba(139,92,246,.25)}.ghost{background:#121c34;border:1px solid #293957}.login-card .ghost{width:100%;margin-top:8px}.tiny{width:auto;padding:9px 13px}.msg{min-height:22px;color:#ffb4c0}.stickybar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto auto minmax(180px,1fr) 180px auto auto;gap:10px;align-items:center;padding:12px 18px;background:rgba(4,8,18,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.iconbtn{background:#111a31;padding:10px 14px}.seg{display:flex;background:#0b1326;border:1px solid #23314f;border-radius:14px;padding:3px}.seg button{background:transparent;padding:8px 11px}.seg button.active{background:linear-gradient(90deg,#6d4aff,#b63be9)}main#main{padding:26px}.hero{padding:34px;border-radius:28px;background:linear-gradient(110deg,rgba(106,75,255,.3),rgba(217,70,239,.18),rgba(34,211,238,.12));border:1px solid rgba(255,255,255,.1);overflow:hidden}.hero h1{font-size:clamp(30px,5vw,64px);margin:0 0 6px;letter-spacing:-2px}.choicegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.choice{padding:28px;min-height:180px;text-align:left;border:1px solid rgba(255,255,255,.1);background:linear-gradient(140deg,#1a2350,#3f1b57);font-size:26px}.choice:nth-child(2){background:linear-gradient(140deg,#0f3442,#1d224f)}.rails{display:grid;gap:28px;margin-top:26px}.rail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rail-title h2{margin:0}.cards{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.cards::-webkit-scrollbar{height:8px}.cards::-webkit-scrollbar-thumb{background:#2b3c61;border-radius:99px}.card{flex:0 0 174px;scroll-snap-align:start}.poster{aspect-ratio:2/3;border-radius:18px;background:linear-gradient(135deg,#1c2a50,#391c52);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.poster img{width:100%;height:100%;object-fit:cover;display:block}.card h3{font-size:14px;margin:9px 2px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{font-size:12px;color:var(--muted)}.badge{display:inline-block;padding:3px 7px;border-radius:99px;background:#2b1f57;color:#d8ceff;font-size:10px;margin-right:4px}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.64);z-index:50;padding:18px}.modal-card{width:min(440px,96vw);padding:25px}.row{display:flex;gap:10px}.admin-head{height:72px;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(5,9,20,.86);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 72px)}.sidebar{padding:18px 12px;border-right:1px solid var(--line);background:rgba(9,14,29,.72);position:sticky;top:72px;height:calc(100vh - 72px)}.sidebar button{display:block;width:100%;text-align:left;margin:5px 0;background:transparent;color:#b5c0dc}.sidebar button:hover,.sidebar button.active{background:#17213d;color:white}.admin-main{padding:24px;min-width:0}.stats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.stat{padding:18px;border-radius:18px;background:linear-gradient(140deg,#121c36,#15172f);border:1px solid var(--line)}.stat b{font-size:28px}.panel{padding:20px;margin:16px 0}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{padding:7px 10px}.danger{background:#5a1d2c}.good{background:#134c3e}.warn{background:#674c11}.progress{height:14px;border-radius:999px;background:#0d162b;overflow:hidden;border:1px solid #263657}.progress>div{height:100%;background:linear-gradient(90deg,#6d4aff,#d946ef,#22d3ee);width:0;transition:width .35s}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.taglist{display:flex;gap:7px;flex-wrap:wrap}.tag{padding:8px 10px;border-radius:999px;background:#19233e;border:1px solid #2c3d61}.order-list{display:grid;gap:7px}.order-row{display:flex;gap:8px;align-items:center;padding:9px;background:#0e172b;border-radius:12px}.order-row span{flex:1}@media(max-width:900px){.stickybar{grid-template-columns:auto 1fr auto}.stickybar .brand,.stickybar select,.stickybar .seg{grid-column:auto}.searchwrap{grid-column:1/-1;grid-row:2}.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar button{width:auto;white-space:nowrap}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:560px){main#main{padding:14px}.stickybar{padding:9px}.choicegrid{grid-template-columns:1fr}.card{flex-basis:145px}.stats{grid-template-columns:1fr 1fr}.admin-main{padding:14px}.hero{padding:22px}.seg{grid-column:1/-1}.stickybar select{grid-column:1/-1}}

.inspect-grid{display:grid;gap:10px;margin-top:14px}.inspect-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);background:#0d162b;border-radius:16px}.jsonbox{white-space:pre-wrap;word-break:break-word;max-height:620px;overflow:auto;background:#060b16;border:1px solid #243453;border-radius:14px;padding:14px;color:#cbd7f3;font-size:12px;line-height:1.5}@media(max-width:700px){.inspect-card{align-items:stretch;flex-direction:column}}
.source-group{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#0b1428}.source-group h3{margin:0 0 10px}.source-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:360px;overflow:auto}.checkrow{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:10px 12px;border-radius:12px;background:#111c35}.checkrow input{width:auto;margin:0}.categorygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:22px}.categorytile{min-height:130px;text-align:left;padding:22px;background:linear-gradient(135deg,#24205b,#5a205e,#16455c);border:1px solid rgba(255,255,255,.12)}
.categorytile{position:relative;overflow:hidden;background-image:linear-gradient(135deg,#24205b,#5a205e,#16455c);background-size:cover;background-position:center}.categorytile.has-thumb{background-image:linear-gradient(180deg,rgba(5,8,22,.15),rgba(5,8,22,.88)),var(--cat-bg)}.categorytile strong,.categorytile small,.categorytile span{position:relative;z-index:1}.admin-thumb{width:72px;height:44px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.collection-admin-row{grid-template-columns:auto 1fr auto auto}.thumbnail-editor{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center;margin:16px 0}.thumb-preview,.thumb-empty{width:220px;height:125px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#0b1428}.thumb-empty{display:grid;place-items:center;color:var(--muted)}@media(max-width:700px){.thumbnail-editor{grid-template-columns:1fr}.thumb-preview,.thumb-empty{width:100%}}
/* Uniform catalogue cards + progressive genre loading */
.card{flex:0 0 174px;width:174px;min-width:174px;max-width:174px;overflow:hidden}
.poster{width:174px;height:261px;min-width:174px;min-height:261px;aspect-ratio:auto}
.card h3{height:34px;line-height:17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;margin:9px 2px 3px}
.card .meta{min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-actions{display:flex;align-items:center;gap:10px}.show-all{padding:7px 11px}
.genre-row{min-width:0}.all-genre-grid{display:grid;grid-template-columns:repeat(auto-fill,174px);gap:18px 14px;align-items:start;justify-content:start;margin-top:24px}
@media(max-width:560px){.card{flex-basis:145px;width:145px;min-width:145px;max-width:145px}.poster{width:145px;height:218px;min-width:145px;min-height:218px}.all-genre-grid{grid-template-columns:repeat(auto-fill,145px)}}

/* Old-BingeX style native poster loading: browser handles lazy loading directly. */
.poster{position:relative;contain:layout paint}
.poster-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:38px;font-weight:850;color:#7683a6;z-index:0}
.poster img{position:relative;z-index:1;background:transparent}
.poster img.poster-failed{display:none}

/* User collection artwork: clear thumbnail with compact text anchored at the bottom. */
.categorygrid{grid-template-columns:repeat(auto-fill,minmax(260px,320px));gap:20px}
.categorytile{height:180px;min-height:180px;padding:0;background-position:center;background-size:cover;border-radius:18px;box-shadow:0 14px 35px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease}
.categorytile:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 20px 45px rgba(0,0,0,.4)}
.categorytile.has-thumb{background-image:linear-gradient(180deg,rgba(4,7,18,.01) 22%,rgba(4,7,18,.12) 52%,rgba(4,7,18,.96) 100%),var(--cat-bg)}
.categorytile-copy{position:absolute!important;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:34px 16px 14px;text-shadow:0 2px 10px rgba(0,0,0,.95)}
.categorytile-copy strong{font-size:19px;line-height:1.15;color:#fff}.categorytile-copy small{font-size:12px;color:#e5eaff}.categorytile-type{font-size:10px;font-weight:800;letter-spacing:.12em;color:#b8c5e8}
@media(max-width:560px){.categorygrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.categorytile{height:130px;min-height:130px}.categorytile-copy{padding:28px 11px 10px}.categorytile-copy strong{font-size:15px}}
.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:18px 0}.language-option{padding:11px 13px;border:1px solid rgba(132,151,255,.18);border-radius:12px;background:rgba(255,255,255,.025)}
/* IPTV testing player */
.player-lab{margin-top:18px}.player-lab-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.url-box{margin:12px 0;padding:12px;border:1px solid #34415f;border-radius:12px;background:#08101f}.url-box code{display:block;margin-top:7px;white-space:nowrap;overflow:auto;color:#9fd6ff}.netflix-test-player{position:relative;max-width:1100px;margin:auto;background:#000;border-radius:18px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 22px 70px #0008}.netflix-test-player video{width:100%;height:100%;display:block;background:#000}.pt-center-play{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;color:white;text-shadow:0 3px 25px #000;cursor:pointer}.pt-center-play.hidden{display:none}.pt-controls{position:absolute;left:0;right:0;bottom:0;padding:36px 18px 14px;background:linear-gradient(transparent,#000e)}.pt-bufferbar{height:20px;position:relative}.pt-bufferbar>div{position:absolute;left:0;top:8px;height:4px;background:#777;border-radius:9px;pointer-events:none}.pt-bufferbar input{position:absolute;inset:0;width:100%;margin:0;background:transparent}.pt-control-row{display:flex;align-items:center;gap:9px}.pt-control-row button,.pt-control-row select{background:#111b2d;color:#fff;border:1px solid #46536c;border-radius:9px;padding:8px 10px}.pt-spacer{flex:1}.pt-stats{margin-top:12px}.codec-box{margin-top:14px}.codec-box pre{max-height:420px;overflow:auto;white-space:pre-wrap;background:#07101d;padding:12px;border-radius:10px}.episode-test-list{display:grid;gap:8px;max-height:420px;overflow:auto}.episode-test-btn{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:12px;border-radius:10px}.episode-test-btn span{color:#9daac5}@media(max-width:760px){.pt-control-row{flex-wrap:wrap}.pt-spacer{display:none}.pt-control-row select{max-width:145px}.url-box code{font-size:11px}.netflix-test-player{border-radius:10px}}
.prep-box{margin-top:16px;padding:18px;border:1px solid #34415f;border-radius:14px;background:#091225}.prep-pulse{height:5px;border-radius:8px;background:linear-gradient(90deg,#25314a,#6c7890,#25314a);background-size:200% 100%;animation:prep 1.2s linear infinite}@keyframes prep{to{background-position:-200% 0}}.ready-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ready-grid>div,.track-status span{padding:10px;border-radius:9px;background:#0a1427}.ready-grid span{display:block;margin-top:5px}.track-status{display:grid;gap:7px}.ready-ok{color:#8ef0ae}.ready-bad{color:#ff8e8e}.ready-skip{color:#e8c77b}.prep-log{max-height:220px;overflow:auto;white-space:pre-wrap}.pt-center-cluster{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:34px;pointer-events:none;transition:opacity .2s}.pt-center-cluster.faded{opacity:0}.pt-center-cluster button{pointer-events:auto;border:0;background:#0008;color:#fff;width:70px;height:70px;border-radius:50%;font-size:26px;display:flex;align-items:center;justify-content:center;flex-direction:column;backdrop-filter:blur(4px)}.pt-center-cluster .big-play{width:86px;height:86px;font-size:38px}.pt-center-cluster small{font-size:12px}.pt-bufferbar>div#ptBuffered{background:#777;height:5px;z-index:1}.pt-bufferbar>div#ptPlayed{position:absolute;left:0;top:8px;height:5px;background:#fff;border-radius:9px;pointer-events:none;z-index:2}.pt-bufferbar input{z-index:3}.pt-state-line{margin-top:10px}.pt-controls{z-index:5}@media(max-width:760px){.pt-center-cluster{gap:18px}.pt-center-cluster button{width:56px;height:56px}.pt-center-cluster .big-play{width:68px;height:68px}.ready-grid{grid-template-columns:1fr}}

/* BingeX integrated cross-platform player */
body.player-open{overflow:hidden}.bx-player-modal{position:fixed;inset:0;z-index:10000;background:#000;display:flex;align-items:center;justify-content:center}.bx-player-modal.hidden{display:none}.bx-player-shell{position:relative;width:100vw;height:100dvh;background:#000;color:#fff;display:flex;flex-direction:column}.bx-player-top{position:absolute;z-index:8;left:0;right:0;top:0;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;padding:max(12px,env(safe-area-inset-top)) 18px 22px;background:linear-gradient(#000c,transparent);pointer-events:none}.bx-player-top>*{pointer-events:auto}.bx-player-title{text-align:center;font-size:16px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bx-player-icon{width:44px;height:44px;border:0;border-radius:50%;background:#171717b8;color:#fff;font-size:24px}.bx-player-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.bx-player-stage video{width:100%;height:100%;object-fit:contain;background:#000}.bx-player-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:30px;pointer-events:none}.bx-player-center button{pointer-events:auto;width:58px;height:58px;border:0;border-radius:50%;background:#111a;color:#fff;font-size:23px;backdrop-filter:blur(7px)}.bx-player-center .bx-main-play{width:72px;height:72px;font-size:30px;background:#fff;color:#090909}.bx-player-center small{font-size:10px;display:block;margin-top:-3px}.bx-player-controls{position:absolute;z-index:7;left:0;right:0;bottom:0;padding:44px 22px max(18px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#000e)}.bx-player-controls input[type=range]{width:100%;accent-color:#fff}.bx-player-row{display:flex;align-items:center;gap:16px;margin-top:8px;font-size:13px}.bx-track-controls{margin-left:auto;display:flex;gap:8px}.bx-track-controls select{max-width:190px;background:#161616dc;color:#fff;border:1px solid #ffffff2c;border-radius:10px;padding:9px 11px}.bx-subtitles{position:absolute;z-index:6;left:8%;right:8%;bottom:15%;text-align:center;font-size:clamp(18px,2.3vw,32px);line-height:1.3;text-shadow:0 2px 5px #000,0 0 8px #000;pointer-events:none}.bx-subtitles span{background:#0008;padding:2px 7px;border-radius:5px}.episode-picker{position:relative;width:min(760px,94vw);max-height:82vh;overflow:auto;padding:24px}.modal-close{position:absolute;right:16px;top:12px;width:38px;height:38px;border:0;border-radius:50%;font-size:26px}.episode-list{display:grid;gap:8px;margin-top:16px}.episode-row{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;text-align:left;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#0d162b;color:#fff}.episode-row strong{display:block}.episode-row small{color:var(--muted)}.card{cursor:pointer}.card:hover{transform:translateY(-3px)}
@media(max-width:700px){.bx-player-center{gap:18px}.bx-player-center button{width:50px;height:50px}.bx-player-center .bx-main-play{width:64px;height:64px}.bx-player-controls{padding-left:12px;padding-right:12px}.bx-player-row{align-items:flex-start;flex-direction:column}.bx-track-controls{margin-left:0;width:100%}.bx-track-controls select{flex:1;min-width:0;max-width:50%}.bx-player-title{font-size:14px}.episode-row{grid-template-columns:62px 1fr}}

/* Player chrome auto-hide: UI only; playback architecture is untouched. */
.bx-player-top,.bx-player-center,.bx-player-controls{transition:opacity .28s ease,visibility .28s ease}
.bx-player-modal.controls-hidden .bx-player-top,.bx-player-modal.controls-hidden .bx-player-center,.bx-player-modal.controls-hidden .bx-player-controls{opacity:0;visibility:hidden;pointer-events:none}
.bx-player-modal.controls-hidden .bx-player-stage{cursor:none}
.bx-player-modal.bx-ios-cinema{position:fixed;inset:0;width:100vw;height:100dvh;background:#000}
.bx-player-modal.bx-ios-cinema .bx-player-shell{width:100vw;height:100dvh}
/* BingeX player UI v2 — visual/interaction layer only; playback pipeline unchanged. */
.bx-player-icon,.bx-player-center button,.bx-track-controls select,.bx-player-controls input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.bx-player-center button{-webkit-user-select:none;user-select:none;outline:none}
.bx-player-center button:focus,.bx-player-center button:active{outline:none;box-shadow:none;background-color:#111a}
.bx-player-center .bx-main-play:focus,.bx-player-center .bx-main-play:active{background:#fff;color:#090909}
.bx-player-center .bx-skip{position:relative;width:64px;height:64px;background:transparent;border:2px solid #ffffffd9;color:#fff;font-weight:800;display:grid;place-items:center;line-height:1}
.bx-player-center .bx-skip:active{transform:scale(.93);background:transparent}
.bx-skip-arrow{position:absolute;inset:0;display:grid;place-items:center;font-size:45px;font-weight:400;line-height:1}
.bx-player-center .bx-skip small{position:relative;z-index:2;font-size:14px;margin:1px 0 0}
.bx-main-play{display:grid!important;place-items:center}
.bx-loading-spinner{width:34px;height:34px;border:4px solid #1113;border-top-color:#111;border-radius:50%;animation:bx-spin .72s linear infinite}
.bx-loading-spinner.hidden,#bxPlayGlyph.hidden{display:none!important}
@keyframes bx-spin{to{transform:rotate(360deg)}}
.bx-player-modal.bx-ios-cinema{inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important}
.bx-player-modal.bx-ios-cinema .bx-player-shell,.bx-player-modal.bx-ios-cinema .bx-player-stage{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important}
.bx-player-stage:fullscreen,.bx-player-shell:fullscreen{width:100vw;height:100vh;background:#000}

/* Player UI v3: screenshot-style 5-second controls + slow transparent loader. */
.bx-player-center .bx-skip{width:68px;height:68px;border:0!important;background:transparent!important;padding:0;overflow:visible;backdrop-filter:none!important}
.bx-player-center .bx-skip:focus,.bx-player-center .bx-skip:active{background:transparent!important;box-shadow:none!important;outline:none!important}
.bx-skip-svg{width:64px;height:64px;display:block;fill:none;stroke:#fff;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px #000a)}
.bx-main-play.is-loading{background:transparent!important;color:#fff!important;backdrop-filter:none!important}
.bx-main-play.is-loading:active,.bx-main-play.is-loading:focus{background:transparent!important}
.bx-loading-spinner{width:42px!important;height:42px!important;border:3px solid rgba(255,255,255,.22)!important;border-top-color:#fff!important;border-right-color:#fff!important;border-radius:50%;background:transparent!important;box-shadow:none!important;animation:bx-spin 2s linear infinite!important}
@media(max-width:700px){.bx-player-center .bx-skip{width:62px;height:62px}.bx-skip-svg{width:60px;height:60px}}

/* Player UI v4: transparent transport control + exact 5 glyph. */
.bx-player-center .bx-main-play,.bx-player-center .bx-main-play:focus,.bx-player-center .bx-main-play:active{background:transparent!important;color:#fff!important;backdrop-filter:none!important;box-shadow:none!important}
.bx-skip-five{fill:#fff;stroke:none;font:700 20px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;dominant-baseline:auto}
.bx-player-modal.bx-ios-cinema{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:2147483647!important;background:#000!important}
.bx-player-modal.bx-ios-cinema .bx-player-shell{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important}


/* Player UI v5: transport sizing + strongest custom iPhone cinema fallback. */
.bx-player-center .bx-main-play{width:68px!important;height:68px!important;font-size:34px!important;padding:0!important}
html.bx-ios-cinema-root,body.bx-ios-cinema-root{margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#000!important;overscroll-behavior:none!important}
.bx-player-modal.bx-ios-cinema{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:0!important;border:0!important;z-index:2147483647!important}
.bx-player-modal.bx-ios-cinema .bx-player-shell,.bx-player-modal.bx-ios-cinema .bx-player-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
.bx-player-modal:fullscreen,.bx-player-modal:-webkit-full-screen{width:100vw!important;height:100vh!important;background:#000!important}
@media(max-width:700px){.bx-player-center .bx-main-play{width:62px!important;height:62px!important;font-size:32px!important}}

/* v7.1 mobile polish: use the Android viewport cleanly without changing playback. */
@media(max-width:700px){.season-picker{display:flex;align-items:center;gap:12px;margin:12px 0 16px}.season-picker label{font-weight:800}.season-picker select{margin:0;max-width:220px}.episode-list-inner{display:grid;gap:8px}}
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main#main{padding:10px 8px 18px}
  .stickybar{width:100%;padding:8px;gap:8px}
  .cards[style]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;width:100%;padding:0 0 12px!important}
  .cards[style] .card{width:100%;min-width:0;flex:none}
  .cards[style] .poster{width:100%;border-radius:15px}
  .cards[style] .card h3{font-size:15px;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .episode-picker{width:calc(100vw - 16px);max-height:90dvh;padding:20px 12px}
  .episode-row{grid-template-columns:62px minmax(0,1fr) 24px;padding:12px 10px}
  .season-picker{position:sticky;top:-20px;z-index:2;background:#0b1326;padding:10px 0}
  .season-picker select{flex:1;max-width:none}
}


/* v7.2 mobile UI polish only — playback pipeline untouched. */
@media(max-width:700px){.modal-close{display:grid!important;place-items:center!important;padding:0!important;background:#111a31!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;line-height:1!important;font-family:Arial,sans-serif!important;font-weight:400!important;box-shadow:0 6px 20px #0005!important}
.modal-close:hover,.modal-close:active{transform:none!important;background:#18233f!important}}
@media(max-width:700px){
  .stickybar{position:sticky!important;top:0!important;z-index:40!important;grid-template-columns:42px minmax(0,1fr) auto!important;grid-template-rows:42px 42px 38px!important;gap:5px 7px!important;padding:5px 8px 6px!important;background:rgba(4,8,18,.94)!important}
  .stickybar .iconbtn{grid-column:1;grid-row:1;width:42px;height:38px;padding:0!important}
  .stickybar .brand{grid-column:2;grid-row:1;text-align:center;font-size:22px!important}
  .stickybar #logoutBtn{grid-column:3;grid-row:1;height:36px;padding:6px 10px!important}
  .stickybar .searchwrap{grid-column:1/-1!important;grid-row:2!important;margin:0!important}
  .stickybar .searchwrap input{height:40px!important;margin:0!important;padding:8px 11px!important}
  .stickybar #genreSelect{grid-column:1/3!important;grid-row:3!important;height:36px!important;margin:0!important;padding:5px 10px!important}
  .stickybar .seg{grid-column:3!important;grid-row:3!important;height:36px!important;margin:0!important;align-items:center}
  .stickybar .seg button{height:30px!important;padding:4px 9px!important}
  .episode-picker{padding:18px 12px 14px!important;border-radius:20px!important}
  .episode-picker .modal-close{right:10px!important;top:10px!important;width:36px!important;height:36px!important;font-size:25px!important}
  .episode-picker .eyebrow{padding-right:46px}
  .episode-picker h2{padding-right:46px;margin-top:14px}
}


/* v7.3 mobile shell fixes. Presentation only; playback path unchanged. */
@media(max-width:700px){#episodeModal{padding:12px!important;align-items:center!important}
#episodeModal .episode-picker{position:relative!important;overflow:auto!important}
#episodeClose.modal-close{appearance:none!important;-webkit-appearance:none!important;position:absolute!important;right:14px!important;top:14px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#111a31!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;font-size:0!important;line-height:1!important;z-index:5!important}
#episodeClose.modal-close::before,#episodeClose.modal-close::after{content:"";position:absolute;width:17px;height:2px;border-radius:2px;background:#fff}
#episodeClose.modal-close::before{transform:rotate(45deg)}
#episodeClose.modal-close::after{transform:rotate(-45deg)}
}
@media(max-width:700px){
  .stickybar{position:sticky!important;position:-webkit-sticky!important;top:0!important;z-index:1000!important;min-height:0!important;height:auto!important;padding:4px 7px 5px!important;gap:4px 6px!important;grid-template-columns:38px minmax(0,1fr) auto!important;grid-template-rows:36px 38px 34px!important;background:rgba(4,8,18,.97)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
  .stickybar .iconbtn{width:38px!important;height:34px!important;min-height:0!important}
  .stickybar .brand{font-size:20px!important;line-height:34px!important}
  .stickybar #logoutBtn{height:32px!important;min-height:0!important;padding:4px 9px!important}
  .stickybar .searchwrap{margin:0!important;height:38px!important}
  .stickybar .searchwrap input{height:36px!important;min-height:0!important;padding:6px 10px!important}
  .stickybar #genreSelect{height:32px!important;min-height:0!important;padding:3px 8px!important}
  .stickybar .seg{height:32px!important;min-height:0!important;margin:0!important}
  .stickybar .seg button{height:28px!important;min-height:0!important;padding:3px 8px!important}
  #episodeModal{padding:8px!important}
  #episodeModal .episode-picker{width:calc(100vw - 16px)!important;max-height:88dvh!important;padding:18px 12px 14px!important}
  #episodeClose.modal-close{right:12px!important;top:12px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  #episodeModal .eyebrow,#episodeModal h2{padding-right:50px!important}
}

/* Episode dialog: identical close-button alignment on phones, tablets and desktop. */
#episodeModal .episode-picker{position:relative;overflow-y:auto;overscroll-behavior:contain}
#episodeClose.modal-close{appearance:none;-webkit-appearance:none;position:absolute!important;right:14px!important;top:14px!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;background:#18233c!important;color:#fff!important;font:normal 0/1 Arial,sans-serif!important;z-index:20!important;box-shadow:0 3px 12px #0005!important}
#episodeClose.modal-close::before,#episodeClose.modal-close::after{content:"";position:absolute;left:10px;top:17px;width:16px;height:2px;background:#fff;border-radius:2px}
#episodeClose.modal-close::before{transform:rotate(45deg)}
#episodeClose.modal-close::after{transform:rotate(-45deg)}
#episodeModal .eyebrow,#episodeModal h2{padding-right:48px}
.season-picker{display:flex;align-items:center;gap:12px;margin:14px 0 10px}
.season-picker label{font-weight:700;white-space:nowrap}
.season-picker select{min-width:0;max-width:230px;margin:0;background:#101b33;color:#fff;border:1px solid #ffffff38;border-radius:10px;padding:9px}
.episode-list-inner{display:grid;gap:8px}
@media(max-width:700px){
  /* Mobile catalogue fits the viewport; the entire page must not scroll sideways. */
  html,body,#appView{max-width:100%;overflow-x:clip}
  .stickybar{grid-template-columns:36px minmax(0,1fr) auto!important;grid-template-rows:34px 36px 32px!important;gap:3px 6px!important;padding:3px 8px 5px!important}
  .stickybar .brand{font-size:19px!important;line-height:34px}
  .stickybar .iconbtn{width:36px!important;height:34px!important}
  .stickybar #logoutBtn{height:33px!important}
  .stickybar .searchwrap,.stickybar .searchwrap input{height:36px!important;min-height:36px!important}
  .stickybar #genreSelect,.stickybar .seg{height:32px!important;min-height:32px!important}
  .hero{padding:18px 16px!important;margin:10px 8px 14px!important;min-height:0!important}
  .hero h1{font-size:clamp(23px,7vw,32px)!important;margin:6px 0!important}
  .hero p{margin:6px 0!important}
  #main{padding-left:8px!important;padding-right:8px!important}
  .episode-picker{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 24px)!important;padding:18px 12px 12px!important}
  #episodeModal .episode-row{grid-template-columns:54px minmax(0,1fr) 16px!important;gap:8px!important;padding:10px 9px!important;min-width:0}
  #episodeModal .episode-row strong{font-size:13px;overflow-wrap:anywhere}
  #episodeModal .episode-row small{font-size:11px}
}

/* Episode dialog: independent viewport scrolling, with catalogue header hidden on mobile. */
body.bx-episode-open{overflow:hidden!important}
body.bx-episode-open #episodeModal{display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;overscroll-behavior:contain!important}
body.bx-episode-open #episodeModal .episode-picker{min-height:0!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
@media(max-width:700px){
 body.bx-episode-open .stickybar{visibility:hidden!important;pointer-events:none!important}
 body.bx-episode-open #episodeModal{padding:6px!important;z-index:1100!important}
 body.bx-episode-open #episodeModal .episode-picker{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;margin:0!important;padding:14px 12px 16px!important}
 body.bx-episode-open #episodeModal .episode-list-inner{padding-bottom:env(safe-area-inset-bottom,8px)}
}


/* Admin-only per-user live playback terminal */
.user-terminal-panel{margin-bottom:18px}.terminal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.terminal-head h2{margin:0 0 6px}.user-terminal{height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#050914;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color:#dce8ff;box-sizing:border-box}

/* Account-scoped recently watched resume indicator (home rails only). */
.personal-rails .card{position:relative}
.personal-rails .recent-progress{height:4px;background:#28344e;border-radius:8px;overflow:hidden;margin:7px 2px 4px}
.personal-rails .recent-progress>div{height:100%;background:#a78bfa;border-radius:8px}
.personal-rails .recent-resume{display:block;color:#ddd3ff;font-size:11px;font-weight:700;margin:4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
