/* THIΞURINO WATCH: scoped styles; shared site UI is not modified. */
#watch-app{--w-ink:#fff;--w-mute:rgba(255,255,255,.7);--w-line:rgba(255,255,255,.22);--w-panel:rgba(255,255,255,.085);--w-hover:rgba(255,255,255,.16);--w-solid:#122d4b;--w-accent:#00ffff;--w-shadow:0 18px 50px rgba(0,0,0,.2);color:var(--w-ink);min-width:0}
html[data-theme="mystic"] #watch-app{--w-solid:#210d3d;--w-accent:#d5afff}
html:is([data-theme="bw"],[data-theme="yellow"]) #watch-app{--w-ink:#181818;--w-mute:rgba(0,0,0,.66);--w-line:rgba(0,0,0,.22);--w-panel:rgba(0,0,0,.05);--w-hover:rgba(0,0,0,.09);--w-solid:#fff;--w-accent:#d02b5c;--w-shadow:0 12px 40px rgba(0,0,0,.12)}
#watch-app button,#watch-app select,#watch-app input{font:inherit;color:inherit}
#watch-app button{cursor:pointer}
#watch-app button:disabled{cursor:default;opacity:.45}
#watch-app button:focus-visible,#watch-app a:focus-visible,#watch-app select:focus-visible,#watch-app input:focus-visible{outline:2px solid var(--w-accent);outline-offset:3px}
#watch-app [hidden]{display:none!important}




#watch-app .w-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.19em;font-family:var(--f-head);font-weight:600;color:#9aefff;text-transform:uppercase}
#watch-app .w-kicker:before{content:"";width:7px;height:7px;background:#0ff;border-radius:50%;box-shadow:0 0 12px #0ff}



#watch-app .w-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
#watch-app .w-btn{min-height:40px;display:inline-flex;gap:8px;justify-content:center;align-items:center;border:1px solid var(--w-line);background:var(--w-panel);padding:10px 19px;border-radius:999px;font-weight:600;font-size:14px;transition:background .2s,transform .2s,border-color .2s}
#watch-app .w-btn:hover:not(:disabled){background:var(--w-hover);transform:translateY(-2px)}
#watch-app .w-btn.w-primary{background:#fff;border-color:#fff;color:#102944}
#watch-app .w-btn.w-primary:hover{background:#bdf6ff;border-color:#bdf6ff}

#watch-app .w-panel{margin-top:25px;background:var(--w-panel);border:1px solid var(--w-line);border-radius:20px;padding:clamp(14px,2vw,24px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
#watch-app .w-search{display:flex;align-items:center;gap:12px;border:1px solid var(--w-line);background:rgba(0,0,0,.1);padding:4px 14px;border-radius:15px;min-width:0;flex:1}
#watch-app .w-search svg{width:21px;height:21px;flex:none;stroke:currentColor;fill:none;stroke-width:2}
#watch-app .w-search input{width:100%;min-width:0;background:transparent;border:0;outline:0!important;padding:11px 0;font-size:16px}
#watch-app .w-search input::placeholder{color:var(--w-mute)}
#watch-app .w-search button{background:none;border:none;font-size:24px;line-height:1;padding:4px}
#watch-app .w-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#watch-app .w-tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:thin;padding:4px 0 2px}
#watch-app .w-tab{border:1px solid var(--w-line);border-radius:999px;padding:10px 15px;background:transparent;white-space:nowrap;flex:none;font-size:14px}
#watch-app .w-tab[aria-pressed="true"]{background:var(--w-ink);color:var(--w-solid);border-color:var(--w-ink);font-weight:700}
#watch-app .w-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}
#watch-app .w-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--w-mute)}
#watch-app .w-field select{width:100%;min-height:42px;border:1px solid var(--w-line);border-radius:11px;padding:8px 10px;background:var(--w-solid);color:var(--w-ink);font-size:14px}
#watch-app .w-field select option{background:var(--w-solid);color:var(--w-ink)}
#watch-app .w-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
#watch-app .w-note{margin:0;color:var(--w-mute);font-size:13px;line-height:1.5}
#watch-app .w-reset{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:6px 0;font-size:13px}
#watch-app .w-section{margin-top:clamp(28px,4vw,48px)}
#watch-app .w-section-top{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:17px;padding-bottom:12px;border-bottom:1px solid var(--w-line)}
#watch-app .w-section-top h2{font-size:clamp(20px,2.5vw,30px);font-family:var(--f-head);font-weight:400;margin:0;line-height:1.25}
#watch-app .w-count{font-size:13px;color:var(--w-mute)}
#watch-app .w-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(13px,1.7vw,20px)}
#watch-app .w-card{min-width:0;position:relative}
#watch-app .w-cover{position:relative;display:block;width:100%;aspect-ratio:2/3;overflow:hidden;border:1px solid var(--w-line);border-radius:13px;background:linear-gradient(135deg,#133a60,#282653);padding:0;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s}
#watch-app .w-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
#watch-app .w-cover:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.3)}
#watch-app .w-cover:hover img{transform:scale(1.05)}
#watch-app .w-cover .w-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-40%);width:48px;height:48px;border:1px solid rgba(255,255,255,.8);border-radius:100%;background:rgba(0,0,0,.55);display:grid;place-items:center;color:#fff;font-size:20px;opacity:0;transition:opacity .2s,transform .2s}
#watch-app .w-cover:hover .w-play,#watch-app .w-cover:focus-visible .w-play{opacity:1;transform:translate(-50%,-50%)}
#watch-app .w-tag{position:absolute;top:8px;left:8px;padding:4px 7px;border-radius:6px;background:rgba(4,20,38,.82);font-size:10px;font-weight:700;color:#fff;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#watch-app .w-ep{position:absolute;right:7px;bottom:8px;background:rgba(4,20,38,.85);border-radius:6px;padding:4px 7px;font-size:10px;color:#fff;max-width:94%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#watch-app .w-card-title{display:block;width:100%;padding:10px 1px 0;text-align:left;border:0;background:none;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}
#watch-app .w-card-sub{font-size:12px;color:var(--w-mute);margin:4px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#watch-app .w-pagination{display:flex;gap:12px;justify-content:center;align-items:center;margin:28px 0 0}
#watch-app .w-state{padding:44px 24px;text-align:center;border:1px dashed var(--w-line);border-radius:18px;line-height:1.8;background:var(--w-panel)}
#watch-app .w-state strong{display:block;font-size:19px}
#watch-app .w-state p{margin:8px auto 16px;max-width:550px;color:var(--w-mute);font-size:14px}
#watch-app .w-skeleton{aspect-ratio:2/3;background:linear-gradient(110deg,var(--w-panel) 10%,var(--w-hover) 30%,var(--w-panel) 55%);background-size:200% 100%;animation:w-shimmer 1.5s linear infinite;border-radius:14px}
@keyframes w-shimmer{to{background-position-x:-200%}}
#watch-app .w-detail{padding-top:15px}
#watch-app .w-back{background:none;border:0;padding:10px 0;color:var(--w-ink);font-size:14px}
#watch-app .w-detail-head{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:clamp(20px,3vw,40px);padding:20px 0 8px}
#watch-app .w-detail-poster{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:16px;border:1px solid var(--w-line);box-shadow:var(--w-shadow);background:var(--w-panel)}
#watch-app .w-detail h2{font-family:var(--f-head);font-weight:400;line-height:1.15;font-size:clamp(28px,3.8vw,45px);margin:0 0 8px}
#watch-app .w-origin{font-size:15px;color:var(--w-mute);margin:0 0 14px}
#watch-app .w-chips{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}
#watch-app .w-chip{font-size:12px;padding:6px 9px;border:1px solid var(--w-line);border-radius:8px;background:var(--w-panel)}
#watch-app .w-description{font-size:15px;line-height:1.8;margin:16px 0;max-width:850px;white-space:pre-wrap}
#watch-app .w-facts{font-size:13px;line-height:1.8;color:var(--w-mute);margin-top:14px}
#watch-app .w-facts p{margin:4px 0}
#watch-app .w-player{margin-top:28px;scroll-margin-top:115px}
#watch-app .w-screen{aspect-ratio:16/9;width:100%;border-radius:16px;overflow:hidden;background:#02060d;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;position:relative;box-shadow:var(--w-shadow)}
#watch-app .w-screen iframe,#watch-app .w-screen video{width:100%;height:100%;border:0;position:absolute;inset:0;background:#000}
#watch-app .w-screen .w-prompt{text-align:center;padding:20px;color:#c4d6ea;font-size:15px;line-height:1.7}
#watch-app .w-servers{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
#watch-app .w-servers .w-tab,#watch-app .w-episodes .w-tab{border-radius:10px}
#watch-app .w-episodes{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}
#watch-app .w-episodes .w-tab{padding:10px 3px;min-width:0;overflow:hidden;text-overflow:ellipsis}
#watch-app .w-player-note{margin:12px 0;color:var(--w-mute);font-size:12px;line-height:1.6}
#watch-app .w-mini-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
#watch-app .w-mini-card{min-width:0;background:transparent;border:0;text-align:left;padding:0}
#watch-app .w-mini-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:9px;background:var(--w-panel)}
#watch-app .w-mini-card span{display:block;font-size:12px;line-height:1.4;margin-top:6px}
@media (max-width:1100px){#watch-app .w-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#watch-app .w-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#watch-app .w-episodes{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media (max-width:860px){#watch-app .w-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#watch-app .w-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#watch-app .w-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:620px){#watch-app .w-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}#watch-app .w-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#watch-app .w-episodes{grid-template-columns:repeat(5,minmax(0,1fr))}#watch-app .w-detail-head{grid-template-columns:100px minmax(0,1fr);gap:13px}#watch-app .w-detail h2{font-size:25px}#watch-app .w-detail-head .w-description{grid-column:1/-1}#watch-app .w-card-title{font-size:13px}#watch-app .w-panel{padding:14px}#watch-app .w-btn{font-size:13px;padding:10px 14px}}
@media (max-width:400px){#watch-app .w-detail-head{grid-template-columns:90px minmax(0,1fr)}#watch-app .w-episodes{grid-template-columns:repeat(4,minmax(0,1fr))}#watch-app .w-filters{gap:8px}}
@media (prefers-reduced-motion:reduce){#watch-app *,#watch-app *:before{animation:none!important;transition:none!important}}

#watch-app .w-grid > .w-state{grid-column:1/-1}

/* WATCH v1.1 – 16:9 five-item cinematic carousel, 5-second glide. */
















/* Movie detail: horizontal backdrop with left-side fade, details sit on the fade. */
#watch-app .w-detail-head{position:relative;display:block;min-height:clamp(340px,40vw,480px);padding:clamp(22px,3vw,42px);overflow:hidden;border:1px solid var(--w-line);border-radius:20px;isolation:isolate;background:linear-gradient(105deg,rgba(7,38,68,.75),var(--w-panel));box-shadow:var(--w-shadow)}
#watch-app .w-detail-backdrop{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%;background:var(--w-panel)}
#watch-app .w-detail-head::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(12,47,80,.99) 0%,rgba(12,47,80,.94) 30%,rgba(12,47,80,.64) 53%,rgba(12,47,80,.05) 100%)}
html[data-theme="mystic"] #watch-app .w-detail-head::before{background:linear-gradient(90deg,rgba(27,12,54,.98) 0%,rgba(27,12,54,.94) 30%,rgba(27,12,54,.62) 55%,rgba(27,12,54,.10) 100%)}
html:is([data-theme="bw"],[data-theme="yellow"]) #watch-app .w-detail-head::before{background:linear-gradient(90deg,rgba(246,246,246,.99) 0%,rgba(246,246,246,.95) 32%,rgba(246,246,246,.70) 54%,rgba(246,246,246,.04) 100%)}
#watch-app .w-detail-content{position:relative;z-index:1;width:min(60%,660px);padding:6px 0}
#watch-app .w-detail-head h2{overflow-wrap:anywhere}
#watch-app .w-detail-head .w-description{margin-top:14px;max-height:132px;overflow:auto;scrollbar-width:thin;line-height:1.65}
#watch-app .w-detail-head .w-facts{max-height:135px;overflow:auto;scrollbar-width:thin}
#watch-app .w-detail-head .w-kicker{color:var(--w-ink)}
#watch-app .w-detail-head .w-kicker::before{background:var(--w-accent);box-shadow:0 0 12px var(--w-accent)}
/* Player reduced on desktop, episodes and optional server control in right rail. */
#watch-app .w-player{margin-top:28px}
#watch-app .w-player>.w-section-top{max-width:1070px;margin-left:auto;margin-right:auto}
#watch-app .w-play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,275px);gap:18px;width:min(100%,1070px);margin:0 auto;align-items:start}
#watch-app .w-player-main{min-width:0}
#watch-app .w-screen{width:100%;box-shadow:0 10px 30px rgba(0,0,0,.26)}
#watch-app .w-side-panel{min-width:0;padding:16px;border:1px solid var(--w-line);border-radius:16px;background:var(--w-panel);height:100%;max-height:calc((1070px - 293px) * 9 / 16);display:flex;flex-direction:column}
#watch-app .w-side-panel h3{font-family:var(--f-head);font-size:15px;letter-spacing:.02em;font-weight:400;margin:0 0 11px}
#watch-app .w-servers{display:flex;margin:0 0 16px;gap:7px}
#watch-app .w-servers .w-tab{min-width:0;padding:8px 12px;font-size:12px;white-space:normal;overflow-wrap:anywhere}
#watch-app .w-episode-pane{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
#watch-app .w-episodes{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px}
#watch-app .w-episodes .w-tab{font-size:13px;min-height:40px}
#watch-app #w-server-picker[hidden]{display:none!important}
@media (max-width:900px){#watch-app .w-play-layout{grid-template-columns:minmax(0,1fr) 235px;gap:13px}#watch-app .w-side-panel{padding:12px;max-height:calc((100vw - 305px) * 9 / 16)}}
@media (max-width:700px){
 
 
 
 
 
 
 
 
 
 #watch-app .w-detail-head{min-height:400px;padding:20px}
 #watch-app .w-detail-head::before{background:linear-gradient(0deg,rgba(12,47,80,.97) 0%,rgba(12,47,80,.95) 48%,rgba(12,47,80,.25) 100%)}
 html[data-theme="mystic"] #watch-app .w-detail-head::before{background:linear-gradient(0deg,rgba(27,12,54,.98) 0%,rgba(27,12,54,.94) 55%,rgba(27,12,54,.25) 100%)}
 html:is([data-theme="bw"],[data-theme="yellow"]) #watch-app .w-detail-head::before{background:linear-gradient(0deg,rgba(246,246,246,.98) 0%,rgba(246,246,246,.96) 55%,rgba(246,246,246,.20) 100%)}
 #watch-app .w-detail-content{width:100%;padding-top:clamp(72px,24vw,140px)}
 #watch-app .w-detail-head h2{font-size:clamp(23px,6vw,33px)}
 #watch-app .w-detail-head .w-description{max-height:120px}
 #watch-app .w-detail-head .w-facts{max-height:125px}
 #watch-app .w-play-layout{display:flex;flex-direction:column;gap:14px}
 #watch-app .w-player-main{width:100%}
 #watch-app .w-side-panel{width:100%;max-height:260px;height:auto;min-height:110px}
 #watch-app .w-episodes{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:420px){#watch-app .w-episodes{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* WATCH v1.2: search result quantity badge, no explanatory filter captions. */
#watch-app .w-filter-footer{justify-content:flex-end}
#watch-app .w-note{display:none!important}
#watch-app .w-count:not([hidden]){display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;min-height:27px;border:1px solid var(--w-line);border-radius:999px;background:var(--w-panel);font-weight:600;white-space:nowrap;color:var(--w-ink);font-variant-numeric:tabular-nums}
#watch-app .w-count[hidden]{display:none!important}

/* WATCH v1.3 — card, chip and tab ergonomics across desktop, tablet, and mobile. */
#watch-app .w-panel{max-width:1100px;margin-left:auto;margin-right:auto}
#watch-app .w-tabs{flex-wrap:wrap;gap:9px;overflow:visible;padding:11px 1px 2px;margin:0;scrollbar-width:none}
#watch-app .w-tabs .w-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:999px;line-height:1.2;font-size:clamp(12px,1vw,14px);font-weight:600;max-width:100%;transition:background .18s,border-color .18s,transform .18s,color .18s}
#watch-app .w-tabs .w-tab[aria-pressed="true"]{box-shadow:0 3px 12px rgba(0,0,0,.11)}
@media (hover:hover){#watch-app .w-tabs .w-tab:hover:not([aria-pressed="true"]){background:var(--w-hover);border-color:var(--w-ink)}#watch-app .w-tabs .w-tab:hover{transform:translateY(-1px)}}
#watch-app .w-search{min-height:48px;transition:border-color .2s,background .2s}
#watch-app .w-search:focus-within{border-color:var(--w-accent);background:var(--w-hover)}
#watch-app .w-search button{min-width:34px;min-height:36px;display:grid;place-items:center}
#watch-app .w-field select{min-height:44px;text-overflow:ellipsis}
#watch-app .w-section-top{align-items:center;flex-wrap:wrap;min-width:0}
#watch-app .w-section-top h2{min-width:0;overflow-wrap:anywhere;line-height:1.28}
#watch-app #w-section-name{flex:1 1 190px;min-width:0;overflow-wrap:anywhere}
#watch-app #w-count{flex:0 0 auto;font-size:clamp(11px,1vw,13px);letter-spacing:.01em}
#watch-app .w-grid{align-items:stretch;column-gap:clamp(10px,1.55vw,20px);row-gap:clamp(18px,2.2vw,27px)}
#watch-app .w-card{display:flex;flex-direction:column;align-items:stretch;isolation:isolate;min-width:0;height:100%}
#watch-app .w-card .w-cover{flex:none;aspect-ratio:2/3;width:100%;border-radius:clamp(10px,1vw,14px);-webkit-tap-highlight-color:transparent}
#watch-app .w-cover img{object-position:center;pointer-events:none}
#watch-app .w-tag,#watch-app .w-ep{font-family:var(--f-body);font-size:clamp(9px,.78vw,11px);line-height:1.25;max-width:calc(100% - 16px);border-radius:6px;padding:4px 7px;box-shadow:0 2px 10px rgba(0,0,0,.22);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
#watch-app .w-card-title{font-size:clamp(12px,1.05vw,14px);font-weight:700;line-height:1.38;min-height:0;margin-top:9px;padding:0 1px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;text-align:left}
#watch-app .w-card-title:hover{text-decoration:underline;text-underline-offset:3px}
#watch-app .w-card-sub{width:100%;line-height:1.4;font-size:clamp(10px,.9vw,12px);margin:4px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#watch-app .w-chips{gap:8px;row-gap:8px;margin:13px 0}
#watch-app .w-chip{display:inline-flex;justify-content:center;align-items:center;max-width:100%;min-height:31px;padding:6px 11px;border-radius:999px;line-height:1.2;font-size:clamp(11px,.88vw,13px);font-weight:600;white-space:normal;overflow-wrap:anywhere}
#watch-app .w-episodes .w-tab{min-height:44px;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 7px;line-height:1.35;overflow-wrap:anywhere}
#watch-app .w-servers .w-tab{min-height:42px}
@media (max-width:1000px){#watch-app .w-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:820px){#watch-app .w-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#watch-app .w-tabs{gap:7px}}
@media (max-width:650px){
 #watch-app .w-panel{padding:14px 12px;border-radius:18px}
 #watch-app .w-tabs{display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;margin:7px -12px 0;padding:4px 12px 10px;gap:8px}
 #watch-app .w-tabs::-webkit-scrollbar{display:none}
 #watch-app .w-tabs .w-tab{flex:0 0 auto;scroll-snap-align:start;min-height:44px;font-size:13px;padding:10px 14px}
 #watch-app .w-filters{gap:10px;margin-top:10px}
 #watch-app .w-field{font-size:12px;min-width:0}
 #watch-app .w-field select{font-size:14px;min-height:46px}
 #watch-app .w-filter-footer{margin-top:8px}
 #watch-app .w-section-top{align-items:flex-start;gap:8px;padding-bottom:11px}
 #watch-app #w-section-name{flex:1 1 100%;font-size:clamp(18px,5vw,25px)}
 #watch-app #w-count{margin-left:0;font-size:12px;min-height:29px}
 #watch-app .w-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:20px}
 #watch-app .w-card-title{font-size:13px;line-height:1.4;min-height:0;margin-top:8px}
 #watch-app .w-card-sub{font-size:11px;margin-top:4px}
 #watch-app .w-tag,#watch-app .w-ep{font-size:10px;padding:4px 6px}
 #watch-app .w-chip{min-height:30px;padding:6px 10px;font-size:11px}
 #watch-app .w-chips{gap:6px;row-gap:7px}
 #watch-app .w-episodes .w-tab{min-height:44px;font-size:12px}
}
@media (max-width:370px){#watch-app .w-panel{padding:12px 10px}#watch-app .w-tabs{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}#watch-app .w-grid{gap:18px 10px}#watch-app .w-tabs .w-tab{padding:10px 12px}#watch-app .w-ep{max-width:calc(100% - 12px)}}
@media (prefers-reduced-motion:reduce){#watch-app .w-cover,#watch-app .w-cover img,#watch-app .w-tabs .w-tab{transition:none!important}}


/* WATCH v1.4: one shared 1100px alignment for carousel, filters, discovery, player and episode rail. */
#watch-app{width:min(100%,1100px);margin-inline:auto}
#watch-app .w-panel,#watch-app .w-section,#watch-app .w-player,#watch-app .w-player>.w-section-top,#watch-app .w-play-layout{width:100%;max-width:none;margin-left:0;margin-right:0}

#watch-app .w-panel{margin-top:20px}
#watch-app .w-section{margin-top:clamp(28px,4vw,48px)}
#watch-app .w-player{margin-top:28px}
#watch-app .w-play-layout{grid-template-columns:minmax(0,1fr) minmax(245px,275px);gap:18px}
#watch-app .w-side-panel{max-height:calc((1100px - 293px) * 9 / 16)}
@media (max-width:900px){#watch-app .w-play-layout{grid-template-columns:minmax(0,1fr) 235px;gap:13px}}
@media (max-width:700px){#watch-app .w-play-layout{display:flex;flex-direction:column}#watch-app .w-side-panel{max-height:260px}}

/* Carousel controls are outside the 16:9 image, centered in ‹ • • • • • › order. */








/* Film details expand naturally to fit text; no inner scrollbars or clipped credits. */
#watch-app .w-detail-head{min-height:clamp(360px,40vw,480px);height:auto}
#watch-app .w-detail-content{max-width:100%;overflow-wrap:anywhere}
#watch-app .w-detail-head .w-description,#watch-app .w-detail-head .w-facts{max-height:none;overflow:visible;scrollbar-width:auto}
#watch-app .w-detail-head .w-description{line-height:1.55;white-space:normal}
#watch-app .w-detail-head .w-facts{line-height:1.6}
@media (max-width:700px){#watch-app .w-detail-head{min-height:400px;height:auto}}

/* Discovery: exactly six posters per row on desktop, four on mobile. */
#watch-app .w-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (min-width:651px) and (max-width:900px){#watch-app .w-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:650px){
 #watch-app .w-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(7px,1.9vw,11px);row-gap:17px}
 #watch-app .w-card .w-cover{border-radius:8px}
 #watch-app .w-card-title{font-size:clamp(10px,2.65vw,12px);line-height:1.35;margin-top:6px}
 #watch-app .w-card-sub{font-size:clamp(9px,2.4vw,11px);line-height:1.3;margin-top:3px}
 #watch-app .w-tag,#watch-app .w-ep{font-size:8px;padding:3px 4px;max-width:calc(100% - 8px)}
 #watch-app .w-tag{top:4px;left:4px}
 #watch-app .w-ep{right:4px;bottom:4px}
 #watch-app .w-cover .w-play{width:30px;height:30px;font-size:13px}
}
#watch-app .w-pagination{flex-direction:column;gap:10px}
#watch-app .w-more-limit{margin:0;text-align:center;font-size:13px;line-height:1.6;color:var(--w-mute);max-width:520px}


/* WATCH v1.5: cinematic image adapts to 16:9 with height-fit center and blurred/faded side fill. */







/* These navigation indicators are deliberately UNDER the slider, never over images. */


/* Subheading wraps within the same shared content frame on small screens. */
.ph{width:min(100%,1100px);margin-left:auto;margin-right:auto;min-width:0}
.ph #watch-sub{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;text-wrap:balance;line-height:1.45}
@media (max-width:900px){.ph{align-items:center;justify-content:center;text-align:center}.ph #watch-sub{display:block;flex:1 1 100%;width:100%;font-size:clamp(12px,2.4vw,17px);padding-inline:clamp(4px,2vw,15px);margin:0 auto}}
@media (max-width:650px){.ph{gap:6px;padding-inline:0}.ph #watch-sub{font-size:clamp(12px,3.4vw,15px);padding-inline:4px;line-height:1.45;text-align:center}}
/* No inner scrollbars inside the film-information panel. */
#watch-app .w-detail-head .w-description,#watch-app .w-detail-head .w-facts{overflow:visible!important;max-height:none!important;height:auto!important;scrollbar-width:none}
#watch-app .w-detail-content{width:min(65%,720px)}
@media (max-width:700px){#watch-app .w-detail-content{width:100%}}
/* Film modal: accessible, theme-aware, constrained to viewport and responsive. */


















/* WATCH v1.6 — all content aligns exactly to the shared site's DONATE box. */
#watch-app{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}
#watch-app .w-panel,#watch-app .w-section,#watch-app .w-detail,#watch-app .w-detail-head,#watch-app .w-player,#watch-app .w-player>.w-section-top,#watch-app .w-play-layout{box-sizing:border-box;width:100%;max-width:none;margin-inline:0;min-width:0}
#watch-app .w-panel{margin-top:clamp(18px,2.5vw,28px)}
#watch-app .w-detail{padding-top:15px}
/* Episode list grows with its real number of episodes, never with an inner scrollbar. */
#watch-app .w-play-layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(245px,275px);gap:18px}
#watch-app .w-player-main{min-width:0}
#watch-app .w-side-panel{box-sizing:border-box;min-width:0;width:100%;height:auto;min-height:0;max-height:none;align-self:start;overflow:visible}
#watch-app .w-episode-pane{flex:none;min-height:0;height:auto;max-height:none;overflow:visible;scrollbar-width:none}
#watch-app .w-episodes{height:auto;max-height:none;overflow:visible;align-content:start}
#watch-app .w-episodes .w-tab{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px) and (min-width:701px){#watch-app .w-play-layout{grid-template-columns:minmax(0,1fr) 235px;gap:13px}}
@media(max-width:700px){#watch-app .w-play-layout{display:flex;flex-direction:column;gap:14px}#watch-app .w-side-panel{max-height:none;width:100%;height:auto}#watch-app .w-episode-pane{width:100%}#watch-app .w-episodes{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:420px){#watch-app .w-episodes{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* WATCH v1.7 — single-row genre recommendations beneath player and episodes. */
#watch-app .w-related-section{margin-top:clamp(26px,3vw,40px)}
#watch-app .w-related-row{--w-related-gap:clamp(10px,1.5vw,16px);display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (4 * var(--w-related-gap)))/5);grid-template-rows:auto;gap:var(--w-related-gap);width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain;padding:2px 2px 12px;box-sizing:border-box}
#watch-app .w-related-row .w-mini-card{display:flex;flex-direction:column;min-width:0;min-height:0;scroll-snap-align:start;text-align:left}
#watch-app .w-related-cover{width:100%;aspect-ratio:2/3;display:block;overflow:hidden;border-radius:13px;border:1px solid var(--w-line);background:var(--w-panel);box-shadow:0 6px 18px rgba(0,0,0,.16)}
#watch-app .w-related-cover img{display:block;width:100%;height:100%;aspect-ratio:2/3;object-fit:cover;border-radius:0;transition:transform .25s}
#watch-app .w-mini-card:hover .w-related-cover img{transform:scale(1.045)}
#watch-app .w-related-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:clamp(12px,1.2vw,14px);line-height:1.45;margin-top:9px;font-weight:600}
#watch-app .w-related-section .w-pagination{margin-top:16px}
#watch-app .w-related-message{font-size:13px;line-height:1.5;color:var(--w-mute);text-align:center}
@media(max-width:700px){#watch-app .w-related-row{grid-auto-columns:clamp(134px,40vw,190px);scroll-snap-type:x mandatory}#watch-app .w-related-title{font-size:13px}}
@media(prefers-reduced-motion:reduce){#watch-app .w-related-cover img{transition:none}}

/* WATCH v1.8 — compact episode controls; preserve full episode list. */
#watch-app .w-side-panel .w-episodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%}
#watch-app .w-side-panel .w-episodes .w-tab{display:flex;align-items:center;justify-content:center;min-width:0;min-height:30px;height:auto;padding:5px 3px;font-size:11px;line-height:1.2;border-radius:7px;overflow-wrap:anywhere}
#watch-app .w-side-panel{padding:clamp(10px,1.3vw,14px)}
#watch-app .w-side-panel .w-episode-pane{overflow:visible;max-height:none;height:auto}
@media(max-width:700px){#watch-app .w-side-panel .w-episodes{grid-template-columns:repeat(6,minmax(0,1fr))}#watch-app .w-side-panel .w-episodes .w-tab{min-height:32px;font-size:11px}}
@media(max-width:420px){#watch-app .w-side-panel .w-episodes{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* WATCH v1.9: in-player season selector; hidden unless another season exists. */
#watch-app .w-season-picker{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;min-width:0}
#watch-app .w-season-picker label{font-size:12px;font-weight:700;color:var(--w-mute)}
#watch-app .w-season-picker select{display:block;width:100%;min-height:38px;padding:8px 11px;
 background:var(--w-solid);color:var(--w-ink);border:1px solid var(--w-line);
 border-radius:10px;font-size:13px;cursor:pointer}
#watch-app .w-season-picker select option{background:var(--w-solid);color:var(--w-ink)}
#watch-app .w-season-picker select:disabled{opacity:.6;cursor:wait}


/* WATCH v2.0 — align heading/subheading with the shared DONATE frame. */
@media (max-width:900px){
  body .ph{
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:flex-start;
    text-align:left;
    width:100%;
    max-width:none;
    gap:6px;
    padding-inline:0;
  }
  body .ph h1{
    display:block;
    align-self:flex-start;
    width:auto;
    margin:0;
    text-align:left;
  }
  body .ph #watch-sub{
    display:block;
    flex:none;
    align-self:stretch;
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:0;
    margin:0;
    text-align:justify;
    text-align-last:left;
    text-justify:inter-word;
    text-wrap:wrap;
    white-space:normal;
    overflow-wrap:break-word;
    hyphens:auto;
    line-height:1.45;
    font-size:clamp(12px,2.4vw,17px);
  }
}
@media (max-width:650px){
  body .ph #watch-sub{
    font-size:clamp(12px,3.4vw,15px);
    text-align:justify;
    text-align-last:left;
    padding-inline:0;
  }
}

/* WATCH v2.1: mobile heading remains left aligned; subtitle fills exactly one line. */
@media (max-width:900px){
 body .ph #watch-sub{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:0;
  margin:0;
  white-space:nowrap;
  text-wrap:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-align:justify;
  text-align-last:justify;
  line-height:1.4;
  letter-spacing:0;
 }
}

/* WATCH v2.2 — theater lamp and in-detail search */
.ph{position:relative}
.ph .w-light-toggle[hidden]{display:none!important}
.ph .w-light-toggle{margin-left:auto;flex:0 0 auto;align-self:flex-start;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(255,255,255,.09);color:inherit;width:44px;height:44px;display:grid;place-items:center;font-size:25px;line-height:1;cursor:pointer;animation:w-light-flicker 1.5s ease-in-out infinite;transition:box-shadow .2s,background .2s}
@keyframes w-light-flicker{0%,15%,34%,56%,76%,100%{opacity:1}10%,31%,61%{opacity:.42}66%{opacity:.8}}
body.w-theater-on .ph .w-light-toggle{position:fixed;top:12px;right:12px;z-index:2147483645;animation:none;opacity:1;background:rgba(255,205,73,.16);box-shadow:0 0 15px 4px rgba(255,217,94,.33)}
.w-theater-scrim{position:fixed;z-index:2147483640;background:rgba(0,0,0,.90);cursor:pointer;touch-action:manipulation}
#watch-app .w-detail-search{margin-top:clamp(24px,3vw,38px)}
#watch-app .w-detail-search .w-search{width:100%}
#watch-app .w-detail-search-submit{border:0;background:transparent;font-size:24px;line-height:1;min-width:38px;min-height:38px;cursor:pointer}
@media(max-width:900px){.ph .w-light-toggle{position:absolute;right:0;top:0;margin-left:0;width:38px;height:38px;font-size:22px}body.w-theater-on .ph .w-light-toggle{position:fixed;top:12px;right:12px}.ph:has(.w-light-toggle:not([hidden])) h1{padding-right:48px}}
@media(prefers-reduced-motion:reduce){.ph .w-light-toggle{animation:none}}

/* The lamp is absolutely aligned to the heading; when active it is portaled
   to <body> so that it stays above the dark scrims regardless of site stacking contexts. */
.ph .w-light-toggle{position:absolute;right:0;top:clamp(18px,3vw,40px);margin-left:0}
body.w-theater-on > .w-light-toggle{position:fixed;top:12px;right:12px;z-index:2147483645;animation:none;opacity:1;background:rgba(255,205,73,.16);box-shadow:0 0 15px 4px rgba(255,217,94,.33);border:1px solid rgba(255,255,255,.26);border-radius:50%;color:inherit;width:44px;height:44px;display:grid;place-items:center;font-size:25px;line-height:1;cursor:pointer}
@media(max-width:900px){.ph .w-light-toggle{top:clamp(18px,3vw,40px)}body.w-theater-on > .w-light-toggle{width:38px;height:38px;font-size:22px}}

/* v2.3: theater lamp belongs to the XEM PHIM player heading, not the WATCH masthead. */
#watch-app .w-player > .w-section-top{
 display:flex;
 flex-direction:row;
 align-items:center;
 justify-content:space-between;
 gap:12px;
}
#watch-app .w-player > .w-section-top .w-light-toggle{
 position:static;
 display:grid;
 flex:0 0 auto;
 align-self:center;
 margin:0 0 0 auto;
 width:40px;height:40px;
 border-radius:50%;
 border:1px solid rgba(255,255,255,.26);
 background:rgba(255,255,255,.09);
 font-size:23px;
 cursor:pointer;
 animation:w-light-flicker 1.5s ease-in-out infinite;
}
body.w-theater-on > .w-light-toggle{
 position:fixed;top:12px;right:12px;z-index:2147483645;
 animation:none;opacity:1;
 background:rgba(255,205,73,.16);
 box-shadow:0 0 15px 4px rgba(255,217,94,.33);
}
@media(max-width:700px){
 #watch-app .w-player > .w-section-top .w-light-toggle{width:36px;height:36px;font-size:21px}
}
@media(prefers-reduced-motion:reduce){
 #watch-app .w-player > .w-section-top .w-light-toggle{animation:none}
}
