/* ===== لومیر — Persian (RTL) private-cinema UI · modern cool-slate dark ===== */
:root{
  --bg:#07070b;              /* obsidian */
  --bg2:#0b0b12;
  --surface:#131219;         /* card (warm charcoal) */
  --surface-solid:#15141c;
  --surface2:#1d1b26;        /* hover / raised */
  --glass:rgba(24,22,32,.66);
  --glass2:rgba(32,29,42,.74);
  --line:rgba(226,212,170,.085);   /* warm gold hairline */
  --line2:rgba(226,212,170,.18);
  --ink:#f4f1e8;             /* warm white */
  --ink2:#dcd6c6;
  --muted:#a39b89;
  --dim:#6f6859;
  --accent:#d9b65c;          /* gold */
  --accent-2:#f3dc97;        /* champagne */
  --accent-soft:rgba(217,182,92,.13);
  --gold:linear-gradient(135deg,#f6e3a6 0%,#d9b65c 46%,#b68f34 100%);
  --gold-soft:linear-gradient(135deg,rgba(246,227,166,.18),rgba(182,143,52,.1));
  --ok:#49d17f; --bad:#f06f6f;
  --r:12px; --r-lg:18px;
  --sans:"Vazirmatn",system-ui,"Segoe UI",Tahoma,sans-serif;
  --serif:var(--sans);
  --shadow:0 2px 6px rgba(0,0,0,.5), 0 14px 40px -18px rgba(0,0,0,.8);
  --shadow-lg:0 36px 90px -30px rgba(0,0,0,.92);
  --glow:0 0 0 1px rgba(217,182,92,.22), 0 8px 34px -10px rgba(217,182,92,.28);
}
*{box-sizing:border-box;letter-spacing:normal}   /* never letter-space Persian — it breaks the joins */
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;
  font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}
.screen{position:fixed;inset:0}
[hidden]{display:none!important}
::selection{background:var(--accent-soft)}
h1,h2,h3,h4,.brand{font-family:var(--sans);font-weight:700;line-height:1.35;color:var(--ink)}
[dir="ltr"]{font-family:ui-monospace,"Vazirmatn",Menlo,monospace}

/* ============ LOGIN ============ */
.login{display:grid;place-items:center;
  background:
    radial-gradient(900px 520px at 50% -8%, #16223a 0%, transparent 60%),
    radial-gradient(700px 560px at 12% 116%, #101a2e 0%, transparent 58%),
    var(--bg)}
.login::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(130% 90% at 50% 30%,transparent 62%,rgba(0,0,0,.5))}
.login-card{position:relative;z-index:2;width:min(92vw,404px);padding:52px 44px 32px;text-align:center;
  background:linear-gradient(180deg,#161c26 0%,#11161e 100%);
  border:1px solid var(--line2);border-radius:18px;box-shadow:var(--shadow-lg)}
.frame{position:absolute;inset:0;border-radius:18px;pointer-events:none;
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
  background:linear-gradient(180deg,rgba(59,130,246,.06),transparent 40%)}
.brandmark{display:flex;justify-content:center;position:relative;z-index:1}
.emblem{width:44px;height:44px;filter:drop-shadow(0 4px 16px rgba(59,130,246,.35))}
.brand{margin:16px 0 0;font-size:34px;font-weight:800;color:var(--ink);position:relative;z-index:1}
.tagline{margin:6px 0 0;color:var(--muted);font-size:13.5px;position:relative;z-index:1}
form{margin-top:32px;text-align:start;position:relative;z-index:1}

.field{position:relative;margin:0 0 24px}
.field input{width:100%;padding:11px 2px;background:transparent;border:0;border-bottom:1.5px solid var(--line2);
  color:var(--ink);font-size:15px;font-family:var(--sans);font-weight:400;outline:none;transition:border-color .25s}
.field label{position:absolute;inset-inline-start:2px;top:10px;color:var(--dim);font-size:14px;pointer-events:none;transition:.22s}
.field input:focus{border-color:var(--accent)}
.field input:focus+label,.field input:not(:placeholder-shown)+label{top:-14px;font-size:12px;color:var(--accent-2)}
.peek{position:absolute;inset-inline-end:0;top:6px;width:30px;height:30px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--dim)}
.peek:hover{color:var(--ink2)}.peek svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}

.err{min-height:16px;margin:0 0 14px;color:var(--bad);font-size:13px;opacity:0;transition:opacity .25s}
.err.show{opacity:1}
.btn{position:relative;width:100%;padding:13px;border:0;border-radius:10px;cursor:pointer;
  background:var(--accent);color:#fff;font-family:var(--sans);font-size:15px;font-weight:600;
  box-shadow:0 6px 20px -8px rgba(59,130,246,.7);transition:background .2s,transform .1s,box-shadow .2s}
.btn:hover{background:var(--accent-2);box-shadow:0 8px 26px -8px rgba(59,130,246,.9)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress}
.foot{margin-top:26px;color:var(--dim);font-size:11.5px;position:relative;z-index:1}

.reveal{animation:fadein .8s ease both}
.reveal>*{opacity:0;animation:rise .7s cubic-bezier(.2,.6,.2,1) both}
.reveal .brandmark{animation-delay:.05s}.reveal .brand{animation-delay:.12s}.reveal .tagline{animation-delay:.2s}
.reveal form{animation-delay:.28s}.reveal .foot{animation-delay:.4s}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ============ DASHBOARD ============ */
.app{display:grid;grid-template-columns:252px 1fr;background:var(--bg)}
.sidebar{position:relative;display:flex;flex-direction:column;padding:26px 18px;gap:6px;
  background:var(--bg2);border-inline-end:1px solid var(--line)}
.side-brand{display:flex;align-items:center;gap:11px;padding:2px 6px 22px;margin-bottom:6px;
  border-bottom:1px solid var(--line);font-family:var(--sans);font-size:22px;font-weight:800;color:var(--ink)}
.side-brand .emblem{width:26px;height:26px}
.nav{display:flex;flex-direction:column;gap:4px;margin-top:14px}
.nav-item{position:relative;display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:10px;
  color:var(--muted);cursor:pointer;font-size:14.5px;font-weight:500;transition:color .18s,background .18s}
.nav-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-item:hover{color:var(--ink);background:var(--surface)}
.nav-item.active{color:var(--accent-2);background:var(--accent-soft)}
.nav-item.active::before{content:"";position:absolute;inset-inline-start:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent)}
.side-user{margin-top:auto;display:flex;align-items:center;gap:12px;padding:14px 6px 4px;border-top:1px solid var(--line)}
.avatar{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-family:var(--sans);font-size:17px;font-weight:700;
  color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));flex:0 0 auto}
.avatar.ring{background:var(--surface);color:var(--ink2);border:1px solid var(--line2)}
.who{display:flex;flex-direction:column;line-height:1.35;flex:1;overflow:hidden}
.who b{font-size:14px;font-weight:600}.who small{color:var(--dim);font-size:12px}
.logout{background:none;border:0;color:var(--dim);cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:8px}
.logout:hover{color:var(--bad);background:var(--surface)}.logout svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}

.content{overflow:auto;height:100vh;padding:32px 42px 60px}

.view{animation:fadein .35s both}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin:8px 2px 16px}
.sec-head h3{margin:0;font-size:18px;font-weight:700;color:var(--ink)}
.sec-head a{color:var(--accent-2);font-size:13px;cursor:pointer}.sec-head a:hover{color:var(--accent)}

/* dashboard intro */
.hero.slim{padding:0 0 26px;border-bottom:1px solid var(--line);margin-bottom:32px}
.hero .eyebrow{color:var(--accent-2);font-size:13px;font-weight:600;margin:0 0 8px}
.hero h1{margin:0;font-size:34px;font-weight:800;line-height:1.25;color:var(--ink)}
.hero p{margin:12px 0 0;color:var(--muted);max-width:600px;font-size:15px;line-height:1.85}
.hero p b{color:var(--ink2);font-weight:600}
.hero .cta,.hero::after{display:none}

/* stat cards */
.grid{display:grid;gap:16px}
.stats{grid-template-columns:repeat(4,1fr);margin-bottom:34px}
.card{position:relative;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .2s,transform .15s,box-shadow .2s}
.card:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:var(--shadow)}
.card .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:15px;background:var(--accent-soft)}
.card .ic svg{width:19px;height:19px;fill:none;stroke:var(--accent-2);stroke-width:1.7}
.card .num{font-family:var(--sans);font-size:36px;font-weight:800;line-height:1;color:var(--ink)}
.card .lbl{color:var(--muted);font-size:13px;margin-top:8px}
.card .trend{position:absolute;top:22px;inset-inline-end:22px;font-size:12px;color:var(--dim)}

.grid.mini{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}
.mini-item{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.mini-item b{font-size:14px;flex:1;font-weight:500;color:var(--ink2)}
.mini-item small{color:var(--dim);font-size:12px}

.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.dot.ok{background:var(--ok);box-shadow:0 0 0 3px rgba(63,185,80,.16)}
.dot.down{background:var(--bad);box-shadow:0 0 0 3px rgba(248,81,73,.16)}

/* buttons */
.btn-gold{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:0;border-radius:10px;cursor:pointer;
  font-family:var(--sans);font-weight:600;font-size:14px;color:#fff;background:var(--accent);
  box-shadow:0 4px 14px -6px rgba(59,130,246,.7);transition:.2s}
.btn-gold svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9}
.btn-gold:hover{background:var(--accent-2)}.btn-gold[disabled]{opacity:.6;cursor:progress}
.btn-ghost{padding:9px 18px;border-radius:10px;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:14px;
  color:var(--ink2);background:var(--surface);border:1px solid var(--line2);transition:.18s}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-2)}
.mini-btn{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--dim);cursor:pointer}
.mini-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mini-btn:hover{border-color:var(--line2);color:var(--ink);background:var(--surface2)}.mini-btn.b-del:hover{color:var(--bad);border-color:rgba(248,81,73,.4)}

/* gradient logo tiles (CSP-safe: preset classes, no inline styles) */
.blogo{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;
  font-family:var(--sans);font-weight:800;font-size:19px;color:#fff;text-transform:uppercase;
  box-shadow:0 4px 12px -4px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.18)}
.blogo.sm{width:30px;height:30px;border-radius:9px;font-size:13px}
.dhead .blogo{width:52px;height:52px;border-radius:14px;font-size:22px}
.g0{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.g1{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.g2{background:linear-gradient(135deg,#ec4899,#be185d)}
.g3{background:linear-gradient(135deg,#f43f5e,#e11d48)}
.g4{background:linear-gradient(135deg,#f59e0b,#d97706)}
.g5{background:linear-gradient(135deg,#10b981,#047857)}
.g6{background:linear-gradient(135deg,#06b6d4,#0e7490)}
.g7{background:linear-gradient(135deg,#14b8a6,#0f766e)}
.g8{background:linear-gradient(135deg,#6366f1,#4338ca)}
.g9{background:linear-gradient(135deg,#a855f7,#7e22ce)}
.g10{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
.g11{background:linear-gradient(135deg,#f97316,#c2410c)}

/* bridges table */
.blist{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.loading{padding:28px;text-align:center;color:var(--dim)}
.loading.pad{padding:40px}
.msub.ltr{text-align:left}
.btable{width:100%;border-collapse:collapse;text-align:start}
.btable thead th{text-align:start;font-size:12px;font-weight:600;color:var(--muted);padding:14px 22px;
  background:var(--bg2);border-bottom:1px solid var(--line2);white-space:nowrap}
.btable td{padding:14px 22px;border-bottom:1px solid var(--line);vertical-align:middle}
.btable tbody tr:last-child td{border-bottom:0}
.brow{cursor:pointer;transition:background .16s}
.brow:hover{background:var(--surface2)}
.c-url{width:36%}.c-auth{width:110px}.c-stat{width:130px}.c-act{width:120px}
.bname{display:flex;align-items:center;gap:13px;min-width:0}
.bname b{font-family:var(--sans);font-size:16px;font-weight:600;color:var(--ink)}
.c-url small{color:var(--ink2);font-size:13px;font-family:ui-monospace,Menlo,monospace}
.c-auth .muted{color:var(--dim)}
.tag{font-size:11px;padding:3px 11px;border-radius:20px;background:var(--surface2);color:var(--muted);border:1px solid var(--line2)}
.stat{font-size:13px;font-weight:600;color:var(--dim);display:inline-flex;align-items:center;gap:8px}
.stat.ok{color:var(--ok)}.stat.down{color:var(--bad)}
.bacts{display:flex;align-items:center;gap:2px}
.chev{width:16px;height:16px;fill:none;stroke:var(--dim);stroke-width:1.8;margin-inline-start:4px;transform:scaleX(-1)}
.brow:hover .chev{stroke:var(--accent-2)}

/* modal */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center}
.modal-bg{position:absolute;inset:0;background:rgba(3,6,12,.72);backdrop-filter:blur(4px);animation:fadein .25s both}
.modal-card{position:relative;z-index:2;width:min(94vw,540px);max-height:88vh;overflow:auto;padding:36px 38px 30px;
  background:var(--surface);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:rise .28s ease both}
.mclose{position:absolute;top:16px;inset-inline-end:16px;width:32px;height:32px;border-radius:9px;background:var(--surface2);border:1px solid var(--line2);color:var(--muted);cursor:pointer;font-size:13px}
.mclose:hover{color:var(--bad);border-color:rgba(248,81,73,.4)}
.modal-card h3{margin:0 0 8px;font-size:24px;font-weight:800}
.msub{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.8}
.mfield{margin-bottom:18px}
.mfield label{display:block;font-size:13px;color:var(--ink2);margin-bottom:8px;font-weight:500}
.mfield label small{color:var(--dim);font-weight:400}
.mfield input{width:100%;padding:11px 13px;background:var(--bg);border:1px solid var(--line2);border-radius:10px;color:var(--ink);font-size:14.5px;font-family:var(--sans);outline:none;transition:border-color .2s}
.mfield input:focus{border-color:var(--accent)}
.merr{min-height:15px;color:var(--bad);font-size:13px;margin:2px 0 8px}
.mrow{display:flex;justify-content:flex-start;gap:12px;margin-top:26px}
.dhead{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.dtable{margin:18px 0;border-top:1px solid var(--line)}
.drow{display:flex;gap:16px;padding:12px 2px;font-size:14px;border-bottom:1px solid var(--line);align-items:baseline}
.drow>span{color:var(--dim);width:110px;flex:0 0 auto;font-size:13px}
.drow code,.drow a{color:var(--accent-2);word-break:break-all;font-size:13px}
.drow a:hover{color:var(--accent)}
.deph{margin:24px 0 12px;font-size:14px;font-weight:700;color:var(--ink)}
.deph small{color:var(--dim);font-weight:400}
.eps{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ep{display:block;padding:10px 13px;background:var(--bg);font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--ink2);white-space:pre-wrap;word-break:break-word;text-align:left}

.placeholder{padding:60px;text-align:center;color:var(--dim);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.placeholder .emblem{opacity:.5;margin-bottom:16px}
.placeholder h3{font-size:22px;color:var(--ink);margin:0 0 8px;font-weight:700}

*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px;border:2px solid var(--bg)}
*::-webkit-scrollbar-thumb:hover{background:var(--dim)}
*::-webkit-scrollbar-track{background:transparent}

@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app{grid-template-columns:70px 1fr}.side-brand span,.nav-item span,.who,.logout{display:none}
  .nav-item{justify-content:center}.side-brand{justify-content:center}
  .content{padding:22px}}

/* ===== dashboard: smart search ===== */
.search-hero{max-width:920px;margin:0 auto 8px}
.s-title{font-size:30px;font-weight:800;margin:6px 0 6px}
.s-sub{color:var(--muted);font-size:14px;margin:0 0 22px;line-height:1.9}
.s-sub span{color:var(--accent-2)}
.s-bar{display:flex;align-items:stretch;gap:12px}
.s-inp{flex:1;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line2);
  border-radius:14px;padding:8px 16px;transition:border-color .2s,box-shadow .2s;min-width:0}
.s-inp:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.s-ic{width:22px;height:22px;fill:none;stroke:var(--dim);stroke-width:1.7;flex:0 0 auto}
.s-inp input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--ink);font-family:var(--sans);font-size:17px;padding:8px 0}
.s-inp input::placeholder{color:var(--dim)}
.s-inp input[dir="ltr"]{text-align:left}
.s-bar .btn-gold{flex:0 0 auto;padding:0 28px;font-size:15px;border-radius:12px}
.s-controls{display:flex;gap:14px;margin-top:16px;flex-wrap:wrap}
.s-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.sel-wrap{position:relative}
.sel-wrap select{appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--line2);
  border-radius:10px;color:var(--ink);font-family:var(--sans);font-size:14px;padding:10px 38px 10px 14px;cursor:pointer;outline:none;min-width:200px}
.sel-wrap select:focus{border-color:var(--accent)}
.sel-ch{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:1.8;pointer-events:none}
.s-info{max-width:1200px;margin:22px auto 12px;color:var(--muted);font-size:13.5px;min-height:18px}
.s-warn{color:var(--bad)}

.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:20px}
.rcard{cursor:pointer;display:flex;flex-direction:column;gap:9px;border-radius:14px;transition:transform .15s}
.rcard:hover{transform:translateY(-4px)}
.r-poster{position:relative;aspect-ratio:2/3;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.rcard:hover .r-poster{border-color:var(--accent);box-shadow:var(--shadow)}
.r-img{width:100%;height:100%;object-fit:cover;display:block}
.r-img.broken{display:grid;place-items:center;background:linear-gradient(135deg,#1a2230,#0f151d)}
.r-img.broken::after{content:"";width:38px;height:38px;background:var(--line2);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M4 4h16v16H4zM4 9h16M9 4v16'/></svg>") center/contain no-repeat}
.r-rate{position:absolute;top:8px;inset-inline-start:8px;background:rgba(3,6,12,.8);color:var(--accent-2);
  font-size:12px;font-weight:700;padding:3px 8px;border-radius:8px;backdrop-filter:blur(4px)}
.r-src{position:absolute;bottom:8px;inset-inline-start:8px;background:rgba(3,6,12,.78);color:#e6edf3;
  font-size:10.5px;padding:3px 8px;border-radius:8px;backdrop-filter:blur(4px);font-family:ui-monospace,Menlo,monospace}
.r-type{position:absolute;top:8px;inset-inline-end:8px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:8px}
.r-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px}
.r-meta b{font-size:14.5px;font-weight:600;line-height:1.4;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.r-meta small{color:var(--dim);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-year{color:var(--muted);font-size:12.5px}

.res-skel{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:20px}
.sk-card{aspect-ratio:2/3;border-radius:14px;background:linear-gradient(100deg,var(--surface) 30%,var(--surface2) 50%,var(--surface) 70%);
  background-size:200% 100%;animation:shimmer 1.3s infinite}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.empty{padding:60px;text-align:center;color:var(--dim)}

/* detail modal (search) */
.d-head{display:flex;gap:20px;margin-bottom:18px}
.d-poster{width:120px;aspect-ratio:2/3;object-fit:cover;border-radius:12px;border:1px solid var(--line2);flex:0 0 auto}
.d-poster.broken,.dl-poster.broken{background:linear-gradient(135deg,#1a2230,#0f151d)}
.d-poster.broken{display:none}
.d-headmeta{min-width:0;flex:1}
.d-headmeta h3{margin:0 0 4px;font-size:24px;font-weight:800}
.d-en{margin:0 0 10px;color:var(--muted);font-size:14px}
.d-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.d-chip{font-size:12px;padding:4px 11px;border-radius:20px;background:var(--surface2);color:var(--ink2);border:1px solid var(--line2)}
.d-src{color:var(--dim);font-size:12.5px}.d-src b{color:var(--ink2)}
.d-desc{color:var(--ink2);font-size:14.5px;line-height:1.95;margin:0 0 18px}
.d-block{margin-bottom:18px}
.d-block h4{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--ink)}
.d-cast{color:var(--muted);font-size:13.5px;line-height:1.9;margin:0}
.d-season{margin-bottom:12px}
.d-season h4{margin:0 0 8px}.d-season small{color:var(--dim);font-weight:400}
.d-eps{display:flex;flex-wrap:wrap;gap:6px}
.d-ep{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:8px;background:var(--surface2);
  border:1px solid var(--line2);color:var(--ink2);font-size:13px;font-weight:600}
@media(max-width:560px){.d-head{flex-direction:column}.d-poster{width:96px}}

/* per-bridge rows (source = all) */
.rows{display:flex;flex-direction:column;gap:30px}
.brow-sec{min-width:0}
.brow-head{display:flex;align-items:center;gap:10px;margin:0 2px 14px}
.brow-head b{font-size:17px;font-weight:700;color:var(--ink)}
.brow-count{font-size:12px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:20px;padding:2px 10px}
.brow-track{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 12px;scroll-snap-type:x proximity}
.brow-track::-webkit-scrollbar{height:8px}
.brow-track .rcard{width:158px;flex:0 0 158px;scroll-snap-align:start}

/* empty / non-responding bridge rows */
.brow-sec.is-empty{opacity:.62}
.brow-empty{padding:14px 4px;color:var(--dim);font-size:13px;border:1px dashed var(--line2);border-radius:12px;background:var(--bg2)}
.brow-count.zero{color:var(--dim)}
.brow-count.down{color:var(--bad);border-color:rgba(248,81,73,.4)}

/* dub/subtitle badge */
.r-lang{position:absolute;bottom:8px;inset-inline-end:8px;background:rgba(63,185,80,.92);color:#04140a;
  font-size:10px;font-weight:700;padding:3px 8px;border-radius:8px;backdrop-filter:blur(4px)}
.d-chip-lang{background:var(--accent-soft);color:var(--accent-2);border-color:rgba(59,130,246,.4);font-weight:600}

/* dub/sub loading spinner (while resolved in background) */
.r-lang.lang-loading{background:rgba(3,6,12,.7);padding:4px 8px;display:inline-flex;align-items:center;justify-content:center}
.lspin{width:11px;height:11px;border-radius:50%;border:2px solid rgba(230,237,243,.35);border-top-color:var(--accent-2);
  display:inline-block;animation:lspin .7s linear infinite}
@keyframes lspin{to{transform:rotate(360deg)}}

/* ===== detail: download button + episode list ===== */
.d-dl{margin-top:14px}
.d-eplist{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.d-eprow{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg2)}
.d-eprow:hover{background:var(--surface2)}
.d-epnum{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--surface2);border:1px solid var(--line2);color:var(--ink2);font-weight:700;font-size:13px}
.d-eptitle{flex:1;min-width:0;font-size:14px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-dl{flex:0 0 auto}
.ep-dl:hover{color:var(--accent-2);border-color:var(--accent)}

/* ===== season / episode selection ===== */
.d-selbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 13px;background:var(--surface);border:1px solid var(--line2);border-radius:11px}
.d-selall{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink)}
.d-selcount{color:var(--muted);font-size:12.5px;white-space:nowrap}
.d-seasons{display:flex;flex-direction:column;gap:10px}
.d-season{margin-bottom:0}
.d-seahead{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.d-seachk{display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto}
.d-seatoggle{flex:1;min-width:0;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line2);
  border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--ink);text-align:start;font-family:inherit}
.d-seatoggle:hover{border-color:var(--line3,var(--line2));background:var(--surface2)}
.d-seatoggle b{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d-seacount{margin-inline-start:auto;color:var(--dim);font-size:12px;font-weight:400;flex:0 0 auto}
.d-seachev{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-width:2;transition:transform .2s;transform:rotate(90deg)}
.d-season.collapsed .d-seachev{transform:rotate(0deg)}
.d-season.collapsed .d-eplist{display:none}
.d-epchk{display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto}
/* custom checkbox */
.d-selall input,.d-seachk input,.d-epchk input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.cbox{width:18px;height:18px;flex:0 0 auto;border:1.5px solid var(--line3,var(--line2));border-radius:6px;background:var(--bg2);
  display:inline-grid;place-items:center;transition:background .15s,border-color .15s}
.cbox::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);
  transition:transform .15s;margin-top:-2px}
input:checked + .cbox{background:var(--accent);border-color:var(--accent)}
input:checked + .cbox::after{transform:rotate(45deg) scale(1)}
input:indeterminate + .cbox{background:var(--accent);border-color:var(--accent)}
input:indeterminate + .cbox::after{transform:none;width:9px;height:0;border:none;border-top:2px solid #fff;margin:0}
.d-foot{position:sticky;bottom:-1px;gap:10px}
.d-foot #batchDl{flex:1}
.btn-gold:disabled,.btn-gold.off{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}
.dl-note{margin:-8px 0 16px;font-size:12.5px;color:var(--accent-2);background:var(--accent-soft);
  border:1px solid rgba(59,130,246,.3);border-radius:9px;padding:9px 12px;line-height:1.6}
.dl-lbl small{color:var(--dim);font-weight:400}

/* ===== download picker ===== */
.dl-h{margin:0 0 18px;font-size:20px;font-weight:800}
.dl-sec{margin-bottom:18px}
.dl-lbl{display:block;font-size:13px;color:var(--muted);margin-bottom:9px;font-weight:600}
.dl-quals{display:flex;flex-wrap:wrap;gap:9px}
.dl-chk{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--line2);border-radius:10px;cursor:pointer;font-size:14px;background:var(--surface)}
.dl-chk:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}
.dl-modes{display:flex;flex-direction:column;gap:7px}
.dl-radio{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line2);border-radius:10px;cursor:pointer;font-size:14px;background:var(--surface)}
.dl-radio:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}
.dl-radio.off{opacity:.4;cursor:not-allowed}
.dl-chk input,.dl-radio input{accent-color:var(--accent)}

/* ===== toast ===== */
#toast{position:fixed;inset-block-end:24px;inset-inline-start:50%;transform:translateX(-50%) translateY(20px);z-index:200;
  background:var(--surface2);color:var(--ink);border:1px solid var(--line2);border-radius:12px;padding:12px 22px;font-size:14px;
  box-shadow:var(--shadow-lg);opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== downloads view ===== */
.dl-tabs{display:flex;gap:8px;margin:0 2px 20px}
.dl-tab{padding:9px 20px;border-radius:10px;border:1px solid var(--line2);background:var(--surface);color:var(--muted);cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:500}
.dl-tab:hover{color:var(--ink)}
.dl-tab.on{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent)}
.dl-list{display:flex;flex-direction:column;gap:12px}
.dl-row{display:flex;gap:14px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);align-items:center}
.dl-poster{width:46px;height:66px;flex:0 0 auto;object-fit:cover;border-radius:8px;border:1px solid var(--line2);background:var(--surface2)}
.dl-poster.ph{background:linear-gradient(135deg,#1a2230,#0f151d)}
.dl-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.dl-title{font-size:15px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-se{color:var(--dim);font-weight:400;font-size:12px}
.dl-badges{display:flex;flex-wrap:wrap;gap:6px}
.dl-b{font-size:11px;padding:2px 9px;border-radius:16px;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.dl-b.src{font-family:ui-monospace,Menlo,monospace}
.dl-bar{height:7px;border-radius:6px;background:var(--surface2);overflow:hidden}
.dl-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:6px;transition:width .5s}
.dl-err{font-size:12px;color:var(--bad);line-height:1.7;max-height:3.4em;overflow:auto}
.dl-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto;min-width:150px}
.dl-status{font-size:12px;font-weight:700;padding:2px 10px;border-radius:16px}
.dl-status.s-active{color:var(--accent-2);background:var(--accent-soft)}
.dl-status.s-done{color:var(--ok);background:rgba(63,185,80,.14)}
.dl-status.s-error{color:var(--bad);background:rgba(248,81,73,.14)}
.dl-status.s-paused,.dl-status.s-queued,.dl-status.s-stopped{color:var(--muted);background:var(--surface2)}
.dl-meta{font-size:12px;color:var(--dim)}
.dl-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.pinfo{color:var(--muted);font-size:13px}
@media(max-width:700px){.dl-right{min-width:0}.dl-badges{display:none}}

/* ===== downloads: section nav + table (redesign) ===== */
.dl-nav{display:flex;gap:26px;margin:0 2px 20px;border-bottom:1px solid var(--line)}
.dl-navi{position:relative;background:none;border:0;padding:0 2px 12px;margin-bottom:-1px;cursor:pointer;
  font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);transition:color .18s}
.dl-navi:hover{color:var(--ink)}
.dl-navi.on{color:var(--ink)}
.dl-navi.on::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2.5px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}

.dltable{width:100%;border-collapse:collapse;text-align:start;table-layout:fixed}
.dltable thead th{text-align:start;font-size:12px;font-weight:600;color:var(--muted);padding:12px 12px;
  background:var(--bg2);border-bottom:1px solid var(--line2);white-space:nowrap}
.dltable td{padding:12px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.dltable tbody tr:last-child td{border-bottom:0}
.dl-tr{transition:background .15s}
.dl-tr:hover{background:var(--surface2)}
/* c-t has no width → it flexes to fill the leftover; the rest are fixed so the
   table always fits the content area (table-layout:fixed) instead of overflowing */
.c-b{width:150px}.c-p{width:150px}.c-sz{width:118px}.c-st{width:104px}.c-a{width:112px}

.dl-tcell{display:flex;align-items:center;gap:12px;min-width:0}
.dl-poster{width:40px;height:58px;flex:0 0 auto;object-fit:cover;border-radius:7px;border:1px solid var(--line2);background:var(--surface2)}
.dl-poster.ph{background:linear-gradient(135deg,#1a2230,#0f151d)}
.dl-tmeta{min-width:0;flex:1}
.dl-title{font-size:14.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-se{color:var(--dim);font-weight:400;font-size:12px}
.dl-badges{display:flex;flex-wrap:wrap;gap:6px}
.dl-b{font-size:11px;padding:2px 9px;border-radius:16px;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.dl-b.src{font-family:ui-monospace,Menlo,monospace}

.c-p{white-space:nowrap}
.dl-bar{display:inline-block;width:84px;height:7px;border-radius:6px;background:var(--surface2);overflow:hidden;vertical-align:middle}
.dl-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:6px;transition:width .6s ease}
.dl-pct{margin-inline-start:9px;font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
.dl-ok{color:var(--ok);font-size:13px;font-weight:600}
.dl-errtxt{color:var(--bad);font-size:12px;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}

.c-sz b{display:block;font-size:13px;font-weight:600;color:var(--ink2)}
.c-sz small{display:block;font-size:11.5px;color:var(--dim);margin-top:2px}
.c-sz .dl-spd{color:var(--accent-2)}

.dl-status{font-size:12px;font-weight:700;padding:3px 11px;border-radius:16px;white-space:nowrap;display:inline-block}
.dl-status.s-active{color:var(--accent-2);background:var(--accent-soft)}
.dl-status.s-done{color:var(--ok);background:rgba(63,185,80,.14)}
.dl-status.s-error{color:var(--bad);background:rgba(248,81,73,.14)}
.dl-status.s-paused,.dl-status.s-queued,.dl-status.s-stopped{color:var(--muted);background:var(--surface2)}
.c-a .bacts{justify-content:flex-start}

@media(max-width:900px){.c-b,.c-sz{display:none}.dl-title{max-width:180px}}

.dl-prep{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px}
.dl-prep .lspin{width:12px;height:12px}

.dl-status.s-processing{color:#d9a441;background:rgba(217,164,65,.14)}

/* downloads: search, count badges, collapsible groups */
.dl-search{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;background:var(--surface);
  border:1px solid var(--line);min-width:260px;transition:border-color .2s}
.dl-search:focus-within{border-color:var(--accent)}
.dl-search svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--dim);stroke-width:1.6}
.dl-search input{background:none;border:0;outline:none;color:var(--ink);font-size:13.5px;width:100%;font-family:var(--sans)}
.dl-search input::placeholder{color:var(--dim)}
/* selection column + bulk actions */
.dltable th.c-sel,.dltable td.c-sel{width:40px;text-align:center;padding-inline:10px}
.dl-selbox{display:inline-flex;align-items:center;cursor:pointer;vertical-align:middle}
.dl-selbox input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.dl-bulk{display:flex;align-items:center;gap:10px;margin:0 2px 14px;padding:10px 14px;background:var(--accent-soft);
  border:1px solid rgba(59,130,246,.35);border-radius:11px}
.dl-bulkn{font-weight:700;color:var(--accent-2);font-size:13.5px;margin-inline-end:auto}
.dl-bulkbtn{display:inline-flex;align-items:center;gap:7px}
.dl-bulkbtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.dl-bulkclear{color:var(--muted)}
/* queue: version chips + inline download */
.q-ready{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.ver-chip{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;border:1px solid var(--line2)}
.ver-chip.dub{background:rgba(63,185,80,.15);color:#56d364;border-color:rgba(63,185,80,.4)}
.ver-chip.sub{background:var(--accent-soft);color:var(--accent-2);border-color:rgba(59,130,246,.4)}
.ver-chip.unk{color:var(--dim)}
.mini-dl{padding:5px 14px;font-size:12.5px;border-radius:8px}
.dl-nb{font-size:11px;background:var(--surface2);color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:1px 8px;margin-inline-start:6px}
.dl-navi.on .dl-nb{background:var(--accent-soft);color:var(--accent-2);border-color:rgba(59,130,246,.4)}
.dl-grp{cursor:pointer;background:var(--bg2)}
.dl-grp:hover{background:var(--surface2)}
.dl-chev{display:inline-block;width:16px;color:var(--muted);font-size:12px;flex:0 0 auto}
.dl-grp .dl-title{font-weight:700}
.dl-gsub{display:flex;align-items:center;gap:8px;margin-top:3px}
.dl-gsub .dl-cnt{font-size:11.5px;color:var(--dim)}
.dl-cnt{font-size:11px;color:var(--dim);margin-inline-start:8px}
.dl-child{background:var(--surface)}
.dl-child .dl-poster{width:34px;height:48px}

/* ---------- Settings ---------- */
.set-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 18px;border-bottom:1px solid var(--line)}
.set-tab{background:none;border:none;color:var(--muted);font-family:var(--sans);font-size:15px;font-weight:600;
  padding:10px 16px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.set-tab:hover{color:var(--ink)}
.set-tab.on{color:var(--accent);border-bottom-color:var(--accent)}
.set-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start}
.set-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.set-card h4{margin:0 0 16px;font-size:16px;font-weight:700}
.set-f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.set-f>span{font-size:13px;color:var(--muted)}
.set-f input,.set-f select{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--line);
  background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;outline:none}
.set-f input[type=color]{padding:4px;height:42px;cursor:pointer}
.set-f input[type=range]{padding:0}
.set-f input:disabled{opacity:.6}
.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.set-chk{flex-direction:row;align-items:center;gap:8px}
.set-chk input{width:auto}
.set-chk>span{color:var(--ink);font-size:14px}
.set-hint{font-size:12px;color:var(--muted);margin:4px 0 12px;line-height:1.6}
.btn-ghost.sm{padding:7px 12px;font-size:13px;display:inline-block}
.set-avrow{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.set-av{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex:0 0 auto}
.set-av img{width:100%;height:100%;object-fit:cover}
.set-avbtns{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.side-user .avatar.has-img{padding:0;overflow:hidden}
.side-user .avatar.has-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
/* server manager */
.set-srv{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.srv-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;
  border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.srv-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.srv-meta small{color:var(--muted);direction:ltr;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srv-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.set-srvadd{display:flex;gap:8px;flex-wrap:wrap}
.set-srvadd input{flex:1;min-width:140px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:var(--sans)}
/* subtitle live preview */
.sub-prev-wrap{margin-bottom:18px}
.sub-prev{background:#15202b url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><rect width="40" height="40" fill="%23223040"/><rect x="20" width="20" height="20" fill="%231b2733"/><rect y="20" width="20" height="20" fill="%231b2733"/></svg>');
  background-size:40px 40px;min-height:150px;border-radius:12px;display:flex;align-items:flex-end;justify-content:center;
  padding:18px 16px 26px;border:1px solid var(--line)}
.sub-prev-line{text-align:center;line-height:1.5;max-width:95%}

/* Persian subtitle fonts (for the Encoder live preview; names match the burn FontName) */
@font-face{font-family:"Vazir";src:url("/fonts/Vazir.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Sahel";src:url("/fonts/Sahel.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Samim";src:url("/fonts/Samim.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Shabnam";src:url("/fonts/Shabnam.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Gandom";src:url("/fonts/Gandom.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Tanha";src:url("/fonts/Tanha.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Parastoo";src:url("/fonts/Parastoo.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Nahid";src:url("/fonts/Nahid.ttf") format("truetype");font-display:swap}
.sub-prev-edit{width:100%;box-sizing:border-box;margin-bottom:12px;padding:9px 12px;border-radius:10px;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}

/* =======================================================================
   LUXURY OVERHAUL — "Obsidian & Gold" (taste pass)
   Motion-rich, glass surfaces, ambient cinematic background. Visual-only;
   layout (grid/flex) untouched. Respects prefers-reduced-motion at the end.
   ======================================================================= */
@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 0 0 rgba(217,182,92,.0)}50%{box-shadow:0 0 22px -2px rgba(217,182,92,.45)}}
@keyframes floatSlow{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-12px)}}
@keyframes gradPan{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes shimmerSlide{to{transform:translateX(220%)}}

/* ambient cinematic backdrop: gold wash + deep mesh + fine grain + vignette */
body{
  background:
    radial-gradient(1100px 680px at 82% -8%, rgba(217,182,92,.10), transparent 60%),
    radial-gradient(900px 620px at 6% 108%, rgba(120,90,200,.07), transparent 58%),
    radial-gradient(1200px 900px at 50% 50%, #0a0a11 0%, #07070b 70%);
}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background:radial-gradient(120% 100% at 50% 0%, transparent 60%, rgba(0,0,0,.6));}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.app,.login{position:relative;z-index:1}

/* ---- SIDEBAR: glass rail with gold brand ---- */
.sidebar{background:linear-gradient(180deg,rgba(18,16,24,.82),rgba(10,10,15,.9));
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border-inline-end:1px solid var(--line);box-shadow:30px 0 60px -40px rgba(0,0,0,.8)}
.side-brand{letter-spacing:.3px}
.side-brand .brand,.brand{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% auto}
.side-brand .emblem,.brandmark .emblem{filter:drop-shadow(0 4px 16px rgba(217,182,92,.5))}
.nav-item{transition:color .25s,background .25s,transform .25s,box-shadow .25s;border:1px solid transparent}
.nav-item:hover{color:var(--ink);background:var(--surface2);transform:translateX(-3px)}
.nav-item.active{color:#1b1608;background:var(--gold);background-size:200% auto;border-color:transparent;
  box-shadow:0 10px 26px -10px rgba(217,182,92,.6)}
.nav-item.active::before{display:none}
.nav-item.active svg{stroke:#1b1608}
.side-user{border-top:1px solid var(--line)}
.avatar{background:var(--gold);color:#1b1608;box-shadow:0 6px 18px -8px rgba(217,182,92,.6)}
.avatar.ring{background:var(--surface2);color:var(--accent-2);border:1px solid var(--line2)}

/* ---- view entrance + section head ---- */
.view{animation:riseIn .5s cubic-bezier(.22,.9,.3,1) both}
.sec-head h3{letter-spacing:.2px}
.sec-head h3::after{content:"";display:block;width:42px;height:3px;margin-top:8px;border-radius:3px;background:var(--gold)}

/* ---- CARDS: glass bento with hover lift + gold edge ---- */
.card{background:var(--glass);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .35s cubic-bezier(.22,.9,.3,1),box-shadow .35s,border-color .35s}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--gold);opacity:0;transition:opacity .35s}
.card:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:var(--shadow-lg)}
.card:hover::before{opacity:1}
.stats .card{animation:riseIn .6s both}
.stats .card:nth-child(2){animation-delay:.07s}.stats .card:nth-child(3){animation-delay:.14s}.stats .card:nth-child(4){animation-delay:.21s}
.card .ic{background:var(--gold-soft);border:1px solid var(--line2)}
.card .ic svg{stroke:var(--accent-2)}
.card .num{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- BUTTONS: gold fill + shimmer sweep ---- */
.btn-gold,.btn{background:var(--gold);background-size:200% auto;color:#1b1608;font-weight:700;
  position:relative;overflow:hidden;border:0;transition:transform .2s,box-shadow .3s,background-position .6s;
  box-shadow:0 10px 26px -12px rgba(217,182,92,.7)}
.btn-gold svg{stroke:#1b1608}
.btn-gold:hover,.btn:hover{background:var(--gold);background-position:right center;transform:translateY(-2px);
  box-shadow:0 16px 34px -12px rgba(217,182,92,.85)}
.btn-gold:active,.btn:active{transform:translateY(0)}
.btn-gold::after,.btn::after{content:"";position:absolute;top:0;inset-inline-start:-40%;width:40%;height:100%;
  transform:skewX(-20deg) translateX(-120%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent)}
.btn-gold:hover::after,.btn:hover::after{animation:shimmerSlide .8s ease}
.btn-ghost{background:var(--surface);border:1px solid var(--line2);transition:border-color .25s,color .25s,background .25s,transform .2s}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft);transform:translateY(-1px)}

/* ---- SEARCH + inputs: glass, gold focus glow ---- */
.s-inp{background:var(--glass);backdrop-filter:blur(12px)}
.s-inp:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 30px -6px rgba(217,182,92,.4)}
.field input:focus{border-color:var(--accent)}
.field input:focus+label,.field input:not(:placeholder-shown)+label{color:var(--accent-2)}
.set-f input:focus,.set-f select:focus,.set-srvadd input:focus,.sub-prev-edit:focus{border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);outline:none}

/* ---- RESULT GRID: poster zoom + gold glow ---- */
.rcard{transition:transform .4s cubic-bezier(.22,.9,.3,1)}
.r-poster{overflow:hidden;border-radius:14px;transition:box-shadow .35s,border-color .35s}
.r-img{transition:transform .7s cubic-bezier(.22,.9,.3,1)}
.rcard:hover{transform:translateY(-6px)}
.rcard:hover .r-img{transform:scale(1.08)}
.rcard:hover .r-poster{border-color:var(--accent);box-shadow:var(--glow)}

/* ---- TABLES: refined hover ---- */
.dltable,.btable{border-radius:var(--r-lg);overflow:hidden}
.dltable thead th,.btable thead th{color:var(--muted);font-weight:600;background:rgba(255,255,255,.015)}
.dl-tr,.btable tbody tr{transition:background .2s}
.dl-tr:hover,.btable tbody tr:hover{background:var(--surface2)}
.dl-grp{transition:background .2s}.dl-grp:hover{background:var(--surface2)}
.dot.ok{box-shadow:0 0 0 3px rgba(73,209,127,.16),0 0 10px rgba(73,209,127,.5)}
.dot.down{box-shadow:0 0 0 3px rgba(240,111,111,.16),0 0 10px rgba(240,111,111,.45)}

/* ---- MODAL: deep blur + scale-in + gold frame ---- */
.modal-bg{background:rgba(4,4,8,.78);backdrop-filter:blur(10px) saturate(120%)}
.modal-card{background:linear-gradient(180deg,var(--glass2),rgba(14,13,18,.92));
  backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid var(--line2);box-shadow:var(--shadow-lg),var(--glow);animation:scaleIn .32s cubic-bezier(.22,.9,.3,1) both}

/* ---- LOGIN: cinematic gold ---- */
.login{background:
  radial-gradient(1000px 560px at 50% -10%, rgba(217,182,92,.14), transparent 60%),
  radial-gradient(760px 600px at 12% 116%, rgba(120,90,200,.1), transparent 58%),
  var(--bg)}
.login-card{background:linear-gradient(180deg,var(--glass2),rgba(12,11,17,.95));
  backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--line2);box-shadow:var(--shadow-lg),var(--glow)}
.login .emblem{animation:floatSlow 6s ease-in-out infinite}
.frame{background:linear-gradient(180deg,rgba(217,182,92,.1),transparent 42%)}

/* ---- SETTINGS: animated tabs + glass cards ---- */
.set-card{background:var(--glass);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);
  border:1px solid var(--line);animation:riseIn .45s both}
.set-tab{transition:color .25s}
.set-tab::after{content:"";display:block;height:2px;margin-top:9px;border-radius:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:center;transition:transform .3s}
.set-tab.on{color:var(--accent-2)}
.set-tab.on::after{transform:scaleX(1)}

/* ---- chips / pills ---- */
.d-chip{background:var(--surface2);border:1px solid var(--line2)}
.d-chip-lang{background:var(--gold-soft);color:var(--accent-2);border-color:var(--line2);font-weight:600}
.dl-b,.ver-chip{transition:border-color .2s,color .2s}

/* ---- luxury scrollbars ---- */
*{scrollbar-width:thin;scrollbar-color:rgba(217,182,92,.35) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(217,182,92,.5),rgba(182,143,52,.35));border-radius:10px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(243,220,151,.7),rgba(217,182,92,.5));background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}

/* link + accent text consistency */
.sec-head a,.drow code,.drow a{color:var(--accent-2)}
.sec-head a:hover,.drow a:hover{color:var(--accent)}
::selection{background:rgba(217,182,92,.28);color:#fff}

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

/* recolor the brand emblem (hardcoded blue in markup) to gold */
.emblem *{stroke:var(--accent)}
.emblem path{fill:var(--accent)}
.emblem circle[r="1.7"]{fill:var(--accent-2)}

/* =======================================================================
   SKELETON OVERHAUL — floating glass navigation + cinematic stage
   (replaces the full-height sidebar grid)
   ======================================================================= */
@keyframes navDrop{from{opacity:0;transform:translate(-50%,-18px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes orbDrift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,40px) scale(1.12)}}
@keyframes orbDrift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(70px,-30px) scale(.9)}}
@keyframes orbDrift3{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,-50px)}}
@keyframes marquee{to{transform:translateX(50%)}}
@keyframes heroWord{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

.app{display:block;background:transparent}
.sidebar{display:none}

/* ambient drifting light orbs behind everything */
.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.orb.o1{width:520px;height:520px;top:-140px;inset-inline-start:-80px;background:radial-gradient(circle,rgba(217,182,92,.32),transparent 70%);animation:orbDrift1 22s ease-in-out infinite}
.orb.o2{width:620px;height:620px;bottom:-220px;inset-inline-end:-160px;background:radial-gradient(circle,rgba(120,86,210,.22),transparent 70%);animation:orbDrift2 28s ease-in-out infinite}
.orb.o3{width:380px;height:380px;top:38%;inset-inline-start:42%;background:radial-gradient(circle,rgba(243,220,151,.12),transparent 70%);animation:orbDrift3 26s ease-in-out infinite}

/* ---- floating glass navigation pill ---- */
.topnav{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:60;
  width:min(1320px,calc(100vw - 40px));height:66px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 10px 0 22px;
  border-radius:999px;border:1px solid var(--line2);
  background:linear-gradient(180deg,rgba(28,25,36,.72),rgba(14,13,19,.78));
  backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  box-shadow:0 20px 60px -24px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05);
  animation:navDrop .7s cubic-bezier(.22,.9,.3,1) both}
.topnav::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;padding:1px;
  background:linear-gradient(90deg,transparent,rgba(217,182,92,.55),transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6}
.tn-brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;flex:0 0 auto}
.tn-brand .emblem{width:30px;height:30px;filter:drop-shadow(0 4px 14px rgba(217,182,92,.55))}
.tn-brand span{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}

.topnav .nav{flex-direction:row;align-items:center;gap:2px;margin:0;padding:5px;border-radius:999px;
  background:rgba(0,0,0,.28);border:1px solid var(--line)}
.topnav .nav-item{padding:9px 16px;border-radius:999px;gap:8px;font-size:14px;color:var(--muted);transform:none!important;white-space:nowrap}
.topnav .nav-item svg{width:17px;height:17px}
.topnav .nav-item:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.topnav .nav-item.active{color:#1b1608;background:var(--gold);box-shadow:0 8px 22px -10px rgba(217,182,92,.75)}

.tn-user{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:4px 4px 4px 4px;border-radius:999px;
  background:rgba(0,0,0,.22);border:1px solid var(--line)}
.tn-user .avatar{width:40px;height:40px;border-radius:50%}
.tn-user .who{line-height:1.25;padding-inline-end:2px}
.tn-user .who b{font-size:13.5px}.tn-user .who small{font-size:11.5px}
.tn-user .logout{border-radius:50%;width:36px;height:36px}
.tn-user .avatar.has-img{padding:0;overflow:hidden}
.tn-user .avatar.has-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* ---- the stage: centered, wide, breathing ---- */
.content.stage{position:relative;z-index:1;height:100vh;overflow:auto;
  padding:122px max(32px,calc((100vw - 1320px)/2)) 96px}
.stage .view{max-width:1320px;margin:0 auto}
.stage .sec-head{margin:6px 2px 26px}
.stage .sec-head h3{font-size:30px;font-weight:800}

/* ---- cinematic hero (dashboard) ---- */
.hero-cine{max-width:1080px;margin:28px auto 0;text-align:center;padding:42px 0 18px}
.hc-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--accent-2);font-size:13px;font-weight:600;
  padding:7px 16px;border-radius:999px;border:1px solid var(--line2);background:var(--gold-soft);
  animation:heroWord .7s .05s both}
.hc-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.hc-title{font-size:clamp(34px,4.4vw,62px)!important;line-height:1.28!important;font-weight:900!important;margin:22px auto 16px!important;
  max-width:1080px;letter-spacing:0;animation:heroWord .85s .15s both}
.hc-title em{font-style:normal;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% auto;animation:gradPan 6s linear infinite}
.hc-sub{font-size:16px!important;max-width:620px;margin:0 auto 34px!important;animation:heroWord .85s .28s both}
.hc-search{max-width:800px;margin:0 auto;animation:heroWord .85s .4s both}
.hc-search .s-inp{border-radius:999px;padding:6px 22px;min-height:64px;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.9)}
.hc-search .s-inp input{font-size:17px}
.hc-search .btn-gold{border-radius:999px;padding:0 34px;min-height:64px;font-size:16px}
.hc-controls{justify-content:center;animation:heroWord .85s .5s both}
.hc-controls .s-field{align-items:center}
.hc-controls .sel-wrap select{border-radius:999px;padding-inline:20px 40px;background:var(--glass);backdrop-filter:blur(10px)}

/* ---- source marquee ---- */
.marquee{position:relative;max-width:1100px;margin:46px auto 8px;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq-track{display:flex;gap:14px;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-it{display:inline-flex;align-items:center;gap:9px;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:600;
  color:var(--ink2);background:var(--glass);border:1px solid var(--line);white-space:nowrap;direction:ltr}
.mq-dot{width:7px;height:7px;border-radius:50%;background:var(--dim)}
.mq-dot.ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.mq-dot.down{background:var(--bad)}

/* results: wider gutters + staggered rise */
.stage .results{gap:26px;grid-template-columns:repeat(auto-fill,minmax(184px,1fr))}
.results .rcard{animation:riseIn .55s both}
.results .rcard:nth-child(2){animation-delay:.04s}.results .rcard:nth-child(3){animation-delay:.08s}
.results .rcard:nth-child(4){animation-delay:.12s}.results .rcard:nth-child(5){animation-delay:.16s}
.results .rcard:nth-child(6){animation-delay:.2s}.results .rcard:nth-child(n+7){animation-delay:.24s}

/* ---- responsive ---- */
@media (max-width:1180px){
  .topnav .nav-item span{display:none}
  .topnav .nav-item{padding:10px 12px}
  .tn-user .who{display:none}
}
@media (max-width:820px){
  .app{grid-template-columns:none}
  .topnav{height:58px;padding:0 8px 0 14px}
  .tn-brand span{display:none}
  /* nav becomes a floating bottom dock */
  .topnav .nav{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);
    background:linear-gradient(180deg,rgba(28,25,36,.86),rgba(14,13,19,.9));backdrop-filter:blur(22px) saturate(160%);
    border:1px solid var(--line2);box-shadow:0 20px 50px -20px rgba(0,0,0,.9)}
  .content.stage{padding:96px 16px 110px}
  .stage .sec-head h3{font-size:24px}
  .hero-cine{padding-top:14px}
}
@media (max-width:820px){ .tn-user .logout{display:grid} .topnav .nav-item span{display:none} }

/* fix: center the floating nav WITHOUT a persistent transform — a transformed
   ancestor becomes the containing block for position:fixed children, which
   pinned the mobile bottom-dock to the top. Drop-in animates only while running. */
@keyframes navDropY{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
.topnav{left:0;right:0;margin:0 auto;transform:none;animation:navDropY .7s cubic-bezier(.22,.9,.3,1) backwards}

/* hero filters: centered elegant pills */
.hero-cine .s-controls{justify-content:center;gap:16px;margin-top:22px}
.hero-cine .s-field{align-items:center}
.hero-cine .sel-wrap select{border-radius:999px;padding-inline:22px 42px;min-width:200px;background:var(--glass);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

@media (max-width:820px){
  .hc-search{flex-direction:column;align-items:stretch;gap:12px}
  .hc-search .s-inp{min-height:58px}
  .hc-search .btn-gold{width:100%;min-height:54px}
  .hero-cine .s-controls{flex-direction:column;align-items:stretch}
  .hero-cine .sel-wrap select{width:100%}
  .hc-title{font-size:clamp(28px,8vw,40px)!important}
}

/* =======================================================================
   SIDEBAR + GRADIENT + AURORA  (authoritative layer — simpler navigation)
   ======================================================================= */
:root{
  --grad:linear-gradient(120deg,#f7d794 0%,#f3a683 34%,#e77f9a 66%,#a78bfa 100%);
  --grad-h:linear-gradient(120deg,#fbe2a8 0%,#f7b896 34%,#e6bd62 66%,#b9a2ff 100%);
  --grad-soft:linear-gradient(120deg,rgba(247,215,148,.16),rgba(214,168,62,.12),rgba(167,139,250,.15));
  --grad-text:linear-gradient(100deg,#fde7b0 0%,#eac46e 40%,#ef8fae 70%,#b9a3ff 100%);
  --grad-ink:#1d1424;
  --sbw:272px;
  --accent:#e2b860; --accent-2:#f6dc96; --accent-soft:rgba(226,184,96,.14);
}
@keyframes aurora1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-8vw,6vh) scale(1.15)}66%{transform:translate(5vw,-4vh) scale(.92)}}
@keyframes aurora2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(9vw,-7vh) scale(1.2)}}
@keyframes aurora3{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-6vw,-9vh) rotate(25deg)}}
@keyframes aurora4{0%,100%{transform:translate(0,0)}50%{transform:translate(7vw,8vh)}}
@keyframes sbIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}

/* ---- vivid aurora background ---- */
body{background:#08070f}
body::before{opacity:.65;background:radial-gradient(130% 110% at 50% 0%,transparent 55%,rgba(0,0,0,.72))}
.login{background:#08070f}
.ambient{z-index:0}
.login::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(42vw 42vw at 85% 8%,rgba(247,178,103,.30),transparent 60%),
    radial-gradient(46vw 46vw at 8% 92%,rgba(110,80,190,.18),transparent 60%),
    radial-gradient(34vw 34vw at 55% 55%,rgba(214,140,40,.14),transparent 60%);filter:blur(10px)}
.orb{filter:blur(100px);opacity:.62;mix-blend-mode:screen}
.orb.o1{width:58vw;height:58vw;top:-22vw;inset-inline-start:-14vw;background:radial-gradient(circle,rgba(247,178,103,.55),transparent 66%);animation:aurora1 26s ease-in-out infinite}
.orb.o2{width:62vw;height:62vw;bottom:-28vw;inset-inline-end:-10vw;background:radial-gradient(circle,rgba(110,80,190,.26),transparent 66%);animation:aurora2 32s ease-in-out infinite}
.orb.o3{width:44vw;height:44vw;top:30%;inset-inline-start:30%;background:radial-gradient(circle,rgba(214,140,40,.26),transparent 66%);animation:aurora3 30s ease-in-out infinite}
.orb.o4{width:34vw;height:34vw;top:-8vw;inset-inline-end:18%;background:radial-gradient(circle,rgba(246,220,150,.16),transparent 66%);animation:aurora4 24s ease-in-out infinite}

/* ---- floating glass sidebar ---- */
.sidenav{position:fixed;top:16px;bottom:16px;right:16px;width:var(--sbw);z-index:60;
  display:flex;flex-direction:column;gap:6px;padding:24px 16px 16px;border-radius:28px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(30,25,44,.62) 0%,rgba(16,13,26,.74) 100%);
  backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.06);
  animation:sbIn .6s cubic-bezier(.22,.9,.3,1) both}
.sidenav::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(170deg,rgba(247,215,148,.55),rgba(214,168,62,.18) 40%,transparent 70%,rgba(182,134,43,.35));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.sn-brand{display:flex;align-items:center;gap:12px;padding:4px 10px 22px;margin-bottom:8px;border-bottom:1px solid var(--line);
  font-size:24px;font-weight:900}
.sn-brand .emblem{width:34px;height:34px;filter:drop-shadow(0 6px 18px rgba(226,184,96,.55))}
.sn-brand span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.emblem *{stroke:#eac46e}.emblem path{fill:#e6bd62}.emblem circle[r="1.7"]{fill:#f7d794}

.sidenav .nav{flex-direction:column;gap:5px;margin:6px 0 0;padding:0;flex:1;background:none;border:0}
.sidenav .nav-item{padding:12px 16px;border-radius:16px;gap:14px;font-size:15px;font-weight:500;color:var(--muted);
  border:1px solid transparent;transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.sidenav .nav-item svg{width:20px;height:20px;transition:transform .3s}
.sidenav .nav-item:hover{color:var(--ink);background:rgba(255,255,255,.055);transform:translateX(-4px)}
.sidenav .nav-item:hover svg{transform:scale(1.12)}
.sidenav .nav-item.active{color:var(--grad-ink);font-weight:700;background:var(--grad);background-size:160% auto;
  box-shadow:0 14px 32px -14px rgba(214,168,62,.85),inset 0 1px 0 rgba(255,255,255,.4)}
.sidenav .nav-item.active svg{stroke:var(--grad-ink)}
.sidenav .nav-item.active::before{display:none}

.sn-user{margin-top:auto;display:flex;align-items:center;gap:12px;padding:12px;border-radius:20px;
  background:rgba(0,0,0,.24);border:1px solid var(--line)}
.sn-user .avatar{width:42px;height:42px;border-radius:50%;background:var(--grad);color:var(--grad-ink);
  box-shadow:0 8px 20px -8px rgba(214,168,62,.7)}
.sn-user .avatar.has-img{padding:0;overflow:hidden}
.sn-user .avatar.has-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.sn-user .who b{font-size:14px}.sn-user .who small{font-size:12px}
.sn-user .logout{border-radius:12px}

/* ---- content stage, offset for the sidebar (RTL: sidebar on the right) ---- */
.content.stage{height:100vh;overflow:auto;padding:44px 40px 80px;padding-inline-start:calc(var(--sbw) + 56px)}
.stage .view{max-width:1240px;margin:0 auto}

/* ---- gradient coloring across the app ---- */
.btn-gold,.btn{background:var(--grad);background-size:180% auto;color:var(--grad-ink);
  box-shadow:0 12px 28px -12px rgba(214,168,62,.8)}
.btn-gold svg{stroke:var(--grad-ink)}
.btn-gold:hover,.btn:hover{background:var(--grad-h);background-size:180% auto;background-position:right center;
  box-shadow:0 18px 38px -12px rgba(214,168,62,.95)}
.hc-title em,.brand,.card .num{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% auto;animation:gradPan 7s linear infinite}
.hc-eyebrow{background:var(--grad-soft);border-color:rgba(226,184,96,.3)}
.hc-eyebrow::before{background:#e6bd62;box-shadow:0 0 12px #e6bd62}
.sec-head h3::after,.card::before,.set-tab::after{background:var(--grad)}
.dl-bar>i{background:var(--grad)!important}
.s-inp:focus-within,.hc-search .s-inp:focus-within{border-color:#e2b860;
  box-shadow:0 0 0 4px rgba(226,184,96,.16),0 0 36px -8px rgba(214,168,62,.55)}
.rcard:hover .r-poster{border-color:#e2b860;box-shadow:0 0 0 1px rgba(226,184,96,.4),0 14px 40px -12px rgba(214,168,62,.55)}
.nav-item.active,.set-tab.on{color:inherit}
.set-tab.on{color:#f6dc96}
.d-chip-lang{background:var(--grad-soft);color:#f6dc96}

/* ---- mobile: sidebar becomes a floating bottom dock ---- */
@media (max-width:900px){
  .sidenav{top:auto;bottom:12px;left:12px;right:12px;width:auto;height:68px;flex-direction:row;align-items:center;
    padding:8px;border-radius:24px;animation:none}
  .sn-brand,.sn-user .who{display:none}
  .sidenav .nav{flex-direction:row;justify-content:space-around;margin:0;flex:1}
  .sidenav .nav-item{flex-direction:column;gap:0;padding:10px 12px}
  .sidenav .nav-item span{display:none}
  .sn-user{margin:0;padding:6px;border-radius:16px}
  .sn-user .logout{display:none}
  .content.stage{padding:24px 16px 104px;padding-inline-start:16px}
}
.set-av{background:var(--grad);color:var(--grad-ink);box-shadow:0 10px 26px -10px rgba(214,168,62,.7)}

/* =======================================================================
   GOLD PALETTE (final) + تازه‌ها page + non-scrolling empty dashboard
   ======================================================================= */
:root{
  --grad:linear-gradient(120deg,#fff0bf 0%,#f3d47e 28%,#dcae48 58%,#b8862b 100%);
  --grad-h:linear-gradient(120deg,#fff5d4 0%,#f8df98 28%,#e6bd5c 58%,#c79637 100%);
  --grad-soft:linear-gradient(120deg,rgba(255,240,191,.14),rgba(220,174,72,.12),rgba(184,134,43,.12));
  --grad-text:linear-gradient(100deg,#fff1c4 0%,#f3d47e 35%,#e2b04c 65%,#c9963a 100%);
  --grad-ink:#1f1606;
  --accent:#e2b860; --accent-2:#f6dc96; --accent-soft:rgba(226,184,96,.14);
}

/* dashboard: no scrolling until there are results; hero sits centered in the viewport */
@media (min-height:620px){
  .content.stage:has(.hero-cine):has(#sresults:empty){overflow:hidden}
  .stage:has(#sresults:empty) .view:has(.hero-cine){min-height:calc(100vh - 124px);display:flex;flex-direction:column;justify-content:center}
  .stage:has(#sresults:empty) .hero-cine{margin-top:0;padding-top:0}
}
.stage:has(#sresults:empty) .s-info:empty{display:none}

/* ---- تازه‌ها ---- */
.upd-sub{color:var(--muted);margin:-12px 2px 30px;font-size:14.5px}
.upd-list{display:flex;flex-direction:column;gap:34px}
.upd-sec{animation:riseIn .5s both}
.upd-head{display:flex;align-items:center;gap:10px;margin:0 2px 14px}
.upd-head b{font-size:19px;font-weight:800;direction:ltr}
.upd-n{margin-inline-start:auto;color:var(--muted);font-size:13px}
.upd-row{display:grid;grid-auto-flow:column;grid-auto-columns:172px;gap:18px;overflow-x:auto;
  padding:4px 2px 14px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.upd-row>*{scroll-snap-align:start}
.upd-row .rcard{animation:riseIn .45s both}
.upd-skel{height:258px;border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(226,184,96,.09),rgba(255,255,255,.03));
  background-size:200% 100%;animation:gradPan 1.4s linear infinite;border:1px solid var(--line)}
.upd-empty{grid-column:1/-1;color:var(--dim);font-size:14px;padding:22px 4px}
.r-new{position:absolute;top:10px;left:50%;transform:translateX(-50%);padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;
  white-space:nowrap;background:var(--grad);color:var(--grad-ink);box-shadow:0 6px 16px -6px rgba(214,168,62,.8)}
.r-new{top:36px;left:auto;transform:none;inset-inline-end:8px;font-size:10.5px;padding:3px 8px;border-radius:8px}
.r-type{background:var(--grad);color:var(--grad-ink);font-weight:700}

/* ===== LOGIN CENTERING FIX — a later `.app,.login{position:relative}` dropped the
   full-viewport box, so place-items:center had no height to center in. ===== */
.login{position:fixed;inset:0;min-height:100dvh;display:grid;place-items:center;overflow-y:auto;padding:24px 16px}
.login[hidden]{display:none}
/* brand title: gradPan replaced the reveal `rise` animation, leaving it at opacity:0 */
.reveal .brand{animation:rise .7s cubic-bezier(.2,.6,.2,1) .12s both,gradPan 7s linear infinite}
.s-link{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--grad);color:var(--grad-ink);font-weight:700;font-size:12px}
/* episode a pasted link pointed at */
.d-eprow.ep-linked{background:linear-gradient(90deg,rgba(226,184,96,.22),rgba(226,184,96,.06));box-shadow:inset 0 0 0 1px rgba(226,184,96,.55);border-radius:10px}
.d-eprow.ep-linked .d-epnum{color:#1f1606;background:var(--grad);border-radius:999px}
.d-season.sea-linked .d-seahead{box-shadow:inset 0 0 0 1px rgba(226,184,96,.55);border-radius:10px;background:rgba(226,184,96,.10)}

/* ===== downloads/encoder/uploader: series groups ===== */
/* children no longer indented: poster + title line up with normal rows */
.dltable th.c-sel,.dltable td.c-sel{width:84px}
.dl-gsel{display:flex;align-items:center;justify-content:flex-start;gap:8px}
.dl-chev{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;cursor:pointer;
  background:rgba(226,184,96,.10);border:1px solid rgba(226,184,96,.45);color:#e2b860;
  transition:background .2s,transform .25s,box-shadow .2s;padding:0}
.dl-chev svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.dl-chev:hover{background:rgba(226,184,96,.22);box-shadow:0 0 0 3px rgba(226,184,96,.15)}
.dl-grp.open .dl-chev{background:var(--grad);color:var(--grad-ink);border-color:transparent}
.dl-grp.open .dl-chev svg{transform:rotate(-90deg)}
.dl-gcount{font-weight:700;color:var(--ink)}
.dl-when{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.dl-child{box-shadow:inset -3px 0 0 rgba(226,184,96,.35)}
/* detail modal season toggle: larger, boxed chevron (same look as the series rows) */
.d-seachev{width:30px;height:30px;padding:6px;box-sizing:border-box;border-radius:9px;stroke:#e2b860;stroke-width:2.6;
  stroke-linecap:round;stroke-linejoin:round;background:rgba(226,184,96,.10);border:1px solid rgba(226,184,96,.45)}
.d-seatoggle:hover .d-seachev{background:rgba(226,184,96,.22)}
.d-season:not(.collapsed) .d-seachev{background:var(--grad);stroke:var(--grad-ink);border-color:transparent}
/* every checkbox (header, rows, series) on the same vertical line; series chevron sits to its left */
.dltable th.c-sel,.dltable td.c-sel{text-align:start}
.c-sz b[dir="ltr"]{text-align:right}
.dl-gone{opacity:.3;pointer-events:none;filter:grayscale(1);transition:opacity .2s,filter .2s}
.nav-item,.nav-item:hover,.nav-item:visited{text-decoration:none}

/* ===== title window (one work, every source) ===== */
.modal-card.wide{width:min(96vw,1180px)}
.wtools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:6px 0 10px}
.wflags,.wbridges{display:flex;flex-wrap:wrap;gap:6px}
.wbridges{margin-bottom:14px}
.wchip{font:inherit;font-size:12.5px;padding:5px 12px;border-radius:999px;cursor:pointer;color:var(--muted);
  background:var(--surface);border:1px solid var(--line2);transition:background .15s,color .15s,border-color .15s}
.wchip:hover{border-color:rgba(226,184,96,.5);color:var(--ink)}
.wchip.on{background:rgba(226,184,96,.14);border-color:rgba(226,184,96,.55);color:#e2b860;font-weight:700}
.wchip.b:not(.on){text-decoration:line-through;opacity:.55}
.wlist{display:flex;flex-direction:column;gap:10px}
.wsrc{border:1px solid var(--line2);border-radius:14px;background:var(--surface);overflow:hidden}
.wsrc.open{border-color:rgba(226,184,96,.45)}
.wsrc-h{display:grid;grid-template-columns:170px 120px minmax(150px,1.3fr) 1fr .9fr .9fr 1.1fr auto;gap:14px;align-items:center;padding:12px 14px}
.wsrc-h.mv{grid-template-columns:170px 120px 1fr .9fr .9fr 1.1fr auto}
.wsrc-id{display:flex;align-items:center;gap:10px;min-width:0}
.wsrc-id b{display:block;font-size:14px}
.wsrc-id small{display:block;color:var(--dim);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.wsrc-c{font-size:13px;min-width:0}
.wsrc-c small{display:block;color:var(--dim);font-size:11.5px;margin-top:2px}
.wl{display:block;font-size:11px;color:var(--dim);margin-bottom:4px}
.wqs{display:flex;flex-wrap:wrap;gap:4px}
.wq{font-size:11.5px;padding:2px 7px;border-radius:6px;background:var(--surface2);border:1px solid var(--line);white-space:nowrap}
.wq.q{direction:ltr;font-family:ui-monospace,monospace;font-size:11px}
.wflag{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--dim);white-space:nowrap}
.wflag.on{color:var(--ok);border-color:rgba(63,185,80,.45);background:rgba(63,185,80,.08)}
.wseas{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px}
.wsrc-a{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.wsrc-a .sm{padding:6px 12px;font-size:12.5px;white-space:nowrap}
.wsrc-eps{border-top:1px solid var(--line);padding:10px 14px 14px;max-height:60vh;overflow:auto;background:var(--bg2)}
.wsea{margin-top:8px}
.wsea-h{display:flex;align-items:center;gap:10px;width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:start;
  background:var(--surface);border:1px solid var(--line2);border-radius:10px;padding:8px 12px}
.wsea-h small{margin-inline-start:auto;color:var(--dim);font-size:12px}
.wsea.collapsed .d-seachev{transform:rotate(0deg)}
.wsea:not(.collapsed) .d-seachev{background:var(--grad);stroke:var(--grad-ink);border-color:transparent;transform:rotate(90deg)}
.wep{width:100%;border-collapse:collapse;margin-top:6px;font-size:12.5px}
.wep th{color:var(--dim);font-weight:500;font-size:11.5px;text-align:start;padding:6px 8px;border-bottom:1px solid var(--line2)}
.wep td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.wep td .wq,.wep td .wflag{margin:1px}
.wep .wep-t{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wep tr.ep-linked td{background:rgba(226,184,96,.12)}
.muted{color:var(--dim)}
@media(max-width:1000px){.wsrc-h{grid-template-columns:1fr 1fr;}.wsrc-a{flex-direction:row;grid-column:1/-1}}
.wq,.wflag{unicode-bidi:isolate;display:inline-block}

/* ===== تازه‌ها: why it's listed ===== */
.r-why{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.why{display:flex;align-items:center;gap:6px;font-size:11.5px;line-height:1.35;padding:4px 8px;border-radius:8px;
  border:1px solid transparent;min-width:0;unicode-bidi:isolate}
.why i{font-style:normal;flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border-radius:6px;font-size:10px}
.why b{font-weight:700;white-space:nowrap}
.why em{font-style:normal;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.why-new{background:rgba(63,185,80,.10);border-color:rgba(63,185,80,.35);color:#5fd27a}
.why-new i{background:rgba(63,185,80,.22)}
.why-ep{background:rgba(226,184,96,.10);border-color:rgba(226,184,96,.40);color:#e2b860}
.why-ep i{background:rgba(226,184,96,.22)}
.why-media{background:rgba(96,165,250,.10);border-color:rgba(96,165,250,.35);color:#7cb6ff}
.why-media i{background:rgba(96,165,250,.22)}
.why-edit{background:rgba(192,132,252,.10);border-color:rgba(192,132,252,.35);color:#c99bfd}
.why-edit i{background:rgba(192,132,252,.22)}
.why-del{background:rgba(248,81,73,.09);border-color:rgba(248,81,73,.32);color:#ff8b84}
.why-del i{background:rgba(248,81,73,.2)}
.why-unk{background:var(--surface);border-color:var(--line2);color:var(--dim)}
.why-unk i{background:var(--surface2)}
.why-more{align-self:flex-start;color:var(--dim);background:var(--surface);border-color:var(--line2);padding:2px 8px}
.r-ago{display:block;font-size:11px;color:var(--dim);margin-top:4px}
.why{flex-wrap:wrap;row-gap:1px}
.why em{flex-basis:100%;padding-inline-start:24px;font-size:11px;white-space:normal}

/* ===== subscription time left (bridges) ===== */
.subb{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;
  border:1px solid var(--line2);white-space:nowrap;margin-inline-end:8px;unicode-bidi:isolate}
.subb i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 20%,transparent)}
.sub-ok{color:#5fd27a;background:rgba(63,185,80,.10);border-color:rgba(63,185,80,.38)}
.sub-warn{color:#e2b860;background:rgba(226,184,96,.12);border-color:rgba(226,184,96,.45)}
.sub-off{color:#ff8b84;background:rgba(248,81,73,.10);border-color:rgba(248,81,73,.38)}
.sub-unk{color:var(--dim);background:var(--surface);font-weight:500}
.c-auth .subb{margin:4px 0 0;display:inline-flex}
/* updates rows: reasons + time sit on one baseline across the row, whatever the title length */
.upd-row{align-items:stretch}
.upd-row .rcard{height:100%}
.upd-row .rcard .r-why{margin-top:auto}
.upd-row .why{min-height:42px;align-content:center}
.sub-none{color:var(--muted);background:var(--surface);border-color:var(--line2);font-weight:600}
.ni-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:10px 0 6px}.ni-bar .dl-nav{margin:0;flex-wrap:wrap}

/* ===== آمار (analytics) ===== validated colors (dataviz validator, dark surface #15141a) */
.an-svg .f-g,.f-g{fill:#e2b860}
.an-bt i.g,.an-legend i.g,.an-sw.g{background:#e2b860}
.o1{background:#6b4f1d}.o2{background:#94702b}.o3{background:#bf933d}.o4{background:#e2b860}.o5{background:#f6dc96}
.c1{background:#3987e5}.c2{background:#d95926}.c3{background:#199e70}.c4{background:#c98500}.none{background:#3a3833}
.f-o1{fill:#6b4f1d}.f-o2{fill:#94702b}.f-o3{fill:#bf933d}.f-o4{fill:#e2b860}.f-o5{fill:#f6dc96}
.f-c1{fill:#3987e5}.f-c2{fill:#d95926}.f-c3{fill:#199e70}.f-c4{fill:#c98500}.f-none{fill:#3a3833}
.an-built{color:var(--dim);font-size:12.5px}
.an-hero{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:22px;align-items:stretch;margin:6px 0 26px}
.an-hero>div:first-child{background:var(--surface);border:1px solid var(--line2);border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.an-hv{font-size:54px;font-weight:800;line-height:1.05;color:var(--ink)}
.an-hero small{color:var(--dim);font-size:12px}
.an-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.an-tile{background:var(--surface);border:1px solid var(--line2);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0}
.an-tl{font-size:12px;color:var(--muted)}
.an-tv{font-size:24px;font-weight:800;color:var(--ink)}
.an-tile small{font-size:11.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-sec{margin:28px 0 12px;font-size:18px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:10px}
.an-sec::after{content:"";flex:1;height:1px;background:var(--line2)}
.an-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.an-card{background:var(--surface);border:1px solid var(--line2);border-radius:16px;padding:16px 18px;min-width:0}
.an-card.wide{grid-column:1/-1}
.an-ch{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.an-ch h4{margin:0;font-size:15px;font-weight:800}
.an-ch p{margin:3px 0 0;font-size:12.5px;color:var(--muted)}
.an-tbtn{font:inherit;font-size:11.5px;padding:4px 10px;border-radius:8px;border:1px solid var(--line2);background:transparent;color:var(--muted);cursor:pointer;flex:0 0 auto}
.an-tbtn:hover,.an-tbtn.on{color:#e2b860;border-color:rgba(226,184,96,.5)}
.an-bars{display:flex;flex-direction:column;gap:7px}
.an-bar{display:grid;grid-template-columns:92px 1fr 64px;align-items:center;gap:10px;font-size:12.5px;border-radius:6px;outline:none}
.an-bar:hover,.an-bar:focus{background:rgba(255,255,255,.025)}
.an-bl{color:var(--ink2,var(--ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-bv{color:var(--muted);font-variant-numeric:tabular-nums;text-align:left;direction:rtl;white-space:nowrap}
.an-bt{height:14px;display:flex;align-items:center}
.an-bt i{display:block;height:14px;border-radius:4px 0 0 4px;min-width:2px}
.an-bt.stack{gap:2px}
.an-bt.stack i{border-radius:0}
.an-bt.stack i:first-child{border-radius:0 4px 4px 0}
.an-bt.stack i:last-child{border-radius:4px 0 0 4px}
.an-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-bottom:10px}
.an-legend i,.an-sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px;vertical-align:-1px}
.an-svg{width:100%;height:auto;display:block}
.an-svg .an-grid{stroke:#2a2924;stroke-width:1}
.an-svg .an-base{stroke:#3a3833;stroke-width:1}
.an-svg .an-ax{fill:#8f887a;font-size:11px;font-family:inherit}
.an-svg .an-col{cursor:default;outline:none}
.an-svg .an-col:hover path,.an-svg .an-col:focus path{filter:brightness(1.18)}
.an-donut{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.an-donut svg{width:190px;height:190px;flex:0 0 auto}
.an-arc{stroke:none;cursor:default;outline:none;transition:opacity .15s}
.an-donut svg:hover .an-arc{opacity:.55}.an-donut svg .an-arc:hover{opacity:1}
.an-dc1{fill:var(--ink);font-size:26px;font-weight:800;font-family:inherit}
.an-dc2{fill:#8f887a;font-size:11px;font-family:inherit}
.an-dlegend{display:flex;flex-direction:column;gap:8px;flex:1;min-width:180px}
.an-dl{display:grid;grid-template-columns:12px 1fr auto 42px;gap:8px;align-items:center;font-size:12.5px;outline:none}
.an-dl i{width:12px;height:12px;border-radius:3px}
.an-dl b{font-weight:700}.an-dl small{color:var(--dim);text-align:left}
.an-heat{display:grid;gap:2px;direction:ltr;overflow-x:auto}
.an-hc{height:24px;border-radius:3px;background:rgba(226,184,96,.04);outline:none}
.an-hc.diag{background:repeating-linear-gradient(45deg,#2a2924 0 3px,transparent 3px 6px)}
.an-hc:not(.an-hh):not(.an-hl):hover{box-shadow:0 0 0 2px var(--ink)}
.an-hh{background:none;height:64px;position:relative}
.an-hh span{position:absolute;bottom:4px;left:50%;transform-origin:left bottom;transform:rotate(-55deg);font-size:11px;color:var(--muted);white-space:nowrap}
.an-hl{background:none;font-size:11.5px;color:var(--muted);text-align:right;padding-right:6px;line-height:24px;white-space:nowrap;overflow:hidden}
.an-scale{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim);margin-top:10px;direction:ltr;justify-content:flex-end}
.an-scale i{width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(226,184,96,.06),rgba(226,184,96,.94))}
.an-top{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}
.an-tw2{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:start;cursor:pointer;display:flex;flex-direction:column;gap:4px;outline:none}
.an-tw2 img,.an-tw2 .ph{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:10px;background:var(--surface2);transition:transform .2s}
.an-tw2:hover img,.an-tw2:focus img{transform:translateY(-3px)}
.an-tw2 b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-tw2 small{font-size:11.5px;color:#e2b860}
.an-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.an-seg{display:inline-flex;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:3px;gap:2px}
.an-seg button{font:inherit;font-size:12.5px;padding:5px 12px;border-radius:7px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.an-seg button.on{background:rgba(226,184,96,.16);color:#e2b860;font-weight:700}
.an-sub{margin:16px 0 8px;font-size:12.5px;color:var(--muted);font-weight:600}
.an-tw{overflow-x:auto}
.an-table{width:100%;border-collapse:collapse;font-size:12.5px}
.an-table th{color:var(--dim);font-weight:500;text-align:start;padding:7px 8px;border-bottom:1px solid var(--line2);white-space:nowrap}
.an-table td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.an-table td.num{font-variant-numeric:tabular-nums;color:var(--muted)}
.an-st{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line2)}
.an-st.ok{color:#5fd27a;border-color:rgba(63,185,80,.4)}.an-st.busy{color:#e2b860;border-color:rgba(226,184,96,.45)}.an-st.off{color:var(--dim)}
.an-tip{position:fixed;z-index:400;pointer-events:none;background:#1d1c23;border:1px solid rgba(226,212,170,.18);border-radius:10px;
  padding:8px 11px;font-size:12px;line-height:1.6;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.45);opacity:0;transition:opacity .12s;max-width:280px}
.an-tip.on{opacity:1}
.an-tip small{color:var(--muted)}
.an-skel{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.an-skel div{height:220px;border-radius:16px;background:var(--surface);animation:pulse 1.4s infinite}
@media(max-width:1000px){.an-hero{grid-template-columns:1fr}.an-grid{grid-template-columns:1fr}.an-tiles{grid-template-columns:repeat(2,1fr)}}
.an-tw2{min-width:0}.an-top{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.an-tabs{margin:0 0 18px;flex-wrap:wrap}.an-page{animation:riseIn .35s both}
.ni-card{max-width:none}.ni-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ni-head h4{margin:0}
.set-tab,.set-tab.on{border-bottom-color:transparent}   /* one underline: the gold ::after bar only */
.uq-sum{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.uq-k{background:var(--bg2);border:1px solid var(--line2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.uq-k span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uq-k b{font-size:19px;font-weight:800}
.r-eps{display:block;font-size:11.5px;color:#e2b860;margin-top:2px}
@media(max-width:1000px){.uq-sum{grid-template-columns:repeat(3,1fr)}}
.db-note{display:flex;align-items:center;gap:10px;margin:14px 0 4px;padding:10px 14px;border-radius:12px;font-size:13px;
  background:rgba(226,184,96,.08);border:1px solid rgba(226,184,96,.32);color:var(--ink)}
.db-note svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#e2b860;stroke-width:2;stroke-linecap:round}
.db-ctl{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.db-srcs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.db-src{font-size:11px;padding:2px 7px;border-radius:6px;background:rgba(57,135,229,.12);border:1px solid rgba(57,135,229,.4);color:#8fbaf0;direction:ltr}
#dbGrid .rcard{height:100%}#dbGrid .rcard .db-srcs{margin-top:auto;padding-top:6px}#uqGrid .rcard{height:100%}#uqGrid .rcard .r-eps{margin-top:auto}
.wep-d{direction:ltr;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ======================================================================================
   PERFORMANCE LAYER — same look, a fraction of the GPU/CPU work (runs on iGPU / software
   rendering). Everything below only changes HOW effects are drawn, not the layout/colors.
   ====================================================================================== */
/* ambient glow: the same soft gradients, painted ONCE (no 100px blur, no blend mode, no motion).
   The gradients already fade to transparent, so the look barely changes. */
.ambient{filter:none!important;contain:strict}
.orb{animation:none!important;filter:none!important;mix-blend-mode:normal!important;opacity:.5!important}
/* film-grain overlay: plain low-opacity texture instead of a full-screen overlay blend */
body::after{mix-blend-mode:normal!important;opacity:.02!important}
/* frosted glass: blur of a static dark background ≈ the background itself → drop the blur
   (the single most expensive effect on weak GPUs: re-sampled on every scroll/repaint) */
*,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.sidenav,.topnav{background-color:rgba(18,17,24,.94)}
.modal-bg{background:rgba(4,4,8,.86)}
/* endless gradient-pan text/brand animations → static gradient */
.hc-title em,.card .num,.brand{animation:none!important}
.reveal .brand{animation:rise .7s cubic-bezier(.2,.6,.2,1) .12s both!important}   /* keep the one-time fade-in */
/* card entrance animations only for the first visible row; the rest just appear */
.results .rcard:nth-child(n+13),.upd-row .rcard:nth-child(n+8),.brow-track .rcard:nth-child(n+8),
.an-top .an-tw2:nth-child(n+9){animation:none!important}
/* off-screen sections aren't laid out or painted until they scroll near the viewport */
.upd-sec{content-visibility:auto;contain-intrinsic-size:auto 470px}
.brow-sec{content-visibility:auto;contain-intrinsic-size:auto 380px}
.an-card{content-visibility:auto;contain-intrinsic-size:auto 380px}
.wsrc{content-visibility:auto;contain-intrinsic-size:auto 96px}
.srv-row{content-visibility:auto;contain-intrinsic-size:auto 64px}
.results .rcard{contain:layout paint}
/* the OS "reduce motion" setting turns all motion off */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* cheaper-to-rasterize versions of the two broad theme shadows (same direction/colour, tighter blur) */
:root{--shadow-lg:0 28px 56px -26px rgba(0,0,0,.92);--glow:0 0 0 1px rgba(217,182,92,.22),0 8px 22px -10px rgba(217,182,92,.26)}
/* sections repaint on their own (nothing inside them needs to overflow) */
.upd-sec,.an-card{contain:layout paint}
/* analytics compare (8 validated categorical slots, dark) */
.s1{background:#3987e5}.s2{background:#d95926}.s3{background:#199e70}.s4{background:#c98500}.s5{background:#d55181}.s6{background:#008300}.s7{background:#9085e9}.s8{background:#e66767}
.f-s1{fill:#3987e5}.f-s2{fill:#d95926}.f-s3{fill:#199e70}.f-s4{fill:#c98500}.f-s5{fill:#d55181}.f-s6{fill:#008300}.f-s7{fill:#9085e9}.f-s8{fill:#e66767}
.an-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.st-s1{stroke:#3987e5}.st-s2{stroke:#d95926}.st-s3{stroke:#199e70}.st-s4{stroke:#c98500}.st-s5{stroke:#d55181}.st-s6{stroke:#008300}.st-s7{stroke:#9085e9}.st-s8{stroke:#e66767}
.an-dot{stroke:#15141a;stroke-width:2}
.an-lbl{fill:#c9c2b3;font-size:11.5px;font-family:inherit}
.an-cross{stroke:#e2b860;stroke-width:1;opacity:0}
.an-hx{outline:none}.an-hx:hover .an-cross,.an-hx:focus .an-cross{opacity:.5}
.an-cmp{position:relative;margin-bottom:10px}
.an-pick{font:inherit;font-size:13px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:10px;cursor:pointer;
  background:var(--bg2);border:1px solid var(--line2);color:var(--ink)}
.an-pick:hover{border-color:rgba(226,184,96,.5)}
.an-pick svg{width:16px;height:16px;fill:none;stroke:#e2b860;stroke-width:2;stroke-linecap:round}
.an-pop{position:absolute;z-index:30;top:42px;inset-inline-start:0;width:260px;max-height:360px;overflow:auto;padding:8px;border-radius:12px;
  background:#1b1a21;border:1px solid rgba(226,212,170,.16);box-shadow:0 14px 30px -12px rgba(0,0,0,.8)}
.an-opt{display:grid;grid-template-columns:18px 12px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px}
.an-opt:hover{background:rgba(255,255,255,.04)}
.an-opt.off{opacity:.45;cursor:not-allowed}
.an-opt i{width:12px;height:12px;border-radius:3px}
.an-opt small{color:var(--dim);font-size:11.5px}
.an-opt input{accent-color:#e2b860;width:16px;height:16px;margin:0}
.an-popf{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 2px;border-top:1px solid var(--line);margin-top:6px;font-size:11.5px;color:var(--dim)}
.an-popf button{font:inherit;font-size:12px;background:none;border:0;color:#e2b860;cursor:pointer}
.an-cmpleg{margin-top:10px}.an-cmpleg b{color:var(--ink);font-weight:700;margin-inline-start:4px}.an-cmpleg small{color:var(--dim)}
.an-card:has(.an-pop:not([hidden])){contain:none;content-visibility:visible;overflow:visible;z-index:5;position:relative}
/* filter row: source picker + range + kind segments share one height */
.an-filters{align-items:center}
.an-filters .an-cmp{margin:0}
.an-filters .an-pick,.an-filters .an-seg{height:42px;box-sizing:border-box;display:inline-flex;align-items:center}
.an-filters .an-pick{padding-block:0}
.an-filters .an-seg button{height:34px;padding-block:0;display:inline-flex;align-items:center}
.an-filters .an-pop{top:48px}
.an-multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.an-mini{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.an-mh{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:4px}
.an-mh span{color:var(--muted);font-size:12px}
.an-note{font-size:12.5px;color:var(--muted);margin:4px 0 10px}
.an-popf{gap:8px}.an-popf button{padding:2px 0}

/* ===== title window as a full page (fills the content area beside the sidebar) ===== */
.modal.page{pointer-events:none;z-index:50}
.modal.page .modal-bg{display:none}
.modal.page .modal-card.wide{pointer-events:auto;position:fixed;top:16px;bottom:16px;left:16px;right:calc(var(--sbw) + 32px);
  width:auto;max-width:none;max-height:none;border-radius:20px;padding:26px 30px 30px;overflow:auto;animation:none;
  background:linear-gradient(180deg,#121118,#0d0c12);box-shadow:none}
.w-back{position:sticky;top:0;z-index:3;float:left;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;
  padding:7px 14px;border-radius:10px;border:1px solid var(--line2);background:#16151c;color:var(--ink);cursor:pointer}
.w-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.w-back:hover{border-color:rgba(226,184,96,.5);color:#e2b860}
@media(max-width:900px){.modal.page .modal-card.wide{top:12px;left:12px;right:12px;bottom:92px}}
/* 🎙 audio-only button next to download */
.w-dlrow{display:flex;gap:6px;align-items:stretch}
.w-dlrow .w-dl{flex:1}
.w-aud{font-size:15px;line-height:1;padding:0 10px;min-width:38px;border-radius:10px;cursor:pointer;
  border:1px solid rgba(226,184,96,.55);background:rgba(226,184,96,.14);transition:background .15s}
.w-aud:hover:not([disabled]){background:rgba(226,184,96,.28)}
.w-aud.off,.w-aud[disabled]{filter:grayscale(1);opacity:.35;cursor:not-allowed;border-color:var(--line2);background:var(--surface)}
.w-aud.sm{font-size:12.5px;min-width:30px;height:26px;padding:0 6px;border-radius:7px}
.wep-a{width:40px}
.w-aud{font-size:19px;min-width:44px}.w-aud.sm{font-size:15px;min-width:32px}
.w-aud.off,.w-aud[disabled]{opacity:.6;filter:grayscale(1) brightness(.85)}
/* source chips: single-choice filter ("همه" or one site) */
.wchip.b:not(.on){text-decoration:none;opacity:1}
.wchip.b{color:var(--muted)}
.wchip.b.on{color:#e2b860}

/* ===== title page (in the content area, normal page scroll) ===== */
.work-page{animation:riseIn .25s both}
.work-page .w-back{position:sticky;top:12px;z-index:5;float:left;margin:0 0 8px}
.work-page .d-head{margin-top:4px}
/* source rows: fixed action column so badges never slide under the buttons */
.wsrc-h{grid-template-columns:150px 120px minmax(170px,1.3fr) minmax(120px,1fr) minmax(90px,.8fr) minmax(90px,.8fr) minmax(120px,1fr) 150px}
.wsrc-h.mv{grid-template-columns:150px 140px minmax(120px,1fr) minmax(90px,.8fr) minmax(90px,.8fr) minmax(120px,1fr) 150px}
.wsrc-c{overflow:hidden}
.wsrc-a{width:150px;display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-self:end}
.wsrc-a>.btn-ghost{width:100%;justify-content:center;text-align:center}
.wsrc-a .w-dlrow{display:grid;grid-template-columns:1fr 44px;gap:6px;width:100%}
.wsrc-a .w-dlrow .w-dl{width:100%;justify-content:center;text-align:center}
.wsrc-a .w-aud{height:auto;min-height:34px;width:44px;min-width:0;padding:0}
.wsrc-c .wqs{gap:4px}
.wsrc-c .wflag{display:inline-block}
@media(max-width:1300px){.wsrc-h,.wsrc-h.mv{grid-template-columns:1fr 1fr 1fr}.wsrc-a{grid-column:1/-1;width:auto;flex-direction:row;justify-self:stretch}
  .wsrc-a>.btn-ghost{width:auto;flex:1}.wsrc-a .w-dlrow{flex:1}}
/* audio-only (mic) button: drawn icon (emoji rendered dark/tiny on Windows) */
.w-aud{display:inline-flex;align-items:center;justify-content:center;color:#f0c86a;font-size:0;
  background:rgba(226,184,96,.16);border:1px solid rgba(226,184,96,.7);border-radius:10px;min-height:34px;transition:background .15s,box-shadow .15s}
.w-aud svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.w-aud:hover:not([disabled]){background:rgba(226,184,96,.3);box-shadow:0 0 0 3px rgba(226,184,96,.15);color:#ffe2a0}
.w-aud.off,.w-aud[disabled]{color:#6f6a60;background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.12);opacity:1;filter:none;cursor:not-allowed}
.w-aud.sm{min-height:28px;min-width:32px;padding:0 6px}.w-aud.sm svg{width:16px;height:16px}
/* narrow layout: the three action buttons share one height */
.wsrc-a .w-dlrow{align-items:stretch}
.wsrc-a .w-dlrow .w-aud{height:100%;min-height:36px;width:48px}
@media(max-width:1300px){.wsrc-a{align-items:stretch}.wsrc-a>.btn-ghost,.wsrc-a .w-dlrow .w-dl{min-height:40px}.wsrc-a .w-dlrow .w-aud{min-height:40px;width:52px}}
.work-page .w-back{position:static}   /* scrolls with the page instead of floating over the source rows */
/* country line + site links */
.d-country{font-size:13px;color:var(--muted);margin:6px 0 2px}.d-country b{color:var(--ink);font-weight:600}
.w-site{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
a.w-site:hover b{color:#e2b860}a.w-site:hover .blogo{box-shadow:0 0 0 2px rgba(226,184,96,.6)}
.w-ext{font-style:normal;font-size:11px;color:#e2b860;opacity:.8}
.wsrc-id{flex-direction:column;align-items:flex-start;gap:4px}
.wsrc-id small{display:block;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w-cty{color:#bfae86!important}
.d-site{color:#e2b860;font-weight:700;text-decoration:none}.d-site:hover{text-decoration:underline}
.d-audmode{display:inline-flex;align-items:center;gap:8px;margin:8px 0 2px;padding:6px 12px;border-radius:10px;font-size:13px;
  color:#f0c86a;background:rgba(226,184,96,.12);border:1px solid rgba(226,184,96,.5)}
.d-audmode svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* the empty-dashboard scroll lock must not apply while the title page is open over a hidden dashboard */
.content.stage:has(#workPage:not([hidden])){overflow:auto!important}
.t-hms{unicode-bidi:isolate;white-space:nowrap;opacity:.85;margin-inline-start:4px}
.wep td.wep-d{white-space:nowrap}
.wchip.off,.wchip:disabled,.wchip.b.off:not(.on),.wchip.b:disabled:not(.on){opacity:.35;cursor:not-allowed;filter:grayscale(1);text-decoration:line-through}
.wchip.off:hover{background:inherit}
.wep td.wep-pend{color:var(--muted);font-size:12px;font-style:italic}
.acc-b{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-inline-start:6px;vertical-align:middle;white-space:nowrap;border:1px solid}
.acc-b svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.acc-b.acc-vision{color:#8fc3ff;border-color:rgba(143,195,255,.45);background:rgba(143,195,255,.1)}
.acc-b.acc-hearing{color:#f0b37e;border-color:rgba(240,179,126,.45);background:rgba(240,179,126,.1)}
.acc-b.sm{font-size:10px;padding:1px 6px}
.r-poster .acc-b.r-acc{position:absolute;bottom:8px;inset-inline-start:8px;margin:0;background:rgba(10,10,18,.82);backdrop-filter:none}
.db-src.db-acc{color:#8fc3ff;border-color:rgba(143,195,255,.4)}
.pop-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:6px 0 10px}
.pop-bar .dl-search{flex:1;min-width:200px}
.pop-list{display:flex;flex-direction:column;gap:8px}
.pop-row{display:grid;grid-template-columns:64px 46px 1fr minmax(120px,auto) 40px;gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);cursor:pointer}
.pop-row:hover{border-color:rgba(226,184,96,.45)}
.pop-row.pop-miss{opacity:.72}
.pop-rank{display:flex;flex-direction:column;align-items:center;gap:2px}
.pop-rank b{font-size:18px;color:var(--ink)}
.pd{font-size:11px;font-weight:700}
.pd-up{color:#5fd38d}.pd-down{color:#ef6b6b}.pd-flat{color:var(--muted)}.pd-new{color:#e2b860}
.pop-poster{width:46px;height:66px;object-fit:cover;border-radius:8px;background:rgba(255,255,255,.05)}
.pop-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.pop-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-t small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-meta{color:var(--muted);font-size:12px}
.pop-src{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.pop-h svg,.w-pop svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.pop-chart{width:100%;height:auto;margin-top:8px}
.pop-chart .pc-line{fill:none;stroke:#e2b860;stroke-width:2}
.pop-chart circle{fill:#e2b860}
.pop-chart .pc-l{fill:var(--muted);font-size:10px}
.pc-foot{color:var(--muted);font-size:12px;margin-top:6px}
@media (max-width:700px){.pop-row{grid-template-columns:52px 40px 1fr 36px}.pop-src{display:none}}
