*{box-sizing:border-box}html{color-scheme:dark;background:#070c10}body{margin:0;color:#f8f8fa;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at top,#17212a 0,#070b0f 45%);min-height:100dvh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffb349;outline-offset:3px}button:disabled{opacity:.38;cursor:not-allowed}#app{max-width:1160px;margin:auto;min-height:100dvh;background:#070c10}#header{height:58px;padding:8px 15px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#0d171f,#080c0f);position:relative;z-index:2}#header h1{font-size:22px;margin:0;font-weight:700}.brand{font-size:26px;font-weight:900;letter-spacing:-1px;white-space:nowrap}.brand i{font-style:italic}.brand b{color:#ff0637}.icon{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button{border:0;background:none;padding:6px;display:grid;place-items:center;color:#f1f3f7;min-width:36px;min-height:36px}#view{padding-bottom:84px;min-height:calc(100dvh - 58px)}#nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:1160px;display:flex;justify-content:space-around;align-items:start;padding:13px 6px max(13px,env(safe-area-inset-bottom));background:linear-gradient(#0b1116,#070b0e);border-top:1px solid #252c31;z-index:5}#nav a{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:#b3b6bc;min-width:54px;padding:0 3px}#nav .icon{width:25px;height:25px;stroke-width:1.9}#nav a.active{color:#ff143c}#nav a.active .icon{fill:#ff2846;stroke:#ff2846}#nav a.active .icon .cut{stroke:#11171b;fill:#11171b}#nav a.active::after{content:'';height:3px;width:24px;background:transparent;border-radius:5px}.hero{position:relative;overflow:hidden;height:150px;background:#173346}.hero>img{width:100%;height:100%;object-fit:cover}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,6,12,.86),transparent 90%)}.hero-copy{position:absolute;top:45px;left:16px;z-index:1;max-width:58%}.hero-copy h2{font-size:25px;margin:0 0 4px;letter-spacing:.2px}.hero-copy p{font-size:15px;line-height:1.3;margin:0;color:#ddd}.tabs{height:42px;display:flex;gap:3px;align-items:stretch;overflow:auto;scrollbar-width:none;border-bottom:1px solid #1d2328;background:#0a1014}.tabs button{position:relative;flex-shrink:0;padding:0 11px;border:0;background:none;font-size:13px;color:#bdbec4}.tabs button.active{color:white;font-weight:700}.tabs button.active::after{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ff0035;border-radius:3px 3px 0 0;content:''}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:10px 8px 12px}.category-card{position:relative;aspect-ratio:.94;border:1px solid #343b42;border-radius:7px;overflow:hidden;background:#12171b;display:flex;align-items:end;justify-content:center;text-align:center;box-shadow:0 3px 10px #0005}.category-card img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;object-position:50% 40%}.category-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#020506ed)}.category-card span{position:relative;z-index:1;font-weight:700;font-size:11.5px;line-height:1.1;padding:8px 2px 7px;text-shadow:0 1px 3px black}.category-card .tag{position:absolute;top:9px;left:8px;background:#ff0032;color:white;font-size:9px;border-radius:4px;padding:3px 5px;z-index:1}.catalog-hero{height:165px}.catalog-hero::after{background:linear-gradient(90deg,transparent 15%,#080b12b8 100%)}.catalog-hero>img{transform:scaleX(-1)}.catalog-hero .hero-copy{left:auto;right:15px;top:30px;width:45%;text-align:center}.catalog-hero h2{color:#ff2146;text-transform:uppercase;font-style:italic;font-size:22px;line-height:1.04;letter-spacing:-.5px}.catalog-hero .primary{margin-top:15px;padding:11px 17px;border-radius:9px;font-size:14px}.dots{position:absolute;z-index:1;bottom:8px;left:0;right:0;text-align:center;color:#8b8f98;letter-spacing:3px;font-size:17px}.dots strong{color:white}.section-head{display:flex;justify-content:space-between;align-items:center;padding:11px 9px;gap:7px}.section-head h2{margin:0;font-size:20px}.section-head small{font-size:12px;color:#a4a9b0;font-weight:400;margin-left:5px}.section-head select{border:0;padding:9px 8px;border-radius:8px;background:#1b2129;font-size:12px;width:122px;color:#eee}.movie-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 9px;padding:0 9px 14px}.movie-card{min-width:0}.poster{position:relative;display:block;width:100%;aspect-ratio:.71;border-radius:7px;overflow:hidden;border:1px solid #353a3d;background:#111821}.poster img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;padding:3px 7px;border-radius:6px;background:#ff0535;box-shadow:0 0 12px #ff16378c;white-space:nowrap}.movie-title{display:flex;align-items:start;gap:3px;padding-top:6px}.movie-title a{font-size:10px;line-height:1.23;flex:1}.favorite-star{border:0;background:none;padding:0;min-width:16px;min-height:20px;display:grid;place-items:start center}.favorite-star .icon{width:15px;height:15px;stroke-width:1.4}.favorite-star.saved{color:#ffbd41}.favorite-star.saved .icon{fill:#ffbd41}.year{color:#a5a8b0;font-size:10px;display:block;margin-top:4px}.primary{border:0;background:linear-gradient(165deg,#ff5b42,#ff0039 80%);color:white;border-radius:26px;font-weight:700;font-size:19px;box-shadow:0 5px 20px #ff002a32;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px}.primary .icon{fill:white;stroke:white;width:22px;height:22px}.detail{position:relative;padding:14px 17px 12px;overflow:hidden;isolation:isolate}.detail::before{position:absolute;z-index:-2;content:'';inset:0 0 42%;background:radial-gradient(ellipse at 20% 20%,#63534890,transparent 55%),radial-gradient(ellipse at 80% 30%,#3f546490,transparent 55%),#090b0e;filter:blur(18px)}.detail-poster{position:relative;margin:0 auto 18px;width:66%;max-width:350px;aspect-ratio:.61;border-radius:14px;border:1px solid #bac1c64d}.detail-poster img{height:100%;width:100%;object-fit:cover;border-radius:14px}.detail-poster .badge{top:-4px;font-size:15px;padding:7px 14px;background:linear-gradient(100deg,#ff4b39,#ff9638);border-radius:12px}.detail h2{text-align:center;font-size:24px;line-height:1.2;margin:8px auto;max-width:480px;letter-spacing:-.35px}.meta{text-align:center;font-size:13px;line-height:1.5;margin:8px 0 18px}.rating{color:#ffd047;white-space:nowrap}.detail .primary{width:100%;margin-top:14px}.detail-actions{display:flex;justify-content:space-around;gap:15px;margin:16px 9px 20px}.round-action{display:flex;flex-direction:column;align-items:center;font-size:12px;gap:7px;border:0;background:none;padding:0;color:#d6d7d9}.round-action .circle{height:45px;width:45px;background:linear-gradient(#2e3033,#1b1d20);border-radius:50%;display:grid;place-items:center}.round-action .icon{width:24px;height:24px}.synopsis h3{font-size:18px;margin:14px 0 6px}.synopsis p{color:#d3d4d7;line-height:1.55;font-size:13px;margin:0 0 14px}.compare{display:block;margin:12px auto 0;font-size:10px;color:#a9afb5;text-align:center;text-decoration:underline}.orange .brand b{color:#ff6839}.orange .detail{padding:18px 23px}.orange .detail-poster{width:72%;aspect-ratio:.684}.orange .detail h2{font-size:29px;max-width:90%;margin-top:15px}.orange .meta{font-size:15px;margin:18px 0 25px}.orange .detail .primary{border-radius:16px;background:linear-gradient(145deg,#ff8434,#ff383c);font-size:23px;padding:16px}.orange .outline-favorite{border:1px solid #b7bac2;background:transparent;width:100%;border-radius:14px;font-size:20px;padding:13px;display:flex;justify-content:center;gap:12px;margin:10px 0 23px}.orange #nav a.active{color:#ff713a}.orange #nav a.active .icon{fill:none;stroke:#ff713a}.orange #nav a.active::after{background:#ff713a}.orange #nav a{font-size:12px}.orange .synopsis h3{font-size:22px}.orange .synopsis p{font-size:15px;color:#b8bdc3}.login-view{min-height:calc(100dvh - 58px);padding:50px 25px 30px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 90% 20%,#43212755,transparent 50%),#070c10}.login-view h1{font-size:30px;margin:16px 0 8px}.login-view p{color:#b6bbc1;line-height:1.5;font-size:14px}.login-view form{display:grid;gap:20px;margin-top:25px}.login-view label{font-size:13px;display:grid;gap:8px}.login-view input{width:100%;color:white;padding:15px;border-radius:9px;border:1px solid #39424c;background:#111922}.login-view .primary{margin:6px 0}.subtle-button{background:none;border:0;color:#bec4ca;text-decoration:underline;font-size:13px;padding:10px}.login-view .lab-note{font-size:11px;color:#8d98a2;margin-top:30px}.panel-content{padding:24px 18px}.panel-content h2{font-size:22px}.panel-content p{font-size:14px;line-height:1.55;color:#b9c0c9}.panel-content button,.panel-content a.control{border:1px solid #4a535d;background:#19212a;color:white;padding:12px 16px;border-radius:8px;margin:5px;display:inline-flex}.player-view{padding:16px 10px}.player-view video{width:100%;max-height:60dvh;background:black;aspect-ratio:16/9;display:block}.player-view h2{font-size:19px;margin:12px 4px}.player-controls{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.player-controls button{border:1px solid #48545e;border-radius:6px;padding:9px 11px;background:#1a242e;color:white}.player-view p{font-size:12px;color:#bfc5ce}.technical-list{display:grid;gap:9px;margin:20px 0}.technical-list a{border:1px solid #3f4954;background:#141c25;border-radius:8px;padding:17px}#toast{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);z-index:20;max-width:90%;background:#222d38;color:white;border:1px solid #65707d;border-radius:9px;padding:10px 16px;font-size:13px;display:none}#toast.show{display:block}dialog{border:1px solid #495562;border-radius:12px;background:#0c141e;color:#fff;width:min(92%,500px)}dialog::backdrop{background:#000b}dialog form{display:flex;gap:12px;align-items:end}dialog label{display:grid;gap:7px;flex:1}dialog input{width:100%;padding:10px;background:#1c2732;border:1px solid #4b5968;border-radius:6px;color:#fff}dialog button{padding:11px;border:0;border-radius:6px;background:#ff123b;color:white}#search-results a{display:block;padding:14px;border-bottom:1px solid #27323d}.empty{padding:24px;color:#b3bdc8;font-size:14px}.login-mode #nav{display:none}.login-mode #view{padding-bottom:0}@media(max-width:360px){#header{height:52px}.brand{font-size:24px}.hero{height:135px}.hero-copy{top:35px}.hero-copy h2{font-size:22px}.category-grid{gap:7px}.category-card span{font-size:10px}.movie-grid{gap:16px 7px}.catalog-hero .hero-copy{right:10px}.catalog-hero h2{font-size:19px}#nav a{font-size:10px}.detail h2{font-size:22px}.detail-poster{width:68%}}@media(min-width:700px){#header{height:70px;padding:12px 30px}.hero{height:235px}.hero-copy{left:30px;top:85px}.hero-copy h2{font-size:36px}.hero-copy p{font-size:19px}.tabs{height:52px}.tabs button{font-size:17px;padding:0 24px}.category-grid{grid-template-columns:repeat(5,1fr);gap:15px;padding:18px 22px}.category-card span{font-size:16px;padding-bottom:12px}.movie-grid{grid-template-columns:repeat(6,1fr);gap:25px 18px;padding:0 22px 22px}.movie-title a{font-size:14px}.year{font-size:12px}.favorite-star .icon{width:19px;height:19px}.section-head{padding:18px 22px}.section-head h2{font-size:26px}.section-head select{font-size:15px;width:175px}.catalog-hero .hero-copy{top:50px;right:40px}.catalog-hero h2{font-size:35px}.catalog-hero .primary{max-width:230px;margin:22px auto 0}.detail{max-width:650px;margin:auto}.detail-poster{width:55%}.detail .primary{max-width:520px;margin-left:auto;margin-right:auto}.detail h2{font-size:30px}.detail-actions{max-width:450px;margin-left:auto;margin-right:auto}.synopsis{max-width:550px;margin:auto}.login-view{max-width:480px;margin:auto}.player-view{padding:25px}.panel-content{padding:30px}.badge{font-size:12px}#nav a{font-size:13px}}@media(prefers-reduced-motion:no-preference){.category-card,.poster{transition:transform .15s}.category-card:hover,.poster:hover{transform:translateY(-2px)}}
.brand-logo{width:52px;height:52px;object-fit:contain;display:block}.login-logo{width:142px;height:142px;object-fit:contain;align-self:center;margin-bottom:8px}#loading-screen{position:fixed;inset:0;z-index:100;background:#070c10;display:grid;place-content:center;text-align:center;gap:18px}#loading-screen img{width:150px;height:150px;object-fit:contain;margin:auto}#loading-screen p{font-size:14px;color:#c3c8ce}.login-view{padding-top:20px;justify-content:flex-start}.login-view h1{font-size:27px}.login-view form{margin-top:18px}.login-view .lab-note{margin-top:14px}

/* CP4: composition follows the original series / TV images; mobile keeps the vertical flow. */
.proposal{margin:0;padding:10px 15px;color:#d6bd9e;font-size:12px;background:#15171c}.series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.series-card{display:flex;flex-direction:column;gap:8px}.series-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:9px;border:1px solid #384045}.series-card strong{font-size:15px}.series-card span{font-size:12px;color:#abb3ba}.series-catalog-hero>img{object-position:50% 30%}.series-detail{background:#060b0e}.series-art{position:relative;height:366px;overflow:hidden}.series-art>img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.series-art::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#060b0e)}.series-heading{position:absolute;bottom:4px;left:10px;right:10px;text-align:center;z-index:1}.series-heading h1{font-size:24px;margin:0 0 8px}.series-heading p{font-size:13px;margin:0;line-height:1.5}.series-main-actions{padding:10px 25px 0}.series-main-actions .primary{font-size:18px;padding:11px;width:100%;min-height:44px}.series-main-actions .detail-actions{margin:14px 0 12px}.series-main-actions .circle{width:44px;height:44px}.series-main-actions .round-action{font-size:12px}.series-tabs{display:flex;justify-content:space-around;height:44px}.series-tabs button{flex:1;font-size:13px}.series-tabs button.active::after{height:3px}#series-panel{padding:10px 15px 18px;font-size:14px;line-height:1.5}#series-panel h2{font-size:19px}.season-label{display:block;margin:0 0 6px}.season-label select{padding:8px 11px;background:#22272c;color:#fff;border:1px solid #343b40;border-radius:7px;font-size:13px;min-height:42px}.episode-row{border-bottom:1px solid #283137}.episode-link{display:flex;align-items:center;gap:13px;min-height:70px;padding:7px 0}.episode-thumb{width:112px;flex-shrink:0;position:relative;display:block}.episode-thumb img{width:100%;display:block;border-radius:5px;aspect-ratio:16/9}.episode-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border:1.5px solid #fff;border-radius:50%;background:#0007;display:grid;place-items:center}.episode-play .icon{width:18px;height:18px;fill:#fff}.episode-text{display:flex;flex-direction:column;gap:7px}.episode-text strong{font-size:13px;font-weight:400}.episode-text>span{font-size:12px;color:#b9bfc4}.episode-link.unavailable .episode-text>span{color:#ffb5a2}.download-note{font-size:11px;color:#9aa6ad;margin:12px 0 0}.similar-item{display:flex;gap:15px;align-items:center;padding:10px 0}.similar-item img{width:85px;border-radius:6px}.tv-view{background:#030709;min-height:calc(100dvh - 142px)}.tv-frame{position:relative;aspect-ratio:16/9;background:#000}.tv-frame>div{height:100%}.tv-frame video{display:block;width:100%;height:100%;object-fit:contain}.tv-frame:fullscreen{aspect-ratio:auto;display:grid;place-items:center}.simulation-badge{position:absolute;right:10px;top:10px;background:#333b42;border-radius:6px;padding:6px 8px;color:#fff;font-size:10px;font-weight:700}.simulation-badge.on{background:#f20731}.tv-controls{display:flex;align-items:center;gap:4px;padding:3px 8px;min-height:44px;background:#090e11}.tv-controls button{background:none;border:0;min-width:36px;min-height:40px;font-size:21px;padding:0 5px}.tv-controls #playback-status{flex:1;min-width:0;font-size:11px;color:#d1d6dc;line-height:1.2}.tv-controls input{width:58px;accent-color:#f22949}.channel-info{display:flex;align-items:center;gap:12px;padding:18px 20px 13px;min-height:90px}.channel-info>img{width:43px;height:43px;object-fit:contain}.channel-info>div{flex:1;min-width:0}.channel-info h1{font-size:17px;margin:0 0 7px;font-weight:600}.channel-info p{font-size:12px;color:#acb4bd;margin:0}.channel-favorite{border:0;background:none;min-width:40px;min-height:44px;padding:8px}.channel-favorite.saved .icon{fill:#ff1642;stroke:#ff1642}.channel-tabs{height:43px;gap:0;background:#070b0e}.channel-tabs button{min-height:43px;font-size:13px;padding:0 12px}.channel-list{padding:6px 13px}.channel-row{width:100%;display:flex;align-items:center;gap:12px;border:1px solid transparent;border-bottom:1px solid #222b30;border-radius:0;background:none;text-align:left;min-height:52px;padding:5px 11px;font-size:12px}.channel-row.playing{border:1px solid #ff1944;border-radius:15px;background:linear-gradient(105deg,#2b1420,#21181e);box-shadow:inset 0 0 14px #ff174414}.channel-row.pending{border-left-color:#687781}.channel-number{color:#bdc3c9;font-size:14px;min-width:24px}.channel-row img{width:31px;height:31px;object-fit:contain}.channel-name{flex:1}.channel-play{display:grid;place-items:center;border:1px solid #eee;width:25px;height:25px;border-radius:50%;flex-shrink:0}.channel-play .icon{width:17px;height:17px;fill:white}.tv-note{font-size:11px;line-height:1.5;color:#a3adb5;margin:9px 18px}.tv-retry{margin:4px 18px 12px;padding:10px 16px;min-height:44px;background:#20272d;border:1px solid #48525b;border-radius:6px}.tv-error{color:#ffb6a6;font-size:12px;margin:0 18px 10px}#header{padding-top:max(8px,env(safe-area-inset-top))}a:focus-visible,button:focus-visible{outline-offset:-2px}.round-action .circle .icon{pointer-events:none}
@media(max-width:350px){.series-art{height:315px}.series-heading h1{font-size:22px}.series-main-actions{padding-left:20px;padding-right:20px}.episode-thumb{width:90px}.episode-link{gap:9px}.tv-controls input{width:42px}.tv-controls button{min-width:31px}.channel-info{padding-left:14px;padding-right:12px;gap:8px}.channel-info h1{font-size:15px}.channel-row{gap:9px;padding-left:7px;padding-right:7px}.channel-tabs button{padding:0 11px}.tv-note{font-size:10px}}
@media(min-width:700px){.series-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:24px;gap:24px}.series-detail{max-width:680px;margin:auto}.series-art{height:470px}.series-heading h1{font-size:30px}.series-heading p{font-size:16px}.series-main-actions{padding:15px 50px 0}.series-tabs button{font-size:16px}.series-main-actions .detail-actions{margin:16px auto}.episode-thumb{width:150px}.episode-text strong{font-size:16px}.episode-text>span{font-size:14px}#series-panel{padding:15px 30px 25px}.tv-view{max-width:800px;margin:auto}.tv-controls #playback-status{font-size:14px}.tv-controls input{width:115px}.channel-info h1{font-size:23px}.channel-info p{font-size:15px}.channel-tabs button{font-size:16px;padding:0 23px}.channel-row{min-height:64px;font-size:16px;gap:20px}.channel-number{font-size:17px}.channel-row img{width:40px;height:40px}.simulation-badge{font-size:13px}.tv-note{font-size:13px}}

#nav a[data-icon="series"].active .icon{fill:none;stroke:#ff2846}

/* CP4-R1: visual-only corrections. Login, movie layout and functional JS stay unchanged. */
body:has(.series-detail) #header,body:has(.tv-view) #header{background:linear-gradient(100deg,#080f12,#030709);padding-left:12px;padding-right:12px}
body:has(.series-detail) #header .icon-button,body:has(.tv-view) #header .icon-button{min-width:44px;min-height:44px;padding:8px}
.series-detail{background:#03090c}.series-art{height:calc(100vw * 402 / 390);max-height:430px;background:#07110f}.series-art>img{object-fit:cover;object-position:center top}.series-art::after{inset:48% 0 0;background:linear-gradient(transparent 0%,#03090c35 35%,#03090c 98%)}.series-heading{bottom:4px;left:14px;right:14px;text-shadow:0 2px 7px #000}.series-heading h1{font-size:24px;line-height:1.18;font-weight:700;letter-spacing:-.45px;margin-bottom:8px}.series-heading p{font-size:14px;line-height:1.5;color:#f1f1f2}.series-main-actions{padding:10px 27px 0}.series-main-actions .primary{min-height:44px;line-height:24px;padding:10px 14px;border-radius:28px;font-size:18px;box-shadow:0 7px 20px #ff123b14}.series-main-actions .detail-actions{margin:14px 0 12px;gap:20px}.series-main-actions .round-action{font-size:13px;gap:7px;min-width:64px}.series-main-actions .circle{width:45px;height:45px;background:radial-gradient(circle at 35% 20%,#303637,#192024 80%)}.series-main-actions .round-action:disabled{opacity:.72;color:#c4c7c8}.series-main-actions .round-action:disabled .circle{background:#1a2226}.series-main-actions .round-action:disabled .icon{color:#879195}.series-tabs{height:44px;border-bottom-color:#202a2d;background:#050b0e}.series-tabs button{padding:0 12px;font-size:13px;min-height:44px;font-weight:400}.series-tabs button.active{font-weight:700}.series-tabs button.active::after{height:3px;border-radius:0}.series-detail #series-panel{padding:8px 17px 18px}.series-detail .season-label{height:44px;display:flex;align-items:center;margin:0;padding:5px 0}.series-detail .season-label select{height:34px;min-height:34px;min-width:126px;padding:4px 10px;border-radius:7px;background:linear-gradient(#282c2f,#1d2225);border-color:#373c40;font-size:13px}.series-detail .episode-row{border-color:#1f292e}.series-detail .episode-link{min-height:68px;gap:16px;padding:5px 0}.series-detail .episode-thumb{width:116px}.series-detail .episode-thumb img{aspect-ratio:2;object-fit:cover;border-radius:4px}.series-detail .episode-text{gap:5px}.series-detail .episode-text strong{font-size:14px;line-height:1.25}.series-detail .episode-text>span{font-size:12px;line-height:1.25;color:#c1c6c9}.series-detail .episode-play{width:32px;height:32px;background:#050709b0}.series-detail .download-note{font-size:11px;color:#a4adb3;line-height:1.5;margin-top:12px}
body:has(.tv-view) #header{height:60px}.tv-view{background:#030708}.tv-frame{aspect-ratio:16/9}.tv-controls{height:44px;min-height:44px;padding:0 6px;gap:0;background:linear-gradient(#080d10,#04090c)}.tv-controls button{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;display:grid;place-items:center;color:#f2f5f7}.tv-controls #tv-pause{order:0;font-size:0}.tv-controls #tv-pause::before{content:'';width:18px;height:20px;background:linear-gradient(90deg,#f4f7f8 0 30%,transparent 30% 64%,#f4f7f8 64% 94%);border-radius:1px}.tv-controls #tv-pause[aria-label="Continuar canal"]::before{background:#f4f7f8;clip-path:polygon(12% 3%,96% 50%,12% 97%)}.tv-controls #playback-status{order:1;font-size:11px;line-height:1.25;margin-right:8px;color:#f3f4f5}.tv-controls input{order:2;appearance:none;-webkit-appearance:none;width:100px;height:44px;min-width:50px;margin:0 3px;padding:0;background:transparent;accent-color:#eceff1}.tv-controls input::-webkit-slider-runnable-track{height:4px;background:#e1e5e7;border-radius:4px}.tv-controls input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:#fff;margin-top:-3px}.tv-controls input::-moz-range-track{height:4px;background:#e1e5e7;border-radius:4px}.tv-controls input::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#fff}.tv-controls #tv-mute{order:3;font-size:0}.tv-controls #tv-mute::before{content:'';width:22px;height:22px;background:url('/client/assets/r1-volume.svg') center/contain no-repeat}.tv-controls #tv-mute[aria-pressed="true"]::before{background-image:url('/client/assets/r1-muted.svg')}.tv-controls button[aria-label="Pantalla completa del canal"]{order:4;font-size:0}.tv-controls button[aria-label="Pantalla completa del canal"]::before{content:'';width:22px;height:22px;background:url('/client/assets/r1-fullscreen.svg') center/contain no-repeat}.simulation-badge{right:9px;top:9px;border-radius:6px;font-size:10px;line-height:1.2;letter-spacing:.1px;padding:6px 8px;background:#273238ed}.simulation-badge.on{background:#ed0630}.channel-info{min-height:90px;padding:17px 19px 14px;gap:16px;align-items:center}.channel-info>img{width:43px;height:43px}.channel-info h1{font-size:18px;line-height:1.2;margin:0 0 7px;letter-spacing:-.2px}.channel-info p{font-size:13px;color:#aeb6bb;line-height:1.25}.channel-favorite{min-width:44px;min-height:44px;padding:9px}.channel-tabs{height:42px;border-bottom:0;background:#030708}.channel-tabs button{padding:0 13px;font-size:14px;min-height:42px;color:#aeb5b9}.channel-tabs button.active{color:#fff}.channel-tabs button.active::after{height:4px;bottom:0;border-radius:2px}.channel-list{padding:6px 4px}.channel-row{display:grid;grid-template-columns:34px 34px minmax(0,1fr) 28px;gap:22px;min-height:48px;padding:5px 10px;font-size:13px;line-height:1.2;border-bottom-color:#20292e}.channel-number{font-size:15px;color:#c2c7cb}.channel-row img{width:31px;height:31px}.channel-name{min-width:0}.channel-play{width:28px;height:28px;justify-self:end;border-color:#dfe4e5}.channel-play .icon{width:17px;height:17px}.channel-row.playing{border-radius:14px;border-color:#ff1744;background:linear-gradient(105deg,#29111b,#291820 50%,#1d1118);box-shadow:inset 0 0 16px #ff164419}.tv-note{margin:12px 17px 4px;font-size:11px;line-height:1.5;color:#a8b0b5}.tv-retry{margin:5px 0 8px 17px;min-height:44px;padding:8px 12px;font-size:12px;border-color:#354149;background:#111b21;border-radius:7px}.tv-error{margin:0 17px 12px;font-size:12px}
@media(max-width:350px){.series-art{height:calc(100vw * 402 / 390)}.series-heading h1{font-size:22px;letter-spacing:-.4px}.series-heading p{font-size:12px}.series-main-actions{padding-left:23px;padding-right:23px}.series-main-actions .primary{font-size:16px}.series-main-actions .detail-actions{gap:12px}.series-main-actions .round-action{font-size:12px}.series-detail #series-panel{padding-left:14px;padding-right:14px}.series-detail .episode-thumb{width:100px}.series-detail .episode-link{gap:12px}.series-detail .episode-text strong{font-size:13px}.series-detail .episode-row .episode-link{min-height:63px}.tv-controls input{width:65px;margin:0}.tv-controls button{min-width:38px;width:38px;padding:8px}.tv-controls #playback-status{font-size:10px;margin-right:4px}.channel-info{padding-left:16px;padding-right:12px;gap:12px}.channel-info h1{font-size:15px}.channel-info p{font-size:12px}.channel-tabs button{font-size:13px;padding:0 12px}.channel-row{grid-template-columns:28px 30px minmax(0,1fr) 26px;gap:14px;padding:5px 9px;font-size:12px}.channel-number{font-size:14px}.channel-row img{width:30px;height:30px}.channel-play{width:26px;height:26px}}
@media(min-width:700px){.series-art{height:480px;max-height:none}.series-art>img{object-position:center 18%}.series-heading h1{font-size:30px}.series-heading p{font-size:16px}.series-main-actions{padding:14px 50px 0}.series-main-actions .primary{min-height:48px;font-size:21px}.series-main-actions .detail-actions{margin:16px auto 14px;max-width:490px}.series-main-actions .round-action{font-size:14px}.series-main-actions .circle{width:48px;height:48px}.series-tabs{height:48px}.series-tabs button{font-size:16px;min-height:48px}.series-detail #series-panel{padding:10px 28px 22px}.series-detail .season-label{height:46px}.series-detail .season-label select{font-size:14px;min-width:145px;height:36px}.series-detail .episode-link{min-height:85px;gap:20px;padding:7px 0}.series-detail .episode-thumb{width:140px}.series-detail .episode-text strong{font-size:16px}.series-detail .episode-text>span{font-size:13px}.series-detail .download-note{font-size:12px}body:has(.tv-view) #header{height:70px}.tv-controls{height:48px;min-height:48px;padding:0 10px}.tv-controls #playback-status{font-size:14px}.tv-controls input{width:140px}.channel-info{min-height:104px;padding:20px 25px;gap:18px}.channel-info h1{font-size:23px}.channel-info p{font-size:15px}.channel-info>img{width:48px;height:48px}.channel-tabs{height:48px}.channel-tabs button{font-size:16px;min-height:48px;padding:0 24px}.channel-list{padding:8px 12px}.channel-row{min-height:57px;grid-template-columns:40px 40px minmax(0,1fr) 30px;gap:25px;padding:7px 15px;font-size:15px}.channel-number{font-size:17px}.channel-row img{width:36px;height:36px}.channel-play{width:30px;height:30px}.tv-note{margin:14px 25px 4px;font-size:12px}.tv-retry{margin-left:25px;font-size:13px}}

/* R1 wide hero: keep its graphic title above the accessible HTML heading. */
@media(min-width:700px){.series-art{background:radial-gradient(ellipse at 50% 35%,#394234,#07110f 70%)}.series-art>img{position:absolute;top:0;left:50%;transform:translateX(-50%);width:500px;height:620px;max-width:none;object-fit:contain;object-position:top;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}}

/* CP5: safe areas and keyboard only; preserve CP4-R1 composition with zero insets. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
[hidden]{display:none!important}#app{padding-left:var(--safe-left);padding-right:var(--safe-right)}#header{height:calc(58px + var(--safe-top));padding-top:calc(8px + var(--safe-top))}body:has(.series-detail) #header{height:calc(58px + var(--safe-top));padding-top:calc(8px + var(--safe-top))}body:has(.tv-view) #header{height:calc(60px + var(--safe-top));padding-top:calc(8px + var(--safe-top))}#nav{padding-left:max(6px,var(--safe-left));padding-right:max(6px,var(--safe-right));padding-bottom:max(13px,var(--safe-bottom))}#view{padding-bottom:calc(84px + var(--safe-bottom));scroll-margin-bottom:calc(84px + var(--safe-bottom))}.login-mode #view{padding-bottom:var(--safe-bottom)}.login-view input{font-size:16px}.keyboard-open #nav{display:none}.keyboard-open #view{padding-bottom:20px}.login-view{scroll-padding-bottom:24px}#connection-notice,#update-notice{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(90px + var(--safe-bottom));z-index:30;max-width:min(94%,600px);background:#19232d;border:1px solid #637588;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.4;box-shadow:0 4px 20px #0008}#update-notice{bottom:auto;top:calc(10px + var(--safe-top))}#connection-notice button,#update-notice button{display:block;min-height:44px;margin-top:8px;padding:8px 16px;border:1px solid #9ea8b4;background:#202d3a;border-radius:6px}.offline-public{padding:30px;max-width:500px;margin:auto;text-align:center}.offline-public img{width:140px;height:140px;object-fit:contain}.offline-public button{margin:20px auto;min-height:44px}.player-controls button{min-height:44px}.series-detail .season-label{cursor:pointer}.favorite-star{position:relative}.favorite-star::after{content:'';position:absolute;inset:-3px;min-width:24px;min-height:24px}
@media(max-width:360px){#header{height:calc(52px + var(--safe-top))}}
@media(min-width:700px){#header,body:has(.series-detail) #header,body:has(.tv-view) #header{height:calc(70px + var(--safe-top));padding-top:calc(12px + var(--safe-top))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#connection-notice{pointer-events:none}#connection-notice button{pointer-events:auto}

/* Connection/update messages occupy space; they never cover episode text or controls. */
#connection-notice,#update-notice{position:relative;left:auto;top:auto;bottom:auto;transform:none;max-width:none;margin:8px 12px;box-shadow:none;pointer-events:auto}

/* CP8: keep approved composition; allow actual long titles and category labels. */
body:has(.catalog-hero) .catalog-hero{min-height:230px;height:auto;aspect-ratio:auto;display:flex;align-items:center;justify-content:flex-end;padding:24px 16px;overflow:hidden}
body:has(.catalog-hero) .catalog-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body:has(.catalog-hero) .catalog-hero .hero-copy{position:relative;inset:auto;width:55%;max-width:500px;min-width:0;transform:none;z-index:1}
.catalog-hero .hero-copy h2{font-size:clamp(18px,5.2vw,36px);line-height:1.15;overflow-wrap:anywhere;margin:0 0 16px}
.catalog-hero .hero-copy .primary{max-width:100%;min-height:44px;white-space:normal;margin:0}
.section-head{gap:12px;flex-wrap:wrap}.section-head h2{min-width:0;overflow-wrap:anywhere}.section-head select{max-width:100%;min-width:180px;color:#fff;background:#17212a;font-size:14px}
.channel-tabs,.series-catalog-hero+.tabs{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap}.channel-tabs button{flex:0 0 auto;max-width:270px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel-content details{margin-top:20px}.panel-content summary{min-height:44px;padding:12px 0}.panel-content details p{line-height:1.6}
