:root{--bg:#050506;--panel:#0d0e11;--panel2:#121318;--line:rgba(255,255,255,.085);--text:#f6f6f7;--muted:rgba(255,255,255,.56);--red:#ed1b2f;--red2:#b90d1b;--shadow:0 30px 80px rgba(0,0,0,.5)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.view[hidden],.overlay-view[hidden],.modal[hidden],.mobile-nav[hidden]{display:none!important}
.boot{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:14px;background:radial-gradient(circle at 50% 40%,rgba(237,27,47,.13),transparent 30%),#050506;transition:opacity .25s}.boot.hide{opacity:0;pointer-events:none}.boot-logo{width:74px;height:74px;border-radius:19px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.boot strong{font-size:15px;letter-spacing:.28em}.boot strong span,.welcome h1 span,.brand b{color:var(--red)}
.welcome{min-height:100svh;display:grid;place-items:center;padding:44px 22px;position:relative;overflow:hidden}.welcome-glow{position:absolute;width:70vw;height:70vw;max-width:720px;max-height:720px;background:rgba(237,27,47,.11);filter:blur(110px);border-radius:50%;top:-18%;left:50%;transform:translateX(-50%)}.welcome-card{position:relative;width:min(560px,100%);text-align:center}.brand-logo{width:82px;height:82px;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:24px}.eyebrow{margin:0 0 12px;color:#ff4b5c;font-size:11px;font-weight:800;letter-spacing:.22em}.welcome h1{margin:0;font-size:clamp(48px,11vw,84px);line-height:.92;letter-spacing:-.065em}.welcome .lead{max-width:470px;margin:24px auto 32px;color:var(--muted);font-size:16px;line-height:1.7}.primary,.secondary{border:0;border-radius:12px;min-height:50px;padding:0 22px;font-weight:800}.primary{background:linear-gradient(180deg,#f33043,var(--red2));color:#fff;box-shadow:0 14px 34px rgba(237,27,47,.2)}.primary:hover{filter:brightness(1.08)}.secondary{background:rgba(255,255,255,.07);color:#fff;border:1px solid var(--line)}.wide{width:100%}.welcome .wide{max-width:330px}.welcome-stats{margin:42px auto 0;display:grid;grid-template-columns:repeat(3,1fr);max-width:500px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.welcome-stats div{padding:20px 8px}.welcome-stats div+div{border-left:1px solid var(--line)}.welcome-stats b,.welcome-stats small{display:block}.welcome-stats b{font-size:17px}.welcome-stats small{margin-top:5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.auth{min-height:100svh;display:grid;place-items:center;padding:50px 20px;background:radial-gradient(circle at 50% 0,rgba(237,27,47,.13),transparent 30%),#050506}.back{position:fixed;top:max(18px,env(safe-area-inset-top));left:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#0c0d10;color:#fff;font-size:22px;z-index:20}.auth-card{width:min(430px,100%);padding:32px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(18,19,24,.98),rgba(8,9,12,.98));border-radius:24px;box-shadow:var(--shadow)}.auth-logo{width:48px;height:48px;border-radius:13px;margin-bottom:18px}.auth-card h2{font-size:32px;margin:0 0 7px}.muted{color:var(--muted);margin:0 0 28px}.auth-card form{display:grid;gap:16px}.auth-card label{font-size:12px;color:rgba(255,255,255,.72);font-weight:700}.auth-card input{width:100%;height:52px;margin-top:8px;padding:0 15px;border-radius:12px;border:1px solid var(--line);background:#090a0d;color:#fff;outline:none}.auth-card input:focus{border-color:rgba(237,27,47,.7);box-shadow:0 0 0 3px rgba(237,27,47,.1)}.link-btn{border:0;background:none;color:rgba(255,255,255,.6);font-size:12px;margin:14px auto 0;display:block}.divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:rgba(255,255,255,.35);font-size:11px}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.google-host{display:flex;justify-content:center;min-height:44px}.auth-msg{min-height:20px;text-align:center;font-size:12px;color:#ff6876;margin:14px 0 0}
.app{min-height:100vh;padding-bottom:30px}.topbar{height:74px;position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;padding:0 34px;background:linear-gradient(180deg,rgba(3,3,4,.93),rgba(3,3,4,.45),transparent);gap:34px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;color:#fff;font-weight:900;letter-spacing:.06em}.brand img{width:34px;height:34px;border-radius:9px}.desktop-nav{display:flex;gap:22px}.desktop-nav button,.section-head button{border:0;background:none;color:rgba(255,255,255,.56);font-size:13px}.desktop-nav button.active,.desktop-nav button:hover{color:#fff}.top-actions{margin-left:auto;display:flex;gap:10px}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(12,13,16,.72);color:#fff}
.hero{height:min(78vh,720px);min-height:560px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:center/cover no-repeat;transition:.35s}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,3,4,.96) 0,rgba(2,3,4,.68) 36%,rgba(2,3,4,.12) 70%),linear-gradient(0deg,#050506 0,transparent 45%)}.hero-copy{position:absolute;z-index:2;left:6vw;bottom:15%;width:min(560px,78vw)}.hero h2{font-size:clamp(42px,6vw,74px);letter-spacing:-.05em;line-height:.96;margin:0 0 16px}.hero-copy>p:not(.eyebrow){color:rgba(255,255,255,.68);line-height:1.65;font-size:14px}.hero-actions{display:flex;gap:10px;margin-top:22px}
.rail-section{padding:14px 4vw 24px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-head h3{font-size:20px;margin:0;letter-spacing:-.02em}.rail{display:flex;gap:12px;overflow:auto;padding:2px 2px 14px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.card{flex:0 0 168px;border:0;background:none;color:#fff;text-align:left;padding:0}.poster{aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:#111318;border:1px solid rgba(255,255,255,.05);position:relative}.poster img{width:100%;height:100%;object-fit:cover;display:block}.card h4{font-size:13px;margin:9px 2px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card p{font-size:10px;color:var(--muted);margin:0 2px}.skeleton-row:empty:before{content:"Chargement…";color:var(--muted);padding:30px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;padding:28px 4vw 100px}.grid .card{width:100%;min-width:0}
footer{padding:36px 4vw 110px;color:rgba(255,255,255,.28);font-size:11px;letter-spacing:.14em;text-align:center}
.overlay-view{position:fixed;inset:0;z-index:300;background:#050506;overflow:auto}.overlay-head{position:sticky;top:0;z-index:2;background:rgba(5,5,6,.92);backdrop-filter:blur(18px);display:flex;gap:14px;padding:max(18px,env(safe-area-inset-top)) 4vw 18px}.overlay-head .back{position:static;flex:0 0 42px}.searchbox{flex:1}.searchbox input{width:100%;height:46px;border:1px solid var(--line);border-radius:14px;background:#0c0d10;color:#fff;padding:0 16px;outline:none}
.modal{position:fixed;inset:0;z-index:400;background:#08090c;overflow:auto}.modal-close{position:fixed;z-index:5;right:18px;top:max(18px,env(safe-area-inset-top));width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.7);color:#fff;font-size:28px}.detail-backdrop{height:min(58vh,600px);background:center/cover no-repeat;position:relative}.detail-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#08090c 0,transparent 65%)}.detail-content{padding:0 5vw 60px;margin-top:-100px;position:relative;z-index:2;max-width:780px}.detail-content h2{font-size:clamp(36px,7vw,68px);margin:0 0 16px;letter-spacing:-.045em}.detail-overview{color:rgba(255,255,255,.66);line-height:1.7}.detail-actions{display:flex;gap:10px;margin-top:24px}
.profile-menu{position:fixed;right:24px;top:66px;z-index:250;width:230px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#0e1014;box-shadow:var(--shadow)}.profile-menu strong,.profile-menu small{display:block}.profile-menu small{margin-top:4px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.profile-menu button{width:100%;height:42px;margin-top:16px;border-radius:10px;border:1px solid var(--line);background:#15171c;color:#fff}
.mobile-nav{display:none}
@media(max-width:760px){.desktop-nav{display:none}.topbar{height:62px;padding:0 14px}.brand span{font-size:13px}.brand img{width:31px;height:31px}.hero{height:67svh;min-height:500px;max-height:620px}.hero-shade{background:linear-gradient(0deg,#050506 0,rgba(5,5,6,.94) 12%,rgba(5,5,6,.28) 58%),linear-gradient(90deg,rgba(0,0,0,.38),transparent)}.hero-copy{left:18px;right:18px;bottom:42px;width:auto}.hero h2{font-size:40px}.hero-copy>p:not(.eyebrow){font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rail-section{padding-left:14px;padding-right:14px}.section-head h3{font-size:17px}.card{flex-basis:34vw;max-width:145px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:190;left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));height:67px;padding:6px;border-radius:21px;border:1px solid var(--line);background:rgba(9,10,13,.95);backdrop-filter:blur(18px);box-shadow:0 20px 55px rgba(0,0,0,.55)}.mobile-nav button{border:0;background:none;color:rgba(255,255,255,.46);font-size:9px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-nav button span{font-size:20px}.mobile-nav button.active{color:#ff4050}.app{padding-bottom:80px}.grid{grid-template-columns:repeat(3,1fr);gap:10px;padding-left:12px;padding-right:12px}.grid .card{max-width:none}.welcome-stats{grid-template-columns:1fr}.welcome-stats div+div{border-left:0;border-top:1px solid var(--line)}}


/* V2 series + player */
.series-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}
.series-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.series-head h3{margin:0;font-size:18px}
.series-head select,.source-select{height:40px;border-radius:10px;border:1px solid var(--line);background:#111319;color:#fff;padding:0 12px;outline:none}
.episode-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.episode{border:1px solid var(--line);background:#101216;color:#fff;border-radius:12px;padding:12px;text-align:left;display:flex;align-items:center;gap:12px;min-height:58px}
.episode:hover{border-color:rgba(237,27,47,.55);background:#15171d}
.episode b{display:block;font-size:12px}.episode small{display:block;color:var(--muted);margin-top:4px}
.episode-num{width:34px;height:34px;border-radius:9px;background:rgba(237,27,47,.13);color:#ff4b5c;display:grid;place-items:center;font-weight:900;flex:0 0 34px}
.player-modal{position:fixed;inset:0;z-index:1200;background:#000;display:flex;flex-direction:column}
.player-head{height:66px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;gap:12px;background:#08090b;border-bottom:1px solid rgba(255,255,255,.07)}
.player-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#111319;color:#fff;font-size:26px;line-height:1}
.player-title-wrap{min-width:0;flex:1}.player-title-wrap strong,.player-title-wrap small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-title-wrap strong{font-size:14px}.player-title-wrap small{color:var(--muted);font-size:10px;margin-top:3px}
.player-download{height:40px;display:inline-flex;align-items:center;padding:0 13px;border-radius:10px;border:1px solid var(--line);color:#fff;text-decoration:none;font-size:11px;font-weight:800;background:#111319}
.player-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:#000}
#mainPlayer,#embedPlayer{width:100%;height:100%;border:0;background:#000;object-fit:contain}
.player-status{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;background:#000;color:rgba(255,255,255,.66);text-align:center;padding:20px;z-index:2}
.player-status.error{color:#ff7a86}.loader{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--red);animation:v2spin .8s linear infinite}
.player-status.error .loader{display:none}@keyframes v2spin{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .episode-list{grid-template-columns:1fr}.player-head{height:auto;min-height:62px;flex-wrap:wrap}.player-title-wrap{min-width:150px}
  .source-select,.player-download{height:36px;font-size:10px}.detail-actions{position:sticky;bottom:82px;z-index:3}
}

.player-modal[hidden],.player-status[hidden],.series-panel[hidden],#mainPlayer[hidden],#embedPlayer[hidden],.source-select[hidden],.player-download[hidden]{display:none!important}

.detail-main{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:end}
.detail-poster{width:150px;aspect-ratio:2/3;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.09)}
.detail-copy{min-width:0}
.detail-facts,.detail-genres{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.detail-facts span,.detail-genres span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.045);font-size:11px}
.detail-facts .rating{color:#ffd76a}
.detail-genres span{background:rgba(237,27,47,.09);border-color:rgba(237,27,47,.22);color:#ff9ca5}
.detail-original{margin:0 0 10px;color:rgba(255,255,255,.38);font-size:12px;font-style:italic}
.detail-section{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}
.detail-section-head{margin-bottom:14px}.detail-section-head h3{margin:0;font-size:18px}
.cast-rail{display:flex;gap:12px;overflow:auto;padding-bottom:8px;scrollbar-width:none}.cast-rail::-webkit-scrollbar{display:none}
.cast-card{flex:0 0 105px;text-align:center}.cast-card img,.cast-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 auto 8px;border:1px solid var(--line);background:#15171c}
.cast-avatar{display:grid;place-items:center;color:rgba(255,255,255,.4);font-weight:800}
.cast-card b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cast-card small{display:block;margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.detail-main{grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:start}.detail-poster{width:86px;border-radius:10px}.detail-content h2{font-size:34px}}

.availability-note{margin:12px 0 0;color:rgba(255,255,255,.48);font-size:12px;line-height:1.5}
#watchBtn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;filter:none}
#trailerBtn[hidden]{display:none!important}


/* V2 detail layout — use full desktop width and keep sections visible */
@media(min-width:761px){
  .detail-content{
    width:min(1180px,calc(100% - 8vw));
    max-width:none;
    margin:-110px auto 0;
    padding:0 0 70px;
  }
  .detail-main{
    grid-template-columns:170px minmax(0,760px);
    gap:28px;
  }
  .detail-poster{width:170px}
  .detail-overview{max-width:760px}
  .detail-actions{max-width:900px}
  .detail-section,.series-panel{width:100%;max-width:none}
  .cast-rail{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
    gap:18px 14px;
    overflow:visible;
  }
  .cast-card{min-width:0;max-width:120px;justify-self:start}
  #similarRail{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
    gap:18px;
    overflow:visible;
    padding-bottom:0;
  }
  #similarRail .card{
    width:100%;
    max-width:none;
    min-width:0;
    flex:none;
  }
}
@media(max-width:760px){
  .detail-content{
    width:100%;
    max-width:none;
    margin-top:-72px;
    padding:0 14px 110px;
  }
  .cast-rail{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
  }
  #similarRail{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
  }
  #similarRail .card{flex:0 0 38vw;max-width:150px}
}


/* V2 mobile detail overlap fix */
.detail-overview{grid-column:1/-1;margin:4px 0 0}
@media(max-width:760px){
  .detail-main{
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
    align-items:start;
  }
  .detail-poster{width:96px}
  .detail-copy{min-width:0}
  .detail-copy .eyebrow{margin-top:2px}
  .detail-content h2{
    font-size:clamp(30px,9vw,40px);
    line-height:1.02;
    margin-bottom:12px;
  }
  .detail-facts,.detail-genres{gap:7px;margin-bottom:10px}
  .detail-facts span,.detail-genres span{
    min-height:27px;
    padding:0 9px;
    font-size:10px;
  }
  .detail-original{font-size:11px;line-height:1.45;margin:2px 0 0}
  .detail-overview{
    grid-column:1/-1;
    width:100%;
    margin:14px 0 0;
    font-size:14px;
    line-height:1.65;
  }
  .detail-actions{
    position:static!important;
    bottom:auto!important;
    z-index:auto!important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
  }
  .detail-actions button[hidden]{display:none!important}
.detail-actions button{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:0 12px;
    white-space:normal;
    line-height:1.15;
  }
  #watchBtn{grid-column:1/-1}
  .availability-note{margin:10px 2px 0}
}


/* V2 maintenance + advertising */
.maintenance-view{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(237,27,47,.14),transparent 30%),#050506}
.maintenance-view[hidden]{display:none!important}
.maintenance-card{width:min(520px,100%);text-align:center;padding:34px 24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,#121318,#090a0d);box-shadow:var(--shadow)}
.maintenance-card img{width:70px;height:70px;border-radius:18px;margin-bottom:20px}
.maintenance-card h1{margin:0;font-size:clamp(30px,8vw,48px);letter-spacing:-.04em}
.maintenance-card>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:18px auto 24px;max-width:420px}
.v2-ad-section{padding:8px 4vw 26px}
.v2-ad-label{margin:0 auto 8px;width:min(760px,100%);font-size:8px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.26)}
.v2-ad-slot,.v2-native-slot{margin:0 auto;display:flex;align-items:center;justify-content:center;overflow:visible}
.v2-ad-desktop{width:min(760px,100%);min-height:0}
.v2-ad-mobile{display:none;width:min(332px,100%);min-height:0}
.v2-native-slot{width:min(760px,100%);margin-top:10px}
@media(max-width:767px){
  .v2-ad-section{padding:6px 12px 18px}
  .v2-ad-desktop{display:none!important}
  .v2-ad-mobile{display:flex}
  .v2-native-slot{width:min(100%,332px)}
}

.v2-ad-section[hidden]{display:none!important}


/* V2 personal library */
.continue-rail{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 14px;scrollbar-width:none}
.continue-rail::-webkit-scrollbar{display:none}
.continue-card{flex:0 0 min(360px,78vw);border:1px solid var(--line);border-radius:16px;background:#0e1014;color:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer}
.continue-card:hover{border-color:rgba(237,27,47,.42);transform:translateY(-1px)}
.continue-thumb{position:relative;aspect-ratio:16/9;background:#15171c;overflow:hidden}
.continue-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.continue-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%)}
.continue-play{position:absolute;left:12px;bottom:10px;z-index:2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(237,27,47,.94);font-size:14px;font-weight:900}
.continue-copy{padding:12px 13px 13px}
.continue-copy b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.continue-copy small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.continue-progress{height:4px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:10px}
.continue-progress i{display:block;height:100%;background:linear-gradient(90deg,#f33546,#b90d1b);border-radius:inherit}
.library-view{z-index:340}
.library-head{align-items:center}
.library-heading{display:flex;flex-direction:column;min-width:0}
.library-heading strong{font-size:17px}.library-heading small{font-size:10px;color:var(--muted);margin-top:2px}
.library-clear{margin-left:auto;border:1px solid rgba(237,27,47,.28);background:rgba(237,27,47,.08);color:#ff7580;border-radius:10px;padding:10px 12px;font-size:10px;font-weight:800}
.library-tabs{position:sticky;top:80px;z-index:3;display:flex;gap:8px;padding:12px 4vw;background:rgba(5,5,6,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.library-tabs button{border:1px solid var(--line);background:#0d0f13;color:rgba(255,255,255,.56);border-radius:999px;padding:9px 14px;font-size:11px;font-weight:800}
.library-tabs button.active{background:rgba(237,27,47,.12);border-color:rgba(237,27,47,.35);color:#fff}
.library-content{padding:22px 4vw 110px}
.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}
.library-item{position:relative;min-width:0}
.library-item .card{width:100%;max-width:none;min-width:0;display:block}
.library-remove{position:absolute;right:7px;top:7px;z-index:3;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.72);color:#fff;font-size:16px}
.library-empty{min-height:52vh;display:grid;place-items:center;text-align:center;color:var(--muted);padding:40px 20px}
.library-empty strong{display:block;color:#fff;font-size:20px;margin-bottom:8px}
.history-meta{display:block;color:var(--muted);font-size:9px;margin-top:5px}
@media(max-width:760px){
  .continue-card{flex-basis:82vw}
  .library-head{padding-right:12px}
  .library-tabs{top:70px;padding:10px 12px;overflow-x:auto;scrollbar-width:none}
  .library-tabs::-webkit-scrollbar{display:none}
  .library-content{padding:16px 12px 100px}
  .library-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .library-clear{padding:8px 9px;font-size:9px}
}


/* V2 professional Films / Series catalogue */
.browse-view{z-index:330;background:
  radial-gradient(circle at 80% -10%,rgba(237,27,47,.08),transparent 30%),
  #050506}
.browse-head{align-items:center;border-bottom:1px solid rgba(255,255,255,.045)}
.browse-heading{min-width:0;display:flex;flex-direction:column;gap:2px}
.browse-heading .eyebrow{margin:0;font-size:8px;letter-spacing:.2em}
.browse-heading strong{font-size:20px;letter-spacing:-.025em}
.browse-heading small{font-size:10px;color:var(--muted)}
.browse-search-btn{margin-left:auto;flex:0 0 42px}
.browse-toolbar{
  position:sticky;
  top:79px;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(160px,1.25fr) minmax(130px,.8fr) minmax(160px,1fr) auto;
  gap:10px;
  padding:14px 4vw;
  border-bottom:1px solid var(--line);
  background:rgba(5,5,6,.94);
  backdrop-filter:blur(20px);
}
.browse-toolbar label{display:grid;gap:6px;min-width:0}
.browse-toolbar label>span{
  padding-left:2px;
  color:rgba(255,255,255,.4);
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.browse-toolbar select{
  width:100%;
  height:44px;
  min-width:0;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0d0f13;
  color:#fff;
  padding:0 34px 0 12px;
  outline:none;
}
.browse-toolbar select:focus{border-color:rgba(237,27,47,.48);box-shadow:0 0 0 3px rgba(237,27,47,.08)}
.browse-reset{
  align-self:end;
  height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.7);
  padding:0 15px;
  font-size:11px;
  font-weight:800;
}
.browse-reset:hover{background:rgba(255,255,255,.07);color:#fff}
.browse-grid{padding-top:24px;min-height:48vh}
.browse-grid .card{transition:transform .18s ease,filter .18s ease}
.browse-grid .card:hover{transform:translateY(-3px)}
.browse-grid .poster{box-shadow:0 16px 36px rgba(0,0,0,.24)}
.browse-more-wrap{display:flex;justify-content:center;padding:0 4vw 120px}
.browse-load-more{min-width:190px}
.browse-load-more:disabled{opacity:.55;cursor:wait}
.browse-empty,.browse-loading{
  grid-column:1/-1;
  min-height:42vh;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  text-align:center;
  color:var(--muted);
  padding:40px 20px;
}
.browse-empty strong{display:block;color:#fff;font-size:21px}
.browse-empty span{max-width:420px;font-size:12px;line-height:1.6}
.browse-loading .loader{width:34px;height:34px}
.browse-loading span{font-size:11px}

@media(min-width:1000px){
  .browse-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px 18px}
}
@media(max-width:760px){
  .browse-head{padding:12px 12px 11px}
  .browse-heading strong{font-size:17px}
  .browse-search-btn{width:40px;height:40px;flex-basis:40px}
  .browse-toolbar{
    top:64px;
    display:flex;
    gap:8px;
    padding:10px 12px 11px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .browse-toolbar::-webkit-scrollbar{display:none}
  .browse-toolbar label{flex:0 0 142px}
  .browse-toolbar label:nth-child(2){flex-basis:118px}
  .browse-toolbar label:nth-child(3){flex-basis:150px}
  .browse-toolbar select{height:41px;font-size:11px}
  .browse-reset{flex:0 0 auto;height:41px;margin-top:14px;padding:0 12px;font-size:10px}
  .browse-grid{grid-template-columns:repeat(3,1fr);gap:13px 10px;padding:16px 12px 30px}
  .browse-grid .card h4{font-size:11px;margin-top:7px}
  .browse-more-wrap{padding:0 12px 100px}
  .browse-load-more{width:100%;min-width:0}
}


/* V2 catalogue premium polish */
.card .poster{isolation:isolate;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.card .poster:after{content:"";position:absolute;inset:auto 0 0;height:42%;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent);pointer-events:none}
.card:hover .poster{transform:translateY(-3px) scale(1.012);border-color:rgba(255,255,255,.13);box-shadow:0 18px 44px rgba(0,0,0,.42)}
.card-rating,.card-kind{position:absolute;z-index:3;top:8px;display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 8px;font-size:9px;font-weight:900;backdrop-filter:blur(10px);box-shadow:0 4px 16px rgba(0,0,0,.22)}
.card-rating{right:8px;background:rgba(4,5,7,.78);border:1px solid rgba(255,215,106,.22);color:#ffd76a}
.card-kind{left:8px;background:rgba(237,27,47,.86);border:1px solid rgba(255,255,255,.12);color:#fff;letter-spacing:.08em}
.card-hover{position:absolute;z-index:3;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:7px;opacity:0;transform:translateY(7px);transition:.18s ease;color:#fff;text-shadow:0 2px 9px rgba(0,0,0,.8)}
.card-hover i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-style:normal;font-size:10px;padding-left:1px}
.card-hover b{font-size:10px}
.card:hover .card-hover,.card:focus-visible .card-hover{opacity:1;transform:none}
.card:focus-visible{outline:2px solid rgba(237,27,47,.8);outline-offset:4px;border-radius:12px}

.browse-hero{position:relative;min-height:300px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05)}
.browse-hero-bg{position:absolute;inset:0;background:center 30%/cover no-repeat;transform:scale(1.015);transition:background-image .3s ease}
.browse-hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,5,6,.96) 0,rgba(5,5,6,.72) 42%,rgba(5,5,6,.2) 72%),
  linear-gradient(0deg,#050506 0,rgba(5,5,6,.2) 55%,rgba(5,5,6,.35) 100%)}
.browse-hero-copy{position:relative;z-index:2;width:min(720px,78vw);padding:62px 5vw 46px}
.browse-hero-copy h1{margin:0;font-size:clamp(44px,6vw,74px);line-height:.95;letter-spacing:-.055em}
.browse-hero-copy>p:not(.eyebrow){max-width:610px;margin:16px 0 0;color:rgba(255,255,255,.66);font-size:14px;line-height:1.65}
.browse-switch{display:inline-flex;gap:6px;margin-top:24px;padding:5px;border:1px solid var(--line);border-radius:14px;background:rgba(8,9,11,.72);backdrop-filter:blur(12px)}
.browse-switch button{height:38px;min-width:94px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.5);font-size:11px;font-weight:850}
.browse-switch button.active{background:linear-gradient(180deg,#f33043,var(--red2));color:#fff;box-shadow:0 10px 24px rgba(237,27,47,.18)}

.browse-chips{display:flex;gap:8px;overflow-x:auto;padding:14px 4vw 3px;scrollbar-width:none}
.browse-chips::-webkit-scrollbar{display:none}
.browse-chips button{flex:0 0 auto;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#0c0e12;color:rgba(255,255,255,.57);font-size:10px;font-weight:800}
.browse-chips button:hover{color:#fff;border-color:rgba(255,255,255,.16)}
.browse-chips button.active{color:#fff;background:rgba(237,27,47,.12);border-color:rgba(237,27,47,.36);box-shadow:inset 0 0 0 1px rgba(237,27,47,.04)}

.browse-resultsbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 4vw 0}
.browse-resultsbar strong{font-size:17px;letter-spacing:-.02em}
.browse-resultsbar span{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.42);font-size:10px}

@media(min-width:761px){
  .browse-toolbar{top:79px}
  .browse-grid{padding-top:18px}
}
@media(max-width:760px){
  .card-rating,.card-kind{top:6px;min-height:21px;padding:0 6px;font-size:8px}
  .card-rating{right:6px}.card-kind{left:6px}
  .card-hover{display:none}
  .browse-hero{min-height:230px}
  .browse-hero-shade{background:linear-gradient(0deg,#050506 0,rgba(5,5,6,.65) 48%,rgba(5,5,6,.16)),linear-gradient(90deg,rgba(5,5,6,.8),transparent)}
  .browse-hero-copy{width:100%;padding:58px 16px 26px}
  .browse-hero-copy h1{font-size:42px}
  .browse-hero-copy>p:not(.eyebrow){max-width:92%;font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .browse-switch{margin-top:17px}
  .browse-switch button{height:34px;min-width:82px;padding:0 12px;font-size:10px}
  .browse-chips{padding:11px 12px 1px}
  .browse-chips button{min-height:32px;padding:0 12px;font-size:9px}
  .browse-resultsbar{align-items:center;padding:17px 12px 0}
  .browse-resultsbar strong{font-size:14px}
  .browse-resultsbar span{font-size:9px;max-width:55%}
}


/* V2 professional episode browser + player */
.series-panel{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.series-head{align-items:flex-end;margin-bottom:18px}
.series-head>div{min-width:0}
.series-head .eyebrow{margin:0 0 5px;font-size:8px}
.series-head h3{font-size:24px;letter-spacing:-.03em}
.series-count{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.series-head select{
  min-width:150px;
  height:44px;
  border-radius:12px;
  padding:0 36px 0 13px;
  background:#0d0f13;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}

.episode-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
  gap:14px;
}
.episode{
  min-height:0;
  padding:0;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:0;
  overflow:hidden;
  border-radius:15px;
  background:#0d0f13;
  border:1px solid rgba(255,255,255,.07);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.episode:hover{
  transform:translateY(-2px);
  border-color:rgba(237,27,47,.35);
  background:#11141a;
}
.episode-thumb{
  position:relative;
  min-height:98px;
  background:#15171c;
  overflow:hidden;
}
.episode-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.episode-thumb:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 45%,rgba(13,15,19,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.34),transparent 55%);
}
.episode-placeholder{
  width:100%;height:100%;min-height:98px;
  display:grid;place-items:center;
  color:rgba(255,255,255,.28);
  font-size:24px;font-weight:900;
  background:radial-gradient(circle at 50% 30%,rgba(237,27,47,.11),transparent 45%),#111318;
}
.episode-play{
  position:absolute;z-index:3;left:10px;bottom:10px;
  width:31px;height:31px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.92);color:#0a0a0c;
  font-size:10px;padding-left:2px;
  opacity:.92;
}
.episode-progress{
  position:absolute;z-index:4;left:0;bottom:0;height:3px;
  max-width:100%;
  background:linear-gradient(90deg,#ff3b4e,#c20f20);
}
.episode-copy{min-width:0;padding:13px 14px;text-align:left}
.episode-title-row{display:flex;align-items:flex-start;gap:9px;min-width:0}
.episode-num{
  width:27px;height:27px;flex:0 0 27px;
  border-radius:8px;
  font-size:10px;
}
.episode-title-row b{
  min-width:0;
  font-size:12px;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.episode-copy small{
  display:block;
  margin:6px 0 0 36px;
  color:rgba(255,255,255,.38);
  font-size:9px;
}
.episode-copy p{
  margin:8px 0 0 36px;
  color:rgba(255,255,255,.48);
  font-size:10px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.player-head{
  min-height:72px;
  height:auto;
  padding:max(10px,env(safe-area-inset-top)) 14px 10px;
  background:rgba(7,8,10,.98);
  backdrop-filter:blur(18px);
}
.player-title-wrap{display:flex;flex-direction:column;justify-content:center}
.player-brand{
  display:block;
  margin-bottom:2px;
  color:#ff5361;
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
}
.player-title-wrap strong{font-size:13px}
.player-title-wrap small{font-size:9px}

.player-episode-nav{
  display:flex;
  align-items:center;
  gap:6px;
}
.player-episode-nav[hidden]{display:none!important}
.player-episode-nav button,.player-tool{
  height:38px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#101217;
  color:#fff;
  padding:0 11px;
  font-size:9px;
  font-weight:800;
}
.player-episode-nav button:hover,.player-tool:hover{background:#171a20;border-color:rgba(255,255,255,.14)}
.player-episode-nav button:disabled{opacity:.28;cursor:not-allowed}
.player-tool{
  width:40px;
  padding:0;
  font-size:18px;
  line-height:1;
}
.source-select{
  min-width:118px;
  height:38px;
  border-radius:10px;
  background:#101217;
  font-size:9px;
  font-weight:800;
}
.player-download{
  height:38px;
  border-radius:10px;
  background:#101217;
}
.next-episode-toast{
  position:absolute;
  z-index:6;
  right:18px;
  bottom:20px;
  width:min(340px,calc(100% - 28px));
  padding:14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(12,14,18,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.next-episode-toast[hidden]{display:none!important}
.next-episode-toast small{
  display:block;
  color:#ff5664;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
}
.next-episode-toast strong{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.4;
}
.next-episode-toast button{
  margin-top:10px;
  height:31px;
  padding:0 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#17191e;
  color:rgba(255,255,255,.7);
  font-size:9px;
  font-weight:800;
}

@media(max-width:760px){
  .series-panel{margin-top:28px;padding-top:22px}
  .series-head{align-items:center}
  .series-head h3{font-size:20px}
  .series-head select{min-width:126px;height:40px;font-size:10px}
  .episode-list{grid-template-columns:1fr;gap:11px}
  .episode{grid-template-columns:132px minmax(0,1fr);border-radius:13px}
  .episode-thumb,.episode-placeholder{min-height:88px}
  .episode-copy{padding:10px 11px}
  .episode-title-row{gap:7px}
  .episode-num{width:24px;height:24px;flex-basis:24px}
  .episode-title-row b{font-size:11px}
  .episode-copy small{margin-left:31px;font-size:8px}
  .episode-copy p{display:none}
  .player-head{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto auto;
    gap:8px;
    min-height:66px;
  }
  .player-close{grid-row:1/span 2}
  .player-title-wrap{grid-column:2/3;grid-row:1}
  .player-episode-nav{
    grid-column:2/5;
    grid-row:2;
    width:100%;
  }
  .player-episode-nav button{flex:1;height:34px}
  .player-episode-nav button span{display:inline}
  .source-select{grid-column:3/4;grid-row:1;min-width:92px;width:92px;height:34px}
  .player-tool{grid-column:4/5;grid-row:1;width:36px;height:34px}
  .player-download{display:none!important}
  .next-episode-toast{right:12px;bottom:12px;width:calc(100% - 24px)}
}
@media(max-width:430px){
  .episode{grid-template-columns:116px minmax(0,1fr)}
  .episode-thumb,.episode-placeholder{min-height:82px}
  .player-episode-nav button span{display:none}
}


/* Episode progress, active playback and loading states */
.episode.playing{
  border-color:rgba(237,27,47,.58);
  box-shadow:0 0 0 1px rgba(237,27,47,.14),0 18px 42px rgba(0,0,0,.24);
}
.episode.playing .episode-play{
  background:linear-gradient(180deg,#f33043,var(--red2));
  color:#fff;
}
.episode-resume-label{
  display:inline-flex;
  margin:7px 0 0 36px;
  min-height:22px;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:rgba(237,27,47,.1);
  border:1px solid rgba(237,27,47,.22);
  color:#ff7883;
  font-size:8px;
  font-weight:850;
}
.episode-skeleton{
  pointer-events:none;
  min-height:110px;
}
.episode-skeleton .episode-thumb{
  background:linear-gradient(110deg,#101216 8%,#171a20 18%,#101216 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.2s linear infinite;
}
.episode-skeleton .episode-copy{display:grid;align-content:center;gap:9px}
.episode-skeleton .episode-copy i{
  display:block;
  height:9px;
  border-radius:99px;
  background:linear-gradient(110deg,#14171c 8%,#1d2027 18%,#14171c 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.2s linear infinite;
}
.episode-skeleton .episode-copy i:nth-child(1){width:72%}
.episode-skeleton .episode-copy i:nth-child(2){width:48%}
.episode-skeleton .episode-copy i:nth-child(3){width:88%}
@keyframes v2skeleton{to{background-position-x:-200%}}
.episode-error{grid-column:1/-1;min-height:240px}

@media(max-width:760px){
  .episode-resume-label{margin-left:31px;margin-top:6px}
  .episode-skeleton{min-height:88px}
}


/* V2 premium title details + cast profiles */
.detail-modal{
  background:
    radial-gradient(circle at 78% 18%,rgba(237,27,47,.045),transparent 28%),
    #08090c;
}
.detail-topbar{
  position:fixed;
  z-index:12;
  top:0;left:0;right:0;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:max(12px,env(safe-area-inset-top)) 22px 10px;
  background:linear-gradient(180deg,rgba(3,4,6,.92),rgba(3,4,6,.48),transparent);
  pointer-events:none;
}
.detail-brand,.detail-top-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}
.detail-brand{font-size:11px;font-weight:900;letter-spacing:.08em}
.detail-brand img{width:32px;height:32px;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.detail-brand b{color:var(--red)}
.detail-icon-btn,.detail-topbar .modal-close{
  position:static;
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(11,12,15,.72);
  backdrop-filter:blur(12px);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.detail-topbar .modal-close{font-size:25px}
.detail-icon-btn:hover,.detail-topbar .modal-close:hover{background:rgba(25,27,32,.88);border-color:rgba(255,255,255,.17)}

.detail-backdrop{
  height:min(70vh,760px);
  min-height:520px;
  background-position:center 24%;
  background-size:cover;
}
.detail-backdrop:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,9,12,.58) 0,rgba(8,9,12,.12) 52%,rgba(8,9,12,.28) 100%);
}
.detail-backdrop:after{
  background:linear-gradient(0deg,#08090c 0,rgba(8,9,12,.93) 7%,rgba(8,9,12,.18) 58%,rgba(8,9,12,.1) 100%);
}

@media(min-width:761px){
  .detail-content{
    width:min(1240px,calc(100% - 8vw));
    margin:-158px auto 0;
    padding:0 0 84px;
  }
  .detail-main{
    grid-template-columns:190px minmax(0,820px);
    gap:30px;
    align-items:end;
  }
  .detail-poster{
    width:190px;
    border-radius:16px;
    box-shadow:0 28px 70px rgba(0,0,0,.52);
  }
  .detail-copy{padding-bottom:4px}
  .detail-content h2{
    font-size:clamp(48px,6vw,76px);
    line-height:.94;
    margin-bottom:16px;
    max-width:880px;
    text-shadow:0 6px 24px rgba(0,0,0,.3);
  }
  .detail-overview{max-width:900px;font-size:15px}
}
.detail-copy>.eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:9px}
.detail-facts span,.detail-genres span{
  min-height:30px;
  padding:0 11px;
  border-color:rgba(255,255,255,.095);
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(8px);
}
.detail-genres span{
  color:#ffadb4;
  background:rgba(237,27,47,.09);
  border-color:rgba(237,27,47,.23);
}
.detail-overview{
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.75;
}
.detail-actions{
  width:100%;
  max-width:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin-top:24px;
}
.detail-actions button{
  min-height:46px;
  border-radius:12px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:11px;
  box-shadow:none;
}
.detail-actions .detail-watch{
  min-width:150px;
  padding:0 22px;
  box-shadow:0 14px 34px rgba(237,27,47,.18);
}
.detail-actions .secondary{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.09);
}
.detail-actions .secondary:hover{background:rgba(255,255,255,.095);border-color:rgba(255,255,255,.15)}
.action-symbol{font-size:16px;line-height:1}
.availability-note{
  display:inline-flex;
  margin-top:12px;
  padding:9px 11px;
  border-radius:10px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}
.availability-note[hidden]{display:none!important}

.detail-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.detail-info-grid[hidden]{display:none!important}
.detail-info-grid>div{
  min-width:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
}
.detail-info-grid small{
  display:block;
  color:rgba(255,255,255,.34);
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.detail-info-grid strong{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.82);
  font-size:11px;
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
}

.detail-section{margin-top:38px;padding-top:27px}
.detail-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.detail-section-head .eyebrow{margin:0 0 5px;font-size:8px}
.detail-section-head h3{font-size:23px;letter-spacing:-.03em}
.detail-section-head>small{color:rgba(255,255,255,.32);font-size:9px}

.cast-card{
  appearance:none;
  border:0;
  background:none;
  color:#fff;
  padding:0;
  cursor:pointer;
  border-radius:14px;
  transition:transform .18s ease,background .18s ease;
}
.cast-card:hover{transform:translateY(-3px)}
.cast-card img,.cast-avatar{
  width:78px;height:78px;
  box-shadow:0 12px 32px rgba(0,0,0,.28);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.cast-card:hover img,.cast-card:hover .cast-avatar{
  border-color:rgba(237,27,47,.42);
  box-shadow:0 14px 34px rgba(0,0,0,.38);
}
.cast-card b{font-size:11px}
.cast-card small{font-size:9px;color:rgba(255,255,255,.4)}
#similarRail .card .poster{box-shadow:0 16px 40px rgba(0,0,0,.24)}

/* Cast profile overlay */
.person-modal{
  position:fixed;
  inset:0;
  z-index:520;
  overflow:auto;
  background:
    radial-gradient(circle at 12% 0,rgba(237,27,47,.08),transparent 25%),
    #07080b;
}
.person-modal[hidden]{display:none!important}
.person-head{
  position:sticky;
  top:0;
  z-index:4;
  min-height:72px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:max(14px,env(safe-area-inset-top)) 4vw 12px;
  border-bottom:1px solid rgba(255,255,255,.05);
  background:rgba(7,8,11,.9);
  backdrop-filter:blur(20px);
}
.person-head .back{position:static;flex:0 0 42px}
.person-head .eyebrow{margin:0 0 3px;font-size:7px}
.person-head strong{font-size:15px}
.person-content{
  width:min(1180px,92vw);
  margin:0 auto;
  padding:44px 0 100px;
}
.person-profile{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.person-photo{
  width:220px;
  aspect-ratio:2/3;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#111318;
  box-shadow:0 28px 70px rgba(0,0,0,.42);
}
.person-photo img{width:100%;height:100%;object-fit:cover;display:block}
.person-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:58px;font-weight:900;color:rgba(255,255,255,.16)}
.person-copy{padding-top:12px;max-width:780px}
.person-copy .eyebrow{font-size:8px}
.person-copy h2{
  margin:0;
  font-size:clamp(38px,6vw,68px);
  line-height:.96;
  letter-spacing:-.05em;
}
.person-meta{margin:14px 0 0;color:rgba(255,255,255,.42);font-size:11px}
.person-bio{
  margin:22px 0 0;
  color:rgba(255,255,255,.64);
  font-size:14px;
  line-height:1.75;
  white-space:pre-line;
}
#personCredits{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:18px;
  overflow:visible;
}
#personCredits .card{width:100%;max-width:none;min-width:0;flex:none}

@media(max-width:760px){
  .detail-topbar{min-height:60px;padding:8px 12px}
  .detail-brand span{display:none}
  .detail-brand img{width:30px;height:30px}
  .detail-icon-btn,.detail-topbar .modal-close{width:39px;height:39px}
  .detail-backdrop{height:54svh;min-height:390px;background-position:center 18%}
  .detail-content{margin-top:-76px;padding-bottom:116px}
  .detail-content h2{font-size:clamp(32px,10vw,44px)}
  .detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .detail-actions button{width:100%;min-height:45px;padding:0 10px}
  .detail-actions .detail-watch{grid-column:1/-1;min-width:0}
  #episodesBtn:not([hidden]){grid-column:1/-1}
  .detail-info-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:20px;
    padding-top:18px;
  }
  .detail-info-grid>div{padding:11px}
  .detail-section{margin-top:30px;padding-top:22px}
  .detail-section-head{align-items:flex-start}
  .detail-section-head h3{font-size:19px}
  .detail-section-head>small{display:none}
  .cast-card{flex:0 0 102px}
  .cast-card img,.cast-avatar{width:70px;height:70px}

  .person-content{width:100%;padding:24px 14px 100px}
  .person-profile{grid-template-columns:112px minmax(0,1fr);gap:16px}
  .person-photo{width:112px;border-radius:14px}
  .person-copy{padding-top:4px}
  .person-copy h2{font-size:32px}
  .person-meta{margin-top:9px;font-size:9px}
  .person-bio{
    grid-column:1/-1;
    margin-top:16px;
    font-size:12px;
    line-height:1.65;
    display:-webkit-box;
    -webkit-line-clamp:9;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  #personCredits{
    display:flex;
    overflow-x:auto;
    gap:10px;
    scrollbar-width:none;
  }
  #personCredits::-webkit-scrollbar{display:none}
  #personCredits .card{flex:0 0 38vw;max-width:150px}
}


/* V2 premium streaming home */
#homeView .topbar{
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease;
  border-bottom:1px solid transparent;
}
#homeView .topbar.scrolled{
  background:rgba(5,5,7,.88);
  border-color:rgba(255,255,255,.055);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(18px);
}
#homeView .desktop-nav button{
  position:relative;
  min-height:40px;
  padding:0 2px;
  font-weight:700;
}
#homeView .desktop-nav button:after{
  content:"";
  position:absolute;
  left:50%;right:50%;bottom:2px;
  height:2px;border-radius:99px;
  background:var(--red);
  transition:left .18s ease,right .18s ease;
}
#homeView .desktop-nav button.active:after{left:0;right:0}
#homeView .icon-btn{
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
#homeView .icon-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}

#homeView .hero{
  height:min(86vh,790px);
  min-height:610px;
  border-bottom:1px solid rgba(255,255,255,.025);
}
#homeView .hero-bg{
  background-position:center 24%;
  transform:scale(1.012);
  transition:opacity .28s ease,transform 7s ease,filter .28s ease;
  will-change:opacity,transform;
}
#homeView .hero-bg.changing{opacity:.28;filter:blur(3px)}
#homeView .hero:not(:hover) .hero-bg{transform:scale(1.045)}
#homeView .hero-shade{
  background:
    linear-gradient(90deg,rgba(3,4,6,.96) 0,rgba(3,4,6,.74) 35%,rgba(3,4,6,.18) 70%),
    linear-gradient(0deg,#050506 0,rgba(5,5,6,.84) 9%,rgba(5,5,6,.08) 48%,rgba(5,5,6,.18) 100%);
}
#homeView .hero-copy{
  left:5vw;
  bottom:13%;
  width:min(650px,78vw);
  animation:homeHeroIn .45s ease both;
}
@keyframes homeHeroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#homeView .hero-copy>.eyebrow{
  margin-bottom:10px;
  font-size:9px;
  letter-spacing:.2em;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
}
.hero-meta span{
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(10,11,14,.42);
  backdrop-filter:blur(9px);
  color:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:850;
}
#homeView .hero h2{
  max-width:760px;
  font-size:clamp(52px,7vw,82px);
  line-height:.92;
  margin-bottom:18px;
  letter-spacing:-.06em;
  text-shadow:0 8px 28px rgba(0,0,0,.34);
}
#homeView .hero-copy>p:not(.eyebrow){
  max-width:600px;
  color:rgba(255,255,255,.67);
  font-size:14px;
  line-height:1.7;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#homeView .hero-actions{margin-top:24px}
#homeView .hero-actions button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:12px;
  padding:0 20px;
  font-size:11px;
  transition:transform .18s ease,filter .18s ease,background .18s ease;
}
#homeView .hero-actions button:hover{transform:translateY(-2px)}
#homeView .hero-actions .secondary{
  background:rgba(17,19,24,.68);
  backdrop-filter:blur(12px);
  border-color:rgba(255,255,255,.12);
}
#homeView .hero-actions span{font-size:15px}

.hero-controls{
  position:absolute;
  z-index:4;
  right:4vw;
  bottom:7%;
  display:flex;
  align-items:center;
  gap:8px;
}
.hero-controls>button{
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(9,10,13,.56);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:15px;
}
.hero-controls>button:hover{background:rgba(255,255,255,.09)}
.hero-dots{display:flex;align-items:center;gap:5px}
.hero-dots button{
  width:7px;height:7px;
  padding:0;border:0;border-radius:99px;
  background:rgba(255,255,255,.28);
  transition:width .2s ease,background .2s ease;
}
.hero-dots button.active{width:24px;background:#fff}

#homeView .rail-section{
  position:relative;
  padding-top:20px;
  padding-bottom:30px;
}
#homeView .section-head{
  align-items:flex-end;
  margin-bottom:15px;
}
#homeView .section-head>div{min-width:0}
.section-kicker{
  margin:0 0 5px;
  color:#ff5361;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
}
#homeView .section-head h3{
  font-size:21px;
  line-height:1.15;
  letter-spacing:-.025em;
}
#homeView .section-head>button{
  min-height:32px;
  padding:0 10px;
  border-radius:8px;
  font-size:10px;
  font-weight:800;
  transition:background .18s ease,color .18s ease;
}
#homeView .section-head>button:hover{background:rgba(255,255,255,.05);color:#fff}
#homeView .rail{
  gap:13px;
  scroll-snap-type:x proximity;
  scroll-padding-left:2px;
}
#homeView .rail>.card{scroll-snap-align:start}
#homeView .rail .card{flex-basis:174px}
#homeView .rail .card h4{margin-top:10px;font-size:12px}
#homeView .rail .poster{border-radius:13px}

.home-featured-section{
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent);
}
.trending-card{
  position:relative;
  flex:0 0 226px;
  min-width:0;
  height:285px;
  padding-left:56px;
  display:flex;
  align-items:flex-end;
}
.trending-card .card{
  position:relative;
  z-index:2;
  flex:0 0 150px!important;
  width:150px;
}
.trending-card .trend-rank{
  position:absolute;
  z-index:1;
  left:0;
  bottom:33px;
  width:84px;
  color:#090a0d;
  -webkit-text-stroke:1.5px rgba(255,255,255,.28);
  text-shadow:0 15px 34px rgba(0,0,0,.38);
  font-size:126px;
  font-weight:950;
  line-height:.72;
  letter-spacing:-.08em;
  user-select:none;
}
.trending-card .poster{box-shadow:0 18px 40px rgba(0,0,0,.34)}

.home-skeleton-card{
  flex:0 0 168px;
  display:grid;
  gap:8px;
}
.home-skeleton-card i{
  display:block;
  aspect-ratio:2/3;
  border-radius:13px;
  background:linear-gradient(110deg,#0d0f13 8%,#171a20 18%,#0d0f13 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.15s linear infinite;
}
.home-skeleton-card b,.home-skeleton-card span{
  display:block;
  height:9px;
  border-radius:99px;
  background:linear-gradient(110deg,#101217 8%,#191c22 18%,#101217 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.15s linear infinite;
}
.home-skeleton-card b{width:80%}
.home-skeleton-card span{width:42%;height:7px}

#homeView .rail-section.home-reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .5s ease,transform .5s ease;
}
#homeView .rail-section.home-reveal.home-visible{
  opacity:1;
  transform:none;
}

@media(max-width:760px){
  #homeView .topbar.scrolled{background:rgba(5,5,7,.94)}
  #homeView .hero{
    height:72svh;
    min-height:545px;
    max-height:690px;
  }
  #homeView .hero-bg{background-position:center 18%}
  #homeView .hero-shade{
    background:
      linear-gradient(0deg,#050506 0,rgba(5,5,6,.96) 15%,rgba(5,5,6,.28) 60%,rgba(5,5,6,.08) 100%),
      linear-gradient(90deg,rgba(0,0,0,.38),transparent);
  }
  #homeView .hero-copy{
    left:15px;right:15px;bottom:62px;width:auto;
  }
  #homeView .hero h2{
    font-size:clamp(38px,12vw,52px);
    margin-bottom:12px;
  }
  #homeView .hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.58;-webkit-line-clamp:2}
  .hero-meta{margin-bottom:9px}
  .hero-meta span{min-height:23px;padding:0 7px;font-size:8px}
  #homeView .hero-actions{margin-top:16px}
  #homeView .hero-actions button{min-height:43px;padding:0 14px;font-size:10px}
  .hero-controls{right:13px;bottom:15px}
  .hero-controls>button{width:34px;height:34px}
  .hero-dots button{width:6px;height:6px}
  .hero-dots button.active{width:19px}
  #homeView .rail-section{padding-top:15px;padding-bottom:23px}
  #homeView .section-head h3{font-size:17px}
  .section-kicker{font-size:7px}
  #homeView .rail{gap:10px}
  #homeView .rail .card{flex-basis:35vw;max-width:148px}
  .trending-card{flex-basis:184px;height:242px;padding-left:44px}
  .trending-card .card{flex-basis:128px!important;width:128px;max-width:128px!important}
  .trending-card .trend-rank{width:70px;bottom:31px;font-size:101px}
  .home-skeleton-card{flex-basis:35vw;max-width:148px}
}
@media(prefers-reduced-motion:reduce){
  #homeView .hero-bg,#homeView .rail-section,.home-skeleton-card *{transition:none!important;animation:none!important}
}


/* Professional SVG icon system */
.icon-btn svg,.mobile-nav svg,.hero-actions svg{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.hero-actions svg{width:17px;height:17px}
.hero-actions .primary svg path:first-child{fill:currentColor;stroke:currentColor}
#homeView .hero-actions span{font-size:11px!important}
.mobile-nav button svg{
  width:20px;height:20px;
  margin-bottom:2px;
}
.mobile-nav button span{
  font-size:9px!important;
  line-height:1;
}
.mobile-nav button.active svg{filter:drop-shadow(0 0 7px rgba(237,27,47,.22))}
.icon-btn svg{width:18px;height:18px}


/* V2 professional Search / Explorer */
.search-view{
  z-index:350;
  background:
    radial-gradient(circle at 74% -10%,rgba(237,27,47,.07),transparent 30%),
    #050506;
}
.search-head{
  align-items:center;
  min-height:82px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.search-heading{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  min-width:105px;
}
.search-heading .eyebrow{margin:0 0 3px;font-size:7px}
.search-heading strong{font-size:16px;letter-spacing:-.02em}
.searchbox{
  position:relative;
  display:flex;
  align-items:center;
  max-width:820px;
}
.searchbox>svg{
  position:absolute;
  z-index:2;
  left:15px;
  width:18px;height:18px;
  fill:none;
  stroke:rgba(255,255,255,.45);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.searchbox input{
  height:48px;
  padding:0 44px 0 44px;
  border-radius:15px;
  background:rgba(13,15,19,.92);
  border-color:rgba(255,255,255,.09);
  font-size:12px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.searchbox input:focus{
  border-color:rgba(237,27,47,.48);
  box-shadow:0 0 0 3px rgba(237,27,47,.08),0 14px 34px rgba(0,0,0,.18);
  background:#0d0f13;
}
#searchClear{
  position:absolute;
  z-index:3;
  right:8px;
  width:32px;height:32px;
  border:0;border-radius:50%;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.58);
  font-size:18px;
  line-height:1;
}
#searchClear:hover{background:rgba(255,255,255,.09);color:#fff}
#searchClear[hidden]{display:none!important}

.search-body{
  width:min(1440px,100%);
  margin:0 auto;
  padding:0 0 110px;
}
.search-intro{
  padding:44px 4vw 20px;
  border-bottom:1px solid rgba(255,255,255,.035);
}
.search-intro[hidden]{display:none!important}
.search-intro-copy{max-width:760px}
.search-intro-copy .eyebrow{font-size:8px;margin-bottom:8px}
.search-intro-copy h2{
  margin:0;
  font-size:clamp(34px,5vw,58px);
  line-height:.98;
  letter-spacing:-.05em;
}
.search-intro-copy>p:not(.eyebrow){
  margin:15px 0 0;
  max-width:560px;
  color:rgba(255,255,255,.48);
  font-size:12px;
  line-height:1.65;
}
.recent-search-wrap{margin-top:28px}
.search-subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.search-subhead strong{font-size:11px}
.search-subhead button{
  border:0;
  background:none;
  color:rgba(255,255,255,.38);
  font-size:9px;
  font-weight:800;
}
.search-subhead button:hover{color:#fff}
.search-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.search-chips button{
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:#0c0e12;
  color:rgba(255,255,255,.62);
  font-size:10px;
  font-weight:750;
}
.search-chips button:hover{
  color:#fff;
  border-color:rgba(237,27,47,.32);
  background:rgba(237,27,47,.08);
}

.search-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:22px 4vw 2px;
}
.search-filters{
  display:flex;
  gap:7px;
  padding:4px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:#0b0d10;
}
.search-filters button{
  min-height:34px;
  padding:0 13px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:rgba(255,255,255,.46);
  font-size:9px;
  font-weight:850;
}
.search-filters button.active{
  color:#fff;
  background:rgba(237,27,47,.13);
  box-shadow:inset 0 0 0 1px rgba(237,27,47,.2);
}
.search-results-meta{text-align:right;min-width:0}
.search-results-meta strong,.search-results-meta span{display:block}
.search-results-meta strong{
  max-width:55vw;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.search-results-meta span{
  margin-top:4px;
  color:rgba(255,255,255,.36);
  font-size:9px;
}
.search-grid{
  min-height:46vh;
  padding-top:20px;
}
.search-grid .home-skeleton-card{
  width:100%;
  max-width:none;
  min-width:0;
  flex:none;
}
.search-empty{
  grid-column:1/-1;
  min-height:42vh;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  text-align:center;
  padding:40px 20px;
}
.search-empty-icon{
  width:50px;height:50px;
  display:grid;
  place-items:center;
  margin-bottom:6px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.08);
  background:#0d0f13;
  color:#ff5966;
  font-size:21px;
}
.search-empty strong{font-size:18px}
.search-empty span{color:var(--muted);font-size:11px}

/* V2 professional library dashboard */
.library-view{
  background:
    radial-gradient(circle at 18% -8%,rgba(237,27,47,.08),transparent 26%),
    #050506;
}
.library-head{
  min-height:82px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.045);
}
.library-heading .eyebrow{margin:0 0 2px;font-size:7px}
.library-heading strong{font-size:18px;letter-spacing:-.025em}
.library-heading small{margin-top:3px}
.library-overview{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(520px,1.35fr);
  gap:32px;
  align-items:end;
  padding:42px 4vw 30px;
  border-bottom:1px solid rgba(255,255,255,.045);
}
.library-overview-copy{max-width:620px}
.library-overview-copy .eyebrow{margin-bottom:8px;font-size:8px}
.library-overview-copy h2{
  margin:0;
  font-size:clamp(34px,4vw,54px);
  line-height:.98;
  letter-spacing:-.05em;
}
.library-overview-copy>p:not(.eyebrow){
  margin:15px 0 0;
  max-width:520px;
  color:rgba(255,255,255,.46);
  font-size:11px;
  line-height:1.65;
}
.library-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.library-stats button{
  min-width:0;
  min-height:128px;
  padding:16px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  color:#fff;
  text-align:left;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.library-stats button:hover{
  transform:translateY(-2px);
  border-color:rgba(237,27,47,.25);
  background:linear-gradient(160deg,rgba(237,27,47,.07),rgba(255,255,255,.015));
}
.library-stats small{
  display:block;
  color:#ff606d;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}
.library-stats strong{
  display:block;
  margin-top:12px;
  font-size:32px;
  line-height:1;
  letter-spacing:-.04em;
}
.library-stats span{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.38);
  font-size:9px;
}
.library-tabs{
  top:82px;
  padding-top:11px;
  padding-bottom:11px;
}
.library-tabs button{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.library-tabs button>span{font-size:12px}
.library-content{min-height:48vh}
.library-grid{gap:22px 16px}
.library-item{
  padding:0 0 4px;
  border-radius:14px;
}
.library-remove{
  width:32px;height:32px;
  top:8px;right:8px;
  display:grid;
  place-items:center;
  backdrop-filter:blur(10px);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.library-remove:hover{
  transform:scale(1.06);
  background:rgba(237,27,47,.86);
  border-color:rgba(255,255,255,.14);
}
.library-empty{
  min-height:44vh;
  border:1px dashed rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.012);
}
.library-empty strong{font-size:19px;letter-spacing:-.02em}
.library-empty span{display:block;max-width:360px;font-size:11px;line-height:1.6}

@media(max-width:760px){
  .search-head{
    min-height:118px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:8px 10px;
    padding:10px 12px 9px;
  }
  .search-head .back{grid-column:1;grid-row:1}
  .search-heading{grid-column:2;grid-row:1;min-width:0}
  .search-heading strong{font-size:15px}
  .searchbox{grid-column:1/-1;grid-row:2;max-width:none}
  .searchbox input{height:44px;font-size:11px}
  .search-intro{padding:27px 13px 17px}
  .search-intro-copy h2{font-size:34px}
  .search-intro-copy>p:not(.eyebrow){font-size:11px}
  .recent-search-wrap{margin-top:22px}
  .search-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .search-chips::-webkit-scrollbar{display:none}
  .search-chips button{flex:0 0 auto;min-height:32px;font-size:9px}
  .search-toolbar{
    position:sticky;
    top:118px;
    z-index:3;
    align-items:center;
    padding:9px 12px;
    background:rgba(5,5,6,.94);
    border-bottom:1px solid rgba(255,255,255,.045);
    backdrop-filter:blur(18px);
  }
  .search-filters{gap:4px;padding:3px}
  .search-filters button{min-height:31px;padding:0 9px;font-size:8px}
  .search-results-meta strong{max-width:42vw;font-size:10px}
  .search-results-meta span{font-size:8px}
  .search-grid{padding:14px 12px 100px}

  .library-head{min-height:74px}
  .library-overview{
    grid-template-columns:1fr;
    gap:22px;
    padding:26px 12px 20px;
  }
  .library-overview-copy h2{font-size:34px}
  .library-overview-copy>p:not(.eyebrow){font-size:10px}
  .library-stats{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .library-stats::-webkit-scrollbar{display:none}
  .library-stats button{
    flex:0 0 148px;
    min-height:108px;
    padding:13px;
  }
  .library-stats strong{font-size:27px;margin-top:10px}
  .library-tabs{top:74px}
  .library-grid{gap:13px 10px}
}


/* V2 installable app, offline state and accessibility polish */
:focus-visible{
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:3px;
}
button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}
::selection{background:rgba(237,27,47,.34);color:#fff}

.install-app-btn{
  color:#ff6370;
  border-color:rgba(237,27,47,.22)!important;
  background:rgba(237,27,47,.075)!important;
}
.install-app-btn:hover{background:rgba(237,27,47,.14)!important}

.network-status{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,174,66,.2);
  background:rgba(255,174,66,.08);
  color:#ffc06b;
  font-size:8px;
  font-weight:850;
  letter-spacing:.04em;
}
.network-status[hidden]{display:none!important}
.network-status>i{
  width:7px;height:7px;
  border-radius:50%;
  background:#ffad3e;
  box-shadow:0 0 0 4px rgba(255,173,62,.09);
}

.install-banner{
  position:fixed;
  z-index:1150;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:min(680px,calc(100% - 32px));
  min-height:86px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto 34px;
  align-items:center;
  gap:13px;
  padding:13px 13px 13px 14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(22,24,30,.96),rgba(10,11,14,.96));
  backdrop-filter:blur(22px);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  animation:installBannerIn .28s ease both;
}
.install-banner[hidden]{display:none!important}
@keyframes installBannerIn{
  from{opacity:0;transform:translate(-50%,18px) scale(.98)}
  to{opacity:1;transform:translate(-50%,0) scale(1)}
}
.install-banner-logo{
  width:52px;height:52px;
  padding:5px;
  border-radius:15px;
  background:rgba(237,27,47,.08);
  border:1px solid rgba(237,27,47,.16);
}
.install-banner-logo img{width:100%;height:100%;display:block;border-radius:11px}
.install-banner-copy{min-width:0}
.install-banner-copy small{
  display:block;
  color:#ff6270;
  font-size:7px;
  font-weight:950;
  letter-spacing:.14em;
}
.install-banner-copy strong{
  display:block;
  margin-top:4px;
  font-size:13px;
  letter-spacing:-.01em;
}
.install-banner-copy span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.42);
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.install-banner .primary{
  min-height:40px;
  padding:0 15px;
  border-radius:10px;
  font-size:9px;
}
.install-banner-close{
  width:32px;height:32px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.55);
  font-size:19px;
}
.install-banner-close:hover{background:rgba(255,255,255,.09);color:#fff}

.app-toast{
  position:fixed;
  z-index:1800;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  max-width:min(480px,calc(100% - 28px));
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(14,16,20,.96);
  backdrop-filter:blur(16px);
  color:rgba(255,255,255,.82);
  box-shadow:0 18px 50px rgba(0,0,0,.42);
  font-size:10px;
  font-weight:700;
  text-align:center;
  animation:appToastIn .18s ease both;
}
.app-toast[hidden]{display:none!important}
@keyframes appToastIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

@media(max-width:760px){
  .install-app-btn{display:none!important}
  .network-status{
    position:fixed;
    top:max(69px,calc(env(safe-area-inset-top) + 60px));
    left:50%;
    transform:translateX(-50%);
    z-index:220;
    box-shadow:0 10px 28px rgba(0,0,0,.28);
  }
  .install-banner{
    bottom:calc(88px + env(safe-area-inset-bottom));
    width:calc(100% - 20px);
    min-height:80px;
    grid-template-columns:46px minmax(0,1fr) auto 28px;
    gap:9px;
    padding:10px;
    border-radius:17px;
  }
  .install-banner-logo{width:45px;height:45px;border-radius:13px}
  .install-banner-copy strong{font-size:11px}
  .install-banner-copy span{font-size:8px}
  .install-banner .primary{min-height:36px;padding:0 11px;font-size:8px}
  .install-banner-close{width:27px;height:27px;font-size:17px}
  .app-toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* V2 advanced player controls */
.player-tools{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.player-select{
  height:38px;
  max-width:150px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#101217;
  color:#fff;
  padding:0 28px 0 10px;
  outline:none;
  font-size:9px;
  font-weight:800;
}
.player-select:focus,.source-select:focus{
  border-color:rgba(237,27,47,.48);
  box-shadow:0 0 0 3px rgba(237,27,47,.08);
}
.player-select[hidden]{display:none!important}
.speed-select{width:72px}
#qualitySelect{min-width:118px}
#audioSelect{min-width:125px}
#subtitleSelect{min-width:145px}
.player-tool{
  flex:0 0 auto;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.player-tool:hover{transform:translateY(-1px)}
#playerPip{font-size:15px}
#playerPip[hidden]{display:none!important}

@media(min-width:1100px){
  .player-head{gap:14px}
  .player-title-wrap{max-width:min(34vw,520px)}
}
@media(max-width:1099px) and (min-width:761px){
  .player-head{
    flex-wrap:wrap;
    row-gap:8px;
  }
  .player-title-wrap{min-width:220px}
  .player-tools{
    width:100%;
    order:4;
    overflow-x:auto;
    padding-bottom:1px;
    scrollbar-width:none;
  }
  .player-tools::-webkit-scrollbar{display:none}
  .player-episode-nav{margin-left:auto}
}
@media(max-width:760px){
  .player-head{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:8px 10px;
    padding:8px 10px 9px;
    max-height:168px;
    overflow:visible;
  }
  .player-close{grid-column:1;grid-row:1}
  .player-title-wrap{grid-column:2;grid-row:1;min-width:0}
  .player-brand{font-size:6px}
  .player-title-wrap strong{font-size:12px}
  .player-title-wrap small{font-size:8px}
  .player-episode-nav{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
  }
  .player-episode-nav button{height:33px}
  .player-tools{
    grid-column:1/-1;
    grid-row:3;
    width:100%;
    overflow-x:auto;
    padding:1px 0 2px;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .player-tools::-webkit-scrollbar{display:none}
  .player-tools>*{scroll-snap-align:start}
  .player-select,.source-select{
    flex:0 0 auto;
    width:auto!important;
    min-width:104px;
    max-width:150px;
    height:34px;
    font-size:8px;
    padding-left:9px;
  }
  .speed-select{min-width:67px!important}
  .player-tool{width:36px;height:34px}
  .player-download{
    display:inline-flex!important;
    flex:0 0 auto;
    height:34px;
    font-size:8px;
  }
  .player-download[hidden]{display:none!important}
}


/* V2 top command bar — compact professional redesign */
#homeView .top-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:3px;
  min-height:46px;
  padding:4px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(9,10,13,.62);
  backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:
    0 12px 32px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.025);
  animation:topActionsIn .32s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes topActionsIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}

#homeView .quick-action{
  position:relative;
  min-width:38px;
  height:38px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:rgba(255,255,255,.72);
  box-shadow:none;
  transition:
    background .16s ease,
    color .16s ease,
    transform .16s cubic-bezier(.2,.75,.25,1);
}
#homeView .quick-action:hover{
  background:rgba(255,255,255,.065);
  color:#fff;
}
#homeView .quick-action:active{transform:translateY(1px)}
#homeView .quick-action svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s cubic-bezier(.2,.75,.25,1),stroke .16s ease;
}
#homeView .quick-action>span{
  font-size:9px;
  font-weight:850;
  letter-spacing:.015em;
  white-space:nowrap;
}

#homeView .install-app-btn{
  min-width:auto;
  padding:0 11px;
  color:#ff6976;
  background:rgba(237,27,47,.065)!important;
  border:0!important;
}
#homeView .install-app-btn:hover{
  color:#ff8791;
  background:rgba(237,27,47,.12)!important;
}
#homeView .install-app-btn:hover svg{transform:translateY(1.5px)}

#homeView #searchOpen:hover svg{transform:translate(-.5px,-.5px)}
#homeView #historyOpen:hover svg{transform:rotate(-14deg)}
#homeView #listOpen:hover svg{transform:rotate(90deg)}

.top-actions-divider{
  width:1px;
  height:22px;
  margin:0 2px;
  background:rgba(255,255,255,.075);
}
.install-app-btn[hidden]+.top-actions-divider{display:none}

#homeView .topbar.scrolled .top-actions{
  background:rgba(8,9,12,.78);
  border-color:rgba(255,255,255,.095);
  box-shadow:0 12px 34px rgba(0,0,0,.26);
}

/* Replace the previous continuous hero zoom with a cleaner cinematic crossfade */
#homeView .hero-bg{
  transform:none!important;
  transition:
    opacity .42s cubic-bezier(.2,.7,.2,1),
    filter .42s cubic-bezier(.2,.7,.2,1)!important;
  will-change:opacity,filter;
}
#homeView .hero:not(:hover) .hero-bg{transform:none!important}
#homeView .hero-bg.changing{
  opacity:.10!important;
  filter:brightness(.68) saturate(.82)!important;
}

@media(max-width:900px){
  #homeView .top-actions{
    gap:2px;
    min-height:42px;
    padding:3px;
    border-radius:12px;
  }
  #homeView .quick-action{
    min-width:36px;
    width:36px;
    height:36px;
    padding:0;
    border-radius:9px;
  }
  #homeView .quick-action>span{display:none}
  .top-actions-divider{height:20px;margin:0 1px}
}
@media(max-width:760px){
  #homeView .top-actions{
    margin-left:auto;
    background:rgba(8,9,12,.54);
  }
  #homeView .install-app-btn{display:none!important}
  #homeView .top-actions-divider{display:none}
  #homeView .quick-action{
    width:34px;
    min-width:34px;
    height:34px;
    border-radius:9px;
  }
  #homeView .quick-action svg{width:17px;height:17px}
}


/* V2 refined navigation, cards, footer and restrained motion */
#homeView .desktop-nav{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border-radius:12px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.045);
}
#homeView .desktop-nav button{
  min-height:34px;
  padding:0 13px;
  border-radius:8px;
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:760;
  transition:background .15s ease,color .15s ease;
}
#homeView .desktop-nav button:after{display:none}
#homeView .desktop-nav button:hover{
  color:#fff;
  background:rgba(255,255,255,.045);
}
#homeView .desktop-nav button.active{
  color:#fff;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}

#homeView .brand{
  transition:opacity .15s ease;
}
#homeView .brand:hover{opacity:.88}
#homeView .brand img{
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
#homeView .brand span{
  font-size:12px;
  letter-spacing:.075em;
}

/* Cleaner carousel controls: no large round buttons */
.hero-controls{
  right:4vw;
  bottom:7%;
  gap:6px;
  padding:5px 6px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:11px;
  background:rgba(8,9,12,.50);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 26px rgba(0,0,0,.20);
}
.hero-controls>button{
  width:30px;
  height:30px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:rgba(255,255,255,.62);
  display:grid;
  place-items:center;
  padding:0;
  transition:background .14s ease,color .14s ease;
}
.hero-controls>button:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}
.hero-controls>button svg{
  width:16px;height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-dots{gap:4px}
.hero-dots button{
  width:5px;
  height:5px;
  background:rgba(255,255,255,.25);
  transition:width .16s ease,background .16s ease;
}
.hero-dots button.active{
  width:18px;
  background:rgba(255,255,255,.82);
}

/* Restrained card interaction */
.card .poster{
  transform:none!important;
  transition:border-color .16s ease,box-shadow .18s ease,filter .16s ease!important;
}
.card:hover .poster,
.card:focus-visible .poster{
  transform:none!important;
  border-color:rgba(255,255,255,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.34);
  filter:brightness(1.035);
}
.card-hover{
  bottom:9px;
  transform:none!important;
  transition:opacity .15s ease!important;
}
.card:hover .card-hover,
.card:focus-visible .card-hover{
  transform:none!important;
}
#homeView .rail .card{
  transition:opacity .15s ease;
}
#homeView .rail .card:hover{opacity:.98}

/* Section navigation */
#homeView .section-head>button{
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:rgba(255,255,255,.48);
}
#homeView .section-head>button:hover{
  color:#fff;
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.09);
}

/* Professional footer */
.site-footer{
  width:calc(100% - 8vw);
  margin:38px auto 0;
  padding:28px 0 max(110px,calc(42px + env(safe-area-inset-bottom)));
  border-top:1px solid rgba(255,255,255,.055);
  color:rgba(255,255,255,.38);
  text-align:left;
  letter-spacing:0;
}
.footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.footer-brand img{
  width:38px;height:38px;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.footer-brand strong{
  display:block;
  color:rgba(255,255,255,.88);
  font-size:11px;
  letter-spacing:.08em;
}
.footer-brand strong b{color:var(--red)}
.footer-brand span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.30);
  font-size:9px;
}
.footer-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:4px;
}
.footer-nav button{
  min-height:32px;
  padding:0 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:rgba(255,255,255,.36);
  font-size:9px;
  font-weight:750;
}
.footer-nav button:hover{
  background:rgba(255,255,255,.04);
  color:#fff;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.035);
  color:rgba(255,255,255,.20);
  font-size:8px;
  letter-spacing:.055em;
}

/* Mobile dock — flatter, cleaner, less "bubble" UI */
@media(max-width:760px){
  .mobile-nav{
    left:0;
    right:0;
    bottom:0;
    height:calc(64px + env(safe-area-inset-bottom));
    padding:5px 7px max(5px,env(safe-area-inset-bottom));
    border-radius:0;
    border:0;
    border-top:1px solid rgba(255,255,255,.065);
    background:rgba(6,7,9,.94);
    backdrop-filter:blur(22px) saturate(1.12);
    box-shadow:0 -10px 34px rgba(0,0,0,.22);
  }
  .mobile-nav button{
    position:relative;
    gap:4px;
    border-radius:9px;
    transition:color .14s ease,background .14s ease;
  }
  .mobile-nav button:hover{background:rgba(255,255,255,.025)}
  .mobile-nav button.active{
    color:#fff;
    background:transparent;
  }
  .mobile-nav button.active:before{
    content:"";
    position:absolute;
    top:1px;
    left:50%;
    width:18px;
    height:2px;
    transform:translateX(-50%);
    border-radius:99px;
    background:var(--red);
  }
  .mobile-nav button svg{
    width:19px;
    height:19px;
    transition:none;
  }
  .mobile-nav button span{
    font-size:8px!important;
    font-weight:760;
    color:inherit;
  }
  .app{padding-bottom:74px}

  .hero-controls{
    right:12px;
    bottom:14px;
    padding:4px 5px;
    border-radius:10px;
  }
  .hero-controls>button{width:28px;height:28px}
  .hero-controls>button svg{width:15px;height:15px}

  .site-footer{
    width:calc(100% - 28px);
    margin-top:26px;
    padding:24px 0 calc(92px + env(safe-area-inset-bottom));
  }
  .footer-main{
    display:block;
  }
  .footer-nav{
    justify-content:flex-start;
    margin-top:18px;
    gap:2px;
  }
  .footer-nav button{
    min-height:30px;
    padding:0 8px;
    font-size:8px;
  }
  .footer-bottom{
    display:block;
    margin-top:17px;
    padding-top:15px;
  }
  .footer-bottom span{display:block}
  .footer-bottom span+span{margin-top:6px}
}

/* Keep motion intentional and minimal */
@media(prefers-reduced-motion:no-preference){
  #homeView .topbar,
  #homeView .top-actions,
  .hero-controls,
  .site-footer{
    animation:none!important;
  }
}


/* V2 icon consistency + understated system states */
.boot{
  gap:10px;
  background:#050506;
  transition:opacity .22s ease;
}
.boot-mark{
  width:72px;height:72px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#0b0c0f;
  border:1px solid rgba(255,255,255,.065);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
}
.boot-logo{
  width:58px;height:58px;
  border-radius:14px;
  box-shadow:none;
}
.boot strong{
  margin-top:7px;
  font-size:13px;
  letter-spacing:.22em;
}
.boot-subtitle{
  color:rgba(255,255,255,.26);
  font-size:7px;
  font-weight:800;
  letter-spacing:.28em;
}
.boot-progress{
  width:96px;
  height:2px;
  margin-top:8px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.07);
}
.boot-progress i{
  display:block;
  width:42%;
  height:100%;
  border-radius:99px;
  background:rgba(237,27,47,.9);
  animation:bootProgress 1.05s ease-in-out infinite alternate;
}
@keyframes bootProgress{
  from{transform:translateX(-15%)}
  to{transform:translateX(150%)}
}

.maintenance-view{
  background:
    radial-gradient(circle at 50% 10%,rgba(237,27,47,.055),transparent 32%),
    #050506;
}
.maintenance-card{
  width:min(520px,calc(100% - 30px));
  padding:30px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:18px;
  background:#0a0b0e;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.maintenance-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.maintenance-brand img{
  width:36px;height:36px;
  border-radius:9px;
}
.maintenance-brand span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.maintenance-brand b{color:var(--red)}
.maintenance-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:28px;
  color:#ff6673;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}
.maintenance-status i{
  width:6px;height:6px;
  border-radius:50%;
  background:#ed1b2f;
}
.maintenance-card h1{
  margin:12px 0 10px;
  font-size:clamp(30px,6vw,48px);
  line-height:1;
  letter-spacing:-.04em;
}
.maintenance-card>p:not(.eyebrow){
  color:rgba(255,255,255,.46);
  line-height:1.65;
  font-size:11px;
}
.maintenance-retry{
  margin-top:20px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border-radius:9px;
  background:#111318;
}
.maintenance-retry svg{
  width:16px;height:16px;
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}

/* Back/close actions: compact rounded-square controls */
.back,
.detail-icon-btn,
.detail-topbar .modal-close,
.player-close,
.install-banner-close{
  border-radius:10px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:rgba(12,13,16,.72)!important;
  box-shadow:none!important;
}
.back{
  width:38px;height:38px;
  display:grid;
  place-items:center;
  font-size:0;
}
.back svg,
.detail-icon-btn svg,
.detail-topbar .modal-close svg,
.player-close svg,
.install-banner-close svg{
  width:17px;height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.back:hover,
.detail-icon-btn:hover,
.detail-topbar .modal-close:hover,
.player-close:hover,
.install-banner-close:hover{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.detail-icon-btn,.detail-topbar .modal-close{
  width:38px;height:38px;
}
.player-close{
  width:38px;height:38px;
  font-size:0;
}
.install-banner-close{
  display:grid;
  place-items:center;
  font-size:0;
}

/* Inline action icons */
.action-symbol{
  width:17px;height:17px;
  display:inline-grid;
  place-items:center;
  font-size:0!important;
}
.action-symbol svg{
  width:17px;height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.action-symbol[data-icon="play"] svg path{
  fill:currentColor;
  stroke:currentColor;
}
.action-symbol[data-icon="wait"] svg circle{
  fill:currentColor;
  stroke:none;
}

/* Player icon tools */
.player-tool svg,
.player-download svg{
  width:16px;height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.player-download{
  gap:7px;
}
.player-tool{
  border-radius:9px;
  background:#0f1115;
}
.player-tool:hover{
  transform:none;
  background:#15181d;
}

/* Avoid decorative motion on controls */
.back,
.detail-icon-btn,
.detail-topbar .modal-close,
.player-close,
.install-banner-close,
.player-tool,
.maintenance-retry{
  transition:background .14s ease,border-color .14s ease,color .14s ease!important;
}

@media(max-width:760px){
  .boot-mark{width:66px;height:66px}
  .boot-logo{width:54px;height:54px}
  .maintenance-card{padding:24px 20px}
  .maintenance-card h1{font-size:34px}
  .back{width:36px;height:36px}
  .detail-icon-btn,.detail-topbar .modal-close{width:36px;height:36px}
}

@media(prefers-reduced-motion:reduce){
  .boot-progress i{animation:none;width:100%;transform:none}
}


/* V2 personal media polish — compact, editorial, low-motion */
.personal-section{
  position:relative;
}
.personal-section .section-head{
  margin-bottom:13px;
}
.personal-section .section-kicker{
  color:rgba(255,255,255,.32);
}

.continue-rail{
  gap:12px;
  padding-bottom:10px;
  scroll-snap-type:x proximity;
}
.continue-card{
  flex:0 0 min(430px,82vw);
  display:grid;
  grid-template-columns:168px minmax(0,1fr);
  min-height:112px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.065);
  background:linear-gradient(145deg,#0d0f13,#090a0d);
  scroll-snap-align:start;
  transition:border-color .15s ease,background .15s ease;
}
.continue-card:hover{
  transform:none;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(145deg,#101217,#0b0c10);
}
.continue-thumb{
  aspect-ratio:auto;
  min-height:112px;
}
.continue-thumb:after{
  background:linear-gradient(90deg,transparent 45%,rgba(8,9,12,.30) 100%),linear-gradient(0deg,rgba(0,0,0,.34),transparent 56%);
}
.continue-play{
  left:10px;
  bottom:9px;
  width:32px;
  height:32px;
  background:rgba(7,8,11,.74);
  border:1px solid rgba(255,255,255,.58);
  color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
}
.continue-play svg{
  width:14px;height:14px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.2;
}
.continue-percent{
  position:absolute;
  right:9px;
  bottom:10px;
  z-index:2;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  padding:0 7px;
  border-radius:7px;
  background:rgba(5,6,8,.72);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
  font-size:8px;
  font-weight:850;
  backdrop-filter:blur(8px);
}
.continue-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px;
}
.continue-copy b{
  font-size:12px;
  line-height:1.35;
}
.continue-copy small{
  margin-top:5px;
  color:rgba(255,255,255,.38);
  font-size:9px;
  line-height:1.4;
}
.continue-progress{
  height:3px;
  margin-top:13px;
  background:rgba(255,255,255,.07);
}
.continue-progress i{
  background:var(--red);
}
.continue-cta{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:9px;
  color:rgba(255,255,255,.55);
  font-size:8px;
  font-weight:800;
}
.continue-cta svg{
  width:11px;height:11px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Library actions */
.library-item{
  border-radius:12px;
}
.library-remove{
  right:8px;
  top:8px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(8,9,11,.76);
  color:rgba(255,255,255,.72);
  font-size:0;
  backdrop-filter:blur(10px);
  box-shadow:none;
}
.library-remove svg{
  width:14px;height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.library-remove:hover{
  transform:none;
  color:#fff;
  background:rgba(237,27,47,.82);
  border-color:rgba(255,255,255,.10);
}

/* Card hover uses the same icon language as the rest of V2 */
.card-hover i{
  border-radius:8px;
  background:rgba(255,255,255,.92);
  box-shadow:0 7px 20px rgba(0,0,0,.22);
  padding:0;
}
.card-hover i svg{
  width:12px;height:12px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}
.card-hover b{
  font-size:9px;
  font-weight:800;
}

/* Search states */
.search-empty-icon{
  border-radius:12px;
  font-size:0;
}
.search-empty-icon svg{
  width:20px;height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.search-error-icon{
  color:#ff6b78;
  border-color:rgba(237,27,47,.18);
  background:rgba(237,27,47,.055);
}

/* Catalogue cards should not jump vertically on hover */
.browse-grid .card{
  transition:filter .15s ease,opacity .15s ease;
}
.browse-grid .card:hover{
  transform:none;
}

/* Sponsor block remains visually secondary to content */
.v2-ad-section{
  padding-top:4px;
  padding-bottom:22px;
}
.v2-ad-label{
  color:rgba(255,255,255,.20);
  letter-spacing:.12em;
}
.v2-ad-slot,
.v2-native-slot{
  border-radius:10px;
}

/* Keep home interactions subtle */
@media(hover:hover){
  .continue-card:hover .continue-play{
    border-color:rgba(255,255,255,.78);
  }
}
@media(max-width:760px){
  .continue-card{
    flex-basis:88vw;
    grid-template-columns:132px minmax(0,1fr);
    min-height:96px;
  }
  .continue-thumb{min-height:96px}
  .continue-copy{padding:11px}
  .continue-copy b{font-size:11px}
  .continue-copy small{font-size:8px}
  .continue-progress{margin-top:10px}
  .continue-cta{margin-top:7px}
  .continue-percent{font-size:7px;right:7px;bottom:8px}
  .continue-play{width:29px;height:29px;left:8px;bottom:7px}
}


/* V2 icon-only polish for library, search, ratings and episode navigation */
.library-tabs{
  gap:5px;
}
.library-tabs button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:9px;
  padding:0 12px;
  background:transparent;
  border-color:transparent;
  color:rgba(255,255,255,.44);
  transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.library-tabs button:hover{
  color:#fff;
  background:rgba(255,255,255,.035);
}
.library-tabs button.active{
  color:#fff;
  background:rgba(255,255,255,.065);
  border-color:rgba(255,255,255,.055);
}
.library-tabs button svg{
  width:15px;height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.library-tabs button[data-library-tab="continue"] svg path{
  fill:currentColor;
  stroke:currentColor;
}
.library-tabs button>span{
  font-size:9px;
  font-weight:800;
}

#searchClear{
  display:grid;
  place-items:center;
  font-size:0;
}
#searchClear svg{
  width:15px;height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.browse-search-btn{
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
.browse-search-btn svg{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.player-episode-nav button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.player-episode-nav button svg{
  width:14px;height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.player-episode-nav button:hover{
  transform:none;
}

.episode-play{
  font-size:0;
}
.episode-play svg{
  width:13px;height:13px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}
.episode:hover{
  transform:none;
}

.card-rating{
  gap:4px;
}
.card-rating svg{
  width:10px;height:10px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}
.card-rating>span{
  line-height:1;
}

.detail-facts .rating{
  gap:5px;
}
.detail-facts .rating svg{
  width:12px;height:12px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}

/* Reduce pill-heavy styling for a more editorial product feel */
.card-rating,
.card-kind,
.detail-facts span,
.detail-genres span{
  border-radius:7px;
}
.card-kind{
  letter-spacing:.055em;
}
.detail-facts span,
.detail-genres span{
  min-height:27px;
  padding:0 9px;
}

/* Keep controls stable on hover instead of bouncing */
#homeView .hero-actions button:hover,
.cast-card:hover,
.library-stats button:hover{
  transform:none;
}
.cast-card:hover img,
.cast-card:hover .cast-avatar{
  box-shadow:0 12px 32px rgba(0,0,0,.32);
}

@media(max-width:760px){
  .library-tabs{
    gap:4px;
  }
  .library-tabs button{
    flex:0 0 auto;
    min-height:34px;
    padding:0 10px;
  }
  .library-tabs button>span{
    font-size:8px!important;
  }
  .player-episode-nav button{
    gap:4px;
  }
}


/* V2 premium rail navigation, media loading and rendering performance */
.rail-shell{
  position:relative;
  min-width:0;
}
.rail-shell>.rail,
.rail-shell>.continue-rail{
  position:relative;
  z-index:1;
}
.rail-shell:before,
.rail-shell:after{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  bottom:10px;
  width:54px;
  pointer-events:none;
  opacity:0;
  transition:opacity .14s ease;
}
.rail-shell:before{
  left:-1px;
  background:linear-gradient(90deg,var(--bg),rgba(5,5,6,.76) 28%,transparent);
}
.rail-shell:after{
  right:-1px;
  background:linear-gradient(270deg,var(--bg),rgba(5,5,6,.76) 28%,transparent);
}
.rail-shell.can-left:before{opacity:1}
.rail-shell.can-right:after{opacity:1}

.rail-arrow{
  position:absolute;
  z-index:5;
  top:48%;
  width:36px;
  height:48px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.085);
  border-radius:9px;
  background:rgba(8,9,12,.86);
  color:rgba(255,255,255,.80);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease,background .14s ease,border-color .14s ease;
}
.rail-arrow-prev{left:7px}
.rail-arrow-next{right:7px}
.rail-shell.can-left .rail-arrow-prev,
.rail-shell.can-right .rail-arrow-next{
  opacity:1;
  pointer-events:auto;
}
.rail-arrow:hover{
  background:rgba(20,22,27,.94);
  border-color:rgba(255,255,255,.15);
  color:#fff;
}
.rail-arrow svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Images reveal only after decode/load; failed assets stay unobtrusive */
.poster img.media-image,
.continue-thumb img.media-image,
.episode-thumb img.media-image,
.detail-poster.media-image,
.cast-card img.media-image,
.person-photo img.media-image{
  opacity:0;
  transition:opacity .18s ease;
}
.poster img.media-image.media-loaded,
.continue-thumb img.media-image.media-loaded,
.episode-thumb img.media-image.media-loaded,
.detail-poster.media-image.media-loaded,
.cast-card img.media-image.media-loaded,
.person-photo img.media-image.media-loaded{
  opacity:1;
}
.poster img.media-error,
.continue-thumb img.media-error,
.episode-thumb img.media-error,
.detail-poster.media-error,
.cast-card img.media-error,
.person-photo img.media-error{
  opacity:.12;
  filter:grayscale(1);
}
.poster,
.continue-thumb,
.episode-thumb,
.person-photo{
  background-color:#111318;
}

/* Home sections enter quietly; no vertical bounce */
#homeView .rail-section.home-reveal{
  opacity:0;
  transform:none!important;
  transition:opacity .26s ease!important;
}
#homeView .rail-section.home-reveal.home-visible{
  opacity:1;
  transform:none!important;
}

@supports(content-visibility:auto){
  #homeView .rail-section:not([hidden]){
    content-visibility:auto;
    contain-intrinsic-size:320px;
  }
}

@media(max-width:760px){
  .rail-arrow,
  .rail-shell:before,
  .rail-shell:after{
    display:none!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .poster img.media-image,
  .continue-thumb img.media-image,
  .episode-thumb img.media-image,
  .detail-poster.media-image,
  .cast-card img.media-image,
  .person-photo img.media-image{
    transition:none!important;
  }
}


/* Hero metadata follows the same icon system */
.hero-meta .hero-rating{
  gap:5px;
  color:#ffd76a;
}
.hero-meta .hero-rating svg{
  width:11px;
  height:11px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}


/* V2 catalogue filter system + professional dialogs */
.browse-hero-bg{
  transition:opacity .28s ease,filter .28s ease!important;
  transform:none!important;
}
.browse-hero-bg.changing{
  opacity:.18;
  filter:brightness(.72) saturate(.82);
}
.browse-switch{
  border-radius:10px;
  padding:3px;
  gap:3px;
  background:rgba(8,9,12,.58);
}
.browse-switch button{
  height:34px;
  min-width:88px;
  border-radius:7px;
  font-size:10px;
}
.browse-switch button.active{
  background:rgba(255,255,255,.085);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
}

.browse-toolbar{
  top:82px;
  margin:14px 4vw 0;
  padding:10px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  background:rgba(9,10,13,.94);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.browse-toolbar label{
  gap:5px;
}
.browse-toolbar label>span{
  padding-left:1px;
  font-size:7px;
  letter-spacing:.10em;
}
.browse-toolbar select{
  height:40px;
  border-radius:9px;
  border-color:rgba(255,255,255,.07);
  background:#0d0f13;
  font-size:10px;
}
.browse-reset{
  height:40px;
  min-width:126px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:9px;
  border-color:rgba(255,255,255,.07);
  background:#0d0f13;
  color:rgba(255,255,255,.52);
  font-size:9px;
}
.browse-reset svg{
  width:14px;height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.browse-reset:hover{
  background:#13161b;
  border-color:rgba(255,255,255,.11);
  color:#fff;
}

.browse-resultsbar{
  align-items:center;
  padding-top:20px;
}
.browse-resultsbar>div{
  min-width:0;
}
.browse-resultsbar strong,
.browse-resultsbar span{
  display:block;
}
.browse-resultsbar span{
  max-width:none;
  margin-top:4px;
}
.browse-clear-all{
  min-height:30px;
  padding:0 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:rgba(255,255,255,.36);
  font-size:8px;
  font-weight:800;
}
.browse-clear-all:hover{
  color:#fff;
  background:rgba(255,255,255,.035);
}
.browse-clear-all[hidden]{display:none!important}

.browse-active-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:11px 4vw 0;
}
.browse-active-chips[hidden]{display:none!important}
.browse-active-chips button{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 9px 0 10px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:8px;
  background:#0c0e12;
  color:rgba(255,255,255,.62);
  font-size:8px;
  font-weight:780;
}
.browse-active-chips button:hover{
  color:#fff;
  border-color:rgba(255,255,255,.12);
  background:#121419;
}
.browse-active-chips svg{
  width:12px;height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.browse-card-skeleton{
  min-width:0;
  display:grid;
  gap:8px;
}
.browse-card-skeleton i{
  display:block;
  aspect-ratio:2/3;
  border-radius:12px;
  background:linear-gradient(110deg,#0d0f13 8%,#171a20 18%,#0d0f13 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.15s linear infinite;
}
.browse-card-skeleton b,
.browse-card-skeleton span{
  display:block;
  height:8px;
  border-radius:99px;
  background:linear-gradient(110deg,#101217 8%,#191c22 18%,#101217 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.15s linear infinite;
}
.browse-card-skeleton b{width:78%}
.browse-card-skeleton span{width:38%;height:6px}

.browse-load-more{
  min-width:178px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:9px;
  background:#0d0f13;
  border-color:rgba(255,255,255,.07);
  font-size:9px;
}
.browse-load-more svg{
  width:14px;height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.browse-load-more:disabled svg{opacity:.3}

/* Replace native confirm/prompt appearance with an in-app dialog */
.action-dialog{
  position:fixed;
  inset:0;
  z-index:2100;
  display:grid;
  place-items:center;
  padding:20px;
}
.action-dialog[hidden]{display:none!important}
.action-dialog-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(7px);
}
.action-dialog-card{
  position:relative;
  z-index:2;
  width:min(430px,100%);
  padding:24px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:17px;
  background:linear-gradient(155deg,#111319,#090a0d);
  box-shadow:0 28px 90px rgba(0,0,0,.58);
}
.action-dialog-icon{
  width:38px;height:38px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border:1px solid rgba(237,27,47,.18);
  border-radius:10px;
  background:rgba(237,27,47,.07);
  color:#ff6875;
}
.action-dialog-icon svg{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.action-dialog-card .eyebrow{
  margin-bottom:7px;
  font-size:7px;
}
.action-dialog-card h3{
  margin:0;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.action-dialog-card>p:not(.eyebrow){
  margin:11px 0 0;
  color:rgba(255,255,255,.47);
  font-size:10px;
  line-height:1.65;
}
.action-dialog-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:17px;
}
.action-dialog-copy[hidden]{display:none!important}
.action-dialog-copy input{
  width:100%;
  height:40px;
  min-width:0;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#08090c;
  color:rgba(255,255,255,.72);
  outline:none;
  font-size:9px;
}
.action-dialog-copy input:focus{
  border-color:rgba(237,27,47,.35);
}
.action-dialog-copy button{
  height:40px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#14171c;
  color:#fff;
  font-size:8px;
  font-weight:850;
}
.action-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:20px;
}
.action-dialog-actions button{
  min-height:40px;
  padding:0 14px;
  border-radius:9px;
  font-size:9px;
}
.action-dialog-actions .primary.danger{
  background:#c91b2a;
  box-shadow:none;
}
.action-dialog-actions button[hidden]{display:none!important}

@media(max-width:760px){
  .browse-toolbar{
    top:64px;
    margin:10px 10px 0;
    padding:8px;
    border-radius:12px;
  }
  .browse-toolbar label{
    flex-basis:132px;
  }
  .browse-toolbar label:nth-child(2){flex-basis:112px}
  .browse-toolbar label:nth-child(3){flex-basis:138px}
  .browse-toolbar select{height:38px}
  .browse-reset{
    height:38px;
    min-width:102px;
    margin-top:13px;
    padding:0 9px;
  }
  .browse-reset span{font-size:8px}
  .browse-resultsbar{padding:16px 12px 0}
  .browse-active-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:9px 12px 1px;
    scrollbar-width:none;
  }
  .browse-active-chips::-webkit-scrollbar{display:none}
  .browse-active-chips button{flex:0 0 auto}
  .browse-clear-all{padding:0 6px}
  .action-dialog{
    align-items:end;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  }
  .action-dialog-card{
    width:100%;
    padding:21px 18px;
    border-radius:16px;
  }
  .action-dialog-card h3{font-size:22px}
  .action-dialog-actions button{flex:1}
}

@media(prefers-reduced-motion:reduce){
  .browse-card-skeleton i,
  .browse-card-skeleton b,
  .browse-card-skeleton span{
    animation:none!important;
  }
}


.action-dialog-icon.copy-mode{
  border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.72);
}


/* V2 compact cinematic detail page + inline trailer */
@media(min-width:900px){
  .detail-modal{
    background:
      radial-gradient(circle at 50% -10%,rgba(237,27,47,.035),transparent 30%),
      #06070a;
  }
  .detail-topbar{
    top:16px;
    left:50%;
    right:auto;
    width:min(1160px,calc(100% - 64px));
    min-height:54px;
    padding:7px 9px 7px 12px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:14px;
    background:rgba(8,9,12,.72);
    backdrop-filter:blur(18px);
    box-shadow:0 14px 36px rgba(0,0,0,.24);
    transform:translateX(-50%);
  }
  .detail-brand img{width:29px;height:29px;border-radius:8px}
  .detail-brand{font-size:10px}
  .detail-icon-btn,.detail-topbar .modal-close{
    width:36px;
    height:36px;
    border-radius:9px!important;
  }

  .detail-backdrop{
    width:min(1180px,calc(100% - 56px));
    height:min(60vh,610px);
    min-height:440px;
    margin:18px auto 0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.06);
    border-radius:20px;
    background-position:center 24%;
    box-shadow:0 30px 80px rgba(0,0,0,.34);
  }
  .detail-backdrop:before{
    background:
      linear-gradient(90deg,rgba(5,6,9,.72) 0,rgba(5,6,9,.24) 40%,rgba(5,6,9,.08) 72%),
      linear-gradient(180deg,rgba(5,6,9,.15),transparent 35%);
  }
  .detail-backdrop:after{
    background:linear-gradient(0deg,#06070a 0,rgba(6,7,10,.92) 8%,rgba(6,7,10,.12) 60%,transparent 100%);
  }

  .detail-content{
    width:min(1040px,calc(100% - 96px));
    margin:-122px auto 0;
    padding:0 0 74px;
  }
  .detail-main{
    grid-template-columns:156px minmax(0,700px);
    gap:24px;
    align-items:end;
  }
  .detail-poster{
    width:156px;
    border-radius:13px;
    box-shadow:0 24px 58px rgba(0,0,0,.45);
  }
  .detail-copy{padding-bottom:2px}
  .detail-content h2{
    max-width:760px;
    margin-bottom:13px;
    font-size:clamp(40px,4.7vw,62px);
    line-height:.96;
    letter-spacing:-.05em;
  }
  .detail-overview{
    max-width:820px;
    font-size:13px;
    line-height:1.72;
  }
  .detail-actions{
    margin-top:20px;
    gap:7px;
  }
  .detail-actions button{
    min-height:42px;
    padding:0 13px;
    border-radius:10px;
    font-size:10px;
  }
  .detail-actions .detail-watch{
    min-width:132px;
    padding:0 18px;
  }
  .detail-info-grid{
    gap:8px;
    margin-top:22px;
    padding-top:19px;
  }
  .detail-info-grid>div{
    padding:12px;
    border-radius:11px;
  }
  .detail-section{
    margin-top:31px;
    padding-top:23px;
  }
  .detail-section-head{margin-bottom:15px}
  .detail-section-head h3{font-size:20px}
}

/* Trailer plays directly in the detail artwork area */
.detail-trailer-stage{
  position:absolute;
  inset:0;
  z-index:7;
  overflow:hidden;
  background:#000;
}
.detail-trailer-stage[hidden]{display:none!important}
.detail-trailer-stage iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
  background:#000;
}
.detail-trailer-toolbar{
  position:absolute;
  z-index:3;
  top:14px;
  left:14px;
  right:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  pointer-events:none;
}
.detail-trailer-toolbar>div{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  background:rgba(8,9,12,.66);
  backdrop-filter:blur(12px);
  color:rgba(255,255,255,.82);
  pointer-events:auto;
}
.detail-trailer-toolbar strong{
  font-size:9px;
  font-weight:850;
  letter-spacing:.02em;
}
.detail-trailer-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 4px rgba(237,27,47,.12);
}
#detailTrailerClose{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  background:rgba(8,9,12,.72);
  color:#fff;
  backdrop-filter:blur(12px);
  pointer-events:auto;
}
#detailTrailerClose:hover{
  background:rgba(22,24,29,.88);
  border-color:rgba(255,255,255,.16);
}
#detailTrailerClose svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Inline trailer button reads as an active media action, not a modal launcher */
#trailerBtn:not([hidden]){
  border-color:rgba(255,255,255,.10);
}
#trailerBtn:hover{
  background:rgba(255,255,255,.085);
}

@media(max-width:899px){
  .detail-backdrop{
    width:100%;
    height:50svh;
    min-height:340px;
    margin:0;
    border-radius:0;
  }
  .detail-content{
    width:100%;
    margin-top:-62px;
    padding:0 14px 110px;
  }
  .detail-trailer-toolbar{
    top:max(68px,calc(env(safe-area-inset-top) + 56px));
    left:10px;
    right:10px;
  }
}

@media(max-width:520px){
  .detail-backdrop{
    height:44svh;
    min-height:300px;
  }
  .detail-content{
    margin-top:-48px;
  }
  .detail-main{
    grid-template-columns:78px minmax(0,1fr);
    gap:12px;
  }
  .detail-poster{width:78px}
  .detail-content h2{font-size:31px}
  .detail-overview{font-size:11px}
}


/* V2 detail composition — narrower reading column and trailer entry point */
.detail-trailer-launch{
  position:absolute;
  z-index:6;
  right:24px;
  bottom:30px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:6px 13px 6px 7px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:11px;
  background:rgba(7,8,11,.72);
  color:#fff;
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  text-align:left;
  transition:background .14s ease,border-color .14s ease;
}
.detail-trailer-launch[hidden]{display:none!important}
.detail-trailer-launch:hover{
  background:rgba(17,19,24,.86);
  border-color:rgba(255,255,255,.17);
}
.detail-trailer-launch-icon{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  flex:0 0 35px;
  border-radius:9px;
  background:#fff;
  color:#08090c;
}
.detail-trailer-launch-icon svg{
  width:15px;
  height:15px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}
.detail-trailer-launch>span:last-child{
  min-width:0;
}
.detail-trailer-launch small,
.detail-trailer-launch strong{
  display:block;
}
.detail-trailer-launch small{
  color:rgba(255,255,255,.42);
  font-size:6px;
  font-weight:900;
  letter-spacing:.12em;
}
.detail-trailer-launch strong{
  margin-top:2px;
  font-size:9px;
  font-weight:850;
}

@media(min-width:900px){
  .detail-content{
    width:min(980px,calc(100% - 84px));
  }
  .detail-main{
    grid-template-columns:146px minmax(0,700px);
    gap:22px;
  }
  .detail-poster{
    width:146px;
  }
  .detail-copy{
    min-width:0;
  }
  .detail-copy .detail-overview{
    margin:15px 0 0;
    max-width:700px;
  }
  .detail-actions,
  .availability-note,
  .detail-info-grid{
    margin-left:168px;
    width:min(700px,calc(100% - 168px));
  }
  .detail-actions{
    margin-top:18px;
  }
  .availability-note{
    margin-top:11px;
  }
  .detail-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:20px;
  }
  .detail-section,
  .series-panel{
    width:100%;
  }
}

@media(max-width:899px){
  .detail-trailer-launch{
    right:12px;
    bottom:18px;
    min-height:43px;
    padding:5px 10px 5px 6px;
    border-radius:10px;
  }
  .detail-trailer-launch-icon{
    width:31px;
    height:31px;
    flex-basis:31px;
    border-radius:8px;
  }
  .detail-trailer-launch strong{font-size:8px}
  .detail-trailer-launch small{font-size:6px}
  .detail-copy .detail-overview{
    margin:12px 0 0;
  }
  .detail-actions,
  .availability-note,
  .detail-info-grid{
    margin-left:0;
    width:100%;
  }
}

@media(max-width:520px){
  .detail-trailer-launch{
    bottom:12px;
  }
  .detail-trailer-launch>span:last-child{
    display:none;
  }
  .detail-trailer-launch{
    width:38px;
    min-height:38px;
    padding:3px;
    justify-content:center;
    border-radius:10px;
  }
  .detail-trailer-launch-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}


/* V2 cast profile + series browser refinement */
.person-modal{
  background:
    radial-gradient(circle at 50% -12%,rgba(237,27,47,.045),transparent 32%),
    #06070a;
}
.person-head{
  min-height:64px;
  padding:max(10px,env(safe-area-inset-top)) 4vw 10px;
  background:rgba(6,7,10,.86);
  border-bottom:1px solid rgba(255,255,255,.045);
}
.person-content{
  width:min(1060px,calc(100% - 64px));
  padding:34px 0 90px;
}
.person-profile{
  position:relative;
  grid-template-columns:178px minmax(0,1fr);
  gap:28px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.065);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.008)),
    #090a0d;
}
.person-profile:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(237,27,47,.035),transparent 32%);
}
.person-photo-wrap{
  position:relative;
  width:178px;
}
.person-photo{
  width:178px;
  border-radius:14px;
  box-shadow:0 22px 54px rgba(0,0,0,.38);
}
.person-profile-badge{
  position:absolute;
  left:9px;
  bottom:9px;
  min-height:23px;
  display:inline-flex;
  align-items:center;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:7px;
  background:rgba(7,8,11,.72);
  color:rgba(255,255,255,.70);
  backdrop-filter:blur(10px);
  font-size:6px;
  font-weight:900;
  letter-spacing:.11em;
}
.person-copy{
  position:relative;
  z-index:1;
  max-width:700px;
  padding-top:2px;
}
.person-copy h2{
  font-size:clamp(34px,4.6vw,54px);
  line-height:.97;
}
.person-meta{
  margin-top:10px;
  color:rgba(255,255,255,.38);
  font-size:10px;
}
.person-facts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:16px;
}
.person-facts>span{
  min-width:120px;
  max-width:220px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:9px;
  background:rgba(255,255,255,.018);
}
.person-facts small,
.person-facts strong{
  display:block;
}
.person-facts small{
  color:rgba(255,255,255,.28);
  font-size:6px;
  font-weight:900;
  letter-spacing:.09em;
}
.person-facts strong{
  margin-top:4px;
  overflow:hidden;
  color:rgba(255,255,255,.72);
  font-size:9px;
  line-height:1.35;
  text-overflow:ellipsis;
}
.person-bio{
  max-width:680px;
  margin-top:18px;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.72;
}
.person-bio.clampable:not(.expanded){
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.person-bio-toggle{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.52);
  font-size:8px;
  font-weight:850;
}
.person-bio-toggle:hover{color:#fff}
.person-bio-toggle svg{
  width:12px;height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .15s ease;
}
.person-bio-toggle.expanded svg{transform:rotate(180deg)}
#personCreditsSection{
  margin-top:30px;
  padding-top:22px;
}
#personCredits{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding-bottom:10px;
  scrollbar-width:none;
}
#personCredits::-webkit-scrollbar{display:none}
#personCredits .card{
  flex:0 0 152px;
  width:152px;
}

/* Series selection reads like a proper season control */
.series-panel{
  margin-top:30px;
  padding-top:24px;
}
.series-head{
  align-items:flex-end;
  margin-bottom:14px;
}
.series-head h3{
  font-size:22px;
}
.series-count{
  margin-top:4px;
  font-size:9px;
}
.season-control{
  min-width:154px;
  display:grid;
  gap:5px;
}
.season-control>span{
  padding-left:1px;
  color:rgba(255,255,255,.28);
  font-size:6px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.season-control select{
  width:100%;
  height:40px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.07);
  background:#0c0e12;
  color:#fff;
  padding:0 32px 0 10px;
  box-shadow:none;
  font-size:9px;
  font-weight:800;
}

.episode-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.episode{
  grid-template-columns:142px minmax(0,1fr);
  min-height:96px;
  border-radius:12px;
  background:#0b0d10;
  border-color:rgba(255,255,255,.055);
  box-shadow:none;
  transition:background .14s ease,border-color .14s ease;
}
.episode:hover{
  transform:none;
  background:#0f1115;
  border-color:rgba(255,255,255,.11);
}
.episode.playing{
  border-color:rgba(237,27,47,.36);
  box-shadow:inset 3px 0 0 rgba(237,27,47,.92);
}
.episode.completed{
  opacity:.72;
}
.episode.completed:hover{opacity:.92}
.episode-thumb,
.episode-placeholder{
  min-height:96px;
}
.episode-play{
  left:9px;
  bottom:9px;
  width:29px;
  height:29px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,6,8,.72);
  color:#fff;
  backdrop-filter:blur(8px);
}
.episode.playing .episode-play{
  background:#fff;
  color:#08090c;
  border-color:#fff;
  box-shadow:none;
}
.episode-progress{
  height:3px;
  background:var(--red);
}
.episode-copy{
  padding:11px 12px;
}
.episode-title-row{
  gap:8px;
  align-items:center;
}
.episode-num{
  width:24px;
  height:24px;
  flex-basis:24px;
  border-radius:7px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.52);
  font-size:9px;
}
.episode-title-row b{
  font-size:11px;
  -webkit-line-clamp:1;
}
.episode-copy small{
  margin:5px 0 0 32px;
  font-size:8px;
}
.episode-copy p{
  margin:7px 0 0 32px;
  font-size:9px;
  line-height:1.4;
  -webkit-line-clamp:2;
}
.episode-resume-label{
  margin:6px 0 0 32px;
  min-height:20px;
  padding:0 7px;
  border-radius:6px;
  border:1px solid rgba(237,27,47,.16);
  background:rgba(237,27,47,.06);
  color:#ff7a85;
  font-size:7px;
}
.episode.completed .episode-resume-label{
  border-color:rgba(255,255,255,.07);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.46);
}

/* Autoplay card has a visible five-second countdown */
.next-episode-toast{
  width:min(360px,calc(100% - 28px));
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px 12px;
  padding:13px 13px 9px;
  overflow:hidden;
  border-radius:12px;
  border-color:rgba(255,255,255,.09);
  background:rgba(9,10,13,.92);
}
.next-episode-copy{min-width:0}
.next-episode-toast small{
  font-size:6px;
}
.next-episode-toast strong{
  margin-top:4px;
  overflow:hidden;
  font-size:10px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.next-episode-toast button{
  margin:0;
  height:30px;
  border-radius:7px;
  font-size:8px;
}
.next-episode-progress{
  grid-column:1/-1;
  height:2px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.07);
}
.next-episode-progress i{
  display:block;
  width:100%;
  height:100%;
  transform-origin:left center;
  background:var(--red);
}
.next-episode-toast.counting .next-episode-progress i{
  animation:nextEpisodeCountdown 5s linear forwards;
}
@keyframes nextEpisodeCountdown{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}

@media(max-width:900px){
  .person-content{
    width:calc(100% - 28px);
  }
  .person-profile{
    grid-template-columns:132px minmax(0,1fr);
    gap:18px;
    padding:18px;
  }
  .person-photo-wrap,
  .person-photo{
    width:132px;
  }
  .person-copy h2{font-size:36px}
  .episode-list{grid-template-columns:1fr}
}

@media(max-width:560px){
  .person-content{
    width:100%;
    padding:18px 12px 92px;
  }
  .person-profile{
    grid-template-columns:92px minmax(0,1fr);
    gap:13px;
    padding:12px;
    border-radius:14px;
  }
  .person-photo-wrap,
  .person-photo{
    width:92px;
  }
  .person-photo{border-radius:11px}
  .person-profile-badge{display:none}
  .person-copy h2{font-size:27px}
  .person-meta{font-size:8px}
  .person-facts{
    gap:5px;
    margin-top:10px;
  }
  .person-facts>span{
    min-width:0;
    max-width:none;
    padding:7px 8px;
  }
  .person-facts small{font-size:5px}
  .person-facts strong{font-size:7px}
  .person-bio{
    grid-column:1/-1;
    margin-top:13px;
    font-size:10px;
    line-height:1.58;
  }
  .person-bio.clampable:not(.expanded){
    -webkit-line-clamp:6;
  }
  #personCredits .card{
    flex-basis:36vw;
    width:36vw;
    max-width:142px;
  }

  .series-head{
    align-items:flex-end;
    gap:10px;
  }
  .series-head h3{font-size:19px}
  .season-control{
    min-width:112px;
  }
  .season-control select{
    height:36px;
    font-size:8px;
  }
  .episode{
    grid-template-columns:112px minmax(0,1fr);
    min-height:82px;
  }
  .episode-thumb,
  .episode-placeholder{
    min-height:82px;
  }
  .episode-copy{padding:9px 10px}
  .episode-title-row b{font-size:10px}
  .episode-copy small{
    margin-left:29px;
    font-size:7px;
  }
  .episode-copy p{display:none}
  .episode-resume-label{
    margin-left:29px;
    margin-top:5px;
  }
  .next-episode-toast{
    grid-template-columns:minmax(0,1fr) auto;
    right:10px;
    bottom:10px;
    width:calc(100% - 20px);
  }
}

@media(prefers-reduced-motion:reduce){
  .next-episode-toast.counting .next-episode-progress i{
    animation:none;
  }
}


/* V2 professional player status and watermark */
.player-stage{
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.018),transparent 42%),
    #000;
}
.player-watermark{
  position:absolute;
  z-index:4;
  top:14px;
  left:14px;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:29px;
  padding:4px 8px 4px 5px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(5,6,8,.42);
  backdrop-filter:blur(10px);
  color:rgba(255,255,255,.54);
  pointer-events:none;
  opacity:.72;
}
.player-watermark img{
  width:20px;
  height:20px;
  border-radius:5px;
}
.player-watermark span{
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.player-watermark b{color:#ff5967}

.player-status{
  background:
    radial-gradient(circle at 50% 45%,rgba(237,27,47,.045),transparent 28%),
    rgba(0,0,0,.94);
  color:#fff;
}
.player-status-card{
  width:min(390px,calc(100% - 32px));
  display:grid;
  justify-items:center;
  text-align:center;
  padding:24px 22px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:16px;
  background:rgba(10,11,14,.78);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  backdrop-filter:blur(14px);
}
.player-status-icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin-bottom:15px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:#0d0f13;
}
.player-status-icon span{
  width:3px;
  border-radius:99px;
  background:#ed1b2f;
}
.player-status-icon span:nth-child(1){height:12px}
.player-status-icon span:nth-child(2){height:20px}
.player-status-icon span:nth-child(3){height:15px}
.player-status.loading .player-status-icon span{
  animation:playerBars 1s ease-in-out infinite alternate;
}
.player-status.loading .player-status-icon span:nth-child(2){animation-delay:.12s}
.player-status.loading .player-status-icon span:nth-child(3){animation-delay:.24s}
@keyframes playerBars{
  from{opacity:.35;transform:scaleY(.55)}
  to{opacity:1;transform:scaleY(1)}
}
.player-status.error .player-status-icon{
  border-color:rgba(237,27,47,.15);
  background:rgba(237,27,47,.055);
}
.player-status.error .player-status-icon span{
  width:18px;
  height:2px!important;
  animation:none;
  transform:rotate(45deg);
}
.player-status.error .player-status-icon span:nth-child(2){
  margin-left:-22px;
  transform:rotate(-45deg);
}
.player-status.error .player-status-icon span:nth-child(3){display:none}

.player-status-card small{
  color:#ff5e6b;
  font-size:6px;
  font-weight:950;
  letter-spacing:.14em;
}
.player-status-card strong{
  display:block;
  margin-top:7px;
  font-size:18px;
  letter-spacing:-.025em;
}
.player-status-card p{
  max-width:310px;
  margin:9px 0 0;
  color:rgba(255,255,255,.42);
  font-size:9px;
  line-height:1.6;
}
.player-retry{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:16px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#14171c;
  color:#fff;
  font-size:8px;
  font-weight:850;
}
.player-retry[hidden]{display:none!important}
.player-retry:hover{
  background:#1a1d23;
  border-color:rgba(255,255,255,.13);
}
.player-retry:disabled{
  opacity:.45;
  cursor:wait;
}
.player-retry svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:760px){
  .player-watermark{
    top:9px;
    left:9px;
    min-height:25px;
    padding:3px 6px 3px 4px;
  }
  .player-watermark img{width:18px;height:18px}
  .player-watermark span{font-size:6px}
  .player-status-card{
    width:min(340px,calc(100% - 24px));
    padding:20px 16px;
    border-radius:14px;
  }
  .player-status-icon{
    width:42px;height:42px;
    margin-bottom:13px;
  }
  .player-status-card strong{font-size:16px}
  .player-status-card p{font-size:8px}
}

@media(prefers-reduced-motion:reduce){
  .player-status.loading .player-status-icon span{
    animation:none!important;
  }
}


/* V2 player settings panel — reduce toolbar clutter */
.player-head{
  position:relative;
  z-index:8;
}
.player-tools{
  flex:0 0 auto;
  width:auto;
  overflow:visible;
}
.player-settings-btn[aria-expanded="true"]{
  background:#1a1d23;
  border-color:rgba(255,255,255,.15);
}
.player-settings-panel{
  position:absolute;
  z-index:12;
  top:76px;
  right:14px;
  width:min(340px,calc(100% - 28px));
  padding:15px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(10,11,14,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.52);
  backdrop-filter:blur(20px);
}
.player-settings-panel[hidden]{display:none!important}
.player-settings-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.player-settings-head small,
.player-settings-head strong{
  display:block;
}
.player-settings-head small{
  color:#ff5d6a;
  font-size:6px;
  font-weight:950;
  letter-spacing:.13em;
}
.player-settings-head strong{
  margin-top:3px;
  font-size:14px;
}
#playerSettingsClose{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  background:#111318;
  color:rgba(255,255,255,.68);
}
#playerSettingsClose:hover{
  color:#fff;
  background:#171a20;
}
#playerSettingsClose svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.player-settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding-top:13px;
}
.player-settings-grid label{
  min-width:0;
  display:grid;
  gap:5px;
}
.player-settings-grid label[hidden]{display:none!important}
.player-settings-grid label>span{
  color:rgba(255,255,255,.34);
  font-size:7px;
  font-weight:850;
  letter-spacing:.06em;
}
.player-settings-grid .player-select{
  width:100%!important;
  min-width:0!important;
  max-width:none;
  height:38px;
  padding:0 29px 0 10px;
  border-radius:9px;
  background:#0d0f13;
  font-size:9px;
}
.player-settings-actions{
  padding-top:11px;
}
.player-settings-actions:empty{display:none}
.player-settings-actions .player-download{
  width:100%;
  min-height:38px;
  display:flex;
  justify-content:center;
  border-radius:9px;
  background:#111318;
}
.player-settings-actions .player-download[hidden]{display:none!important}
.player-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:7px 10px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.05);
}
.player-shortcuts span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:rgba(255,255,255,.30);
  font-size:7px;
}
.player-shortcuts kbd{
  min-width:22px;
  min-height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border:1px solid rgba(255,255,255,.08);
  border-bottom-color:rgba(255,255,255,.14);
  border-radius:5px;
  background:#0c0e12;
  color:rgba(255,255,255,.60);
  font:700 7px/1 system-ui,sans-serif;
  box-shadow:0 2px 0 rgba(0,0,0,.35);
}

@media(max-width:1099px) and (min-width:761px){
  .player-head{
    flex-wrap:nowrap;
  }
  .player-tools{
    width:auto;
    order:initial;
    margin-left:auto;
  }
  .player-title-wrap{
    min-width:160px;
  }
}
@media(max-width:760px){
  .player-head{
    grid-template-columns:38px minmax(0,1fr) auto;
    max-height:none;
  }
  .player-close{
    grid-column:1;
    grid-row:1;
  }
  .player-title-wrap{
    grid-column:2;
    grid-row:1;
  }
  .player-tools{
    grid-column:3;
    grid-row:1;
    width:auto;
    padding:0;
    overflow:visible;
    gap:5px;
  }
  .player-tools .source-select{
    display:block;
    width:88px;
    min-width:88px;
    height:34px;
    font-size:8px;
  }
  .player-tools .player-tool{
    width:34px;
    height:34px;
  }
  .player-episode-nav{
    grid-column:1/-1;
    grid-row:2;
  }
  .player-settings-panel{
    position:absolute;
    top:auto;
    right:8px;
    bottom:8px;
    left:8px;
    width:auto;
    padding:14px;
    border-radius:14px;
  }
  .player-settings-grid{
    grid-template-columns:1fr 1fr;
  }
  .player-shortcuts{
    display:none;
  }
}
@media(max-width:420px){
  .player-settings-grid{
    grid-template-columns:1fr;
  }
  .player-tools #playerPip{
    display:none!important;
  }
}


/* V2 empty states, availability status and library actions */
.library-clear{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:rgba(255,255,255,.48);
  font-size:8px;
  font-weight:800;
}
.library-clear:hover{
  color:#fff;
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.10);
}
.library-clear svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.library-empty{
  min-height:42vh;
  display:grid;
  place-items:center;
  align-content:center;
  justify-items:center;
  gap:8px;
  padding:42px 20px;
  border:1px dashed rgba(255,255,255,.065);
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 35%,rgba(237,27,47,.035),transparent 32%),
    rgba(255,255,255,.008);
  text-align:center;
}
.library-empty-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:7px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:11px;
  background:#0d0f13;
  color:rgba(255,255,255,.62);
}
.library-empty-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.library-empty .eyebrow{
  margin:0;
  font-size:6px;
  color:#ff6471;
}
.library-empty strong{
  margin:0;
  font-size:18px;
  letter-spacing:-.025em;
}
.library-empty>span{
  max-width:390px;
  color:rgba(255,255,255,.39);
  font-size:10px;
  line-height:1.6;
}
.library-empty>button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:9px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#111318;
  color:#fff;
  font-size:8px;
  font-weight:820;
}
.library-empty>button:hover{
  background:#171a20;
  border-color:rgba(255,255,255,.13);
}
.library-empty>button svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.browse-empty{
  grid-column:1/-1;
  min-height:42vh;
  display:grid;
  place-items:center;
  align-content:center;
  justify-items:center;
  gap:8px;
  padding:46px 20px;
  text-align:center;
}
.browse-empty-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:7px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:#0d0f13;
  color:rgba(255,255,255,.56);
}
.browse-empty.error .browse-empty-icon{
  border-color:rgba(237,27,47,.16);
  background:rgba(237,27,47,.05);
  color:#ff6a76;
}
.browse-empty-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.browse-empty .eyebrow{
  margin:0;
  font-size:6px;
}
.browse-empty strong{
  font-size:19px;
  letter-spacing:-.025em;
}
.browse-empty>span{
  max-width:420px;
  color:rgba(255,255,255,.38);
  font-size:10px;
  line-height:1.6;
}
.browse-empty>button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:9px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#111318;
  color:#fff;
  font-size:8px;
  font-weight:820;
}
.browse-empty>button svg{
  width:13px;height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.availability-note{
  min-height:36px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:9px;
  background:rgba(255,255,255,.018);
  color:rgba(255,255,255,.48);
  font-size:9px;
  line-height:1.5;
}
.availability-note[hidden]{display:none!important}
.availability-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  margin-top:1px;
  color:currentColor;
}
.availability-icon svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.availability-note[data-state="available"]{
  border-color:rgba(77,196,121,.14);
  background:rgba(77,196,121,.045);
  color:rgba(137,225,169,.72);
}
.availability-note[data-state="unavailable"]{
  border-color:rgba(237,27,47,.15);
  background:rgba(237,27,47,.045);
  color:#ff7a85;
}

@media(max-width:760px){
  .library-clear{
    min-height:32px;
    padding:0 8px;
  }
  .library-clear span{
    display:none;
  }
  .library-empty,
  .browse-empty{
    min-height:38vh;
    padding:34px 16px;
  }
  .availability-note{
    width:100%!important;
    margin-left:0!important;
    font-size:8px;
  }
}


/* V2 APK category universe on Home */
.home-universe{
  padding:10px 4vw 20px;
  border-top:1px solid rgba(255,255,255,.025);
}
.home-universe .section-head{
  margin-bottom:11px;
}
.home-universe-nav{
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  padding:1px 1px 8px;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
}
.home-universe-nav::-webkit-scrollbar{display:none}
.home-universe-nav button{
  flex:0 0 auto;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  background:#0c0e12;
  color:rgba(255,255,255,.52);
  font-size:8px;
  font-weight:820;
  letter-spacing:.01em;
  scroll-snap-align:start;
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}
.home-universe-nav button:hover{
  color:#fff;
  background:#12151a;
  border-color:rgba(255,255,255,.12);
}

.home-category-section{
  scroll-margin-top:82px;
}
.home-category-section[data-loading="1"] .section-kicker:after{
  content:" · CHARGEMENT";
  color:rgba(255,255,255,.18);
}
.home-category-section[data-loaded="1"]{
  min-height:0;
}
.home-category-section .rail:empty{
  min-height:215px;
}
.home-category-section .rail:empty:before{
  content:"";
  display:block;
  flex:0 0 138px;
  aspect-ratio:2/3;
  border-radius:11px;
  background:linear-gradient(110deg,#0d0f13 8%,#171a20 18%,#0d0f13 33%);
  background-size:200% 100%;
  animation:v2skeleton 1.15s linear infinite;
}

/* Keep the very long APK-style home scannable */
#homeView .home-category-section:nth-of-type(even){
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.006),transparent);
}

@media(max-width:760px){
  .home-universe{
    padding:8px 12px 14px;
  }
  .home-universe .section-head h3{
    font-size:16px;
  }
  .home-universe-nav{
    gap:6px;
    padding-bottom:5px;
  }
  .home-universe-nav button{
    min-height:32px;
    padding:0 10px;
    border-radius:8px;
    font-size:8px;
  }
  .home-category-section{
    scroll-margin-top:65px;
  }
  .home-category-section .rail:empty{
    min-height:185px;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-category-section .rail:empty:before{
    animation:none!important;
  }
}


/* V2 category loading fix — avoid the single tall placeholder seen before data arrives */
.home-category-section .rail:empty{
  min-height:0!important;
}
.home-category-section .rail:empty:before{
  display:none!important;
}
.home-category-section .home-skeleton-card{
  flex:0 0 142px;
}
@media(max-width:760px){
  .home-category-section .home-skeleton-card{
    flex-basis:34vw;
    max-width:145px;
  }
}


/* V2 Smart Home — Top 10, recommendations and category focus */
.top-ten-section{
  padding-top:20px;
  padding-bottom:28px;
}
.top-ten-rail{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:2px 2px 14px;
  scrollbar-width:none;
}
.top-ten-rail::-webkit-scrollbar{display:none}
.top-ten-card{
  position:relative;
  flex:0 0 228px;
  height:250px;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  align-items:end;
  padding:0;
  overflow:hidden;
  border:0;
  background:transparent;
  color:#fff;
  text-align:left;
}
.top-ten-rank{
  position:relative;
  z-index:2;
  align-self:end;
  margin:0 -18px -8px 0;
  color:#050506;
  font-size:118px;
  font-weight:950;
  line-height:.78;
  letter-spacing:-.10em;
  -webkit-text-stroke:2px rgba(255,255,255,.54);
  text-shadow:0 12px 30px rgba(0,0,0,.45);
  pointer-events:none;
}
.top-ten-poster{
  position:absolute;
  top:0;
  right:0;
  bottom:27px;
  width:154px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:#101217;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.top-ten-poster:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,5,6,.28),transparent 40%),linear-gradient(0deg,rgba(5,5,6,.28),transparent 35%);
  pointer-events:none;
}
.top-ten-poster img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.top-ten-copy{
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  width:154px;
  min-width:0;
}
.top-ten-copy b,
.top-ten-copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.top-ten-copy b{
  font-size:10px;
  font-weight:820;
}
.top-ten-copy small{
  margin-top:3px;
  color:rgba(255,255,255,.34);
  font-size:7px;
}
.top-ten-card:hover .top-ten-poster,
.top-ten-card:focus-visible .top-ten-poster{
  border-color:rgba(255,255,255,.14);
  box-shadow:0 20px 52px rgba(0,0,0,.36);
  filter:brightness(1.035);
}

#recommendSection{
  position:relative;
}
#recommendSection:before{
  content:"";
  position:absolute;
  left:4vw;
  right:4vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(237,27,47,.18),transparent);
}
#recommendSection .section-kicker{
  color:#ff6673;
}

.home-universe-nav button.active{
  color:#fff;
  border-color:rgba(237,27,47,.22);
  background:rgba(237,27,47,.075);
  box-shadow:inset 0 0 0 1px rgba(237,27,47,.025);
}
.home-universe-nav button.active:before{
  content:"";
  width:5px;
  height:5px;
  display:inline-block;
  margin-right:7px;
  border-radius:50%;
  background:var(--red);
  vertical-align:1px;
}

@media(max-width:760px){
  .top-ten-section{
    padding-top:15px;
    padding-bottom:20px;
  }
  .top-ten-rail{
    gap:10px;
  }
  .top-ten-card{
    flex-basis:174px;
    height:205px;
    grid-template-columns:62px minmax(0,1fr);
  }
  .top-ten-rank{
    margin-right:-13px;
    font-size:88px;
    -webkit-text-stroke-width:1.5px;
  }
  .top-ten-poster{
    width:118px;
    bottom:25px;
    border-radius:11px;
  }
  .top-ten-copy{
    width:118px;
  }
  .top-ten-copy b{font-size:9px}
  .top-ten-copy small{font-size:7px}
}

@media(prefers-reduced-motion:reduce){
  .top-ten-card,
  .top-ten-poster{
    transition:none!important;
  }
}


/* V2 Smart Home personalization — contextual rails without visual clutter */
#homeListSection,
#becauseSection,
#recommendSection{
  position:relative;
}
#homeListSection .section-kicker{
  color:rgba(255,255,255,.30);
}
#becauseSection .section-kicker,
#recommendSection .section-kicker{
  color:#ff6673;
}
#becauseSection:before,
#recommendSection:before{
  content:"";
  position:absolute;
  left:4vw;
  right:4vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(237,27,47,.14),transparent);
}
#becauseTitle{
  max-width:min(720px,74vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#homeListSection .rail .card,
#becauseSection .rail .card,
#recommendSection .rail .card{
  scroll-snap-align:start;
}
#homeListSection .rail,
#becauseSection .rail,
#recommendSection .rail{
  scroll-snap-type:x proximity;
}
.top-ten-poster img.media-image{
  opacity:0;
  transition:opacity .18s ease;
}
.top-ten-poster img.media-image.media-loaded{
  opacity:1;
}
.top-ten-poster img.media-error{
  opacity:.12;
  filter:grayscale(1);
}
@media(max-width:760px){
  #becauseTitle{
    max-width:78vw;
  }
  #becauseSection:before,
  #recommendSection:before{
    left:12px;
    right:12px;
  }
}
@media(prefers-reduced-motion:reduce){
  .top-ten-poster img.media-image{
    transition:none!important;
  }
}


/* V2 Home collection actions + preset catalogue context */
#homeView .home-category-section .section-head>button,
#actionHomeSection .section-head>button,
#comedyHomeSection .section-head>button,
#horrorHomeSection .section-head>button{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
#homeView .home-category-section .section-head>button svg,
#actionHomeSection .section-head>button svg,
#comedyHomeSection .section-head>button svg,
#horrorHomeSection .section-head>button svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#browseView[data-collection]:not([data-collection=""]) .browse-hero{
  border-bottom-color:rgba(237,27,47,.08);
}
#browseView[data-collection]:not([data-collection=""]) .browse-hero-kicker{
  color:#ff6572;
}
#browseView[data-collection]:not([data-collection=""]) .browse-resultsbar:before{
  content:"COLLECTION";
  display:inline-flex;
  align-items:center;
  min-height:22px;
  margin-right:10px;
  padding:0 7px;
  border:1px solid rgba(237,27,47,.16);
  border-radius:6px;
  background:rgba(237,27,47,.045);
  color:#ff6673;
  font-size:6px;
  font-weight:900;
  letter-spacing:.10em;
}
#browseView[data-collection]:not([data-collection=""]) .browse-resultsbar{
  display:flex;
  align-items:center;
}
#browseView[data-collection]:not([data-collection=""]) .browse-resultsbar>div{
  flex:1;
}

@media(max-width:760px){
  #homeView .home-category-section .section-head>button,
  #actionHomeSection .section-head>button,
  #comedyHomeSection .section-head>button,
  #horrorHomeSection .section-head>button{
    min-height:28px;
    padding:0 8px;
  }
  #homeView .home-category-section .section-head>button svg,
  #actionHomeSection .section-head>button svg,
  #comedyHomeSection .section-head>button svg,
  #horrorHomeSection .section-head>button svg{
    width:11px;
    height:11px;
  }
  #browseView[data-collection]:not([data-collection=""]) .browse-resultsbar:before{
    display:none;
  }
}


/* V2 sticky universe navigator + consistent section actions */
.home-universe{
  position:sticky;
  top:74px;
  z-index:82;
  padding:8px 4vw 10px;
  border-top:1px solid rgba(255,255,255,.025);
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(5,5,6,.93);
  backdrop-filter:blur(18px) saturate(1.08);
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.home-universe .section-head{
  margin-bottom:8px;
}
.home-universe .section-head h3{
  font-size:17px;
}
.home-universe-nav{
  padding-bottom:2px;
}
.home-universe-nav button[aria-current="true"]{
  color:#fff;
  border-color:rgba(237,27,47,.24);
  background:rgba(237,27,47,.085);
}
.home-universe-nav button[aria-current="true"]:before{
  content:"";
  width:5px;
  height:5px;
  display:inline-block;
  margin-right:7px;
  border-radius:50%;
  background:var(--red);
  vertical-align:1px;
}
.home-universe-nav button:focus-visible{
  outline:2px solid rgba(255,255,255,.72);
  outline-offset:2px;
}

#homeView .section-head>button{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 8px;
  border-radius:8px;
  transition:background .14s ease,color .14s ease,border-color .14s ease;
}
#homeView .section-head>button:hover{
  color:#fff;
  background:rgba(255,255,255,.035);
}
#homeView .section-head>button svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#homeView .section-head>button:focus-visible{
  outline:2px solid rgba(255,255,255,.65);
  outline-offset:2px;
}

@media(max-width:760px){
  .home-universe{
    top:64px;
    padding:7px 12px 8px;
  }
  .home-universe .section-head{
    margin-bottom:6px;
  }
  .home-universe .section-head h3{
    font-size:14px;
  }
  .home-universe-nav{
    margin-left:-2px;
    margin-right:-2px;
  }
  #homeView .section-head>button{
    min-height:28px;
    padding:0 6px;
    font-size:8px;
  }
}


/* V2 stream provider status — visible but unobtrusive */
.player-provider-badge{
  width:max-content;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  padding:0 7px;
  border:1px solid rgba(70,190,116,.16);
  border-radius:6px;
  background:rgba(70,190,116,.045);
  color:rgba(145,224,174,.70);
  font-size:6px;
  font-weight:850;
  letter-spacing:.045em;
}
.player-provider-badge[hidden]{display:none!important}
.player-provider-badge i{
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:#55ce85;
  box-shadow:0 0 0 3px rgba(85,206,133,.08);
}
.player-provider-badge.fallback{
  border-color:rgba(255,186,80,.16);
  background:rgba(255,186,80,.045);
  color:rgba(255,205,126,.74);
}
.player-provider-badge.fallback i{
  background:#e7a84b;
  box-shadow:0 0 0 3px rgba(231,168,75,.08);
}
.player-provider-badge.cached:after{
  content:"OPTIMISÉ";
  margin-left:2px;
  color:rgba(255,255,255,.24);
  font-size:5px;
  font-weight:900;
  letter-spacing:.09em;
}
@media(max-width:760px){
  .player-provider-badge{
    min-height:20px;
    margin-top:4px;
    padding:0 6px;
    font-size:5px;
  }
  .player-provider-badge.cached:after{
    display:none;
  }
}


/* V2 playback readiness — clear availability feedback before play */
.availability-note[data-state="checking"]{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.54);
}
.availability-note[data-state="checking"] .availability-icon{
  position:relative;
}
.availability-note[data-state="checking"] .availability-icon:after{
  content:"";
  position:absolute;
  inset:1px;
  border:1.5px solid rgba(255,255,255,.16);
  border-top-color:rgba(255,255,255,.68);
  border-radius:50%;
  animation:availabilitySpin .8s linear infinite;
}
.availability-note[data-state="checking"] .availability-icon svg{
  opacity:0;
}
@keyframes availabilitySpin{
  to{transform:rotate(360deg)}
}
@media(prefers-reduced-motion:reduce){
  .availability-note[data-state="checking"] .availability-icon:after{
    animation:none!important;
    border-top-color:rgba(255,255,255,.16);
  }
}


/* V2 retry interaction feedback */
.player-retry{
  position:relative;
  z-index:4;
  pointer-events:auto;
  cursor:pointer;
}
.player-retry:disabled{
  pointer-events:none;
}
.player-retry:disabled svg{
  animation:playerRetrySpin .8s linear infinite;
}
@keyframes playerRetrySpin{
  to{transform:rotate(360deg)}
}
@media(prefers-reduced-motion:reduce){
  .player-retry:disabled svg{animation:none!important}
}


/* Detail poster sharpness fix */
.detail-poster,
.detail-poster.media-image,
.detail-poster.media-image.media-loaded,
.detail-poster.media-error{
  opacity:1!important;
  filter:none!important;
  image-rendering:auto!important;
  background:#111318;
}
.detail-poster{
  object-fit:cover;
  box-shadow:0 18px 42px rgba(0,0,0,.38);
}
