:root{--bg:#000;--bg2:#141414;--bg3:#1f1f1f;--line:#2a2a2a;--text:#fff;--muted:#a3a3a3;--red:#e50914;--on-red:#fff;--r:6px;--fd:'Bebas Neue';--fb:'Inter';--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--tab-h:58px;--anchor-h:0px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 var(--fb),system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
:root{--pr:4/7}
body{overscroll-behavior-y:none;--hdr:color-mix(in srgb,var(--bg) 92%,transparent);--soft:color-mix(in srgb,var(--text) 9%,transparent);--soft2:color-mix(in srgb,var(--text) 16%,transparent);--sub:color-mix(in srgb,var(--text) 84%,transparent);--top-h:58px}
.nav-topbar{--top-h:98px}
body.has-tabs{padding-bottom:calc(var(--tab-h) + var(--safe-b))}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.hide{display:none!important}.muted{color:var(--muted)}
.ic{width:22px;height:22px;flex:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 16px}.pad-top{padding-top:calc(var(--top-h) + 6px + var(--safe-t));min-height:70vh}
.center-box{text-align:center;padding:40px 0}

/* ---- brand ---- */
.brand{display:flex;align-items:center;gap:7px;font:400 27px/1 var(--fd),Impact,sans-serif;letter-spacing:1.2px}
.logo-title .brand{font-size:25px;letter-spacing:0}.logo-title .brand.sm{font-size:19px}
.brand .mark{width:34px;height:34px;filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--red) 40%,transparent))}
.brand .word{transform:translateY(2px)}.brand b{font-weight:400;color:var(--red)}
.brand.sm{font-size:21px}.brand.sm .mark{width:26px;height:26px}

/* ---- app bar ---- */
.top{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:24px;min-height:calc(58px + var(--safe-t));padding:calc(10px + var(--safe-t)) 16px 10px;color:var(--text);background:linear-gradient(color-mix(in srgb,var(--bg) 80%,transparent),transparent);transition:background .25s}
.top.solid,.top.scrolled,.hdr-solid .top,.hdr-center .top{background:var(--hdr);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hdr-solid .top,.hdr-center .top{border-bottom:1px solid var(--line)}
.top-title{margin:0;font-size:22px;font-weight:800;letter-spacing:-.3px}
.top-nav{display:none;gap:20px;font-size:14px;color:var(--sub)}.top-nav a.on{color:var(--text);font-weight:700}.top-nav a:hover{color:var(--muted)}
.menu-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;margin:0 -6px 0 -8px}
.hdr-center .top{justify-content:space-between}.hdr-center .top .brand{position:absolute;left:50%;transform:translateX(-50%)}.top-spacer{width:30px}
.hdr-center.nav-tabbar .top .brand{position:static;transform:none;margin:0 auto}
.detail-top{justify-content:space-between}
.round-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0008;color:#fff;backdrop-filter:blur(8px)}
.round-btn.done{color:#46d369}

/* ---- tab bar (mobile) ---- */
.tabbar{position:fixed;inset:auto 0 0;z-index:40;display:flex;height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--hdr);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--muted)}
.tabbar a.on{color:var(--text)}.tabbar a.on .ic{stroke-width:2.4}
/* ---- dải tab dưới header (nav=topbar) ---- */
.subnav{position:fixed;inset:calc(58px + var(--safe-t)) 0 auto;z-index:29;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:6px 16px 8px;background:var(--hdr);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:6px 14px;border-radius:99px;font-size:13.5px;font-weight:600;color:var(--sub)}.subnav a.on{background:var(--red);color:var(--on-red)}
/* ---- menu trượt (nav=drawer) ---- */
.drawer-bg{position:fixed;inset:0;z-index:70;background:#0009;opacity:0;visibility:hidden;transition:.25s}
.drawer{position:fixed;inset:0 auto 0 0;z-index:71;width:min(300px,84vw);background:var(--bg2);border-right:1px solid var(--line);padding:calc(14px + var(--safe-t)) 18px calc(20px + var(--safe-b));overflow:auto;transform:translateX(-102%);transition:transform .28s ease}
[dir=rtl] .drawer{inset:0 0 0 auto;transform:translateX(102%);border-right:0;border-left:1px solid var(--line)}
.drawer-open .drawer-bg{opacity:1;visibility:visible}.drawer-open .drawer{transform:none}.drawer-open{overflow:hidden}
.drawer-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.drawer-h button{width:36px;height:36px;display:grid;place-items:center}
.drawer-main{display:flex;flex-direction:column;gap:2px}.drawer-main a{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:10px;font-size:16px;font-weight:700}
.drawer-main a.on{background:var(--soft);color:var(--red)}
.drawer-sub{display:flex;flex-direction:column;gap:2px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.drawer-sub b{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 10px 6px}
.drawer-sub a{padding:8px 10px;font-size:14px;color:var(--sub)}

/* ---- chips ---- */
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 14px}.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;padding:6px 14px;border:1px solid color-mix(in srgb,var(--text) 35%,transparent);border-radius:99px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--bg) 30%,transparent);backdrop-filter:blur(6px)}
.chips a.on{background:var(--text);color:var(--bg);border-color:var(--text)}

/* ---- hero (thẻ poster lớn giữa màn kiểu Netflix mobile) ---- */
.hero{position:relative;overflow:hidden;padding:calc(var(--top-h) + var(--safe-t)) 0 6px}
.hero.empty{min-height:60vh;display:grid;place-items:center}.empty-title{font:400 40px var(--fd),sans-serif;letter-spacing:1px}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}.hero-slide.on{opacity:1}
.hero-bg{position:absolute;inset:-10%;background:center/cover no-repeat;filter:blur(38px) saturate(1.5) brightness(.6);transform:scale(1.1)}
.mode-light .hero-bg{filter:blur(44px) saturate(1.2) brightness(1.15);opacity:.55}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(#0000 40%,var(--bg));pointer-events:none}
.hero-chips{position:relative;z-index:2;padding:0 16px}
.hero-stage{position:relative;z-index:2;display:grid;padding:4px 16px 0}
.hero-card{grid-area:1/1;opacity:0;visibility:hidden;transform:scale(.97);transition:opacity .6s,transform .6s,visibility .6s;width:min(100%,400px,calc((100vh - 290px) * .6667));width:min(100%,400px,calc((100svh - 290px) * .6667));min-width:220px;margin:0 auto}
.hero-card.on{opacity:1;visibility:visible;transform:none}
.hero-poster{display:block;position:relative;border-radius:calc(var(--r) + 4px);overflow:hidden;box-shadow:0 20px 60px #000c,0 0 0 1px #ffffff1a;aspect-ratio:var(--pr);background:var(--bg3)}
.hero-poster img{width:100%;height:100%;object-fit:cover}
.hero-poster::after{content:'';position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(#0000,#000d)}
.hero-meta{position:relative;z-index:1;margin:10px 0 0;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:13px;font-weight:600;color:#eee}
.hdr-solid .hero-banner,.hdr-center .hero-banner{margin-top:calc(var(--top-h) + var(--safe-t))}
.nav-topbar .hero-banner{margin-top:calc(var(--top-h) + var(--safe-t))}
.hero-meta i{font-style:normal;color:var(--red);margin:0 7px}
.hero-cta{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0 0}
.hero-cta .mylist-btn,.sp-cta .mylist-btn{flex-direction:row;justify-content:center;background:var(--soft2);backdrop-filter:blur(8px);border-radius:6px;font-size:15px;font-weight:700;height:44px}
.hero-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}.hero-dots i{width:6px;height:6px;border-radius:9px;background:color-mix(in srgb,var(--text) 30%,transparent);transition:all .3s}.hero-dots i.on{width:18px;background:var(--text)}

/* ---- hero banner (template Rose/Jade): ảnh ngang tràn viền + chữ đè ---- */
.hero-banner{padding:0;min-height:min(78vh,640px);display:flex;align-items:flex-end}
.banner-img{position:absolute;inset:0;background:center 20%/cover no-repeat}
.hero-banner::after{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent) 0,transparent 25%,transparent 40%,var(--bg) 96%),linear-gradient(90deg,color-mix(in srgb,var(--bg) 70%,transparent),transparent 70%)}
.banner-body{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 16px 10px}.banner-body .hero-chips{padding:0}
.banner-meta{font-size:13px;font-weight:600;color:var(--muted)}.banner-meta i{font-style:normal;color:var(--red);margin:0 7px}
.banner-title{margin:6px 0 8px;font:400 clamp(30px,8vw,58px)/1.05 var(--fd),var(--fb),sans-serif;max-width:640px}
.banner-line{margin:0 0 4px;max-width:560px;font-size:14.5px;color:color-mix(in srgb,var(--text) 85%,transparent);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-banner .hero-cta{max-width:420px}
/* ---- hero lưới (template Ocean/Sunset): 4 poster, poster đầu to ---- */
.hero-grid{padding-bottom:8px}.hero-grid::after{display:none}
.hg{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px}
.hg-c{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:var(--pr);background:var(--bg3)}
.hg-big{grid-row:span 2;aspect-ratio:auto}
.hg-c img{width:100%;height:100%;object-fit:cover}
.hg-c span{position:absolute;inset:auto 0 0;padding:28px 10px 9px;background:linear-gradient(transparent,#000d);display:flex;flex-direction:column}
.hg-c b{font:400 15px/1.2 var(--fd),var(--fb),sans-serif;letter-spacing:.3px}.hg-big b{font-size:20px}.hg-c small{font-size:11px;color:#ccc}
.hg-c:nth-child(4){display:none}.hg-c span{color:#fff}
/* ---- hero danh sách nổi bật (hero=stack) ---- */
.hero-stack::after,.hero-split::after{display:none}.hero-stack,.hero-split{padding-bottom:4px}
.hs{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;padding:0 16px}
.hs-c{display:block;border-radius:calc(var(--r) + 2px);overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.hs-img{aspect-ratio:7/4;background:var(--bg3)}.hs-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.hs-body{display:flex;gap:12px;align-items:center;padding:10px 14px}.hs-n{font:400 34px/1 var(--fd),var(--fb),sans-serif;color:var(--red)}
.hs-body b{display:block;font:400 18px/1.2 var(--fd),var(--fb),sans-serif}.hs-body small{color:var(--muted);font-size:12px}
.hs-c:nth-child(n+2) .hs-img{display:none}
/* ---- hero 2 cột (hero=split) ---- */
.sp{position:relative;z-index:2;display:grid;grid-template-columns:40% 1fr;gap:14px;align-items:center;margin:0 16px;padding:12px;border-radius:calc(var(--r) + 6px);background:var(--bg2);border:1px solid var(--line)}
.sp-poster{border-radius:var(--r);overflow:hidden;aspect-ratio:var(--pr);background:var(--bg3)}.sp-poster img{width:100%;height:100%;object-fit:cover}
.sp-title{margin:4px 0 6px;font:400 clamp(20px,6vw,46px)/1.08 var(--fd),var(--fb),sans-serif}
.sp-line{margin:0 0 10px;font-size:13px;color:var(--sub);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.sp-cta{display:flex;flex-direction:column;gap:8px}.sp-cta .btn-red{height:42px}.sp-cta .mylist-btn{height:40px;font-size:13.5px}
/* thẻ cao: poster thon hơn */
.card-tall .card-img{aspect-ratio:var(--pr)}.card-tall .rail>.card{flex-basis:27%}
/* thẻ ngang 16:9 */
.card-wide .card-img{aspect-ratio:7/4}.card-wide .card-img img{object-position:center 25%}.card-wide .rail>.card{flex-basis:62%;max-width:320px}.card-wide .grid{grid-template-columns:repeat(2,1fr)}
.card-sub{font-size:11.5px;color:var(--muted)}
/* thẻ chữ đè */
.card-overlay .card-img::after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#000d);pointer-events:none}
.card-overlay .card-img .card-title{position:absolute;z-index:1;inset:auto 8px 8px;margin:0;color:#fff;white-space:normal;font:400 14px/1.15 var(--fd),var(--fb),sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.card-overlay .eps{top:6px}
/* ---- hàng phim dạng danh sách (rows=list) ---- */
.lst{display:flex;flex-direction:column;gap:2px}
.li{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.li-rank{flex:0 0 34px;font:400 34px/1 var(--fd),Impact,sans-serif;color:var(--red);text-align:center}
.li-img{flex:0 0 64px;aspect-ratio:var(--pr);border-radius:var(--r);overflow:hidden;background:var(--bg3)}.li-img img{width:100%;height:100%;object-fit:cover}
.li-body{min-width:0;flex:1}.li-body b{display:block;font-size:14.5px;line-height:1.25}.li-body .muted{font-size:12px}
.li-body p{margin:3px 0 0;font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rank-badge{position:absolute;z-index:1;top:0;left:0;min-width:28px;padding:2px 7px;font:400 20px/1.2 var(--fd),Impact,sans-serif;text-align:center;background:var(--red);color:var(--on-red);border-radius:0 0 var(--r) 0}

/* ---- buttons ---- */
.btn-white,.btn-red,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:6px;font-weight:700;font-size:15px}
.btn-white{background:var(--text);color:var(--bg)}.btn-white:active{opacity:.85}
.btn-red{background:var(--red);color:var(--on-red)}.btn-red:active{background:color-mix(in srgb,var(--red),#000 25%)}
.btn-ghost{background:var(--soft2);color:var(--text)}
.block{display:flex;width:100%}.big{height:48px;font-size:16px}
.btn-white .ic,.btn-red .ic{width:20px;height:20px}
.mylist-btn{display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600}
.mylist-btn .on{display:none}.mylist-btn.saved .on{display:block}.mylist-btn.saved .off{display:none}

/* ---- rails ---- */
.row{margin:22px 0}.wrap>.row:first-child:not(.hide),.wrap>.hide+.row{margin-top:4px}.row h2{margin:0 0 10px;font-size:18px;font-weight:800;letter-spacing:-.2px}
.row-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.row-head h2{margin:0}.row-head .muted{font-size:12px}
.rail{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px;scroll-padding:0 16px}.rail::-webkit-scrollbar{display:none}
.rail>.card{flex:0 0 31%;max-width:180px;scroll-snap-align:start}
.card{display:block;min-width:0}
.card-img{position:relative;aspect-ratio:var(--pr);border-radius:var(--r);overflow:hidden;background:var(--bg3)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .card-img img{transform:scale(1.04)}
.card-title{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag-new{position:absolute;top:6px;left:6px;background:var(--red);color:var(--on-red);font-size:9.5px;font-weight:800;letter-spacing:.6px;padding:2px 7px;border-radius:4px}
.eps{position:absolute;right:6px;top:6px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#000b;color:#fff}
/* top 10: số to viền + poster */
.rail-top>.card{flex:0 0 44%;max-width:250px}
.top10{display:flex;align-items:flex-end}
.top10 .rank{flex:none;width:44%;margin-right:-3%;padding-right:2px;font:400 min(30vw,170px)/.78 var(--fd),Impact,sans-serif;color:var(--bg);-webkit-text-stroke:2px var(--muted);text-align:right;letter-spacing:0}
.top10 .card-img{flex:1}
/* continue watching */
.rail-cw>.card{flex:0 0 31%}
.cw-play{position:absolute;inset:0;display:grid;place-items:center}
.cw-play svg{width:42px;height:42px;padding:10px;border-radius:50%;background:#000a;border:1.5px solid #fff;color:#fff}
.cw-bar{position:absolute;inset:auto 0 0;height:3px;background:#ffffff40}.cw-bar i{display:block;height:100%;background:var(--red)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 8px}

/* ---- ads ---- */
.ad{margin:22px auto;text-align:center;min-height:0}.ad-label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);opacity:.7;margin-bottom:4px}
.no-ads .ad{display:none}
.ad-sticky{position:fixed;inset:auto 0 0;z-index:60;margin:0;background:#000;padding-bottom:var(--safe-b)}.ad-sticky .ad-label{display:none}
.ad.ad-hide{display:none}.ad>div{min-height:50px}
.ad-wait:not(.ad-in .ad):not(.ad-first .ad){height:0;margin:0 auto;overflow:hidden}
/* vị trí responsive_1 ngay dưới header cố định: khung luôn giữ chỗ cho header; ad tắt/không fill thì chỉ còn khoảng header */
.ad-first{position:relative;z-index:3;padding-top:calc(var(--top-h) + var(--safe-t))}.ad-first .ad{margin:6px auto 4px}
.ad-first+.hero,.ad-first+.show-hero{padding-top:6px!important}.ad-first+.hero-banner,.ad-first+.show-backdrop{padding-top:0!important}
.ad-first+main.show{margin-top:0;padding-top:6px}
.ep-first{padding-top:calc(4px + var(--safe-t))}.ep-first .ad{margin:2px auto 4px}
.no-ads .ad-first .ad{display:none}
.teaser{margin:12px 0;padding:12px 14px;border-left:3px solid var(--red);background:var(--bg2);border-radius:var(--r)}.teaser p{margin:6px 0 0;font-size:13.5px;color:var(--sub)}
.small{font-size:12.5px}
.wg-head{display:flex;gap:14px;align-items:center;margin:8px 0 16px}.wg-head img{width:96px;aspect-ratio:var(--pr);object-fit:cover;border-radius:var(--r);flex:none}.wg-head .show-title{font-size:24px;margin:0 0 4px}
.wg-info{display:flex;gap:10px;align-items:center;margin:12px 0;padding:10px 12px;background:var(--bg2);border-radius:var(--r);font-size:13px;color:var(--sub)}.wg-info .ic{width:18px;height:18px;flex:none}.wg-info p{margin:0}

/* ---- show page ---- */
.detail .top{background:linear-gradient(color-mix(in srgb,var(--bg) 70%,transparent),transparent);border:0;backdrop-filter:none}.detail .top.scrolled{background:var(--hdr)}
.show-hero{position:relative;overflow:hidden;padding:calc(64px + var(--safe-t)) 0 0;display:flex;justify-content:center}
/* trang phim: poster trái + tên phải (detail=side) */
.show-side{justify-content:flex-start;align-items:flex-end;gap:14px;padding:calc(64px + var(--safe-t)) 16px 6px}
.show-side .show-poster{width:38%;max-width:230px;flex:none}.show-head{position:relative;z-index:2;min-width:0;flex:1}
.show-side .show-title{font-size:21px;margin-top:0}.show-side .btn-white{height:42px}
/* trang phim: ảnh nền tràn viền, tên đè (detail=backdrop) */
.show-backdrop{display:block;padding:0;min-height:min(70vh,560px);display:flex;align-items:flex-end}
.bd-img{position:absolute;inset:0;background:center 22%/cover no-repeat}
.show-backdrop::after{background:linear-gradient(transparent 30%,var(--bg) 94%)}
.show-backdrop .show-head{width:100%;padding-bottom:4px}.show-backdrop .show-title{font:400 clamp(30px,8vw,56px)/1.05 var(--fd),var(--fb),sans-serif}
.show-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(#0000 30%,var(--bg) 92%);pointer-events:none}
.show-poster{position:relative;z-index:1;width:min(62%,300px);aspect-ratio:var(--pr);object-fit:cover;border-radius:calc(var(--r) + 4px);box-shadow:0 24px 60px #000d,0 0 0 1px #ffffff1a}
.show{position:relative;z-index:2;margin-top:-6px}
.show-title{margin:14px 0 6px;font-size:26px;line-height:1.15;font-weight:900;letter-spacing:-.5px}
.show-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--muted);margin-bottom:14px}
.show-meta .new{color:#46d369;font-weight:700}.show-meta .box{border:1px solid var(--muted);border-radius:3px;padding:0 4px;font-size:10.5px;font-weight:700}
.synopsis{margin:14px 0 10px;font-size:14.5px;color:var(--sub)}
.show-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:14px;font-size:12.5px;line-height:1.4;color:var(--muted)}.show-tags a{margin-right:-2px;padding:3px 11px;border:1px solid color-mix(in srgb,var(--text) 30%,transparent);border-radius:99px;color:var(--text);font-weight:600}
.show-actions{display:flex;gap:34px;margin:18px 6px 4px}.act{display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--sub)}.act.done{color:#46d369}
.show-actions .mylist-btn{color:var(--sub)}
.ep-list{display:flex;flex-direction:column;gap:2px;margin:0 -16px}
.ep-row{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}.ep-row:active{background:var(--soft)}
.ep-thumb{position:relative;flex:0 0 74px;aspect-ratio:9/14;border-radius:6px;overflow:hidden;background:var(--bg3)}
.ep-thumb img{width:100%;height:100%;object-fit:cover}
.ep-play,.ep-lock{position:absolute;inset:0;display:grid;place-items:center;background:#0005}
.ep-play .ic{width:26px;height:26px;padding:6px;border-radius:50%;border:1.5px solid #fff;background:#0008;color:#fff}
.ep-lock{display:none;background:#000a}.ep-lock .ic{width:22px;height:22px;color:#ffd166}
.ep-row.locked .ep-lock{display:grid}.ep-row.locked .ep-play{display:none}
.ep-info{min-width:0;flex:1}.ep-info b{display:block;font-size:14px;font-weight:700;margin-bottom:2px}.ep-info .muted{font-size:12px}
.ep-info p{margin:4px 0 0;font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cast{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.cast::-webkit-scrollbar{display:none}
.cast-c{flex:0 0 84px;text-align:center}.cast-c img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:top;margin-bottom:6px;border:2px solid var(--line)}
.cast-c b{display:block;font-size:12.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cast-c span{font-size:11px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---- watch (player dọc full màn) ---- */
.watch{--bg:#000;--bg2:#141414;--bg3:#1f1f1f;--line:#2a2a2a;--text:#fff;--muted:#a3a3a3;background:#000;color:#fff}
/* player dọc trong trang cuộn: R1 phía trên, R2 + danh sách tập phía dưới */
.player{container-type:inline-size;position:relative;width:100%;height:min(calc(100vh - 100px),860px);height:min(calc(100svh - 100px),860px);max-width:calc(min(100svh - 100px,860px) * .5625);margin:0 auto;background:#000;overflow:hidden;touch-action:manipulation}
@media (max-width:759px){.player{max-width:none}}
.ep-page{padding-top:4px}.ep-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}
.unlocked{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;padding:20px;background:#000d;backdrop-filter:blur(8px)}
.ok-ic{width:64px;height:64px;margin:0 auto 4px;border-radius:50%;display:grid;place-items:center;background:#46d369;color:#000}.ok-ic .ic{width:34px;height:34px;stroke-width:3}
.player video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
@media (max-aspect-ratio:10/16){.player video{object-fit:cover}}
.p-top{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;gap:10px;padding:calc(10px + var(--safe-t)) 12px 30px;background:linear-gradient(#000b,#0000)}
.p-back{width:36px;height:36px;display:grid;place-items:center}
.p-title{flex:1;min-width:0;line-height:1.2}.p-title b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-title span{font-size:12px;color:#ccc}
.p-top .mark{width:28px;height:28px;opacity:.9}
.p-sound{position:absolute;z-index:4;top:calc(64px + var(--safe-t));left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:#ffffffe6;color:#000;font-size:13px;font-weight:700;box-shadow:0 6px 20px #0008}
.p-sound .ic{width:18px;height:18px}
.p-center{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:#0008;display:grid;place-items:center;pointer-events:none}.p-center .ic{width:34px;height:34px}
.p-side{position:absolute;z-index:3;right:8px;bottom:calc(140px + var(--safe-b));display:flex;flex-direction:column;gap:20px;align-items:center}
.p-side>a,.p-side>button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;text-shadow:0 1px 4px #000}
.p-side i{width:44px;height:44px;display:grid;place-items:center;filter:drop-shadow(0 1px 3px #000c)}
.p-side .mylist-btn .ic{width:44px;height:44px;padding:11px;filter:drop-shadow(0 1px 3px #000c)}
.p-info{position:absolute;z-index:2;left:0;right:70px;bottom:0;padding:40px 14px calc(18px + var(--safe-b));background:linear-gradient(#0000,#000a)}
.p-info b{display:block;font-size:15px;margin-bottom:2px;text-shadow:0 1px 4px #000}.p-info span{font-size:12px;color:#ccc}
.sub{position:absolute;z-index:2;left:14px;right:62px;bottom:calc(86px + var(--safe-b));text-align:center;pointer-events:none}
/* phụ đề karaoke: chữ to đậm viền đen (xem tắt tiếng vẫn đọc được), chữ đang nói vàng nảy nhẹ */
.sub .cue{display:inline;color:#fff;font-size:clamp(19px,5.8cqw,26px);font-weight:900;line-height:1.32;letter-spacing:.2px;text-shadow:2px 2px 0 #000,-2px 2px 0 #000,2px -2px 0 #000,-2px -2px 0 #000,0 2px 0 #000,0 -2px 0 #000,2px 0 0 #000,-2px 0 0 #000,0 3px 10px #000c}
.sub .w{display:inline-block;font-style:normal;opacity:.72;transition:transform .12s,color .12s,opacity .12s}
.sub .w.past{opacity:1}
.sub .w.on{opacity:1;color:#ffd23f;transform:scale(1.08);margin:0 .1em}
.player video{touch-action:none}
.p-hint{position:absolute;z-index:4;left:50%;bottom:calc(150px + var(--safe-b));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 16px;border-radius:14px;background:#000a;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;animation:hint-up 1.1s ease-in-out infinite}
.p-hint span{font-size:22px;line-height:.8}
@keyframes hint-up{50%{transform:translate(-50%,-10px)}}
#endNext{position:relative;overflow:hidden}
#endNext.counting::after{content:'';position:absolute;inset:0;background:#fff3;transform-origin:left;animation:end-fill 3s linear forwards;pointer-events:none}
@keyframes end-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.end-count b{color:#fff;font-size:15px}
.cw-wrap:has(.cw-top:not(.hide)){padding-top:calc(var(--top-h) + var(--safe-t))}
.cw-wrap:has(.cw-top:not(.hide))+.hero{padding-top:0}
.cw-top{display:flex;align-items:center;gap:10px;margin:8px 0;padding:8px 12px 8px 8px;border-radius:12px;background:#1c1c1c;border:1px solid var(--line)}
.cw-top img{width:40px;aspect-ratio:var(--pr);object-fit:cover;border-radius:6px;flex:none}
.cw-top span{flex:1;min-width:0;line-height:1.25}.cw-top small{display:block;font-size:11px;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:1px}
.cw-top b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw-top i{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--red);color:var(--on-red)}.cw-top i .ic{width:16px;height:16px}
.p-bar{position:absolute;z-index:3;inset:auto 0 0;height:3px;background:#ffffff30}.p-bar i{display:block;height:100%;width:0;background:var(--red)}
.p-end,.lock,.sheet{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:20px;background:#000c;backdrop-filter:blur(8px)}
.end-card,.lock-card{width:100%;max-width:340px;text-align:center;display:flex;flex-direction:column;gap:10px}
.end-kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--red);font-weight:800}
.end-title{font:400 40px/1 var(--fd),sans-serif;letter-spacing:1px}.end-count{color:#ccc;font-size:13px;margin-bottom:6px}
.lock-card img{width:120px;aspect-ratio:var(--pr);object-fit:cover;border-radius:8px;margin:0 auto 6px;box-shadow:0 10px 30px #000}
.lock-t{font-size:20px;font-weight:800}.lock-card p{margin:0 0 6px;color:#ccc;font-size:14px}.lock-msg{font-size:12px;color:#ffd166;min-height:16px}
.sheet{align-items:flex-end;padding:0}
.sheet-card{width:100%;max-width:560px;max-height:72vh;overflow:auto;background:#181818;border-radius:16px 16px 0 0;padding:8px 16px calc(20px + var(--safe-b))}
.sheet-grab{width:40px;height:4px;border-radius:4px;background:#555;margin:0 auto 10px}
.sheet-h{display:flex;justify-content:space-between;align-items:center}.sheet-h button{font-size:20px;width:36px;height:36px}
.sheet-sub{font-size:12px;color:var(--muted);margin-bottom:12px}
.sheet-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sg{position:relative;aspect-ratio:1;border-radius:8px;background:#2a2a2a;display:grid;place-items:center;font-weight:800}
.sg.cur{background:var(--red);color:var(--on-red)}.sg i{display:none;position:absolute;top:3px;right:3px}.sg i .ic{width:12px;height:12px;color:#ffd166}.sg.locked i{display:block}

/* ---- footer + prose ---- */
.foot{padding:30px 16px 24px;margin-top:30px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0}.foot .fine{font-size:11.5px;opacity:.75}
.hdr-center .foot{text-align:center}.hdr-center .foot .brand,.hdr-center .foot nav{justify-content:center}
.prose{max-width:820px;overflow-wrap:anywhere;color:color-mix(in srgb,var(--text) 86%,transparent);padding-bottom:30px;line-height:1.65}.prose h2{color:var(--text);font-size:19px;margin:28px 0 8px}.prose h3{color:var(--text);font-size:17px;margin:24px 0 8px}.prose h4{color:var(--text);font-size:15px;margin:18px 0 6px}.prose p:has(>br:only-child){display:none}
.prose a{color:var(--red);text-decoration:underline;text-underline-offset:2px}.prose li{margin:6px 0}.prose ul,.prose ol{padding-left:22px}.prose code{font-size:13px;background:var(--bg3);padding:1px 5px;border-radius:4px;word-break:break-all}
.prose .upd{color:var(--muted);font-size:13px}.prose .card-box{background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:8px;padding:14px 16px}
.page-title{font-size:26px;font-weight:900}.prose .page-title{font-family:var(--fd),var(--fb),sans-serif;font-weight:400;font-size:34px;line-height:1.1;letter-spacing:.3px;margin:6px 0 4px;color:var(--text)}

/* ---- desktop: thanh nav trên, ẩn tab bar ---- */
@media (min-width:760px){
  body.has-tabs{padding-bottom:0}.tabbar{display:none}
  .top{padding:16px 40px}.top-nav{display:flex}.top-title{display:none}
  .nav-topbar .top-nav{display:none}.nav-topbar{--top-h:112px}.subnav{inset:calc(66px + var(--safe-t)) 0 auto;padding:8px 40px 10px;justify-content:center}
  .hdr-center .top{flex-wrap:wrap}.hdr-center .top-nav{order:3}
  .hs{flex-direction:row;padding:0 40px}.hs-c{flex:1}.hs-c:nth-child(n+2) .hs-img{display:block}
  .sp{margin:0 40px;grid-template-columns:minmax(220px,300px) 1fr;gap:32px;padding:24px}.sp-line{font-size:15px}.sp-cta{flex-direction:row}.sp-cta>*{min-width:170px}
  .card-wide .rail>.card{flex-basis:300px}.card-wide .grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
  .lst{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.li-img{flex-basis:80px}
  .show-side{padding:110px 40px 10px;gap:32px;max-width:1000px;margin:0 auto;align-items:center}.show-side .show-title{font-size:38px}.show-side .btn-white{max-width:320px}
  .show-backdrop .show-head{max-width:900px}
  .top:has(.top-title)::before{content:'';display:none}
  .wrap{padding-left:40px;padding-right:40px}.rail{margin:0 -40px;padding:0 40px;scroll-padding:0 40px}
  .rail>.card{flex-basis:170px}.rail-top>.card{flex-basis:250px}.top10 .rank{font-size:170px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px 12px}
  .hero{padding-top:90px}.hero-chips{padding:0 40px}
  .show-title{font-size:38px}.ep-list{margin:0}.ep-row{padding:12px 0}.ep-thumb{flex-basis:90px}
  .show{max-width:900px}
  .banner-body{padding:0 40px 20px}.hg{grid-template-columns:repeat(4,1fr);gap:12px;padding:0 40px}.hg-big{grid-row:auto;aspect-ratio:var(--pr)}.hg-c:nth-child(4){display:block}
  .card-tall .rail>.card{flex-basis:150px}
  /* Lề trái/phải desktop khớp khung .wrap (1280px − 2×40px) cho header, hero, footer — màn rộng không lệch nhau. */
  .top,.subnav{padding-left:var(--gut);padding-right:var(--gut)}
  .hero-chips,.hs,.hg{padding-left:var(--gut);padding-right:var(--gut)}.sp{margin-left:var(--gut);margin-right:var(--gut)}
  .foot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 32px;padding:34px var(--gut) 28px}
  .foot>p:not(.fine){grid-column:1;margin:0}.foot nav{grid-column:2;grid-row:1/3;margin:0;justify-content:flex-end}
  .foot .fine{grid-column:1/-1;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line)}
  .hdr-center .foot{grid-template-columns:1fr}.hdr-center .foot nav{grid-column:1;grid-row:auto;justify-content:center}.hdr-center .foot>p:not(.fine),.hdr-center .foot .brand{grid-column:1;justify-self:center}
}
@media (min-width:760px){:root{--gut:max(40px,calc((100vw - 1200px) / 2))}}
/* Hết phim: phim kế + lưới đề xuất; hàng nút phát lại / chia sẻ */
.p-end{overflow:auto;align-items:center}
.end-row{display:flex;gap:8px}.end-row>*{flex:1;padding:0 10px}
.end-next{display:flex;gap:12px;align-items:center;text-align:left;background:#ffffff14;border-radius:10px;padding:10px}
.end-next img{width:72px;aspect-ratio:var(--pr);object-fit:cover;border-radius:6px;flex:none}
.end-next>div{display:flex;flex-direction:column;gap:4px;min-width:0}.end-next b{font-size:15px;line-height:1.25}.end-next .muted{font-size:12px}
.btn-red.sm{height:32px;padding:0 12px;font-size:13px;align-self:flex-start;margin-top:2px}.btn-red.sm .ic{width:14px;height:14px}
.end-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.end-grid a{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;text-align:left}
.end-grid img{width:100%;aspect-ratio:var(--pr);object-fit:cover;border-radius:6px}
.end-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Share sheet */
.share-sheet{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#000a;backdrop-filter:blur(4px)}
.share-sheet.hide{display:none}
.share-card{width:100%;max-width:520px;background:#181818;color:#fff;border-radius:16px 16px 0 0;padding:8px 16px calc(20px + var(--safe-b,0px))}
.share-x{font-size:20px;width:36px;height:36px;color:#fff}
.share-nets{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 6px;margin:14px 0}
.share-nets a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:#ddd;cursor:pointer}
.share-nets i{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font:800 20px/1 system-ui,sans-serif;font-style:normal;color:#fff}
.share-nets i.more{background:#333;font-size:14px;letter-spacing:1px}
.share-copy{display:flex;gap:8px}.share-copy input{flex:1;min-width:0;height:44px;border-radius:6px;border:1px solid #333;background:#0d0d0d;color:#bbb;padding:0 10px;font-size:13px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.share-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid var(--line,#2a2a2a);border-radius:12px;background:var(--bg2,#141414)}
.share-bar b{font-size:14px;font-weight:700}
.sb-nets{display:flex;gap:8px;flex-wrap:wrap}
.sb-nets a,.sb-nets button{display:block;padding:0;background:none;border:0;cursor:pointer;color:#fff}
.sb-nets a[hidden]{display:none}
.sb-nets i{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;transition:transform .15s}
.sb-nets i .ic{width:20px;height:20px}
.sb-nets a:active i,.sb-nets button:active i{transform:scale(.9)}
.sb-nets .sb-copy,.sb-nets .sb-more{background:var(--bg3,#2a2a2a);color:var(--text,#fff)}
.sb-nets button.ok i::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);right:0;white-space:nowrap;background:#fff;color:#000;font:600 12px/1 system-ui,sans-serif;padding:6px 8px;border-radius:6px}
.ep-h1{font-size:16px;font-weight:700;margin:14px 0 0;line-height:1.35}
@media (min-width:900px){.sb-nets i{width:44px;height:44px}}
.adtest-badge{position:fixed;top:calc(66px + var(--safe-t,0px));left:8px;z-index:999;background:#f5c518;color:#000;font:800 11px/1 system-ui,sans-serif;letter-spacing:.5px;padding:6px 10px;border-radius:99px;box-shadow:0 2px 10px #0008}
.ad-in{position:relative;z-index:2;flex:0 0 100%;width:100%;max-width:1280px;margin:0 auto;padding:0 16px}.ad-in .ad{margin:2px auto 12px}
.show-hero{flex-wrap:wrap}.show-backdrop .ad-in,.banner-body .ad-in,.wg .ad-in{padding:0}.show-backdrop .ad-in{align-self:flex-start}
.wg{padding-top:calc(var(--top-h) + var(--safe-t));margin-top:0}
.show-hero:has(.ad-in){padding-top:calc(var(--top-h) + var(--safe-t))}
/* Trang P1: mỗi banner cách nhau 1 khối nội dung thật (head → ad → Story+share → ad → Episodes → ad → New/Popular) — giữ viewability. */
@media (min-width:760px){.show-page .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 10px}}
/* P1 head gọn (kiểu bb-game-head ERP): poster nhỏ giữ tỉ lệ gốc (không cắt chữ trên poster) + info bên phải, CTA dưới */
.show-p1{display:block;padding:calc(var(--top-h) + var(--safe-t)) 0 0}
.show-p1:not(:has(.ad-in)){padding-top:calc(var(--top-h) + var(--safe-t) + 6px)}
.p1-head{position:relative;z-index:2;display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px 14px;align-items:start;padding:4px 16px 0}
.show-p1 .show-poster{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;box-shadow:0 4px 10px #0008,0 0 0 1px #ffffff1a}
.p1-cta{position:relative;z-index:1}
.p1-head .show-title{margin:2px 0 6px;font-size:21px}.p1-head .show-meta{margin-bottom:0}.p1-head .show-tags{margin-top:8px}
.p1-info{display:contents}.p1-cta{grid-column:1/-1}
.show-p1+main.show{margin-top:0}
.show-p1+main>.ad:first-child{margin-top:26px}
@media (min-width:760px){
  .p1-head{grid-template-columns:200px minmax(0,1fr);gap:16px 28px;padding:8px var(--gut) 0;max-width:none}
  .p1-head .show-title{font-size:36px}
  .p1-head{align-items:start}.p1-info{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-top:36px}.p1-cta{width:100%}.p1-cta .btn-white{max-width:340px}
}
/* Browse kiểu danh mục: ô thể loại màu + 3 poster xếp nghiêng */
.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cat{position:relative;overflow:hidden;min-height:96px;padding:12px;border-radius:calc(var(--r) + 4px);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,var(--c1),var(--c2))}
.cat b{position:relative;z-index:1;max-width:58%;font-size:16px;font-weight:800;line-height:1.15;text-shadow:0 1px 8px #000c}.cat small{position:relative;z-index:1;max-width:58%;font-size:11.5px;opacity:.85}
.cat-imgs{position:absolute;right:-6px;top:10px;width:42%;height:110%;opacity:.9}
.cat-imgs img{position:absolute;top:0;width:44px;aspect-ratio:var(--pr);object-fit:cover;border-radius:6px;box-shadow:0 6px 14px #0009}
.cat-imgs img:nth-child(1){right:40px;transform:rotate(-12deg);top:14px}.cat-imgs img:nth-child(2){right:20px;transform:rotate(-2deg)}.cat-imgs img:nth-child(3){right:-8px;transform:rotate(10deg);top:12px}
.cat-0{--c1:#b4122a;--c2:#4a0a14}.cat-1{--c1:#6d28d9;--c2:#2a0f5a}.cat-2{--c1:#0e7490;--c2:#06303b}.cat-3{--c1:#c2410c;--c2:#4a1906}.cat-4{--c1:#be185d;--c2:#4a0a26}.cat-5{--c1:#15803d;--c2:#06341a}
/* New & Hot: HOT xếp hạng, NEW thẻ ảnh ngang lớn */
.hots{display:grid;gap:4px}
.hot{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.hot-n{flex:0 0 38px;text-align:center;font:400 40px/1 var(--fd),Impact,sans-serif;color:transparent;-webkit-text-stroke:1.5px var(--text)}
.hot:nth-child(-n+3) .hot-n{color:var(--red);-webkit-text-stroke:0}
.hot-img{flex:0 0 64px;aspect-ratio:var(--pr);border-radius:var(--r);overflow:hidden;background:var(--bg3)}.hot-img img{width:100%;height:100%;object-fit:cover}
.hot-body{min-width:0;display:flex;flex-direction:column;gap:2px}.hot-body b{font-size:15px;line-height:1.25}.hot-body .muted{font-size:12px}
.hot-v{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#ffb020}.hot-v .ic{width:12px;height:12px}
.nws{display:grid;gap:18px}
.nw{border-radius:calc(var(--r) + 4px);overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.nw-img{position:relative;display:block;aspect-ratio:7/4;background:var(--bg3)}.nw-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.nw-img::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#000a)}
.nw-date{position:absolute;z-index:1;left:10px;bottom:10px;display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700}
.nw-date i{font-style:normal;background:var(--red);color:var(--on-red);padding:2px 7px;border-radius:4px;font-size:11px;text-transform:uppercase}
.nw-body{padding:12px 14px 14px}.nw-meta{font-size:12px;color:var(--muted)}.nw h3{margin:4px 0 6px;font-size:19px;font-weight:800;line-height:1.2}
.nw p{margin:0 0 12px;font-size:13.5px;color:var(--sub);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nw-cta{display:flex;gap:10px;align-items:center}.nw-cta .btn-red{height:40px;flex:1}.nw-cta .mylist-btn{flex-direction:row;justify-content:center;height:40px;padding:0 14px;border-radius:6px;background:var(--soft2);font-size:13.5px}
@media (min-width:760px){
  .cats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.cat{min-height:120px}.cat-imgs img{width:64px}
  .hots{grid-template-columns:repeat(2,1fr);gap:4px 32px}
  .nws{grid-template-columns:repeat(2,1fr);gap:22px}
}

.pad-top>.ad:first-child{margin:4px auto 14px}
/* ---- desktop: logo luôn hiện; hero trang chủ kiểu điện ảnh (banner ngang + tên/logline trái + thumbnail chọn phim) ---- */
.top-logo-d,.hero-wide,.hero-info,.hero-line,.hero-thumbs{display:none}
@media (min-width:760px){
  .top-logo-d{display:flex}
  .show-p1+main.show-page{padding-top:32px}
  .show-page{max-width:none;padding-left:var(--gut);padding-right:var(--gut)}
  .cats{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cat{min-height:150px;padding:18px}.cat b,.cat strong{font-size:22px}
  .ep-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
  #myBrowse{max-width:340px;margin:0 auto}
}
@media (min-width:900px){
  .hero[data-carousel]{min-height:min(86vh,780px);display:flex;flex-direction:column;padding-bottom:28px}
  .hero[data-carousel]::after{background:linear-gradient(#0000 55%,var(--bg) 98%)}
  .hero[data-carousel] .hero-bg{display:none}
  .hero-wide{display:block;position:absolute;inset:0 0 0 40%;background:right center/cover no-repeat}
  .hero-wide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0,var(--bg) 6%,color-mix(in srgb,var(--bg) 85%,transparent) 42%,transparent 80%),linear-gradient(color-mix(in srgb,var(--bg) 60%,transparent),transparent 22%)}
    .hero-slide.on .hero-wide{animation:hzoom 9s ease-out both}
  @keyframes hzoom{from{transform:scale(1.06)}to{transform:none}}
  .hero[data-carousel] .hero-stage{flex:1;align-content:end;padding:0 var(--gut)}
  .hero[data-carousel] .hero-card{width:min(560px,46vw);min-width:0;margin:0;transform:translateY(12px)}
  .hero[data-carousel] .hero-card.on{transform:none}
  .hero[data-carousel] .hero-poster{display:none}
  .hero-info{display:block}
  .hero-new{display:inline-block;margin-bottom:12px;padding:3px 9px;border-radius:4px;background:var(--red);color:var(--on-red);font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
  .hero-title{margin:0;font:400 clamp(44px,5vw,72px)/1 var(--fd),Impact,sans-serif;letter-spacing:.5px;text-shadow:0 4px 24px #000a}
  .hero[data-carousel] .hero-meta{text-align:left;padding:0;margin-top:14px;font-size:15px}
  .hero-line{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:12px 0 0;font-size:16px;line-height:1.55;color:#ddd;text-shadow:0 1px 8px #000}
  .hero[data-carousel] .hero-cta{display:flex;padding-top:22px}
  .hero[data-carousel] .hero-cta>*{min-width:170px;height:48px;font-size:16px}
  .hero[data-carousel] .hero-dots{display:none}
  .hero-thumbs{display:flex;gap:10px;position:absolute;right:var(--gut);bottom:0;z-index:3}
  .hero-thumbs button{width:62px;aspect-ratio:var(--pr);padding:0;border-radius:8px;overflow:hidden;border:2px solid transparent;opacity:.55;transition:all .25s;cursor:pointer;background:var(--bg3)}
  .hero-thumbs button img{width:100%;height:100%;object-fit:cover}
  .hero-thumbs button:hover{opacity:.85}.hero-thumbs button.on{opacity:1;border-color:#fff;transform:translateY(-6px)}
}
/* Lưới tập dưới player: ô nhỏ cố định, không giãn hết bề ngang */
.sheet-grid.ep-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}
@media (min-width:760px){.sheet-grid.ep-grid{grid-template-columns:repeat(auto-fill,56px);gap:10px}.ep-grid .sg{font-size:15px;border-radius:10px;transition:background .2s}.ep-grid .sg:not(.cur):hover{background:#3a3a3a}}
.ul-pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#000c;backdrop-filter:blur(8px);color:#fff}
.ul-card{background:#181818;border-radius:16px;padding:22px 18px;box-shadow:0 20px 60px #000a}
.ul-card .ok-ic{font-size:34px;font-weight:900}
body.ul-open{overflow:hidden}

/* ---- loading giữa các trang (3s cho quảng cáo trang mới load sẵn) ---- */
.pl{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:radial-gradient(60% 45% at 50% 45%,color-mix(in srgb,var(--red) 16%,var(--bg)),var(--bg) 70%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}
.pl-on .pl,.pl.go{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s ease,visibility 0s}
.pl-out .pl,.pl.out{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility 0s linear .5s}
.pl-in{display:flex;flex-direction:column;align-items:center;gap:22px;transform:scale(.96);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pl-on .pl-in,.pl.go .pl-in{transform:none}.pl-out .pl-in,.pl.out .pl-in{transform:scale(1.03)}
.pl .brand{font-size:34px;color:var(--text);animation:pl-breathe 1.6s ease-in-out infinite}.pl .brand .mark{width:44px;height:44px}
.pl-bar{position:relative;width:132px;height:3px;border-radius:3px;background:color-mix(in srgb,var(--text) 14%,transparent);overflow:hidden}
.pl-bar b{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--red);border-radius:3px;box-shadow:0 0 12px var(--red)}
.pl.go .pl-bar b{animation:pl-a .5s ease-out forwards}
.pl-on .pl:not(.go) .pl-bar b{transform:scaleX(.3);animation:pl-b var(--pl-d,2.5s) cubic-bezier(.3,.6,.4,1) forwards}
@keyframes pl-a{to{transform:scaleX(.3)}}@keyframes pl-b{from{transform:scaleX(.3)}to{transform:scaleX(1)}}
@keyframes pl-breathe{50%{opacity:.82;transform:scale(.985)}}
@media (prefers-reduced-motion:reduce){.pl .brand{animation:none}}
/* ---- tìm kiếm ---- */
.search-btn{margin-left:auto;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;margin-right:-8px;color:var(--text)}.search-btn.on{color:var(--muted)}
.hdr-center .search-btn{position:absolute;right:8px}
@media (min-width:900px){.hdr-center .search-btn{right:32px}}
.search-form{position:relative;display:flex;align-items:center;margin:4px 0 14px}.search-form>.ic{position:absolute;left:14px;color:var(--sub);pointer-events:none}
.search-form input{flex:1;min-width:0;height:46px;padding:0 44px;border-radius:23px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text);font:inherit;font-size:16px;outline:none}
.search-form input:focus{border-color:var(--muted)}.search-form input::-webkit-search-cancel-button{display:none}
.search-clear{position:absolute;right:8px;width:32px;height:32px;display:grid;place-items:center;color:var(--sub)}
.search-count{margin:4px 0 12px}
/* Trang chủ — phần khám phá dưới New Releases */
.rail-wide>.wcard{flex:0 0 72%;max-width:340px;scroll-snap-align:start}
.wcard{display:block;min-width:0}.wcard-img{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--bg3)}
.wcard-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.wcard b{display:block;margin-top:6px;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wcard small{display:block;color:var(--muted);font-size:12px}
.spot-grid{display:grid;gap:10px;min-width:0}.spot-main{min-width:0}
.spot-main{position:relative;display:block;aspect-ratio:16/10;border-radius:calc(var(--r) + 4px);overflow:hidden;background:var(--bg3)}
.spot-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.spot-body{position:absolute;inset:auto 0 0 0;padding:40px 14px 14px;display:flex;flex-direction:column;gap:4px;background:linear-gradient(transparent,#000d 45%)}
.spot-body small{color:#ddd;font-size:12px}.spot-body b{font-size:20px;line-height:1.15;color:#fff}
.spot-body em{font-style:normal;color:#ddd;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spot-body .btn-red{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:0 16px;height:36px;border-radius:6px;font-weight:700;font-size:13.5px}
.spot-body .btn-red svg{width:16px;height:16px}
.spot-side{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 8px}
.cats-home .cat{min-height:84px}.cats-home{grid-template-columns:repeat(2,1fr)}
.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px}
.lst-rank .li{align-items:center}
@media (min-width:900px){
  .spot-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.spot-main{aspect-ratio:16/9}
  .spot-body{padding:80px 28px 26px}.spot-body b{font-size:32px}.spot-body em{font-size:15px;max-width:560px}
  .spot-side{gap:14px 12px}
  .rail-wide>.wcard{flex-basis:340px}
  .cats-home{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.cats-home .cat{min-height:110px}
  .wall{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px 12px}
}
