@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Vazirmatn-Regular.woff2") format("woff2");}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/Vazirmatn-Medium.woff2") format("woff2");}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Vazirmatn-Bold.woff2") format("woff2");}

/* ===== Green theme — high contrast so text stays readable over everything ===== */
:root{
  --bg:#08130E; --panel:rgba(255,255,255,0.055); --panel-2:rgba(255,255,255,0.09);
  --ink:#EAF6EF; --muted:#8FB6A3; --line:rgba(255,255,255,0.12);
  --green:#22C55E; --green-2:#10B981; --lime:#A3E635; --teal:#2DD4BF; --amber:#F5B23E;
  --grad:linear-gradient(100deg,var(--green),var(--teal));
  --radius:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Vazirmatn",Tahoma,system-ui,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1280px;margin:0 auto;padding:0 22px;}
.row{display:flex;align-items:center;gap:12px;}
.spacer{flex:1;}
.muted{color:var(--muted);}

/* alive background — kept low-opacity & blurred so it never sits on top of text */
.aurora{position:fixed;inset:-15%;z-index:0;pointer-events:none;filter:blur(90px);opacity:0.5;}
.blob{position:absolute;border-radius:50%;}
.b1{width:46vw;height:46vw;background:var(--green);top:-8%;right:-6%;animation:d1 22s ease-in-out infinite;}
.b2{width:42vw;height:42vw;background:var(--teal);top:18%;left:-10%;animation:d2 26s ease-in-out infinite;}
.b3{width:38vw;height:38vw;background:var(--green-2);bottom:-10%;right:12%;animation:d3 24s ease-in-out infinite;}
.b4{width:30vw;height:30vw;background:var(--lime);bottom:6%;left:8%;animation:d4 30s ease-in-out infinite;opacity:0.5;}
@keyframes d1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-5vw,6vh) scale(1.15)}}
@keyframes d2{0%,100%{transform:translate(0,0) scale(1.05)}50%{transform:translate(5vw,8vh) scale(0.9)}}
@keyframes d3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4vw,-6vh) scale(1.2)}}
@keyframes d4{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,-4vh) scale(1.12)}}
main,header,footer{position:relative;z-index:2;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-family:inherit;font-weight:700;font-size:0.95rem;border:none;cursor:pointer;background:var(--grad);color:#04140C;box-shadow:0 12px 30px -12px rgba(34,197,94,0.7);transition:transform .18s;}
.btn:hover{transform:translateY(-2px);}
.btn.ghost{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);box-shadow:none;}
.btn.sm{padding:9px 15px;font-size:0.85rem;}
.btn.lg{padding:14px 28px;font-size:1rem;}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}

header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(8,19,14,0.72);border-bottom:1px solid var(--line);}
.brand{font-weight:700;font-size:1.4rem;}
.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.search{flex:1;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:9px 18px;color:var(--ink);font-family:inherit;}
.search::placeholder{color:var(--muted);}
nav a{color:var(--muted);font-weight:500;}
nav a:hover{color:var(--ink);}

/* hero banner */
.hero{position:relative;height:min(74vh,600px);overflow:hidden;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;}
.slide.on{opacity:1;}
.slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);animation:kb 18s ease-in-out infinite alternate;}
@keyframes kb{to{transform:scale(1.18)}}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,14,0.97) 6%,rgba(8,19,14,0.6) 45%,rgba(8,19,14,0.25));}
.slide::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,var(--bg),transparent 42%);}
.hero-body{position:absolute;inset:0;z-index:2;display:flex;align-items:center;}
.hero-tag{display:inline-flex;gap:8px;font-size:0.8rem;font-weight:700;color:var(--amber);background:rgba(245,178,62,0.12);border:1px solid rgba(245,178,62,0.35);padding:5px 14px;border-radius:999px;}
.hero h1{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:700;margin:14px 0 8px;max-width:16ch;}
.hero .en{color:var(--muted);margin:0 0 10px;}
.hero .meta{display:flex;gap:14px;color:var(--muted);font-size:0.9rem;flex-wrap:wrap;margin-bottom:8px;}
.hero .ov{max-width:52ch;color:#cfe6da;margin:10px 0 20px;}
.badge-imdb{color:var(--amber);font-weight:700;}
.dots{position:absolute;bottom:22px;left:0;right:0;z-index:3;display:flex;gap:8px;justify-content:center;}
.dots i{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,0.3);cursor:pointer;}
.dots i.on{width:26px;background:var(--grad);}

/* category rows with horizontal carousel + arrows + archive link */
section.rowsec{padding:26px 0;}
.rowhead{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.rowhead .bar{width:10px;height:24px;border-radius:6px;background:var(--grad);}
.rowhead h2{font-size:1.35rem;margin:0;font-weight:700;}
.rowhead .archive{margin-inline-start:auto;color:var(--muted);font-size:0.85rem;font-weight:700;}
.rowhead .archive:hover{color:var(--green);}
.rail-wrap{position:relative;}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding:6px 2px 14px;scrollbar-width:none;}
.rail::-webkit-scrollbar{display:none;}
.arrow{position:absolute;top:38%;z-index:5;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:rgba(8,19,14,0.85);color:var(--ink);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.arrow:hover{background:var(--green);color:#04140C;}
.arrow.left{left:-6px;} .arrow.right{right:-6px;}

.card{flex:none;width:186px;position:relative;border-radius:var(--radius);overflow:hidden;background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:transform .2s,box-shadow .2s;}
.grid .card{width:auto;}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -22px rgba(34,197,94,0.55);}
.card .pw{position:relative;aspect-ratio:2/3;overflow:hidden;}
.card .pw img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.card:hover .pw img{transform:scale(1.07);}
.card .type{position:absolute;top:9px;inset-inline-start:9px;font-size:0.66rem;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(8,19,14,0.75);border:1px solid var(--line);}
.card .imdb{position:absolute;top:9px;inset-inline-end:9px;font-size:0.7rem;font-weight:700;color:var(--amber);background:rgba(8,19,14,0.75);padding:3px 7px;border-radius:7px;}
.card .cap{padding:11px 12px;}
.card .cap h3{font-size:0.95rem;font-weight:700;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card .cap small{color:var(--muted);font-size:0.76rem;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:18px;}

/* detail */
.detail-hero{position:relative;padding-top:26px;}
.detail-hero>.wrap{position:relative;z-index:2;}
/* wide backdrop behind the header only. The overlay fades to SOLID page colour
   toward the bottom, so where it reaches the (semi-transparent) download boxes
   they just show the normal background — the image never tints them. */
.detail-bg{position:absolute;left:0;right:0;top:0;height:426px;overflow:hidden;z-index:0;}
.detail-bg img{width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:0.85;}
.detail-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(0deg,var(--bg) 0%,rgba(8,19,14,0.7) 22%,rgba(8,19,14,0.3) 58%,rgba(8,19,14,0.12) 100%),
  linear-gradient(270deg,transparent 55%,rgba(8,19,14,0.5));}
.detail-top{position:relative;z-index:2;display:grid;grid-template-columns:220px 1fr;gap:26px;}
.detail-top .poster{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px #000;aspect-ratio:2/3;}
.detail-top .poster img{width:100%;height:100%;object-fit:cover;}
.detail-top h1{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:6px 0 3px;}
.detail-top .en{color:var(--muted);margin:0 0 10px;}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.pill{font-size:0.82rem;padding:5px 13px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:#cfe6da;}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:20px;position:relative;z-index:2;}
.panel h2{font-size:1.15rem;margin:0 0 4px;display:flex;align-items:center;gap:10px;}
.panel h2 .bar{width:8px;height:20px;border-radius:5px;background:var(--grad);}
.panel .hint{color:var(--muted);font-size:0.85rem;margin:0 0 14px;}

.domain-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:16px;}
.domain-box label{font-weight:700;font-size:0.85rem;}
.domain-box select{flex:1;min-width:200px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px 13px;font-family:inherit;}

/* version rows: download / watch / FA sub / EN sub */
.ver{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:11px;background:rgba(255,255,255,0.03);}
.ver .vhead{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:700;}
.ver .res{font-size:0.72rem;color:#04140C;background:var(--teal);padding:2px 9px;border-radius:6px;}
.ver .q{font-size:0.78rem;color:var(--muted);}
.ver .vsize{margin-inline-start:auto;font-size:0.76rem;color:var(--muted);}
.vacts{display:grid;grid-template-columns:1.3fr 1.3fr 1fr 1fr;gap:8px;}
.va{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:0.83rem;font-weight:700;cursor:pointer;transition:.16s;text-align:center;}
.va:hover{border-color:var(--green);background:rgba(34,197,94,0.14);}
.va.dl{background:linear-gradient(100deg,rgba(34,197,94,0.22),rgba(45,212,191,0.18));}
.va.watch{background:rgba(245,178,62,0.14);}
.va.fa .d,.va.en .d{width:8px;height:8px;border-radius:999px;}
.va.locked{opacity:0.6;}
.va small{font-size:0.7rem;color:var(--muted);font-weight:500;}

.locknote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(245,178,62,0.1);border:1px solid rgba(245,178,62,0.32);border-radius:12px;padding:13px 16px;margin-bottom:16px;}
.locknote .t{font-weight:700;color:var(--amber);}

/* comments */
.cm{border-top:1px solid var(--line);padding:14px 0;}
.cm:first-child{border-top:none;}
.cm .who{font-weight:700;}
.cm .when{color:var(--muted);font-size:0.76rem;margin-inline-start:8px;}
.cm .rt{color:var(--amber);font-weight:700;margin-inline-start:8px;}
.cm .body{margin:6px 0 0;color:#dcefe4;}
.cm .reply{margin:10px 12px 0;padding:10px 14px;border-radius:10px;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.25);}
.cm .reply .who{color:var(--green);}
.cbox{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.cbox textarea{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink);font-family:inherit;min-height:80px;resize:vertical;}
.cbox .rrow{display:flex;align-items:center;gap:10px;}
.cbox select{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:var(--ink);font-family:inherit;}

/* modals (player, auth, subscribe) */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(3,10,7,0.88);backdrop-filter:blur(8px);}
.modal.on{display:flex;}
.modal .close{position:absolute;top:16px;inset-inline-end:20px;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:#fff;font-size:1.3rem;cursor:pointer;}
.sheet{background:#0C1F17;border:1px solid var(--line);border-radius:20px;padding:30px;width:min(440px,94vw);box-shadow:0 40px 90px -30px #000;}
.sheet.wide{width:min(760px,94vw);}
.sheet h2{margin:0 0 6px;font-size:1.4rem;}
.sheet .sub{color:var(--muted);margin:0 0 18px;font-size:0.9rem;}
.field{margin-bottom:13px;}
.field label{display:block;font-size:0.84rem;font-weight:700;margin-bottom:6px;}
.field input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 14px;color:var(--ink);font-family:inherit;}
.tabsw{display:flex;gap:8px;margin-bottom:16px;}
.tabsw button{flex:1;padding:9px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-family:inherit;font-weight:700;}
.tabsw button.on{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--green);}
.plans{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;}
.plan{border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;cursor:pointer;transition:.16s;}
.plan:hover,.plan.on{border-color:var(--green);background:rgba(34,197,94,0.12);}
.plan .p{font-size:1.3rem;font-weight:700;}
.plan .n{color:var(--muted);font-size:0.85rem;}
.provs{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.prov{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:11px;background:var(--panel);border:1px solid var(--line);cursor:pointer;}
.prov.on{border-color:var(--green);background:rgba(34,197,94,0.12);}
.plyr{--plyr-color-main:var(--green);border-radius:14px;overflow:hidden;}
.player-hint{color:var(--muted);text-align:center;margin-top:10px;font-size:0.85rem;}
.msg{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:0.88rem;display:none;}
.msg.on{display:block;}
.msg.err{background:rgba(255,90,110,0.14);color:#ff9db0;}
.msg.ok{background:rgba(34,197,94,0.14);color:var(--green);}

footer{margin-top:36px;border-top:1px solid var(--line);padding:32px 0 46px;color:var(--muted);}
footer .disc{font-size:0.78rem;max-width:70ch;}
.toast{position:fixed;bottom:22px;left:22px;z-index:200;background:#0C1F17;border:1px solid var(--line);border-radius:12px;padding:13px 18px;display:none;}
.toast.on{display:block;}

@media(prefers-reduced-motion:reduce){.blob,.slide .bg{animation:none!important;}html{scroll-behavior:auto;}}

/* series season/episode nav */
.seas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.seasbtn{padding:8px 16px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-family:inherit;font-weight:700;}
.seasbtn.on{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--green);}
.eps{display:flex;flex-wrap:wrap;gap:8px;}
.epbtn{padding:8px 14px;border-radius:10px;background:rgba(255,255,255,0.03);border:1px solid var(--line);color:#cfe6da;cursor:pointer;font-family:inherit;font-size:0.88rem;}
.epbtn.on{border-color:var(--green);background:rgba(34,197,94,0.14);color:var(--ink);}

/* admin drag & drop upload */
.dz{border:1.5px dashed var(--line);border-radius:12px;padding:14px;text-align:center;color:var(--muted);cursor:pointer;transition:.15s;font-size:0.85rem;}
.dz.over{border-color:var(--green);background:rgba(34,197,94,0.1);color:var(--ink);}
.dz img{max-height:120px;border-radius:8px;margin:8px auto 0;}
.qrbox{text-align:center;padding:10px;background:#fff;border-radius:12px;display:inline-block;}
.qrbox img{width:180px;height:180px;}

/* ===== Phase 4: navbar, poster actions, filters, votes, profile, news, player subtitle controls ===== */
nav.mainnav{display:flex;gap:6px;align-items:center;}
nav.mainnav a{padding:7px 13px;border-radius:999px;font-weight:700;font-size:0.9rem;color:var(--muted);}
nav.mainnav a:hover,nav.mainnav a.on{color:var(--ink);background:var(--panel);}
.icon-btn{position:relative;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;}
.icon-btn:hover{border-color:var(--green);}
.icon-btn .badge{position:absolute;top:-5px;inset-inline-end:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:0.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.avatar-menu{position:absolute;top:56px;inset-inline-end:22px;z-index:60;background:#0C1F17;border:1px solid var(--line);border-radius:14px;padding:8px;min-width:210px;box-shadow:0 30px 70px -25px #000;display:none;}
.avatar-menu.on{display:block;}
.avatar-menu a,.avatar-menu button{display:flex;width:100%;gap:9px;align-items:center;padding:10px 12px;border-radius:9px;background:none;border:none;color:var(--ink);font-family:inherit;font-size:0.9rem;cursor:pointer;text-align:start;}
.avatar-menu a:hover,.avatar-menu button:hover{background:var(--panel);}
.notif-list{position:absolute;top:56px;inset-inline-end:22px;z-index:60;background:#0C1F17;border:1px solid var(--line);border-radius:14px;padding:8px;width:min(340px,92vw);max-height:60vh;overflow:auto;box-shadow:0 30px 70px -25px #000;display:none;}
.notif-list.on{display:block;}
.notif-list .ni{padding:10px 12px;border-radius:9px;font-size:0.85rem;border:1px solid var(--line);margin-bottom:6px;}
.notif-list .ni.unread{border-color:var(--green);background:rgba(34,197,94,0.08);}
.notif-list .ni small{color:var(--muted);display:block;margin-top:3px;}

/* poster quick-action buttons — always visible; favorite pinned to the right,
   download-list to the left (RTL: favorite first in DOM = right side). */
.card .pw::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44%;z-index:2;pointer-events:none;background:linear-gradient(0deg,rgba(4,12,8,0.85),transparent);}
.card .qa{position:absolute;bottom:10px;inset-inline-start:10px;inset-inline-end:10px;display:flex;justify-content:space-between;z-index:3;}
.qa button{width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,0.28);background:rgba(8,19,14,0.72);backdrop-filter:blur(4px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.qa button .ic{width:18px;height:18px;}
.qa button:hover{border-color:var(--green);background:rgba(8,19,14,0.9);}
.qa button.on{background:var(--green);color:#04140C;border-color:var(--green);}
.qa button.on.fav{background:#ef4d6a;border-color:#ef4d6a;color:#fff;}
.qa button.on.fav .ic{fill:#fff;}

/* filter / sort bar */
.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 20px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;}
.filterbar select,.filterbar input{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 13px;color:var(--ink);font-family:inherit;font-size:0.85rem;}
.filterbar label{font-size:0.8rem;color:var(--muted);font-weight:700;}
.fpair{display:flex;align-items:center;gap:7px;}
.fpair label{white-space:nowrap;}
.fpair select,.fpair input{flex:1;min-width:0;}
.fpair.grow{flex:1;min-width:150px;}
.chip-sort{margin-inline-start:auto;}
.chip-sort{display:flex;gap:6px;flex-wrap:wrap;}
.chip-sort button{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:inherit;font-weight:700;font-size:0.82rem;cursor:pointer;}
.chip-sort button.on{background:var(--green);color:#04140C;border-color:var(--green);}

/* like / dislike + detail action buttons */
.rate-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0;}
.ratebtn{display:inline-flex;gap:7px;align-items:center;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-family:inherit;font-weight:700;font-size:0.88rem;}
.ratebtn:hover{border-color:var(--green);}
.ratebtn.on.like{background:var(--green);color:#04140C;border-color:var(--green);}
.ratebtn.on.dislike{background:#ef4444;color:#fff;border-color:#ef4444;}

/* news / reviews cards */
.newsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.newscard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s;}
.newscard:hover{transform:translateY(-5px);border-color:var(--green);}
.newscard .nc-img{aspect-ratio:16/9;background:var(--panel-2);overflow:hidden;}
.newscard .nc-img img{width:100%;height:100%;object-fit:cover;}
.newscard .nc-b{padding:14px;}
.newscard .nc-k{font-size:0.72rem;font-weight:700;color:var(--green);}
.newscard h3{font-size:1rem;margin:5px 0 6px;}
.newscard p{font-size:0.85rem;color:var(--muted);margin:0;}

/* profile page */
.proftabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;}
.proftabs button{padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:inherit;font-weight:700;cursor:pointer;}
.proftabs button.on{background:var(--green);color:#04140C;border-color:var(--green);}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px;}
.tk{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;}
.tk .tk-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.tk .st{font-size:0.72rem;font-weight:700;padding:3px 10px;border-radius:999px;}
.st.open{background:rgba(245,178,62,0.16);color:var(--amber);}
.st.answered{background:rgba(34,197,94,0.16);color:var(--green);}
.st.closed{background:var(--panel-2);color:var(--muted);}
.msgline{padding:10px 13px;border-radius:10px;margin:8px 0;font-size:0.88rem;}
.msgline.user{background:var(--panel-2);}
.msgline.admin{background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.3);}
textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 14px;color:var(--ink);font-family:inherit;resize:vertical;min-height:80px;}
.field select,.field input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 14px;color:var(--ink);font-family:inherit;}

/* online-player subtitle controls */
.subctl{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:12px;padding:12px 14px;background:rgba(8,19,14,0.7);border:1px solid var(--line);border-radius:12px;font-size:0.82rem;}
.subctl .grp{display:flex;gap:8px;align-items:center;}
.subctl label{color:var(--muted);font-weight:700;}
.subctl input[type=range]{accent-color:var(--green);}
.subctl input[type=color]{width:34px;height:28px;border:none;background:none;border-radius:6px;cursor:pointer;}
.subctl button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-weight:700;}
.relsec{margin-top:28px;}

/* ===== Icons (inline SVG, currentColor) ===== */
.ic{width:1.15em;height:1.15em;display:inline-block;vertical-align:-0.18em;flex:none;stroke:currentColor;}
.btn .ic,.ratebtn .ic,.chip-sort button .ic{width:1.05em;height:1.05em;}
.icon-btn .ic{width:20px;height:20px;}
.mainnav a .ic{width:1em;height:1em;vertical-align:-0.15em;margin-inline-end:5px;}

/* ===== Advanced-search toggle (gear next to home search) ===== */
.search-wrap{display:flex;align-items:center;gap:8px;flex:1;max-width:520px;}
.gear-btn{width:42px;height:42px;flex:none;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.gear-btn:hover,.gear-btn.on{border-color:var(--green);color:var(--green);}
.adv-panel{max-width:1280px;margin:0 auto;padding:0 22px;}
.adv-panel .filterbar{margin-top:12px;}

/* ===== dub/sub accordion bar + season/episode navigation ===== */
.modebar{display:flex;flex-direction:column;gap:14px;}
.modeacc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);}
.modeacc>.mhead{display:flex;align-items:center;gap:10px;width:100%;padding:15px 18px;background:var(--panel-2);border:none;color:var(--ink);font-family:inherit;font-weight:700;font-size:1.02rem;cursor:pointer;text-align:start;}
.modeacc>.mhead .ic{width:20px;height:20px;color:var(--green);}
.modeacc>.mhead .chev{margin-inline-start:auto;transition:transform .2s;color:var(--muted);}
.modeacc.open>.mhead .chev{transform:rotate(90deg);}
.modeacc>.mbody{display:none;padding:16px 18px;}
.modeacc.open>.mbody{display:block;}
.seasonrow,.episoderow{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px;}
.seasonrow .sbtn,.episoderow .ebtn{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-family:inherit;font-weight:700;font-size:0.88rem;cursor:pointer;transition:.15s;}
.seasonrow .sbtn:hover,.episoderow .ebtn:hover{border-color:var(--green);color:var(--ink);}
.seasonrow .sbtn.on{background:var(--grad);color:#04140C;border-color:transparent;}
.episoderow .ebtn.on{background:var(--green);color:#04140C;border-color:var(--green);}
.eplabel{font-size:0.82rem;color:var(--muted);font-weight:700;margin:2px 0 8px;}

/* ===== satisfaction bar ===== */
.satis{display:flex;align-items:center;gap:12px;margin:6px 0 2px;flex-wrap:wrap;}
.satis .bar-track{flex:1;min-width:160px;max-width:320px;height:10px;border-radius:999px;background:var(--panel-2);overflow:hidden;}
.satis .bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22C55E,#A3E635);}
.satis .pct{font-weight:700;color:var(--green);}
.satis .cnt{font-size:0.82rem;color:var(--muted);}

/* ===== role badges (admin users) ===== */
.role-badge{font-size:0.72rem;font-weight:700;padding:3px 10px;border-radius:999px;}
.role-user{background:var(--panel-2);color:var(--muted);}
.role-admin{background:rgba(34,197,94,0.16);color:var(--green);}
.role-manager{background:rgba(245,178,62,0.16);color:var(--amber);}
.role-developer{background:rgba(45,212,191,0.16);color:var(--teal);}

/* ===== RESPONSIVE — mobile-first breakpoints (phone / tablet / desktop / TV) ===== */
/* header wraps gracefully; nav becomes a horizontal scroller on small screens */
@media(max-width:900px){
  header .wrap.row{flex-wrap:wrap;gap:10px;padding:12px 16px!important;}
  nav.mainnav{order:3;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
  nav.mainnav::-webkit-scrollbar{display:none;}
  .search-wrap{order:2;max-width:none;flex:1 1 200px;}
  #cf-account{order:2;}
}
/* tablet */
@media(max-width:768px){
  .wrap{padding:0 16px;}
  .hero{height:min(64vh,460px);}
  .hero h1{font-size:clamp(1.6rem,6vw,2.4rem);}
  .hero .ov{display:none;}
  .grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
  .card{width:150px;}
  .rail{gap:12px;}
  section.rowsec{padding:18px 0;}
  .rowhead h2{font-size:1.12rem;}
  .detail-top{grid-template-columns:110px 1fr;gap:14px;}
  .vacts{grid-template-columns:1fr 1fr;}
  .plans{grid-template-columns:1fr;}
  .filterbar{gap:10px;padding:12px;}
  .fpair{flex:1 1 100%;}                 /* one filter per row: «برچسب: [باکس]» */
  .fpair label{flex:0 0 4.5rem;}         /* align the boxes under each other */
  .chip-sort{width:100%;margin-inline-start:0;justify-content:flex-start;}
  .newsgrid{grid-template-columns:1fr 1fr;}
  .avatar-menu,.notif-list{inset-inline-end:8px;}
}
/* phone */
@media(max-width:480px){
  .brand{font-size:1.2rem;}
  .hero{height:min(60vh,420px);}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .card{width:auto;}
  .rail .card{width:132px;}
  .rate-row{gap:8px;}
  .ratebtn{padding:8px 12px;font-size:0.82rem;}
  .newsgrid{grid-template-columns:1fr;}
  .proftabs button{flex:1 1 auto;}
  .subctl{gap:10px;}
  .modeacc>.mhead{font-size:0.95rem;padding:13px 14px;}
}
/* keep tap targets comfortable on touch */
@media(hover:none){
  .qa button{width:40px;height:40px;}
  .btn.sm{padding:11px 16px;}
}
/* TV / very large screens — scale the whole UI up so it reads from a couch */
@media(min-width:1800px){
  html{font-size:20px;}
  .wrap,.admin-wrap{max-width:1680px;}
  .hero{height:min(72vh,860px);}
  .grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;}
  .rail .card,.card{width:240px;}
}
@media(min-width:2400px){
  html{font-size:24px;}
  .wrap,.admin-wrap{max-width:2100px;}
  .grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
}
/* focus visibility for keyboard/TV-remote navigation */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px;}

/* rate-row active states (icon buttons) */
.ratebtn.on{background:var(--green);color:#04140C;border-color:var(--green);}
.ratebtn.like.on{background:var(--green);color:#04140C;border-color:var(--green);}
.ratebtn.dislike.on{background:#ef4444;color:#fff;border-color:#ef4444;}
.ratebtn.fav.on{background:#ef4d6a;color:#fff;border-color:#ef4d6a;}
.ratebtn.fav.on .ic{fill:#fff;}
/* download action buttons become real buttons — normalise */
.vacts .va{font-family:inherit;font-size:0.86rem;}

/* per-title "what's new" note next to the poster */
.updatenote{display:flex;align-items:center;gap:8px;margin:4px 0 12px;padding:9px 14px;border-radius:12px;font-size:0.9rem;
  background:rgba(245,178,62,0.12);border:1px solid rgba(245,178,62,0.4);color:#ffdca0;max-width:60ch;}
.updatenote .ic{color:var(--amber);flex:none;}
.updatenote b{color:var(--amber);}

/* softer, rounded poster corners (not sharp) — all four corners of the poster */
.card{border-radius:16px;}
.card .pw{border-radius:16px;}          /* round top AND bottom of the poster */
.card .pw img{border-radius:16px;}
.card .cap{padding-top:9px;}            /* small breathing room under the rounded poster */
.detail-top .poster,.detail-top .poster img{border-radius:18px;}
.relsec .card,.rail .card{border-radius:16px;}

/* "ادامه تماشا" — remove button + progress bar on the poster */
.cw-x{position:absolute;top:8px;inset-inline-end:8px;z-index:4;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,0.3);background:rgba(8,19,14,0.8);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.cw-x .ic{width:16px;height:16px;}
.cw-x:hover{background:#ef4444;border-color:#ef4444;}
.cw-prog{position:absolute;left:0;right:0;bottom:0;height:5px;z-index:4;background:rgba(0,0,0,0.5);}
.cw-prog i{display:block;height:100%;background:var(--grad);}

/* ===== Online player: fullscreen shell + in-video gear + settings panel ===== */
.player-shell{position:relative;width:min(1100px,96vw);}
.player-shell video,.player-shell .plyr{width:100%;border-radius:14px;overflow:hidden;}
/* overlay (gear/panel/close) is moved INSIDE .plyr so it shows in Plyr's
   fullscreen; keep it above Plyr's own controls */
.player-shell .plyr .close{position:absolute;top:12px;inset-inline-end:12px;z-index:30;}
.player-shell .close{position:absolute;top:12px;inset-inline-end:12px;z-index:30;}
.pl-gear{position:absolute;top:12px;inset-inline-start:12px;z-index:30;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,0.25);background:rgba(6,14,10,0.78);backdrop-filter:blur(6px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
/* fade the top buttons out together with Plyr's control bar (auto-hide) */
.player-shell .plyr .close,.pl-gear{transition:opacity .3s ease;}
.plyr.plyr--hide-controls .pl-gear,.plyr.plyr--hide-controls .close,.plyr.plyr--hide-controls .pl-panel{opacity:0;pointer-events:none;}
.pl-gear:hover{border-color:var(--green);color:var(--green);}
.pl-gear .ic{width:22px;height:22px;}
.pl-panel{position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:28;width:min(340px,88%);background:rgba(4,12,8,0.96);backdrop-filter:blur(10px);border-inline-end:1px solid var(--line);
  padding:64px 16px 16px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .2s ease;}
/* clear the top-corner close/gear so the title isn't hidden behind them */
.pl-head{padding-inline-end:4px;}
.pl-panel.on{opacity:1;visibility:visible;}
.pl-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.05rem;margin-bottom:14px;}
.pl-x{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pl-sec{margin-bottom:15px;}
.pl-sec>label{display:flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--muted);font-weight:700;margin-bottom:7px;}
.pl-sec>label .ic{width:15px;height:15px;color:var(--green);}
.pl-btns{display:flex;gap:7px;}
.pl-btns.wrap{flex-wrap:wrap;max-height:190px;overflow-y:auto;}
.pl-btns button{padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:inherit;font-weight:700;font-size:0.85rem;cursor:pointer;}
.pl-btns button:hover{border-color:var(--green);}
.pl-btns button.on{background:var(--grad);color:#04140C;border-color:transparent;}
.pl-sec input[type=range]{width:100%;accent-color:var(--green);}
.pl-sec input[type=color]{width:44px;height:32px;border:none;background:none;border-radius:8px;cursor:pointer;}
