/* =====================================================================
   almanibama brand layer — teal / indigo / dark. Loaded after site.css,
   so it re-themes the public site, the exam app and the Menschen app.
   ===================================================================== */
:root{
  --bg:#F6F7F8; --surface:#FFFFFF; --surface-2:#ECEDEE; --border:#E2E5E8; --border-strong:#CBCFD2;
  --text:#202327; --text-2:#4F575E; --muted:#5E6870;
  --accent:#00838F; --accent-2:#E5FAFC; --accent-ink:#28727A;
  --indigo:#6265B1; --indigo-2:#D6E1FF; --indigo-ink:#48497D;
  --teal-50:#E5FAFC; --teal-100:#AFE5EA; --teal-300:#2BD7E2; --teal-400:#3DA9B0; --teal-500:#28727A; --teal-600:#00838F; --teal-900:#174447;
  --pink:#FF4081; --orange:#F2542D; --gold:#FFC700; --success:#28CD41;
  --ok:#1E7B34; --ok-bg:#E5F6E9; --warn:#9A5B07; --warn-bg:#FFF3D6; --bad:#B42318; --bad-bg:#FDECEA;
  --sand:#E5FAFC; --blush:#D6E1FF; --sage:#E5F6E9; --clay:#AFE5EA; --mist:#ECEDEE; --linen:#F6F7F8;
  --radius:16px; --radius-sm:12px;
  --shadow:0 0 10px 1px rgba(17,17,17,.06);
  --shadow-lg:0 10px 30px -12px rgba(17,17,17,.18);
  --track:#00838F; --track-soft:#E5FAFC;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#16191C; --surface:#202327; --surface-2:#2A2E33; --border:#33383D; --border-strong:#4F575E;
    --text:#ECEDEE; --text-2:#CBCFD2; --muted:#A7AEB4;
    --accent:#2BD7E2; --accent-2:#173A3D; --accent-ink:#7FE3EA;
    --indigo:#9AB3F5; --indigo-2:#2B2D4F; --indigo-ink:#C9D6FF;
    --ok:#7BD88F; --ok-bg:#16301E; --warn:#F5C26B; --warn-bg:#3A2C10; --bad:#F59E94; --bad-bg:#3D1F1C;
    --sand:#173A3D; --blush:#2B2D4F; --sage:#16301E; --clay:#174447; --mist:#2A2E33; --linen:#202327;
    --track-soft:#1D3437;
  }
}
:root[data-theme="dark"]{
  --bg:#16191C; --surface:#202327; --surface-2:#2A2E33; --border:#33383D; --border-strong:#4F575E;
  --text:#ECEDEE; --text-2:#CBCFD2; --muted:#A7AEB4;
  --accent:#2BD7E2; --accent-2:#173A3D; --accent-ink:#7FE3EA;
  --indigo:#9AB3F5; --indigo-2:#2B2D4F; --indigo-ink:#C9D6FF;
  --ok:#7BD88F; --ok-bg:#16301E; --warn:#F5C26B; --warn-bg:#3A2C10; --bad:#F59E94; --bad-bg:#3D1F1C;
  --sand:#173A3D; --blush:#2B2D4F; --sage:#16301E; --clay:#174447; --mist:#2A2E33; --linen:#202327;
  --track-soft:#1D3437;
}
body{background:var(--bg);color:var(--text)}
/* v131: selected text stays readable in dark mode, also on light highlighted lines (dark text on dark navy was invisible) */
:root[data-theme="dark"] ::selection{background:#9AB3F5;color:#16191C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) ::selection{background:#9AB3F5;color:#16191C}}
.btn-p,.btn.primary,.btn-x.p{background:var(--teal-600);border-color:var(--teal-600);color:#fff}
.btn-p:hover,.btn.primary:hover{background:var(--teal-500);border-color:var(--teal-500)}
:root[data-theme="dark"] .btn-p,:root[data-theme="dark"] .btn.primary{color:#0B1F21}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-p,:root:not([data-theme="light"]) .btn.primary{color:#0B1F21}}
.ltr{direction:ltr;unicode-bidi:isolate;text-align:left}
.de{direction:ltr;unicode-bidi:isolate}
.hide{display:none!important}

/* ---------- logo ---------- */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700}
.logo-img{width:36px;height:36px;object-fit:contain;flex:none}
.logo-word{font-size:20px;font-weight:800;letter-spacing:-.2px}
.logo-word b{color:var(--teal-600)}
.logo small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:1px}

/* ---------- header (public) ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}
.site-header .container{display:flex;align-items:center;gap:18px;min-height:66px}
.mainnav{display:flex;gap:4px;align-items:center;flex:1}
.mainnav>a,.mainnav .dd>button{padding:9px 12px;border-radius:10px;color:var(--text-2);text-decoration:none;font-weight:600;font-size:15px;background:none;border:0;cursor:pointer}
.mainnav>a:hover,.mainnav>a.on,.mainnav .dd>button:hover,.mainnav .dd.on>button{background:var(--accent-2);color:var(--accent-ink)}
.dd{position:relative}
.dd-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;min-width:250px;display:none;z-index:50}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.dd-menu a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;color:var(--text);text-decoration:none}
.dd-menu a:hover{background:var(--surface-2)}
.dd-menu a i{width:10px;height:10px;border-radius:50%;flex:none}
.dd-menu small{display:block;color:var(--muted);font-size:12px}
@media (max-width:1000px){
  .mainnav{display:none;position:absolute;top:66px;right:0;left:0;background:var(--surface);flex-direction:column;align-items:stretch;padding:10px 16px 16px;border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg)}
  .mainnav.open{display:flex}
  .dd-menu{position:static;display:block;box-shadow:none;border:0;padding:0 8px 6px}
}

/* ---------- hero ---------- */
.hero2{padding:56px 0 40px;overflow:hidden}
.hero2 .container{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.kicker2{display:inline-flex;gap:8px;align-items:center;background:var(--indigo-2);color:var(--indigo-ink);font-weight:700;border-radius:12px;padding:7px 14px;font-size:14px}
.hero2 h1{font-size:36px;line-height:1.45;margin:16px 0 12px;font-weight:800}
.hero2 .lead{font-size:17px;line-height:2;color:var(--text-2);margin:0 0 22px}
.hero2 .ctas{display:flex;gap:12px;flex-wrap:wrap}
.btn-big{display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 24px;border-radius:12px;font-weight:700;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-big.teal{background:var(--teal-600);color:#fff}.btn-big.teal:hover{background:var(--teal-500)}
.btn-big.pink{background:var(--pink);color:#fff}.btn-big.pink:hover{background:#D13369}
.btn-big.ghost{background:var(--surface);border-color:var(--border-strong);color:var(--text)}
.marquee{height:420px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transform:rotate(-8deg);mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.mq-col{display:flex;flex-direction:column;gap:14px;animation:mq 26s linear infinite}
.mq-col:nth-child(2){animation-duration:32s;animation-direction:reverse}
.mq-col:nth-child(3){animation-duration:29s}
@keyframes mq{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){.mq-col{animation:none}}
.mq-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow);font-size:13px}
.mq-card b{display:block;font-size:14px;margin-bottom:6px}
.mq-card img{width:64px;height:64px;object-fit:contain;display:block;margin:0 auto 6px}
.mq-card .bar{height:7px;border-radius:9px;background:var(--surface-2);overflow:hidden;margin-top:8px}.mq-card .bar i{display:block;height:100%;background:var(--teal-400)}
@media (max-width:900px){.hero2 .container{grid-template-columns:1fr}.marquee{height:250px}.hero2 h1{font-size:30px}}

/* ---------- sections ---------- */
.sec{padding:52px 0}
.sec.alt{background:var(--surface)}
.sec-h{text-align:center;max-width:720px;margin:0 auto 30px}
.sec-h h2{font-size:30px;margin:6px 0 10px;line-height:1.5}
.sec-h p{color:var(--text-2);line-height:2;margin:0}
@media (max-width:640px){.sec-h h2{font-size:24px}}

/* track cards */
.tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.track{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;text-decoration:none;color:var(--text);transition:transform .15s,box-shadow .15s}
.track:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.track::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--c)}
.track img{width:96px;height:96px;object-fit:contain;align-self:flex-start}
.track h3{margin:0;font-size:21px}.track h3 span{color:var(--c)}
.track p{margin:0;color:var(--text-2);line-height:1.9;font-size:14px}
.track .lv{display:flex;gap:6px;flex-wrap:wrap}
.track .lv span{background:var(--surface-2);border-radius:8px;padding:2px 9px;font-size:13px;font-weight:700;direction:ltr}
.track .go{margin-top:auto;color:var(--c);font-weight:700}
@media (max-width:860px){.tracks{grid-template-columns:1fr}}

/* level band */
.level-band{background:#007A85;color:#fff;border-radius:24px;padding:26px 30px;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.level-band h2{margin:0 0 6px;font-size:24px;color:#fff}.level-band p{margin:0;opacity:.95;line-height:1.9}
.level-band img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}
.level-band .btn-big{background:#fff;color:var(--teal-500)}

/* learn vs exam split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.split .side{border-radius:22px;padding:26px;border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:10px}
.split .side.learn{background:linear-gradient(180deg,var(--indigo-2),var(--surface) 60%)}
.split .side.exam{background:linear-gradient(180deg,var(--teal-50),var(--surface) 60%)}
.split h3{font-size:22px;margin:4px 0}.split ul{margin:0;padding-inline-start:18px;line-height:2.1;color:var(--text-2)}
.split .side .btn-big{align-self:flex-start;margin-top:auto}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* tool gradient tiles */
.gtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gtile{border-radius:20px;padding:20px;color:#fff;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none}
.gtile h3{margin:0;font-size:19px;color:#fff}.gtile p{margin:6px 0 0;font-size:14px;opacity:.95;line-height:1.8}
.gtile.y{background:linear-gradient(180deg,#F2C94C,#926A2F)}.gtile.g{background:linear-gradient(180deg,#5FC872,#197427)}
.gtile.r{background:linear-gradient(180deg,#F26B6B,#991B1B)}.gtile.b{background:linear-gradient(180deg,#5B8EF5,#0049C2)}
@media (max-width:860px){.gtiles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.gtile{min-width:72%;scroll-snap-align:start}}

/* skill / tool cards with mascot */
.mcards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mcard{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);transition:box-shadow .15s}
.mcard:hover{box-shadow:var(--shadow-lg)}
.mcard img{width:58px;height:58px;object-fit:cover;flex:none;border-radius:16px;background:var(--accent-2)}
.mcard b{display:block;font-size:16px}.mcard small{display:block;color:var(--muted);font-size:13px;line-height:1.7;margin-top:2px}
.mcard .soon-b{font-size:11px;background:var(--surface-2);color:var(--muted);border-radius:6px;padding:1px 6px;margin-inline-start:4px;font-weight:600}
@media (max-width:1000px){.mcards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.mcards{grid-template-columns:1fr}}

/* plans */
.plans2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.plan2{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;gap:10px;position:relative;transition:transform .15s}
.plan2:hover{transform:scale(1.03)}
.plan2.hl{border:2px solid var(--teal-600);padding:22px 18px;background:var(--surface);border-radius:16px;font-weight:inherit;color:inherit}
.plan2 .badge{position:absolute;top:-12px;right:16px;color:#fff;font-size:12px;font-weight:700;border-radius:8px;padding:3px 10px}
.plan2 .badge.pop{background:#FF6D6D}.plan2 .badge.best{background:#43A047}
.plan2 h3{margin:0;font-size:18px}
.plan2 .pm{font-size:24px;font-weight:800;color:#066A6E}.plan2 .pm small{font-size:13px;color:var(--muted);font-weight:500}
:root[data-theme="dark"] .plan2 .pm{color:var(--accent)}
.plan2 .old{color:var(--muted);text-decoration:line-through;font-size:13px}
.plan2 .total{font-size:14px;color:var(--text-2)}
.plan2 .off{background:#FDECEA;color:#B42318;border-radius:7px;padding:1px 7px;font-size:12px;font-weight:700;margin-inline-start:6px}
.plan2 ul{margin:4px 0 8px;padding:0;list-style:none;font-size:14px;line-height:2;color:var(--text-2)}
.plan2 ul li::before{content:"✓ ";color:var(--teal-600);font-weight:700}
.plan2 .btn-big{background:#066A6E;color:#fff;justify-content:center;margin-top:auto;height:44px}
@media (max-width:1000px){.plans2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.plans2{grid-template-columns:1fr}}

/* FAQ accordion */
.acc{display:flex;flex-direction:column;gap:10px;max-width:860px;margin:0 auto}
.acc details{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:0 18px}
.acc summary{cursor:pointer;padding:16px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}
.acc summary::after{content:"+";color:var(--teal-600);font-size:20px;line-height:1}
.acc details[open] summary::after{content:"−"}
.acc details p,.acc details div{margin:0 0 16px;line-height:2;color:var(--text-2)}

/* footer */
.site-footer{background:#174447;color:#D7EEF0;margin-top:40px}
.site-footer a{color:#fff}
.site-footer h4{color:#fff}
.site-footer .bottom{border-top:1px solid rgba(255,255,255,.15)}
.site-footer .logo-word{color:#fff}.site-footer .logo-word b{color:#7FE3EA}

/* ---------- generic page bits ---------- */
.ph{padding:40px 0 18px}
.ph h1{font-size:30px;margin:8px 0 10px;line-height:1.5}.ph p{color:var(--text-2);line-height:2;max-width:760px;margin:0}
.crumb{font-size:13px;color:var(--muted)}.crumb a{color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px}
.panel h3{margin:0 0 10px;font-size:18px}
.ftable{width:100%;border-collapse:collapse;font-size:14px}
.ftable th,.ftable td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:right;vertical-align:top}
.ftable th{color:var(--muted);font-weight:600;background:var(--surface-2)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;color:var(--text-2);text-decoration:none;border:1px solid transparent}
.chip.on{background:var(--accent-2);color:var(--accent-ink);border-color:var(--teal-100)}
.chips2{display:flex;gap:8px;flex-wrap:wrap}
.note2{border-radius:14px;padding:12px 16px;line-height:1.9;font-size:14px;background:var(--indigo-2);color:var(--indigo-ink)}
.note2.warn{background:var(--warn-bg);color:var(--warn)}.note2.ok{background:var(--ok-bg);color:var(--ok)}.note2.bad{background:var(--bad-bg);color:var(--bad)}
.tabs2{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}
.tabs2 a,.tabs2 button{padding:11px 16px;border:0;background:none;color:var(--muted);font-weight:700;text-decoration:none;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}
.tabs2 .on{color:var(--track);border-bottom-color:var(--track)}

/* ---------- exam app shell ---------- */
.app-top{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}
.app-top .container{display:flex;align-items:center;gap:12px;min-height:60px}
.trk-tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:12px;padding:4px;margin-inline-start:auto}
.trk-tabs a{padding:6px 12px;border-radius:9px;text-decoration:none;color:var(--text-2);font-weight:700;font-size:14px}
.trk-tabs a.on{background:var(--surface);color:var(--c);box-shadow:var(--shadow)}
.streak-chip,.prof-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-weight:700;font-size:14px;background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer}
.streak-chip .fl{color:var(--orange)}
.app-wrap{display:grid;grid-template-columns:220px 1fr;gap:24px;padding-top:22px;padding-bottom:90px}
.side-nav{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:4px}
.side-nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;color:var(--text-2);text-decoration:none;font-weight:600}
.side-nav a svg{width:20px;height:20px}
.side-nav a.on{background:var(--track-soft);color:var(--track)}
.side-nav a:hover{background:var(--surface-2)}
.side-nav hr{border:0;border-top:1px solid var(--border);margin:8px 0}
.bottom-nav{display:none}
@media (max-width:900px){
  .app-wrap{grid-template-columns:1fr}
  .side-nav{display:none}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);z-index:45;padding-bottom:env(safe-area-inset-bottom)}
  .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:11px;color:#5F6A73;text-decoration:none;font-weight:600}
  .bottom-nav a svg{width:22px;height:22px}
  .bottom-nav a.on{color:#066A6E;font-weight:800}
  :root[data-theme="dark"] .bottom-nav a.on{color:var(--accent)}
  .trk-tabs a{padding:6px 8px;font-size:13px}
  .app-top .hide-sm{display:none}
}
.hello{display:flex;gap:16px;align-items:center;background:var(--track-soft);border-radius:20px;padding:18px 20px;margin-bottom:18px}
.hello img{width:104px;height:104px;object-fit:contain;flex:none;margin:-10px 0 -14px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12))}
.hello h1{margin:0 0 4px;font-size:22px}.hello p{margin:0;color:var(--text-2);line-height:1.9}
.banks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.bank{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--text);position:relative}
.bank:hover{box-shadow:var(--shadow-lg)}
.bank .lv{font-size:26px;font-weight:800;color:var(--track);direction:ltr;text-align:right}
.bank .meta{display:flex;gap:6px;flex-wrap:wrap}
.bank .tag{font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;background:var(--surface-2);color:var(--text-2)}
.bank .tag.free{background:#E5F6E9;color:#1E7B34}.bank .tag.new{background:#D6E1FF;color:#48497D}.bank .tag.lock{background:#FFF3D6;color:#9A5B07}
.skills-row{display:flex;gap:6px;flex-wrap:wrap}
.skills-row span{font-size:12px;background:var(--surface-2);border-radius:7px;padding:2px 8px;direction:ltr}
.meter2{height:8px;border-radius:9px;background:var(--surface-2);overflow:hidden}.meter2 i{display:block;height:100%;background:var(--track)}
.qtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.qtile{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:6px}
.qtile b{font-size:15px}.qtile span{font-size:13px;color:var(--muted)}.qtile .n{font-size:22px;font-weight:800;color:var(--track)}
@media (max-width:900px){.qtiles{grid-template-columns:repeat(2,1fr)}}

/* set detail */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mode{border:1px solid var(--border);border-radius:18px;padding:18px;background:var(--surface);display:flex;flex-direction:column;gap:8px}
.mode h3{margin:0;font-size:18px}.mode ul{margin:0;padding-inline-start:18px;color:var(--text-2);line-height:2;font-size:14px}
.mode.ex{border-color:var(--track)}
@media (max-width:700px){.modes{grid-template-columns:1fr}}
.secpick{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}
.secpick button{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;color:var(--text-2);display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.secpick button small{font-weight:500;color:var(--muted);font-size:12px}
.secpick button.on{border-color:var(--track);background:var(--track-soft);color:var(--track)}
.bigstat{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bigstat div{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;text-align:center}
.bigstat b{display:block;font-size:26px;color:var(--track)}.bigstat span{font-size:13px;color:var(--muted)}
@media (max-width:640px){.bigstat{grid-template-columns:1fr}}

/* ---------- runner ---------- */
.run-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px;margin-bottom:14px;position:sticky;top:70px;z-index:20}
.run-head h1{font-size:17px;margin:0}
.timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:18px;direction:ltr;background:var(--surface-2);border-radius:10px;padding:4px 12px}
.timer.low{background:var(--bad-bg);color:var(--bad)}
.ptabs{display:flex;gap:6px;flex-wrap:wrap;margin-inline-start:auto}
.ptabs button{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:6px 12px;font-weight:700;cursor:pointer;color:var(--text-2)}
.ptabs button.on{background:var(--track);border-color:var(--track);color:#fff}
.ptabs button.done{border-color:var(--teal-400)}
.part{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px}
.instr{background:var(--surface-2);border-radius:12px;padding:12px 14px;margin-bottom:14px;line-height:1.9}
.instr .de{display:block;font-weight:700}
.instr .fa{display:block;color:var(--text-2);font-size:14px;margin-top:4px}
.tip{font-size:13px;color:var(--indigo-ink);background:var(--indigo-2);border-radius:10px;padding:8px 12px;margin-bottom:12px}
.rtext{direction:ltr;text-align:left;font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.85;font-size:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px;white-space:pre-line}
.rtext h4{margin:0 0 8px;font-size:16px}
.rtexts{direction:ltr;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:14px}
.rtexts .rtext{margin:0;font-size:15px}
.rtexts .rtext .k{display:inline-block;background:var(--track);color:#fff;border-radius:6px;padding:0 8px;margin-right:6px;font-weight:700}
.gap-n{display:inline-block;min-width:28px;text-align:center;border-bottom:2px solid var(--track);font-weight:800;color:var(--track);padding:0 4px}
.opts-list{direction:ltr;text-align:left;display:grid;gap:6px;margin-bottom:14px;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.opts-list div{background:var(--surface-2);border-radius:10px;padding:6px 10px;font-size:14px}
.opts-list b{color:var(--track);margin-right:6px}
.items{display:flex;flex-direction:column;gap:12px}
.item{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--surface)}
.item .q{direction:ltr;text-align:left;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:15.5px;line-height:1.7;margin-bottom:8px}
.item .q .num{display:inline-block;background:var(--surface-2);border-radius:7px;padding:0 7px;margin-right:6px;font-weight:700;font-size:13px}
.choices{display:flex;flex-direction:column;gap:6px;direction:ltr}
.choices.row{flex-direction:row;flex-wrap:wrap}
.choice{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:8px 12px;cursor:pointer;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;background:var(--surface)}
.choice:hover{border-color:var(--track)}
.choice input{accent-color:var(--track)}
.choice.sel{border-color:var(--track);background:var(--track-soft)}
.choice.right{border-color:#28CD41;background:#E8F9EC;color:#14532D}
.choice.wrong{border-color:#EF4444;background:#FDECEA;color:#7F1D1D}
:root[data-theme="dark"] .choice.right{background:#16301E;color:#BBF7D0}:root[data-theme="dark"] .choice.wrong{background:#3D1F1C;color:#FECACA}
.item select{direction:ltr;min-width:120px;border:1px solid var(--border-strong);border-radius:10px;padding:7px 10px;background:var(--surface)}
.item.ok{border-color:#28CD41}.item.no{border-color:#EF4444}
.expl{margin-top:8px;font-size:14px;line-height:1.9;border-radius:10px;padding:8px 12px;background:var(--surface-2)}
.expl.ok{background:var(--ok-bg);color:var(--ok)}.expl.no{background:var(--bad-bg);color:var(--bad)}
.player{display:flex;align-items:center;gap:10px;background:var(--track-soft);border-radius:14px;padding:10px 14px;margin-bottom:10px;flex-wrap:wrap}
.player button{border:0;background:var(--track);color:#fff;border-radius:50%;width:42px;height:42px;font-size:16px;cursor:pointer;flex:none}
.player button:disabled{opacity:.4;cursor:not-allowed}
.player .pbar{flex:1;min-width:120px;height:6px;background:rgba(0,0,0,.08);border-radius:9px;overflow:hidden}.player .pbar i{display:block;height:100%;width:0;background:var(--track)}
.player .lbl{font-weight:700;font-size:14px}.player .plays{font-size:12px;color:var(--muted)}
.player select{border:1px solid var(--border);border-radius:8px;padding:3px;background:var(--surface);font-size:12px}
.script{direction:ltr;text-align:left;font-size:14px;line-height:1.8;background:var(--surface-2);border-radius:10px;padding:10px 12px;margin:-4px 0 10px}
.script b{color:var(--track)}
.task-box{display:flex;flex-direction:column;gap:12px}
.task-prompt{direction:ltr;text-align:left;white-space:pre-line;line-height:1.85;background:var(--surface-2);border-radius:12px;padding:14px;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.task-points{direction:ltr;text-align:left;margin:0;padding-left:20px;line-height:2;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.writer{direction:ltr;text-align:left;width:100%;min-height:240px;border:1px solid var(--border-strong);border-radius:12px;padding:12px;font-size:16px;line-height:1.8;font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--surface);color:var(--text)}
.wc{font-size:13px;color:var(--muted)}
.sample{direction:ltr;text-align:left;white-space:pre-line;background:var(--ok-bg);border-radius:12px;padding:14px;line-height:1.85;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.rec{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rec .dot{width:12px;height:12px;border-radius:50%;background:#EF4444;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.2}}
.lt-mark{background:#FFE4E1;border-bottom:2px solid #EF4444;cursor:help}
.result-card{display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:14px}
.result-card img{width:90px;height:90px;object-fit:contain}
.ring{--p:0;width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--track) calc(var(--p)*1%),var(--surface-2) 0);display:grid;place-items:center;flex:none}
.ring b{width:76px;height:76px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:22px}
.toast2{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:#202327;color:#fff;border-radius:12px;padding:10px 18px;z-index:99;box-shadow:var(--shadow-lg);font-size:14px}
.gj{background:#E8F9EC;color:#14532D;border-radius:12px;padding:10px 14px;font-weight:800;display:flex;gap:8px;align-items:center}
.gj img{width:44px;height:44px;object-fit:contain}

/* ---------- tools ---------- */
.tool-wrap{max-width:760px;margin:0 auto}
.flash{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:30px 20px;text-align:center;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.flash .w{font-size:30px;font-weight:800;direction:ltr}
.flash .m{font-size:20px;color:var(--text-2)}
.flash .ex{direction:ltr;color:var(--muted);font-size:15px}
.lt-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.btn-ok{background:#28CD41;color:#fff;border:0;border-radius:12px;padding:12px 26px;font-weight:800;font-size:16px;cursor:pointer}
.btn-no{background:#EF4444;color:#fff;border:0;border-radius:12px;padding:12px 26px;font-weight:800;font-size:16px;cursor:pointer}
.boxes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.boxes div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px;text-align:center}
.boxes b{display:block;font-size:22px;color:var(--track)}.boxes span{font-size:12px;color:var(--muted)}
.tagdot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border);cursor:pointer}
.tokens{display:flex;flex-wrap:wrap;gap:8px;direction:ltr;justify-content:flex-start;min-height:52px;padding:10px;border:1px dashed var(--border-strong);border-radius:14px;margin-bottom:12px}
.tok{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;padding:8px 12px;font-size:16px;cursor:pointer;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.tok:hover{border-color:var(--track)}
.tok.used{opacity:.25;pointer-events:none}
.diff{direction:ltr;font-family:ui-monospace,Consolas,monospace;font-size:20px;letter-spacing:1px}
.diff .ok{color:#15803D}.diff .bad{color:#fff;background:#EF4444;border-radius:3px}.diff .miss{color:#B42318;text-decoration:underline}
.dict-in{direction:ltr;text-align:left;width:100%;font-size:20px;border:1px solid var(--border-strong);border-radius:12px;padding:12px;background:var(--surface);color:var(--text)}
.kbd-row{display:flex;gap:6px;justify-content:flex-start;direction:ltr;margin-top:8px}
.kbd-row button{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 12px;font-size:16px;cursor:pointer}
.hl{background:#FFF3B0;border-radius:4px;padding:0 3px;font-weight:700;color:#202327}

/* ---------- streak / profile ---------- */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:13px}
.cal span{border-radius:10px;padding:8px 0;background:var(--surface-2)}
.cal span.on{background:#FFE7D6;color:#A8360A;font-weight:800}
.cal span.today{outline:2px solid var(--orange)}
.cal .h{background:none;color:var(--muted);font-weight:700}
.heat{display:grid;grid-template-columns:repeat(15,1fr);gap:4px}
.heat i{aspect-ratio:1;border-radius:4px;background:var(--surface-2)}
.heat i.l1{background:#AFE5EA}.heat i.l2{background:#3DA9B0}.heat i.l3{background:#00838F}.heat i.l4{background:#174447}
.hbar{display:grid;grid-template-columns:110px 1fr 46px;gap:10px;align-items:center;font-size:14px;margin-bottom:8px}
.hbar .t{height:10px;border-radius:9px;background:var(--surface-2);overflow:hidden;position:relative}
.hbar .t i{position:absolute;inset:0 auto 0 0;background:var(--track);border-radius:9px}
.hbar .t em{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--indigo);border-radius:2px}
dialog.dlg{border:0;border-radius:20px;padding:0;max-width:420px;width:92%;box-shadow:var(--shadow-lg);background:var(--surface);color:var(--text)}
dialog.dlg::backdrop{background:rgba(0,0,0,.45)}
dialog.dlg .in{padding:22px;text-align:center}
dialog.dlg h3{color:var(--orange);font-size:24px;margin:6px 0}
dialog.dlg .close{background:linear-gradient(90deg,#FFC700,#F2542D);color:#fff;border:0;border-radius:12px;padding:10px 24px;font-weight:800;cursor:pointer}
.freeze{background:rgba(114,160,251,.1);color:var(--text-2);border-radius:12px;padding:10px;font-size:14px;margin:10px 0}

/* auth */
.auth2{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:30px 16px}
.auth2 .card2{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:26px;width:100%;max-width:430px;box-shadow:var(--shadow)}
.auth2 h1{font-size:22px;margin:4px 0 6px;text-align:center}
.auth2 .sub{text-align:center;color:var(--muted);margin:0 0 18px;font-size:14px}
.auth2 .mascot{display:block;width:84px;height:84px;margin:0 auto;object-fit:contain}.auth2 .or-sep{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--muted);font-size:13px}.auth2 .or-sep[hidden]{display:none}.auth2 .or-sep::before,.auth2 .or-sep::after{content:"";flex:1;height:1px;background:var(--border)}.auth2 .g-btn{display:flex;justify-content:center;min-height:44px}.auth2 .g-btn[hidden]{display:none}.cap-field{margin:0 0 12px;text-align:right}.cap-label{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}.cap-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cap-img{border:1px solid var(--border);border-radius:8px;background:#f7f9fc;display:block}.cap-refresh{flex:none;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.cap-refresh:hover{border-color:var(--accent);color:var(--accent)}.cap-input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:16px;letter-spacing:3px;text-align:center;text-transform:uppercase}.cap-input:focus{outline:none;border-color:var(--accent)}
.f2{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.f2 span{font-weight:600;font-size:14px}
.f2 input,.f2 select,.f2 textarea{border:1px solid var(--border-strong);border-radius:12px;padding:11px 12px;font-size:15px;background:var(--surface);color:var(--text)}
.f2 input:focus{border-color:var(--teal-600);outline:none;box-shadow:0 0 0 3px var(--teal-50)}
.f2 small{color:var(--muted);font-size:12px}
.pw{position:relative}.pw input{width:100%;box-sizing:border-box}.pw button{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--muted)}
.btn-full{width:100%;justify-content:center}
.err2{color:var(--bad);font-size:13px}

/* ---------- league / club ---------- */
.podium{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end;margin-bottom:14px}
.podium .pd{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 8px;text-align:center}
.podium .pd .av{width:52px;height:52px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff}
.podium .pd b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.podium .pd .pts{font-weight:800;color:var(--track);font-size:18px}
.podium .p1{order:2;padding-top:22px;border-color:#FFC700;box-shadow:0 0 0 2px #FFE58A inset}.podium .p1 .av{background:#F2A900}
.podium .p2{order:1}.podium .p2 .av{background:#A7AEB4}
.podium .p3{order:3}.podium .p3 .av{background:#C67B3B}
.podium .medal{font-size:22px;display:block}
.lboard{width:100%;border-collapse:collapse}
.lboard td{padding:9px 8px;border-bottom:1px solid var(--border);font-size:15px}
.lboard td.rk{width:56px;font-weight:800;color:var(--muted)}
.lboard td.pt{text-align:left;font-weight:800;color:var(--track);white-space:nowrap}
.lboard tr.you td{background:var(--track-soft)}
.lboard tr.you td:first-child{border-radius:0 10px 10px 0}.lboard tr.you td:last-child{border-radius:10px 0 0 10px}
.youbar{display:flex;gap:12px;align-items:center;background:var(--track-soft);border-radius:14px;padding:12px 14px;margin-bottom:14px;flex-wrap:wrap}
.youbar .rk{font-size:24px;font-weight:800;color:var(--track)}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}
.checklist li .meter2{flex:1;max-width:160px}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.badge2{border:1px solid var(--border);border-radius:16px;padding:12px 8px;text-align:center;background:var(--surface)}
.badge2 .ic{font-size:30px;display:block}
.badge2 b{display:block;font-size:14px;margin-top:4px}.badge2 small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:2px}
.badge2.off{opacity:.38;filter:grayscale(1)}
.chal{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.chal .c{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:8px}
.chal .c.done{border-color:#28CD41}
@media (max-width:700px){.chal{grid-template-columns:1fr}}
.thread-row{display:flex;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;align-items:flex-start}
.thread-row:hover{background:var(--surface-2)}
.thread-row .cnt{min-width:54px;text-align:center;border-radius:10px;padding:6px 4px;background:var(--surface-2);font-size:12px;color:var(--muted)}
.thread-row .cnt b{display:block;font-size:17px;color:var(--text)}
.thread-row .cnt.solved{background:#E5F6E9;color:#1E7B34}.thread-row .cnt.solved b{color:#1E7B34}
.post{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--surface);margin-bottom:10px}
.post.best{border-color:#28CD41;box-shadow:0 0 0 1px #28CD41 inset}
.post .meta{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:6px;flex-wrap:wrap}
.post .bd{white-space:pre-line;line-height:2;overflow-wrap:anywhere}
.post .acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.post.hid{opacity:.5}
.tag-t{font-size:11px;font-weight:800;border-radius:6px;padding:1px 7px;background:var(--surface-2)}
@media (max-width:900px){.bottom-nav{grid-template-columns:repeat(6,1fr)}.bottom-nav a{font-size:10.5px}}

.cal span{position:relative}
.cal span.frz{background:#DBEAFE;color:#1D4ED8;font-weight:700}
.cal span.frz i{position:absolute;top:-6px;left:-4px;font-style:normal;font-size:11px}
.cal span.fut{opacity:.45}
.lg{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:middle;background:var(--surface-2)}
.lg.on{background:#FFE7D6;border:1px solid #C2410C}.lg.frz{background:#DBEAFE;border:1px solid #1D4ED8}.lg.td{outline:2px solid var(--orange)}
.ms-road{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.ms-road .ms{border:1px solid var(--border);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.ms-road .ms.got{background:#FFF7ED;border-color:#FDBA74}
.ms-road .ms small{color:var(--muted);font-size:12px;line-height:1.6}
.sk-week{display:flex;gap:6px;justify-content:center;margin:8px 0}
.sk-week span{width:34px;text-align:center;font-size:11px;color:var(--muted)}
.sk-week b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);font-size:15px;margin-bottom:2px}
.sk-week .on b{background:#FFE7D6}.sk-week .frz b{background:#DBEAFE}
.dlg h3.lost{color:#F2542D;font-size:24px}

.tier-head{display:flex;gap:12px;align-items:center;background:var(--tb);border:2px solid var(--tc);border-radius:16px;padding:12px 16px;margin-bottom:12px}
.tier-head .tier-ic{font-size:38px}
.tier-steps{display:flex;gap:4px;direction:ltr}.tier-steps span{font-size:20px;opacity:.3;filter:grayscale(1)}.tier-steps span.on{opacity:1;filter:none;transform:scale(1.25)}.tier-steps span.past{opacity:.7;filter:none}
:root[data-theme="dark"] .tier-head{background:var(--surface-2)}
.lboard tr.z-up td.rk{color:#15803D}.lboard tr.z-down td.rk{color:#B91C1C}
.lboard tr.zone-line td{font-size:12px;font-weight:700;text-align:center;padding:4px;border-top:2px dashed}
.lboard tr.zone-line.up td{color:#15803D;border-color:#86EFAC}.lboard tr.zone-line.down td{color:#B91C1C;border-color:#FCA5A5}
.app-wrap>main{min-width:0}
.ref-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ref-steps>div{background:var(--surface-2);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}
.ref-steps span{width:30px;height:30px;border-radius:50%;background:var(--track);color:#fff;display:grid;place-items:center;font-weight:800}
.ref-steps small{color:var(--muted);line-height:1.8}
@media (max-width:700px){.ref-steps{grid-template-columns:1fr}}
.gap-in{display:block;width:100%;max-width:340px;min-height:44px;border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;background:var(--surface);color:inherit;text-align:left}
.gap-in:focus{outline:2px solid var(--teal,#00838F);outline-offset:1px}
.choice input[type=checkbox]:disabled+*{opacity:.5}
.ptabs button:disabled{opacity:.45;cursor:not-allowed}
.item select{max-width:100%;min-width:0;text-overflow:ellipsis}
.rtext,.task-prompt{overflow-wrap:anywhere}
.item .q .rep,.rep-part .rep{border:0;background:none;color:var(--muted,#6b7280);cursor:pointer;font-size:13px;min-width:44px;min-height:32px;padding:4px 8px;border-radius:8px;float:right;font-family:inherit}
.rep-part{display:flex;justify-content:flex-end;margin-bottom:4px}.rep-part .rep{float:none}
.item .q .rep:hover,.rep-part .rep:hover{background:var(--surface-2);color:#b45309}
.rep-form{direction:rtl;text-align:right;display:flex;flex-direction:column;gap:8px;border:1px dashed var(--border);border-radius:10px;padding:10px;margin-top:8px;background:var(--surface)}
.rep-form select,.rep-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px;font:inherit;background:var(--surface);color:inherit}

/* grammar coaches */
.co-big{font-size:22px;line-height:1.7;font-family:"Segoe UI",Roboto,Arial,sans-serif;margin:4px 0;word-break:break-word}
.co-gap{display:inline-block;min-width:44px;border-bottom:3px solid var(--accent);color:var(--accent);text-align:center;font-weight:700;margin:0 1px}
.co-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.co-pat{border:1px solid var(--border);border-inline-start:4px solid var(--accent);border-radius:12px;padding:10px 12px;margin:10px 0;background:var(--surface)}
.co-pat .ltr{margin:6px 0;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:15px}
.co-pat u{text-decoration:none;color:var(--accent);font-weight:700;background:var(--accent-2);border-radius:4px;padding:0 2px}
.co-pat small{display:block;color:var(--text-2);line-height:1.8}
.co-learn h3{margin-top:0}
.co-seg{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.co-seg button{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit;color:inherit}
.co-seg button.on{background:var(--accent-2);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.co-chips{display:flex;flex-wrap:wrap;gap:6px}
.co-pron{align-self:center;font-weight:700;min-width:36px;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.co-row .co-opt{flex:1 1 90px;justify-content:center;min-width:0}
.co-opt{justify-content:center;font-size:17px}
.co-combo{background:#FFF4E5;color:#9A3412}
:root[data-theme="dark"] .co-combo{background:#3A2614;color:#FED7AA}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .co-combo{background:#3A2614;color:#FED7AA}}
.co-stats .hbar{margin:6px 0}
.co-stats .hbar{grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) 46px}

/* v43: long LTR links (sources) never widen the page on mobile */
a.ltr{overflow-wrap:anywhere;word-break:break-word}
.panel{min-width:0}
.co-tbl th,.co-tbl td{padding:8px 5px;font-size:14px;white-space:nowrap}
/* v43 «کالبدشکافی جمله» */
.au-steps{display:flex;gap:6px;flex-wrap:wrap}
.au-steps .chip.on{background:var(--surface-2,#eef2f7)}
.au-words .tok.au-v1,.au-words .tok.au-v2,.au-words .tok.au-sf{background:#FDE68A;border-color:#D97706;color:#1F2937}
.au-words .tok.au-subj{background:#DCFCE7;border-color:#16A34A;color:#1F2937}
.au-words .tok.au-no{border-color:#B42318;background:#FEE4E2;color:#1F2937}
.au-dia{display:flex;flex-wrap:wrap;gap:6px;direction:ltr;margin-top:6px}
.au-seg{border-radius:12px;padding:6px 10px;color:#1F2937;min-width:0;max-width:100%}
.au-seg small{display:block;direction:rtl;text-align:right;font-size:11px;color:#475569;font-family:inherit}
.au-seg .ltr{font-size:16px;font-family:"Segoe UI",Roboto,Arial,sans-serif;overflow-wrap:anywhere}
.au-seg .au-k{text-decoration:underline;font-weight:700}
.au-seg .au-f{font-weight:700;color:#B45309}
/* v44 «تمرین مصاحبهٔ سفارت» */
.iv-banner{background:#FFF7E6;border:1px solid #F5C26B;color:#5B3B00;border-radius:14px;padding:10px 14px;margin-bottom:12px;font-size:14px;line-height:1.9}
.iv-banner a{color:#7A4A00;text-decoration:underline}
.iv-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px 10px;margin-bottom:12px}
.iv-card p{margin:8px 0;line-height:1.9}
.iv-num{position:absolute;top:10px;left:12px;font-size:12px;color:var(--muted)}
.iv-de{font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:19px;font-weight:600;line-height:1.6;padding-left:28px}
.iv-de-sm{font-size:15px;font-weight:500;color:var(--muted);margin-top:4px}
.iv-main{font-size:17px;font-weight:700;line-height:1.8}
.iv-say{border:0;background:none;cursor:pointer;font-size:18px;padding:0 4px;vertical-align:middle}
.iv-tr summary{cursor:pointer;color:var(--track);font-size:14px;margin:6px 0}
.iv-lang{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.iv-search{width:100%;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px;font-size:15px;background:var(--surface);color:inherit}
.iv-rules,.iv-list{margin:0;padding-inline-start:20px;line-height:2}
.iv-meta{background:var(--surface-2,#F8FAFC)}
.iv-sim .iv-de{font-size:22px}
.iv-rep{background:#EEF2FF;border-radius:10px;padding:6px 10px}
.iv-rec{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.iv-rec audio{max-width:100%;height:36px}
.iv-check{display:flex;gap:8px;align-items:flex-start;padding:6px 0;line-height:1.8}
.iv-words{display:grid;gap:6px}
.iv-word{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid var(--border);padding:6px 0}
.iv-word b{overflow-wrap:anywhere}
@media (max-width:420px){.iv-word{grid-template-columns:auto minmax(0,1fr) auto}.iv-word span{grid-column:2;grid-row:2;font-size:13px;color:var(--muted)}.iv-word .btn-sm{grid-row:1/3;grid-column:3}}

/* v45 mascots: transparent full figures (no white tiles); `.mz` = any standalone mascot figure */
.mz{object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12))}
.av{border-radius:50%;object-fit:cover;background:var(--accent-2)}
@media (max-width:420px){.hello img{width:88px;height:88px}}
@media (prefers-reduced-motion:no-preference){.mz-pop{animation:mzpop .35s ease-out}@keyframes mzpop{0%{transform:scale(.85);opacity:.4}100%{transform:none;opacity:1}}}
/* v45 «امروز» */
.td-top{padding:16px 16px 14px;margin-bottom:14px}
.td-hi{display:flex;gap:12px;align-items:center}
.td-lv{flex:none;background:var(--indigo-2);color:var(--indigo-ink);font-weight:800;border-radius:999px;padding:6px 12px;text-decoration:none;font-size:14px}
.td-xp{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:14px 0 6px}
.td-xp i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal-600),var(--teal-300));transition:width .8s ease}
.td-xpt{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.td-streak{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.td-fire{font-size:15px;white-space:nowrap}.td-fire b{font-size:20px}
.td-week{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex:1;justify-content:flex-end;min-width:0}
.td-week li{display:flex;flex-direction:column;align-items:center;gap:2px}
.td-week li span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--surface-2);color:var(--muted)}
.td-week li small{font-size:11px;color:var(--muted)}
.td-week li.done span{background:var(--teal-600);color:#fff}
.td-week li.frozen span{background:#DBEAFE;color:#1D4ED8}
.td-week li.today span{background:var(--surface);box-shadow:inset 0 0 0 2.5px #E5484D}
.td-week li.missed span{background:var(--bad-bg);color:var(--bad)}
.td-next{display:flex;gap:10px;align-items:flex-end;background:var(--track-soft);border-radius:20px;padding:18px 18px 0;margin-bottom:12px;overflow:hidden}
.td-next-b{flex:1;min-width:0;padding-bottom:18px}
.td-next h1{font-size:21px;margin:8px 0 6px;line-height:1.6}
.td-next p{margin:0 0 14px;color:var(--text-2);line-height:1.9;font-size:15px}
.td-why{display:inline-block;font-size:12px;font-weight:700;background:var(--surface);color:var(--accent-ink);border-radius:999px;padding:3px 10px}
.td-go{display:inline-flex;min-height:48px;align-items:center}
.td-next img{width:132px;height:132px;flex:none;align-self:flex-end;margin-bottom:-4px}
@media (max-width:420px){.td-next img{width:104px;height:104px}.td-next h1{font-size:19px}}
.td-plan{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:12px;text-decoration:none;color:inherit}
.td-plan span{color:var(--accent-ink);font-weight:700;font-size:14px}
.td-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.td-card{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px;text-decoration:none;color:inherit;min-width:0}
.td-card img{margin-bottom:4px}
.td-card b{font-size:14px}.td-card .n{font-size:22px;font-weight:800;color:var(--accent-ink);line-height:1.3}
.td-card small{font-size:12px;color:var(--muted);line-height:1.7}
@media (max-width:420px){.td-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.td-card{padding:10px}.td-card .n{font-size:19px}}
.td-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.td-links a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:14px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text-2);font-size:12.5px;font-weight:700;text-align:center;min-height:44px}
.td-links svg{width:22px;height:22px}
/* v45 practice hall shelves */
.ph-for{margin-bottom:16px}
.ph-sug{display:flex;gap:12px;align-items:center;background:var(--surface);border:1.5px solid var(--teal-100);border-radius:16px;padding:12px 14px;text-decoration:none;color:inherit}
.ph-sug span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ph-sug small{color:var(--muted);font-size:12px}.ph-sug i{font-style:normal;color:var(--accent-ink);font-weight:800}
.ph-recent{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}
.ph-recent .chip{display:inline-flex;gap:6px;align-items:center;text-decoration:none}.ph-recent .chip img{border-radius:50%}
.ph-shelf{margin:18px 0 6px}
.ph-shelf header{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.ph-shelf header img{width:64px;height:64px;flex:none}
.ph-shelf h2{font-size:18px;margin:0}.ph-shelf header p{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
.ph-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.ph-tool{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px;text-decoration:none;color:inherit;min-height:44px}
.ph-tool:hover{border-color:var(--teal-300)}
.ph-tool span{display:flex;flex-direction:column;min-width:0}.ph-tool b{font-size:15px}.ph-tool small{color:var(--muted);font-size:12.5px;line-height:1.7}
/* v45 home */
.hero3{background:linear-gradient(180deg,var(--accent-2),var(--bg));padding:34px 0 18px;overflow:hidden}
.hero3 .container{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center}
.hero3 h1{font-size:34px;line-height:1.5;margin:12px 0 10px}
.hero3 .lead{font-size:16.5px;line-height:2;color:var(--text-2);margin:0 0 18px}
.hero3 .ctas{display:flex;gap:10px;flex-wrap:wrap}
.h3-art{position:relative;min-height:300px;display:grid;place-items:center}
.h3-finn{width:300px;height:300px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.16))}
.h3-chip{position:absolute;display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px 6px 8px;box-shadow:var(--shadow-lg);font-weight:700;font-size:14px}
.h3-chip img{border-radius:50%;background:var(--accent-2)}
.h3-chip.c1{top:14%;right:2%}.h3-chip.c2{top:44%;left:0}.h3-chip.c3{bottom:10%;right:8%}
@media (prefers-reduced-motion:no-preference){.h3-chip{animation:h3f 5s ease-in-out infinite}.h3-chip.c2{animation-delay:-1.6s}.h3-chip.c3{animation-delay:-3.2s}@keyframes h3f{50%{transform:translateY(-6px)}}}
@media (max-width:760px){.hero3 .container{grid-template-columns:1fr}.hero3 h1{font-size:26px}.h3-art{min-height:240px;order:-1}.h3-finn{width:220px;height:220px}.hero3 .ctas .btn-big{flex:1;justify-content:center;text-align:center}}
.tracks3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.track3{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--c);border-radius:18px;padding:14px;text-decoration:none;color:inherit}
.track3>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.track3 b{font-size:17px}.track3 b small{font-size:12px;color:var(--muted);font-weight:500}
.track3>span>small{color:var(--text-2);font-size:13.5px;line-height:1.8}
.track3 .lv{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.track3 .lv i{font-style:normal;font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 8px;background:var(--surface-2)}
.track3 em{font-style:normal;color:var(--c);font-weight:800}
@media (max-width:760px){.tracks3{grid-template-columns:1fr}}
.crew{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.crew-m{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:10px 6px 12px}
.crew-m img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.12))}
.crew-m b{font-size:16px}.crew-m small{font-size:12px;color:var(--muted);line-height:1.7}
@media (max-width:900px){.crew{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.crew{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.crew-m{flex:0 0 42%;scroll-snap-align:start}}
/* v45 pricing: duration selector on phones, all cards on wide screens */
.plan-seg{display:none;gap:6px;background:var(--surface-2);border-radius:14px;padding:4px;margin:0 auto 14px;max-width:460px}
.plan-seg button{flex:1;border:0;background:none;border-radius:10px;padding:10px 4px;font:inherit;font-weight:700;color:var(--text-2);cursor:pointer;min-height:44px}
.plan-seg button.on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow)}
@media (max-width:760px){.plan-seg{display:flex}.plans2.js .plan2{display:none}.plans2.js .plan2.sel{display:block;max-width:460px;margin:0 auto}}
.cmp td:first-child{font-weight:700}.cmp td:not(:first-child),.cmp th:not(:first-child){text-align:center}
/* v45 exam run: focus mode */
.run-focus .bottom-nav{display:none}
.run-focus .run-head{position:sticky;top:6px;z-index:35;box-shadow:var(--shadow-lg)}
.run-head.mini>div:first-child{display:none}
.run-head.mini{padding:8px 12px;gap:8px}
.run-head.mini .qnav{display:none}
.run-prog{flex-basis:100%;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.run-prog i{flex:1;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.run-prog b{display:block;height:100%;width:0;background:var(--track);transition:width .3s}
.qnav{flex-basis:100%;display:flex;gap:6px;flex-wrap:wrap}
.qnav button{min-width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:inherit;font-size:13px;font-weight:700;color:var(--text-2);cursor:pointer;direction:ltr}
.qnav button.ok{background:var(--accent-2);border-color:var(--teal-400);color:var(--accent-ink)}
.run-bar{display:none}
.run-focus .run-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;gap:10px;align-items:center;justify-content:space-between;background:var(--surface);border-top:1px solid var(--border);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px -12px rgba(0,0,0,.25)}
.run-focus .run-bar button{min-height:44px;padding:0 18px}
.run-focus #main{padding-bottom:84px}
@media (min-width:1000px){.run-focus .run-bar{left:auto;right:auto;width:min(760px,100%);inset-inline-start:50%;transform:translateX(50%);border-radius:16px 16px 0 0;border:1px solid var(--border)}}
.run-focus .app-top{position:static}
.run-focus .run-head .ptabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;flex-basis:100%;order:5;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.run-focus .run-head .ptabs button{white-space:nowrap;flex:none;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.run-focus .run-head.mini .ptabs{order:5}
.run-focus .run-head.mini #finish{display:none}
.run-focus .item,.run-focus .rtext{scroll-margin-top:120px}
.run-focus .run-head .run-prog{order:6}.run-focus .run-head .qnav{order:7}
.td-first{padding:14px 16px;margin-bottom:12px}
.td-first ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.td-first li{display:flex}.td-first li a,.td-first li{align-items:center;gap:10px;font-size:14.5px}
.td-first li a{display:flex;flex:1;text-decoration:none;color:var(--text);min-height:40px}
.td-first li span{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--border-strong);font-size:13px;font-weight:800}
.td-first li.ok{color:var(--muted);min-height:32px}.td-first li.ok span{background:var(--teal-600);border-color:var(--teal-600);color:#fff}

/* v46 accessibility (audit A09/A12): readable footer bottom line, 44px touch targets on public pages */
.site-footer .bottom{color:#C5D3D4}
@media (max-width:760px),(pointer:coarse){.site-footer ul a{display:inline-flex;align-items:center;min-height:44px}.site-footer ul li{margin:0}}
.pw button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.auth-links a,.auth-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.pill.acc{color:#22686C}

/* v46 «بنیان‌گذار و تیم»: org chart with horizontal person cards */
.org-sec{background:none}
.org-head{text-align:center;margin:0 auto 26px;max-width:560px}.org-head h2{margin:6px 0 4px;font-size:clamp(22px,3vw,30px)}.org-head p{margin:0;color:var(--muted)}
.org{--line:var(--border-strong);display:flex;flex-direction:column;align-items:center}
.pcard{--tc:#00838F;--tb:#E5FAFC;position:relative;display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px 20px;box-shadow:var(--shadow);text-align:start;width:100%;overflow:hidden}
.pcard::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:var(--tc)}
.pcard.t-indigo{--tc:#5457A6;--tb:#ECECF7}.pcard.t-orange{--tc:#C2581A;--tb:#FFF1E6}.pcard.t-green{--tc:#1F7A46;--tb:#EAF6EE}
:root[data-theme="dark"] .pcard{--tb:rgba(255,255,255,.06)}
.pc-av{flex:none;width:84px;height:84px;border-radius:22px;overflow:hidden;background:var(--tb);box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--border)}
.pc-av img{width:100%;height:100%;object-fit:cover;display:block}
.pcard.root{max-width:820px;padding:22px 24px;border-color:color-mix(in srgb,var(--tc) 35%,var(--border))}
.pcard.root .pc-av{width:112px;height:112px;border-radius:28px}
.pc-b{min-width:0;flex:1}
.pc-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}
.pc-top h3{margin:0;font-size:18px}.pcard.root .pc-top h3{font-size:21px}
.pc-role{font-size:12.5px;font-weight:700;color:var(--tc);background:var(--tb);border-radius:999px;padding:3px 10px}
.pc-bio{color:var(--text-2);font-size:14px;line-height:1.95}.pc-bio p{margin:0 0 6px}
.pc-links{display:flex;gap:8px;margin-top:8px}.pc-links a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--border);font-size:13px;color:var(--text);text-decoration:none}.pc-links a:hover{border-color:var(--tc);color:var(--tc)}.pc-links svg{width:15px;height:15px}
/* connectors: root ↓, bar across the children, a stub ↓ into each child, dots on the joints */
.org-kids{position:relative;display:grid;gap:22px;width:100%;max-width:1040px;margin-top:56px}
.org-kids.n1{grid-template-columns:minmax(0,620px);justify-content:center}.org-kids.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.org-kids.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.org-kids::before{content:"";position:absolute;top:-56px;left:50%;height:28px;border-inline-start:2px solid var(--line)}
.org-k{position:relative;display:flex}
.org-k::before{content:"";position:absolute;top:-28px;left:50%;height:28px;border-inline-start:2px solid var(--line)}
.org-k::after{content:"";position:absolute;top:-34px;left:calc(50% - 6px);width:8px;height:8px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.org-kids:not(.n1)>.org-k:first-child>.pcard::after{content:none}
.org-kids:not(.n1)::after{content:"";position:absolute;top:-28px;left:var(--l0,25%);right:var(--l0,25%);border-top:2px solid var(--line);border-radius:2px}
.org-kids.n3::after{--l0:16.7%}
@media (max-width:760px){
  .org-kids,.org-kids.n2,.org-kids.n3{grid-template-columns:1fr;margin-top:0;padding-top:22px;padding-inline-start:22px;gap:16px}
  .org-kids::before,.org-kids::after{content:none!important}
  .org-kids{border-inline-start:2px solid var(--line);margin-inline-start:44px;width:auto;align-self:stretch}
  .org-k::before{top:50%;left:auto;inset-inline-start:-24px;height:0;width:22px;border-inline-start:0;border-top:2px solid var(--line)}
  .org-k::after{top:calc(50% - 5px);left:auto;inset-inline-start:-30px}
  .pcard,.pcard.root{padding:16px;gap:14px}.pc-av,.pcard.root .pc-av{width:68px;height:68px;border-radius:18px}
}

/* v46 About page */
.ab-kicker{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--accent-ink);background:var(--accent-2);border-radius:999px;padding:5px 12px}
.ab-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ab-kicker.light{color:#fff;background:rgba(255,255,255,.16)}
.ab-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--accent-2) 0,var(--bg) 100%);padding:48px 0 70px}
.ab-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--accent) 22%,transparent) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none;opacity:.5}
.ab-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}
.ab-hero h1{font-size:clamp(30px,4.4vw,46px);line-height:1.35;margin:14px 0 12px;letter-spacing:-.3px}
.ab-lead{font-size:17px;line-height:2.1;color:var(--text-2);margin:0 0 22px;max-width:620px}
.ab-ctas{display:flex;gap:10px;flex-wrap:wrap}
.ab-ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.ab-ghost:hover{border-color:var(--accent);color:var(--accent-ink)}
.ab-hero-v{position:relative;height:340px}
.ab-blob{position:absolute;inset:20px 30px;border-radius:42% 58% 55% 45%/50% 42% 58% 50%;background:linear-gradient(135deg,#00838F,#5457A6);opacity:.95;box-shadow:0 30px 60px -30px rgba(0,80,90,.6)}
.ab-m{position:absolute;filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}
.ab-m.main{width:250px;height:250px;left:50%;top:50%;transform:translate(-50%,-48%)}
.ab-m.s1{width:110px;height:110px;right:0;bottom:6px}.ab-m.s2{width:104px;height:104px;left:0;top:10px}
.ab-chip{position:absolute;background:var(--surface);color:var(--text);font-weight:800;font-size:13.5px;border-radius:14px;padding:8px 12px;box-shadow:var(--shadow-lg)}
.ab-chip.c1{top:26px;right:6px}.ab-chip.c2{bottom:28px;left:10px;direction:ltr}
.ab-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:-38px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden}
.ab-stats>div{padding:20px 14px;text-align:center;display:flex;flex-direction:column;gap:2px}
.ab-stats>div+div{border-inline-start:1px solid var(--border)}
.ab-stats b{font-size:30px;line-height:1.3;color:var(--accent-ink)}.ab-stats span{font-size:13.5px;color:var(--muted)}
.ab-mission{margin-top:56px}
.ab-mission-c{position:relative;overflow:hidden;border-radius:28px;padding:40px 44px;background:linear-gradient(120deg,#0B5C63,#00838F 55%,#3F4A9E);color:#fff}
.ab-mission-c p{position:relative;font-size:clamp(18px,2.2vw,24px);line-height:1.9;font-weight:700;margin:14px 0 0;max-width:900px}
.ab-q{position:absolute;inset-inline-end:26px;top:-30px;font-size:220px;line-height:1;opacity:.14;font-family:Georgia,serif}
.ab-values{margin-top:64px}
.ab-sec-h{text-align:center;margin-bottom:24px}.ab-sec-h h2{margin:10px 0 0;font-size:clamp(22px,3vw,30px)}
.ab-vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ab-v{--c:#00838F;--b:#E5FAFC;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px 20px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.ab-v:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ab-v.v2{--c:#5457A6;--b:#ECECF7}.ab-v.v3{--c:#C2581A;--b:#FFF1E6}.ab-v.v4{--c:#1F7A46;--b:#EAF6EE}
:root[data-theme="dark"] .ab-v{--b:rgba(255,255,255,.07)}
.ab-v i{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--b);color:var(--c);margin-bottom:12px}.ab-v i svg{width:24px;height:24px}
.ab-v h3{margin:0 0 6px;font-size:17px}.ab-v p{margin:0;color:var(--text-2);font-size:14px;line-height:1.95}
.org-sec{margin-top:40px;padding-top:40px!important}
.ab-cta{display:flex;align-items:center;gap:22px;margin:30px auto 64px;padding:26px 32px;border-radius:26px;background:linear-gradient(120deg,var(--accent-2),color-mix(in srgb,#ECECF7 70%,var(--surface)));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border))}
.ab-cta img{width:96px;height:96px;flex:none}
.ab-cta div{flex:1}.ab-cta h2{margin:0 0 4px;font-size:21px}.ab-cta p{margin:0;color:var(--text-2)}
@media (max-width:960px){.ab-vgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){
  .ab-hero{padding:28px 0 64px}.ab-hero-in{grid-template-columns:1fr;gap:8px}.ab-hero-v{height:250px;order:-1}
  .ab-m.main{width:180px;height:180px}.ab-m.s1{width:80px;height:80px}.ab-m.s2{width:76px;height:76px}.ab-blob{inset:14px 40px}
  .ab-stats{grid-template-columns:repeat(2,1fr);margin-top:-30px}.ab-stats>div:nth-child(3){border-inline-start:0}.ab-stats>div:nth-child(n+3){border-top:1px solid var(--border)}
  .ab-stats b{font-size:24px}
  .ab-mission{margin-top:36px}.ab-mission-c{padding:28px 22px}
  .ab-values{margin-top:44px}.ab-vgrid{gap:12px}.ab-v{padding:16px}
  .ab-cta{flex-direction:column;text-align:center;padding:22px}
}
@media (max-width:420px){.ab-vgrid{grid-template-columns:1fr}}

.pcard.root{background:linear-gradient(180deg,color-mix(in srgb,var(--tb) 55%,var(--surface)) 0,var(--surface) 46%)}
.pcard.root .pc-av{box-shadow:0 0 0 4px var(--surface),0 0 0 6px var(--tc)}
.pcard{transition:transform .2s,box-shadow .2s}.org-k .pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}

.pc-av.photo,.pcard.root .pc-av.photo{border-radius:50%}

/* v46 admin / teacher panel: right side-nav (RTL), slim top bar, drawer on small screens */
.pn-body{background:var(--bg)}
.pn{display:flex;min-height:100vh}
.pn-side{position:sticky;top:0;align-self:flex-start;height:100vh;width:252px;flex:none;display:flex;flex-direction:column;background:var(--surface);border-inline-end:1px solid var(--border);overflow-y:auto;z-index:60}
.pn-logo{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border)}
.pn-logo span{display:flex;flex-direction:column;line-height:1.4}.pn-logo b{font-size:15.5px}.pn-logo small{font-size:12px;color:var(--muted)}
.pn-nav{padding:8px 10px;flex:1}
.pn-gt{font-size:11.5px;font-weight:800;color:var(--muted);padding:14px 10px 6px;letter-spacing:.2px}
.pn-nav a,.pn-foot a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:10px;color:var(--text-2);text-decoration:none;font-size:14px;font-weight:600}
.pn-nav a svg,.pn-foot a svg{width:18px;height:18px;flex:none;opacity:.8}
.pn-nav a span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-nav a:hover,.pn-foot a:hover{background:var(--surface-2);color:var(--text)}
.pn-nav a.on{background:var(--accent-2);color:var(--accent-ink)}.pn-nav a.on svg{opacity:1}
.pn-nav a em{font-style:normal;font-size:11.5px;font-weight:800;background:#FFE7D6;color:#A8360A;border-radius:999px;padding:1px 8px}
.pn-foot{padding:10px;border-top:1px solid var(--border)}
.pn-main{flex:1;min-width:0;display:flex;flex-direction:column}
.pn-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;height:60px;padding:0 22px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}
.pn-burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:18px;cursor:pointer}
.pn-title{flex:1;min-width:0;font-weight:800;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-me{display:flex;align-items:center;gap:10px}
.pn-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-2);color:var(--accent-ink);font-weight:800}
.pn-who{display:flex;flex-direction:column;line-height:1.35}.pn-who b{font-size:13.5px}.pn-who small{font-size:11.5px;color:var(--muted)}
.pn-me .btn-x{display:inline-flex;align-items:center;gap:6px}.pn-me .btn-x svg{width:16px;height:16px}
.pn-content{width:100%;max-width:1240px;margin:0 auto;padding:24px 22px 60px}
.pn-shade{display:none}
@media (max-width:980px){
  .pn-side{position:fixed;inset-block:0;inset-inline-start:0;height:100%;transform:translateX(100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}
  .pn-open .pn-side{transform:none}
  .pn-open .pn-shade{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:55}
  .pn-burger{display:grid;place-items:center}
  .pn-who{display:none}
  .pn-top{padding:0 14px}.pn-content{padding:18px 14px 50px}
}
.tch-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}
.tch-stats .box{margin:0;display:flex;flex-direction:column;gap:2px}.tch-stats b{font-size:26px;color:var(--accent-ink)}.tch-stats span{font-size:13px;color:var(--muted)}
.tch-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.tch-row:last-child{border-bottom:0}
.tch-row>div{flex:1;min-width:0;display:flex;flex-direction:column}
@media (max-width:760px){.tch-stats{grid-template-columns:repeat(2,1fr)}}

/* v46 tools mega-menu (header) */
.dd.mega .mega-menu{width:min(720px,calc(100vw - 40px));padding:14px 14px 10px;right:50%;transform:translateX(50%)}
.mm-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px}
.mm-gt{font-size:11.5px;font-weight:800;color:var(--muted);padding:8px 8px 4px;letter-spacing:.2px}
.mm-col>.mm-gt:not(:first-child){margin-top:6px}
.mega-menu .mm-col a{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 8px;margin-inline-start:8px;border-radius:10px;min-height:32px;font-size:13.5px;font-weight:500;color:var(--text-2)}
.mega-menu .mm-col a:hover{color:var(--text)}
.mm-gt{display:flex;align-items:center;gap:8px;color:var(--text)!important;font-size:15.5px!important;font-weight:800!important;padding:10px 8px 6px!important}
.mm-gt::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gc,#00838F);flex:none}
.mm-gt.g1{--gc:#00838F}.mm-gt.g2{--gc:#5457A6}.mm-gt.g3{--gc:#C2581A}.mm-gt.g4{--gc:#1F7A46}.mm-gt.g5{--gc:#B8336A}.mm-gt.g6{--gc:#6B767F}
.mega-menu .mm-col a img{width:26px;height:26px;border-radius:50%;background:var(--accent-2);flex:none}
.mega-menu .mm-col a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;padding:10px 8px 2px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}
.mm-foot a{padding:0!important;min-height:0!important;display:inline!important;color:var(--accent-ink)!important;font-weight:700}
@media (max-width:1000px){
  .dd.mega .mega-menu{width:auto;transform:none;padding:0 4px 8px}
  .mm-cols{grid-template-columns:1fr 1fr;gap:0 8px}
  .mega-menu .mm-col a{min-height:40px;font-size:13.5px}
  .mm-foot{display:none}
}
@media (max-width:1000px){
  /* mobile menu: each group opens on tap instead of all lists being open at once */
  .mainnav .dd>.dd-menu{display:none}
  .mainnav .dd.open>.dd-menu{display:block}
  .mainnav .dd>button{width:100%;text-align:start}
  .mainnav .dd.open>button{background:var(--accent-2);color:var(--accent-ink)}
}

/* v46 hero: Finn introduces himself (links to the level test) */
.h3-finn-link{position:relative;display:block;text-decoration:none;color:inherit;border-radius:24px}
.h3-finn-link:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.h3-finn-link .h3-finn{transition:transform .25s}.h3-finn-link:hover .h3-finn{transform:translateY(-4px) rotate(-1deg)}
.h3-say{position:absolute;top:4px;left:-30%;display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--border);border-radius:18px 18px 4px 18px;padding:9px 14px;box-shadow:var(--shadow-lg);white-space:nowrap;z-index:2}
.h3-say::after{content:"";position:absolute;bottom:-8px;right:18px;border:8px solid transparent;border-top-color:var(--surface);border-bottom:0}
.h3-say b{font-size:17px;color:var(--text)}.h3-say small{font-size:12.5px;color:var(--muted);text-align:start}
.h3-chip.c2{top:62%}
.crew-m{position:relative}
@media (max-width:760px){.h3-art{padding-top:46px}.h3-say{left:-6%;top:-40px;padding:7px 11px}.h3-say b{font-size:15px}.h3-chip.c1{top:46%;right:-2%}.h3-chip.c2{top:72%}}
@media (prefers-reduced-motion:no-preference){.h3-say{animation:h3f 5s ease-in-out infinite;animation-delay:-2.4s}}

.auth-note{background:var(--accent-2);color:var(--text);border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.9;margin:0 0 14px}.auth-note a{color:var(--accent-ink);font-weight:800}

/* home reality band: button sits right after the text, not wrapped to a new line */
.level-band{flex-wrap:nowrap}
.level-band .lb-main{display:flex;gap:16px;align-items:center;flex:1;min-width:0}
.level-band>.btn-big{flex:none;white-space:nowrap}
@media (max-width:760px){.level-band{flex-wrap:wrap;padding:20px}.level-band .lb-main{flex-basis:100%;gap:12px}.level-band .lb-main img{width:72px;height:72px}.level-band h2{font-size:20px}.level-band>.btn-big{width:100%;justify-content:center}}

/* v46 «دو مسیر، یک حساب»: tinted cards that work in light and dark */
.split .side{--c:#5457A6;position:relative;overflow:hidden;gap:12px;padding:26px 26px 24px;border:1px solid color-mix(in srgb,var(--c) 28%,var(--border));background:color-mix(in srgb,var(--c) 7%,var(--surface));box-shadow:var(--shadow)}
.split .side.exam{--c:#00838F}
.split .side::before{content:"";position:absolute;inset-inline:0;top:0;height:4px;background:var(--c)}
.split .side.learn,.split .side.exam{background:color-mix(in srgb,var(--c) 7%,var(--surface))}
.sp-head{display:flex;align-items:center;gap:10px}
.sp-head img{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--c) 14%,var(--surface));box-shadow:0 0 0 3px var(--surface)}
.sp-k{font-size:13.5px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface));border-radius:999px;padding:5px 12px}
:root[data-theme="dark"] .sp-k{color:color-mix(in srgb,var(--c) 46%,#fff)}
.split .side ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;line-height:1.9}
.split .side li{position:relative;padding-inline-start:28px}
.split .side li::before{content:"✓";position:absolute;inset-inline-start:0;top:3px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:var(--c)}
.split .side .sp-btn{background:var(--c);color:#fff;border-color:transparent}
.split .side .sp-btn:hover{filter:brightness(1.08)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sp-k{color:color-mix(in srgb,var(--c) 46%,#fff)}}
/* blog TOC: number only the main headings (sub-headings got counted before) */
.toc ol{list-style:none;counter-reset:toc;padding-inline-start:4px}
.toc li:not(.sub){counter-increment:toc}
.toc li:not(.sub)::before{content:counter(toc,persian) ". ";color:var(--muted);font-weight:700}
.toc li.sub{list-style:none;margin-inline-start:22px}
.toc li.sub::before{content:"–  ";color:var(--muted)}
/* reality-check start panel */
.rc-start{text-align:center;padding:30px 24px;max-width:760px;margin:0 auto}
.rc-start>img{width:120px;height:auto}
.rc-start h1{font-size:26px;line-height:1.6;margin:8px 0 12px}
.rc-start h1 span{color:var(--accent-ink,var(--accent))}
.rc-lead{line-height:2.05;color:var(--text-2);max-width:620px;margin:0 auto}
.rc-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:16px 0 4px;font-weight:700;font-size:14px}
.rc-facts span::before{content:"✓";color:var(--accent);margin-inline-end:6px}
.rc-topics{margin:18px auto 6px;padding:14px 16px;border-radius:16px;background:var(--surface-2);max-width:620px}
.rc-topics b{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
.rc-topics .chips2{justify-content:center}
.rc-topics .chip{background:var(--surface);border-color:var(--border)}
.rc-q{font-size:19px;margin:22px 0 4px}
.rc-claim{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.rc-claim button{min-width:64px;min-height:46px;padding:0 18px;border-radius:14px;border:2px solid var(--accent);background:var(--surface);color:var(--text);font:inherit;font-weight:800;font-size:16px;cursor:pointer;transition:background .15s,color .15s}
.rc-claim button:hover,.rc-claim button:focus-visible{background:var(--accent);color:#fff}
.rc-claim button.none{border-color:var(--border);color:var(--text-2);font-size:15px}
.rc-note{margin-top:18px}
@media (max-width:560px){.rc-start{padding:22px 16px}.rc-start h1{font-size:22px}}
/* .pill.acc must not inherit the accordion's .acc layout (auto margins, column flex) */
.pill.acc{display:inline-flex;flex-direction:row;gap:6px;max-width:none;margin:0}
.post-meta{align-items:center}
/* level-check: finished moment */
.lc-done{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:26px 10px}
.lc-done b{font-size:22px}
.lc-done span{color:var(--text-2);line-height:1.9}
/* home «ابزارهای تمرین»: icon tiles instead of repeated mascots */
.tool-card .tc-ic{flex:none;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}
.tool-card .tc-ic svg{width:28px;height:28px}
.tool-card:hover .tc-ic{background:var(--c);color:#fff}
:root[data-theme="dark"] .tool-card .tc-ic{color:color-mix(in srgb,var(--c) 60%,#fff);background:color-mix(in srgb,var(--c) 22%,var(--surface))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tool-card .tc-ic{color:color-mix(in srgb,var(--c) 60%,#fff);background:color-mix(in srgb,var(--c) 22%,var(--surface))}}
/* split cards: full-body mascot standing in the card's end corner instead of a small face */
.split .side{padding-inline-end:190px;min-height:300px}
.split .side>*:not(.sp-art){position:relative;z-index:1}
.split .side::after{content:"";position:absolute;inset-inline-end:-30px;bottom:-40px;width:230px;height:230px;border-radius:50%;background:color-mix(in srgb,var(--c) 13%,transparent);z-index:0}
.sp-art{position:absolute;inset-inline-end:14px;bottom:8px;width:170px;height:170px;object-fit:contain;z-index:1;filter:drop-shadow(0 10px 14px rgba(0,0,0,.18));transition:transform .25s}
.split .side:hover .sp-art{transform:translateY(-4px) rotate(-2deg)}
@media (max-width:700px){
  .split .side{padding-inline-end:22px;padding-top:24px;min-height:0}
  .sp-art{width:96px;height:96px;top:12px;bottom:auto;inset-inline-end:8px}
  .split .side::after{width:140px;height:140px;top:-30px;bottom:auto;inset-inline-end:-30px}
  .split .side h3{padding-inline-end:90px}
}
/* footer: five compact columns (the long «خدمات و لینک‌ها» list split in two) */
.site-footer{padding:36px 0 20px}
.site-footer .cols.f5{grid-template-columns:1.5fr repeat(4,1fr);gap:24px}
.site-footer .cols.f5 ul{gap:4px}
.site-footer .cols.f5 h4{margin-bottom:10px}
.site-footer .cols.f5>div:first-child p{font-size:13.5px;line-height:1.85;max-width:300px}
.site-footer .bottom{margin-top:22px}
@media (max-width:1000px){.site-footer .cols.f5{grid-template-columns:repeat(2,1fr)}.site-footer .cols.f5>div:first-child{grid-column:1/-1}}
@media (max-width:760px),(pointer:coarse){.site-footer .cols.f5 ul a{min-height:38px}}
.site-footer .f-legal{display:flex;flex-wrap:wrap;gap:4px 16px}
.site-footer .f-legal a{color:#C5D3D4;font-size:13px}.site-footer .f-legal a:hover{color:#fff}
/* plan groups (همه‌چیز / دوره‌ها / آزمون و ابزارها) */
.pg-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 auto 14px}
.pg-tabs button{font:inherit;cursor:pointer;border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;padding:10px 18px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:150px}
.pg-tabs button b{font-size:16px}.pg-tabs button small{font-size:12px;color:var(--accent-ink,var(--accent));font-weight:700}
.pg-tabs button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.pg-desc{text-align:center;color:var(--text-2);margin:0 auto 14px;max-width:640px;line-height:1.9}
.cls-access{margin:10px 0;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:13.5px;line-height:2;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.cls-access.on{background:color-mix(in srgb,var(--ok, #2E8B57) 12%,var(--surface))}
.cls-access form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
/* purchase path: ① what · ② which · ③ pay */
.buy{max-width:1100px;margin:0 auto}
.buy-step{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin:22px 0 12px}
.buy-step>span,.buy-step-i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:inline-grid;place-items:center;font-size:15px}
.buy-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.buy-pick button{position:relative;font:inherit;text-align:center;cursor:pointer;background:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:20px;padding:22px 16px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .15s,box-shadow .15s}
.buy-pick button:hover{box-shadow:var(--shadow)}
.buy-pick button i{font-style:normal;font-size:30px;line-height:1}
.buy-pick button b{font-size:18px}
.buy-pick button>small{color:var(--text-2);font-size:13px;line-height:1.8}
.buy-pick .bp-from{margin-top:4px;font-weight:800;font-size:16px;color:var(--accent-ink,var(--accent))}.buy-pick .bp-from small{font-weight:600;color:var(--muted)}
.buy-pick button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.buy-pick button.best:not(.on){border-color:color-mix(in srgb,#E0602B 45%,var(--border))}
.bp-badge{position:absolute;top:-12px;inset-inline:0;margin:auto;width:max-content;font-style:normal;font-size:12px;font-weight:800;background:#E0602B;color:#fff;border-radius:999px;padding:3px 12px}
.lv-block{margin:0 0 18px;padding:16px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}
.lv-h{margin:0 0 12px;font-size:17px;display:flex;gap:8px;align-items:center}.lv-h .ltr{background:var(--accent);color:#fff;border-radius:8px;padding:1px 9px}
.lv-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}
.lv-card{position:relative;border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2)}
.lv-card.pack{border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.lv-card .badge{position:absolute;top:-11px;inset-inline-start:14px}
.lv-t{font-size:16px}.lv-s{color:var(--muted);font-size:13px}
.lv-p{margin-top:4px}.lv-p strong{font-size:22px}.lv-p s{color:var(--muted);font-size:13px;margin-inline-end:4px}.lv-p small{color:var(--muted)}
.lv-save{font-size:12.5px;font-weight:700;color:var(--ok,#2E8B57)}
.lv-card .btn-big{margin-top:auto;justify-content:center;text-align:center}
.all-card{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;border:2px solid var(--accent);border-radius:22px;padding:24px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));position:relative}
.all-card .badge{position:absolute;top:-12px;inset-inline-start:20px}
.all-l h3{margin:4px 0 10px;font-size:21px}.all-l ul{margin:0;padding-inline-start:20px;line-height:2.1}
.all-r{display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;background:var(--surface);border-radius:16px;padding:18px}
.all-cmp{color:var(--muted);font-size:13.5px}.all-p strong{font-size:32px}.all-off{color:#C24E1B;font-weight:800;font-size:14px}
.buy-note{display:flex;gap:10px;align-items:center;color:var(--text-2);font-size:14px;margin-top:18px;line-height:1.9}
@media (max-width:900px){.buy-pick{grid-template-columns:1fr}.lv-row{grid-template-columns:1fr}.all-card{grid-template-columns:1fr}}
:root[data-theme="dark"] .all-off{color:#FF9A6B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .all-off{color:#FF9A6B}}
.lv-card .badge,.all-card .badge{color:#fff;font-size:12px;font-weight:800;border-radius:8px;padding:3px 10px;z-index:1}
.lv-card .badge.pop,.all-card .badge.pop{background:#E0602B}.lv-card .badge.best{background:#43A047}
.buy .btn-big.teal{justify-content:center;width:100%}
.all-r .btn-big.teal{margin-top:6px}
/* one purchase page: jump bar + shelves */
.buy-jump{position:sticky;top:70px;z-index:5;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px;margin:0 auto 6px;background:color-mix(in srgb,var(--bg,var(--surface)) 88%,transparent);backdrop-filter:blur(6px);border-radius:16px}
.buy-jump a{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:700;font-size:14px}
.buy-jump a i{font-style:normal}.buy-jump a small{color:var(--muted);font-weight:600;font-size:12px}
.buy-jump a:hover{border-color:var(--accent)}
.buy-sec{scroll-margin-top:140px;padding-top:18px}
.buy-h{display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;margin:8px 0 4px}.buy-h i{font-style:normal}
.ex-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:900px;margin:0 auto}
.ex-row .lv-card{padding-top:20px}
.picked{outline:3px solid var(--accent);outline-offset:2px}
.co-box{scroll-margin-top:120px}.co-what{margin:0 0 12px;color:var(--text-2)}
.buy-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;margin:16px 0;border-radius:18px;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--text);text-decoration:none}
.buy-cta b{display:block;font-size:17px}.buy-cta small{display:block;color:var(--text-2);font-size:13.5px;line-height:1.8;margin-top:2px}
.buy-cta em{font-style:normal;flex:none;background:var(--accent);color:#fff;font-weight:800;border-radius:12px;padding:10px 16px}
@media (max-width:900px){.ex-row{grid-template-columns:1fr}.buy-cta{flex-direction:column;align-items:stretch;text-align:center}}
/* exam landing pages: each exam its own face */
.ex-hero{background:linear-gradient(180deg,color-mix(in srgb,var(--track) 10%,var(--bg,var(--surface))) 0%,transparent 100%)}
.ex-kick{background:color-mix(in srgb,var(--track) 14%,var(--surface))!important;color:var(--track)!important;margin-top:10px}
.ex-btn{background:var(--track);color:#fff}.ex-btn:hover{filter:brightness(1.08)}
.ex-art{text-align:center;position:relative}
.ex-art::before{content:"";position:absolute;inset:8% 14%;border-radius:50%;background:color-mix(in srgb,var(--track) 16%,transparent);z-index:0}
.ex-art img{position:relative;z-index:1;max-width:300px;width:70%;height:auto}
.ex-facts .container{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-6px;margin-bottom:10px}
.ex-f{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--track);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.ex-f span{font-size:12.5px;color:var(--muted);font-weight:700}.ex-f b{font-size:15px;line-height:1.7}.ex-f small{color:var(--text-2);font-size:13px;line-height:1.8}
.ex-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:960px;margin:0 auto}
.ex-p{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:18px;border:2px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}
.ex-p b{font-size:19px;color:var(--c)}.ex-p small{color:var(--muted)}.ex-p span{color:var(--text-2);font-size:14px;line-height:1.8}
.ex-p:hover{border-color:var(--c)}
.ex-p.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 7%,var(--surface))}
.ex-p em{position:absolute;top:-11px;inset-inline-start:14px;font-style:normal;font-size:12px;font-weight:800;color:#fff;background:var(--c);border-radius:8px;padding:2px 9px}
:root[data-theme="dark"] .ex-p b{color:color-mix(in srgb,var(--c) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ex-p b{color:color-mix(in srgb,var(--c) 46%,#fff)}}
@media (max-width:900px){.ex-facts .container{grid-template-columns:1fr 1fr}.ex-pick{grid-template-columns:1fr}}
@media (max-width:520px){.ex-facts .container{grid-template-columns:1fr}}
:root[data-theme="dark"] .ex-hero h1 span,:root[data-theme="dark"] .ex-kick{color:color-mix(in srgb,var(--track) 50%,#fff)!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ex-hero h1 span,:root:not([data-theme="light"]) .ex-kick{color:color-mix(in srgb,var(--track) 50%,#fff)!important}}
/* dashboard: the exam's own identity and sets */
.td-track{display:inline-block;font-size:11.5px;font-weight:800;color:var(--track);background:var(--track-soft);border-radius:6px;padding:1px 7px;margin-inline-end:4px}
.td-top{border-top:4px solid var(--track)}
.td-sets{border-inline-start:4px solid var(--track)}
.td-sets-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.td-sets-h b{display:block;font-size:17px;color:var(--track)}.td-sets-h small{display:block;font-size:12.5px;line-height:1.8}
.td-sets-n{font-size:12.5px;font-weight:700;background:var(--track-soft);color:var(--track);border-radius:999px;padding:3px 10px;white-space:nowrap}
.td-sets-g{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.td-set{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--text);background:var(--surface)}
.td-set:hover{border-color:var(--track)}
.td-set .lv{align-self:flex-start;font-size:12px;font-weight:800;color:#fff;background:var(--track);border-radius:6px;padding:1px 8px}
.td-set b{font-size:14px;line-height:1.7}.td-set small{color:var(--muted);font-size:12.5px}.td-set .free{color:var(--ok,#2E8B57);font-weight:700}
.td-sets-all{display:inline-block;margin-top:10px;font-weight:700;color:var(--track);text-decoration:none}
:root[data-theme="dark"] .td-sets-h b,:root[data-theme="dark"] .td-sets-all,:root[data-theme="dark"] .td-track,:root[data-theme="dark"] .td-sets-n{color:color-mix(in srgb,var(--track) 50%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .td-sets-h b,:root:not([data-theme="light"]) .td-sets-all,:root:not([data-theme="light"]) .td-track,:root:not([data-theme="light"]) .td-sets-n{color:color-mix(in srgb,var(--track) 50%,#fff)}}
@media (max-width:600px){.td-sets-g{grid-template-columns:1fr}}
/* «آزمون من» switcher (replaces the three small tabs) */
.trk-pick{position:relative;margin-inline-start:auto}
.trk-pick summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:14px;color:var(--text-2);user-select:none}
.trk-pick summary::-webkit-details-marker{display:none}
.trk-pick summary b{display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.trk-pick summary b i,.trk-menu a i{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block;flex:none}
.trk-pick summary .car{font-size:12px;transition:transform .15s}.trk-pick[open] summary .car{transform:rotate(180deg)}
.trk-pick[open] summary,.trk-pick summary:hover{border-color:var(--track)}
.trk-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:60;width:min(340px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:8px}
.trk-note{margin:4px 6px 8px;font-size:12.5px;color:var(--muted);line-height:1.8}
.trk-menu a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;text-decoration:none;color:var(--text);border:2px solid transparent}
.trk-menu a:hover{background:var(--surface-2)}
.trk-menu a.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 7%,var(--surface))}
.trk-menu a span{flex:1;min-width:0}.trk-menu a b{display:block;font-size:15px}.trk-menu a b small{font-weight:600;color:var(--muted);font-size:12px}
.trk-menu a>span>small{display:block;color:var(--text-2);font-size:12.5px;line-height:1.7}
.trk-menu a em{font-style:normal;font-size:12px;font-weight:800;color:var(--c);white-space:nowrap}
:root[data-theme="dark"] .trk-menu a em{color:color-mix(in srgb,var(--c) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .trk-menu a em{color:color-mix(in srgb,var(--c) 46%,#fff)}}
.trk-done{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:var(--track-soft);border:1px solid color-mix(in srgb,var(--track) 35%,var(--border));line-height:1.9}
.trk-done b{color:var(--track)}.trk-done a{font-weight:700;margin-inline-start:6px}
:root[data-theme="dark"] .trk-done b{color:color-mix(in srgb,var(--track) 50%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .trk-done b{color:color-mix(in srgb,var(--track) 50%,#fff)}}
@media (max-width:600px){.trk-pick summary{padding:6px 9px;font-size:13px}}
/* account menu (header): profile, subscription, theme, logout */
.acc-menu{position:relative}
.acc-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;font-size:14px;user-select:none}
.acc-menu summary::-webkit-details-marker{display:none}
.acc-menu summary:hover,.acc-menu[open] summary{border-color:var(--accent)}
.acc-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:14px;font-weight:800}
.acc-menu .car{font-size:11px;color:var(--muted)}
.acc-pop{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:70;width:270px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:8px;display:flex;flex-direction:column;gap:2px}
.acc-who{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.acc-who b{display:block}.acc-who small{color:var(--muted)}
.acc-pop a,.acc-out{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;text-decoration:none;color:var(--text);font:inherit;font-size:14.5px;background:none;border:0;width:100%;cursor:pointer;text-align:start}
.acc-pop a:hover,.acc-out:hover{background:var(--surface-2)}
.acc-pop svg{width:18px;height:18px;flex:none}
.acc-theme{padding:8px 10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:4px 0;display:flex;flex-direction:column;gap:6px}
.acc-theme>span{font-size:12.5px;color:var(--muted);font-weight:700}
.acc-seg{display:flex;gap:4px;background:var(--surface-2);border-radius:10px;padding:3px}
.acc-seg button{flex:1;font:inherit;font-size:13px;border:0;background:none;color:var(--text-2);border-radius:8px;padding:6px 4px;cursor:pointer}
.acc-seg button.on{background:var(--surface);color:var(--text);font-weight:800;box-shadow:var(--shadow)}
.acc-out{color:#B42318}:root[data-theme="dark"] .acc-out{color:#FF8A80}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .acc-out{color:#FF8A80}}
.acc-pop form{margin:0}
/* «ورود به‌جای این کاربر» bar */
.imp-bar{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 14px;background:#7A2E0E;color:#fff;font-size:14px}
.imp-bar form{margin:0}.imp-bar button{font:inherit;font-weight:800;background:#fff;color:#7A2E0E;border:0;border-radius:10px;padding:5px 12px;cursor:pointer}
/* «دیدن سایت به‌عنوان…» */
.va-pick{position:relative;margin-inline-start:auto}
.va-pick>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;border:1px solid var(--accent);color:var(--accent-ink,var(--accent));font-weight:800;font-size:14px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.va-pick>summary::-webkit-details-marker{display:none}
.va-pop{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:80;width:min(360px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:8px}
.va-note{margin:4px 8px 8px;font-size:12.5px;color:var(--muted);line-height:1.8}
.va-list{display:flex;flex-direction:column;gap:2px;background:var(--surface);border-radius:14px}
.imp-bar .va-list{border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:6px}
.va-list form{margin:0}
.va-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:start;font:inherit;background:none;border:2px solid transparent;border-radius:12px;padding:8px 10px;cursor:pointer;color:var(--text)}
.va-list button:hover{background:var(--surface-2)}
.va-list button.on{border-color:var(--accent)}
.va-list i{font-style:normal;font-size:20px;width:26px;text-align:center}
.va-list b{display:block;font-size:14.5px}.va-list small{display:block;color:var(--text-2);font-size:12px;line-height:1.7}
.va-list em{margin-inline-start:auto;font-style:normal;font-size:12px;font-weight:800;color:var(--accent)}
.tch-row>.actions{flex:none;flex-direction:row;flex-wrap:wrap}
/* view-as icons: site SVGs in coloured tiles (emoji like 🧑‍🏫 split into two glyphs on Windows) */
.va-list i.va-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:0;color:var(--c,#555);background:color-mix(in srgb,var(--c,#555) 13%,var(--surface))}
.va-list i.va-ic svg{width:19px;height:19px}
.va-guest{--c:#64748B}.va-free{--c:#0E7490}.va-exam{--c:#E0602B}.va-learn{--c:#2F6FD6}.va-all{--c:#C77700}.va-teacher{--c:#7B4FC4}
/* practice hall: one mascot per shelf, icons per exercise */
.ph-shelf header h2{color:var(--c)}
.ph-tool .ph-ic{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.ph-tool .ph-ic svg{width:22px;height:22px}
.ph-tool:hover .ph-ic{background:var(--c);color:#fff}
.ph-chip-ic{display:inline-grid;place-items:center;width:20px;height:20px}.ph-chip-ic svg{width:15px;height:15px}
:root[data-theme="dark"] .ph-shelf header h2,:root[data-theme="dark"] .ph-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ph-shelf header h2,:root:not([data-theme="light"]) .ph-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}}
/* practice hall: more air between and inside shelves */
.ph-for{margin-bottom:26px}
.ph-recent{margin-top:14px;gap:8px}
.ph-shelf{margin:0;padding:26px 0 30px;border-top:1px solid var(--border)}
.ph-for+.ph-shelf,.hello+.ph-shelf{border-top:0;padding-top:8px}
.ph-shelf header{gap:14px;margin-bottom:16px}
.ph-shelf header img{width:58px;height:58px}
.ph-shelf h2{font-size:19px}.ph-shelf header p{margin-top:4px}
.ph-list{gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ph-tool{padding:14px 16px;gap:14px;border-radius:16px}
.ph-tool small{margin-top:2px}
@media (max-width:600px){.ph-shelf{padding:20px 0 22px}.ph-list{gap:10px}}
/* exam landing (guest): free vs subscription, sets by level, compact tools */
.ex-note{margin:10px 0 0;font-size:13.5px;color:var(--text-2)}
.ex-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ex-col{border:1px solid var(--border);border-radius:20px;padding:22px 22px 20px;background:var(--surface);display:flex;flex-direction:column}
.ex-col h2{font-size:19px;margin:0 0 12px}
.ex-col ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px;flex:1}
.ex-col li{position:relative;padding-inline-start:26px;line-height:1.8;font-size:14.5px}
.ex-col li::before{position:absolute;inset-inline-start:0;top:1px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
.ex-col.ok{border-color:color-mix(in srgb,#1E7B34 35%,var(--border));background:color-mix(in srgb,#1E7B34 5%,var(--surface))}
.ex-col.ok li::before{content:"✓";background:#E5F6E9;color:#1E7B34}
.ex-col.lock li::before{content:"+";background:color-mix(in srgb,var(--track) 14%,var(--surface));color:var(--track)}
.ex-col .btn-big{align-self:flex-start}.ex-col .btn-big small{font-weight:600;opacity:.8}
.ex-lvs{display:grid;gap:10px}
.ex-lv{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px}
.ex-lv-h b{display:block;font-size:24px;font-weight:800;color:var(--track);text-align:right}
.ex-lv-h small{display:block;color:var(--muted);font-size:12px;text-align:right}
.ex-lv-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ex-set{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:11px 14px;border-radius:14px;background:var(--surface-2);text-decoration:none;color:var(--text)}
.ex-set:hover{background:color-mix(in srgb,var(--track) 9%,var(--surface))}
.ex-set b{font-size:15px}.ex-set small{grid-column:1;color:var(--muted);font-size:12.5px}
.ex-set .ex-tag{grid-column:2;grid-row:1/3}
.ex-tag{font-style:normal;font-size:11.5px;font-weight:800;border-radius:8px;padding:3px 8px;white-space:nowrap}
.ex-tag.free{background:#E5F6E9;color:#1E7B34}.ex-tag.part{background:#FFF3D6;color:#9A5B07}
.ex-steps{list-style:none;counter-reset:st;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ex-steps li{counter-increment:st;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.ex-steps li::before{content:counter(st,persian);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--track);color:#fff;font-weight:800;font-size:13px;margin-bottom:6px}
.ex-steps b{display:block}.ex-steps small{display:block;color:var(--text-2);line-height:1.8;margin-top:2px}
.ex-pass{margin-top:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:0 16px}
.ex-pass summary{cursor:pointer;font-weight:700;padding:12px 0}
.ex-pass dl{display:grid;grid-template-columns:40px 1fr;gap:8px 12px;margin:0 0 14px;font-size:13.5px;line-height:1.9}
.ex-pass dt{font-weight:800;color:var(--track)}.ex-pass dd{margin:0;color:var(--text-2)}
.ex-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;--c:var(--track)}
.ex-tool{position:relative;display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--text)}
.ex-tool .ph-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 11%,var(--surface))}
.ex-tool .ph-ic svg{width:20px;height:20px}
.ex-tool b{display:block;font-size:14.5px}.ex-tool small{display:block;color:var(--muted);font-size:12.5px;line-height:1.7}
.ex-tool .ex-tag{position:absolute;top:8px;inset-inline-end:10px}
.ex-tool:hover{border-color:var(--c)}
@media (max-width:760px){.ex-split{grid-template-columns:1fr}.ex-lv{grid-template-columns:1fr;gap:8px}.ex-lv-h{display:flex;gap:10px;align-items:baseline}.ex-steps{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.ex-steps{grid-template-columns:1fr}}
@media (max-width:520px){.ex-facts .container{grid-template-columns:1fr 1fr;gap:8px}.ex-f small{display:none}.ex-art img{width:42%}.ex-art::before{inset:4% 28%}}
/* public tool pages: richer body (intro + access card, pains, feature tiles, step timeline, related tools) */
.tp .sec-h{margin-bottom:18px}
.tp-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start;max-width:1040px;margin:0 auto}
.tp-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:15px;background:color-mix(in srgb,var(--c) 13%,var(--surface));color:var(--c);margin-bottom:10px}
.tp-ic svg{width:26px;height:26px}
.tp-intro h2{font-size:26px;margin:0 0 10px}
.tp-lead{font-size:16.5px;line-height:2.15;color:var(--text-2);margin:0}
.tp-access{border-radius:20px;padding:20px;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--c);box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.05))}
.tp-access.free{border-top-color:#1E7B34}
.tp-access b{display:block;font-size:17px}.tp-access.free b{color:#1E7B34}
.tp-access p{margin:8px 0 14px;color:var(--text-2);line-height:1.95;font-size:14.5px}
.tp-access .btn-big{width:100%;justify-content:center}
.tp-more{display:block;text-align:center;margin-top:10px;font-size:13.5px;font-weight:700}
.tp-pains{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-width:1040px;margin:0 auto}
.tp-p{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:16px;background:color-mix(in srgb,#DC2626 5%,var(--surface));border:1px solid color-mix(in srgb,#DC2626 18%,var(--border))}
.tp-p span{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,#DC2626 14%,var(--surface));color:#B91C1C;font-weight:800;font-size:13px}
.tp-p p{margin:0;line-height:1.9;font-size:14.5px}
.tp-fix{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 0;font-weight:800;font-size:16px;color:var(--c)}
.tp-fix span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--c) 13%,var(--surface))}
.tp-fix svg{width:18px;height:18px}
.tp-feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-width:1040px;margin:0 auto}
.tp-f{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.tp-f span{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 13%,var(--surface));color:var(--c);font-weight:800}
.tp-f p{margin:0;line-height:1.9;font-size:14.5px}
.tp-steps{list-style:none;counter-reset:st;padding:0;margin:0 auto;max-width:1040px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.tp-steps::before{content:"";position:absolute;top:21px;inset-inline:16%;height:2px;background:color-mix(in srgb,var(--c) 30%,var(--border))}
.tp-steps li{counter-increment:st;text-align:center;position:relative}
.tp-steps li::before{content:counter(st,persian);display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;background:var(--c);color:#fff;font-weight:800;font-size:18px;box-shadow:0 0 0 6px var(--surface);position:relative}
.tp-steps p{margin:0;line-height:1.95;color:var(--text-2);font-size:14.5px;padding:0 6px}
.tp-others{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.tp-others a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text);font-size:14px}
.tp-others a:hover{border-color:var(--c)}
.tp-others span{display:grid;place-items:center;color:var(--c)}.tp-others svg{width:17px;height:17px}
.tp-others em{font-style:normal;font-size:11px;font-weight:800;background:#E5F6E9;color:#1E7B34;border-radius:6px;padding:1px 6px}
.tp-cta img{width:84px;height:84px;object-fit:contain}
@media (max-width:820px){.tp-intro{grid-template-columns:1fr}.tp-steps{grid-template-columns:1fr;gap:14px}.tp-steps::before{display:none}.tp-steps li{display:flex;gap:12px;align-items:center;text-align:right}.tp-steps li::before{margin:0;flex:none}}
@media (max-width:520px){.tp-cta img{display:none}.tp-intro h2{font-size:22px}}
/* home crew: each card says where it leads */
.crew-m small{flex:1}
.crew-go{font-style:normal;margin-top:8px;font-size:12px;font-weight:800;color:var(--teal-600,#0F766E);background:color-mix(in srgb,var(--teal-600,#0F766E) 9%,var(--surface));border-radius:999px;padding:3px 10px;line-height:1.6;white-space:nowrap}
.crew-m:hover .crew-go{background:var(--teal-600,#0F766E);color:#fff}
/* companion pages (/skills/*) and the tools index */
.cp-hero{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 10%,var(--bg)),var(--bg));padding:34px 0 26px}
.cp-hero .container{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}
.cp-hero h1{font-size:34px;margin:10px 0 8px;line-height:1.5}
.cp-kick{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid color-mix(in srgb,var(--c) 30%,var(--border));color:var(--c);font-weight:800;border-radius:999px;padding:4px 12px 4px 6px;margin-top:10px}
.cp-kick img{width:26px;height:26px;border-radius:50%}
.cp-art{text-align:center;position:relative}
.cp-art::before{content:"";position:absolute;inset:8% 16%;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,transparent)}
.cp-art img{position:relative;max-width:300px;width:72%;height:auto}
.cp-who{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;max-width:1040px;margin:0 auto;align-items:start}
.cp-bio h2{font-size:26px;margin:0 0 10px}
.cp-bio p{font-size:16px;line-height:2.15;color:var(--text-2);margin:0 0 12px}
.cp-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--c);border-radius:20px;padding:18px}
.cp-card-h{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.cp-card-h img{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.cp-card-h b{display:block;font-size:17px}.cp-card-h small{color:var(--muted);font-size:12.5px;line-height:1.7}
.cp-card h3{font-size:15px;margin:0 0 8px}
.cp-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cp-card li{position:relative;padding-inline-start:20px;line-height:1.8;font-size:14px}
.cp-card li::before{content:"";position:absolute;inset-inline-start:2px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--c)}
.cp-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;max-width:1040px;margin:0 auto}
.cp-tool{position:relative;display:flex;gap:14px;align-items:center;padding:16px 16px 16px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);text-decoration:none;color:var(--text)}
.cp-tool:hover{border-color:var(--c);box-shadow:var(--shadow-lg)}
.cp-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.cp-ic svg{width:23px;height:23px}
.cp-tool b{display:block;font-size:15.5px}.cp-tool small{display:block;color:var(--muted);font-size:13px;line-height:1.7;margin-top:2px}
.cp-tool > span:nth-child(2){flex:1;padding-top:14px}
.cp-acc{position:absolute;top:10px;inset-inline-end:12px;font-style:normal;font-size:11px;font-weight:800;border-radius:7px;padding:2px 8px;background:#FFF3D6;color:#9A5B07}
.cp-acc.free{background:#E5F6E9;color:#1E7B34}
.cp-rules{max-width:980px;display:grid;gap:18px}
.cp-rule{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px}
.cp-rule h2{font-size:20px;margin:6px 0 8px}.cp-rule p{line-height:2.05;color:var(--text-2);margin:0 0 10px}
.cp-rule > div{flex:1;min-width:0}
.cp-tbl{margin:4px 0 8px}.cp-tbl td,.cp-tbl th{white-space:nowrap}
.cp-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.cp-badges div{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--surface-2)}
.cp-badges span{grid-row:1/3;font-size:24px}.cp-badges b{font-size:14px}.cp-badges small{color:var(--muted);font-size:12px;line-height:1.6}
.cp-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-width:1040px;margin:0 auto}
.cp-others a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.cp-others a:hover{border-color:var(--c)}
.cp-others img{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.cp-others b{display:block;font-size:14.5px}.cp-others small{color:var(--muted);font-size:12px}
.cp-band-img{width:84px;height:84px;object-fit:contain}
.ti-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.ti-g{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--c);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px}
.ti-head{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--text)}
.ti-head img{flex:none;width:84px;height:84px;object-fit:contain}
.ti-head small{color:var(--c);font-weight:800}.ti-head h2{font-size:18px;margin:2px 0 4px}.ti-head p{margin:0;color:var(--text-2);font-size:13.5px;line-height:1.85}
.ti-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;align-content:flex-start}
.ti-chips a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--surface-2);text-decoration:none;color:var(--text);font-size:13px}
.ti-chips a:hover{background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.ti-chips span{display:grid;place-items:center;color:var(--c)}.ti-chips svg{width:15px;height:15px}
.ti-chips em{font-style:normal;font-size:10.5px;font-weight:800;background:#E5F6E9;color:#1E7B34;border-radius:6px;padding:0 5px}
.ti-note{color:var(--muted);font-size:13px;line-height:1.9}
.ti-more{align-self:flex-start;font-weight:800;font-size:13.5px;color:var(--c)}
@media (max-width:820px){.cp-hero .container,.cp-who{grid-template-columns:1fr}.cp-hero h1{font-size:26px}.cp-art img{width:45%}.cp-rule{flex-direction:column}}
@media (max-width:520px){.cp-band-img{display:none}.ti-groups{grid-template-columns:1fr}.cp-tools{grid-template-columns:1fr}}
.cp-rules > *{min-width:0}.cp-rule .tbl-wrap{overflow-x:auto;max-width:100%}
.cp-rule > div{width:100%}
/* /exams (Finn) */
.eh-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.eh-pick a{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--t);text-decoration:none;color:var(--text)}
.eh-pick a:hover{box-shadow:var(--shadow-lg);border-color:var(--t)}
.eh-pick b{font-size:19px;color:var(--t)}.eh-pick small{color:var(--muted);font-size:12px}
.eh-pick span{font-size:13px;line-height:1.8;color:var(--text-2);flex:1;margin-top:4px}
.eh-pick em{font-style:normal;font-weight:800;font-size:12.5px;color:var(--t);margin-top:6px}
.eh-tbl{max-width:1100px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow-x:auto}
.eh-tbl .ftable{min-width:680px}.eh-tbl tbody th{white-space:nowrap;color:var(--muted);font-weight:700;background:var(--surface-2)}
.eh-tbl td{line-height:1.85;min-width:180px}
.eh-free{color:#1E7B34;font-weight:800}
.eh-free-box{max-width:820px;margin:20px auto 0;padding:14px 18px;border-radius:16px;background:color-mix(in srgb,#1E7B34 6%,var(--surface));border:1px solid color-mix(in srgb,#1E7B34 25%,var(--border));line-height:2;font-size:14.5px;text-align:center}
.eh-free-box a{display:block;font-weight:800;margin-top:4px}
.tp-steps p b{color:var(--text);font-size:15.5px}
@media (max-width:820px){.eh-pick{grid-template-columns:1fr}}
/* button rows outside the hero (companion pages, /exams) */
.ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
/* home: small text link under a section (compare exams / all tools) */
.tr-cmp{text-align:center;margin:16px 0 0;font-weight:800}
/* home «همین حالا امتحان کن» / «ادامهٔ تمرین‌هایت»: one featured tool + three small; hidden on phones */
.try-bento{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:repeat(3,auto);gap:12px;max-width:1040px;margin:0 auto}
.try-big{grid-row:1/4;position:relative;overflow:hidden;border-radius:24px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;text-decoration:none;color:var(--text);min-height:300px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 10%,var(--surface)),color-mix(in srgb,var(--c) 22%,var(--surface)));border:1px solid color-mix(in srgb,var(--c) 25%,var(--border))}
.try-big h3{font-size:25px;margin:10px 0 6px}.try-big p{margin:0;color:var(--text-2);line-height:2;max-width:68%}
.try-big .btn-big{align-self:flex-start}
.try-big img{position:absolute;bottom:-6px;left:14px;width:165px;height:165px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.15))}
.try-sm{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.try-sm:hover,.try-big:hover{border-color:var(--c)}
.try-ic2{flex:none;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface))}.try-ic2 svg{width:24px;height:24px}
.try-sm > span:nth-child(2){flex:1}.try-sm b{display:block;font-size:15.5px}.try-sm small{color:var(--muted);font-size:12.5px;line-height:1.7}
.try-b{flex:none;font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px;white-space:nowrap}
.try-b.free{background:#E5F6E9;color:#1E7B34}.try-b.part{background:#FFF3D6;color:#9A5B07}.try-b.mine{background:color-mix(in srgb,var(--c) 15%,var(--surface));color:color-mix(in srgb,var(--c) 75%,var(--text))}
@media (max-width:640px){.try-sec{display:none}}
/* contact page */
.ct-hero{background:linear-gradient(180deg,color-mix(in srgb,#2E8B57 9%,var(--bg)),var(--bg));padding:34px 0 10px}
.ct-hero .container{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:center;max-width:1080px}
.ct-hero h1{font-size:36px;margin:10px 0 8px}.ct-hero .lead{max-width:560px}
.ct-art{text-align:center;position:relative}
.ct-art::before{content:"";position:absolute;inset:10% 22%;border-radius:50%;background:color-mix(in srgb,#2E8B57 16%,transparent)}
.ct-art img{position:relative;width:220px;height:auto}
.ct-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;align-items:start;max-width:1080px;margin:0 auto}
.ct-form{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 10px 30px -18px rgba(0,0,0,.25)}
.ct-form h2{font-size:21px;margin:0 0 14px}
.ct-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ct-topic{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;cursor:pointer}
.ct-topic span{display:grid;place-items:center;color:var(--teal-600,#0F766E)}.ct-topic svg{width:16px;height:16px}
.ct-topic:hover{border-color:var(--teal-600,#0F766E)}
.ct-topic.on{background:var(--teal-600,#0F766E);border-color:var(--teal-600,#0F766E);color:#fff}.ct-topic.on span{color:#fff}
.ct-send{width:100%;justify-content:center;gap:8px;margin-top:6px}.ct-send svg{width:18px;height:18px}
.ct-side{display:grid;gap:16px}
.ct-box{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:18px}
.ct-box h3{font-size:16px;margin:0 0 12px}
.ct-ch{display:grid;gap:8px}
.ct-ch a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;text-decoration:none;color:var(--text);background:color-mix(in srgb,var(--c) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 18%,var(--border))}
.ct-ch a:hover{border-color:var(--c)}
.ct-ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--c);color:#fff}.ct-ic svg{width:20px;height:20px}
.ct-ch a > span:nth-child(2){flex:1}.ct-ch b{display:block;font-size:15px}.ct-ch small{color:var(--muted);font-size:12.5px}
.ct-ch em{font-style:normal;color:var(--c);font-weight:800}
.ct-self{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ct-self a{display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;background:var(--surface-2);text-decoration:none;color:var(--text);font-size:13.5px;font-weight:700}
.ct-self a:hover{background:color-mix(in srgb,var(--teal-600,#0F766E) 10%,var(--surface))}
.ct-self span{display:grid;place-items:center;color:var(--teal-600,#0F766E)}.ct-self svg{width:17px;height:17px}
.ct-tip{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:13px;line-height:1.9;color:var(--text-2)}
.ct-tip svg{flex:none;width:17px;height:17px;margin-top:3px;color:#1E7B34}
@media (max-width:860px){.ct-grid{grid-template-columns:1fr}.ct-hero .container{grid-template-columns:1fr}.ct-art{display:none}.ct-hero h1{font-size:28px}}
@media (max-width:420px){.ct-self{grid-template-columns:1fr}}
/* FAQ page: search + category chips + grouped accordions */
.fq-hero{background:linear-gradient(180deg,color-mix(in srgb,#7B4FC4 8%,var(--bg)),var(--bg));padding:30px 0 12px}
.fq-hero .container{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:center;max-width:980px}
.fq-hero h1{font-size:34px;margin:10px 0 8px}
.fq-search{display:flex;align-items:center;gap:10px;margin-top:16px;background:var(--surface);border:1px solid var(--border-strong,var(--border));border-radius:16px;padding:4px 14px;box-shadow:0 8px 24px -16px rgba(0,0,0,.3);max-width:560px}
.fq-search:focus-within{border-color:var(--teal-600,#0F766E);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal-600,#0F766E) 18%,transparent)}
.fq-search span{display:grid;place-items:center;color:var(--muted)}.fq-search svg{width:20px;height:20px}
.fq-search input{flex:1;border:0;background:none;font:inherit;font-size:15.5px;padding:11px 0;color:var(--text);outline:0}
.fq-art{text-align:center;position:relative}
.fq-art::before{content:"";position:absolute;inset:10% 20%;border-radius:50%;background:color-mix(in srgb,#7B4FC4 14%,transparent)}
.fq-art img{position:relative;width:210px;height:auto}
.fq-wrap{max-width:900px}
.fq-cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 22px}
.fq-cat{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.fq-cat span{display:grid;place-items:center;color:var(--c,var(--teal-600,#0F766E))}.fq-cat svg{width:16px;height:16px}
.fq-cat i{font-style:normal;font-size:11.5px;background:var(--surface-2);border-radius:999px;padding:1px 7px;color:var(--muted)}
.fq-cat:hover{border-color:var(--c,var(--teal-600,#0F766E))}
.fq-cat.on{background:var(--c,var(--teal-600,#0F766E));border-color:var(--c,var(--teal-600,#0F766E));color:#fff}.fq-cat.on span{color:#fff}.fq-cat.on i{background:rgba(255,255,255,.22);color:#fff}
.fq-g{margin-bottom:26px}
.fq-g h2{display:flex;align-items:center;gap:10px;font-size:19px;margin:0 0 12px}
.fq-g h2 span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--c) 13%,var(--surface));color:var(--c)}.fq-g h2 svg{width:18px;height:18px}
.fq-list{display:grid;gap:8px}
.fq-i{background:var(--surface);border:1px solid var(--border);border-radius:16px;transition:border-color .15s,box-shadow .15s}
.fq-i[open]{border-color:color-mix(in srgb,var(--c) 45%,var(--border));box-shadow:0 10px 26px -18px var(--c)}
.fq-i summary{display:flex;align-items:center;gap:12px;padding:15px 18px;cursor:pointer;list-style:none}
.fq-i summary::-webkit-details-marker{display:none}
.fq-i summary b{flex:1;font-size:15px;line-height:1.8}
.fq-i summary i{flex:none;position:relative;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.fq-i summary i::before,.fq-i summary i::after{content:"";position:absolute;inset:0;margin:auto;width:11px;height:2px;border-radius:2px;background:var(--c);transition:transform .2s}
.fq-i summary i::after{transform:rotate(90deg)}
.fq-i[open] summary i::after{transform:rotate(0)}
.fq-i p{margin:0;padding:0 18px 16px;color:var(--text-2);line-height:2.1;font-size:14.5px}
.fq-none{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:28px;border:1px dashed var(--border-strong,var(--border));border-radius:20px;color:var(--text-2)}
.fq-none b{font-size:17px;color:var(--text)}.fq-none .btn-big{margin-top:6px}
@media (max-width:760px){.fq-hero .container{grid-template-columns:1fr}.fq-art{display:none}.fq-hero h1{font-size:27px}.fq-cats{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.fq-cat{flex:none}}
/* blog index */
.bl-hero{background:linear-gradient(180deg,color-mix(in srgb,#0E7490 9%,var(--bg)),var(--bg));padding:30px 0 12px}
.bl-hero .container{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:center;max-width:1080px}
.bl-hero h1{font-size:34px;margin:10px 0 8px}
.bl-art{text-align:center;position:relative}
.bl-art::before{content:"";position:absolute;inset:10% 20%;border-radius:50%;background:color-mix(in srgb,#0E7490 14%,transparent)}
.bl-art img{position:relative;width:210px;height:auto}
.bl-cats{--c:#0E7490}
.bl-cats .fq-cat{text-decoration:none}
.bl-res{text-align:center;color:var(--text-2);margin:0 0 18px}
.bl-feat{display:grid;grid-template-columns:1.1fr 1fr;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:inherit;margin-bottom:22px;transition:box-shadow .2s,transform .2s}
.bl-feat:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.bl-feat-cover{min-height:280px;background:linear-gradient(135deg,var(--linen,#F3EEE6),var(--sage,#DDE8E1));display:grid;place-items:center}
.bl-feat-cover img{width:100%;height:100%;object-fit:cover}.bl-feat-cover svg{width:64px;height:64px;opacity:.5}
.bl-feat-body{padding:26px 28px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.bl-new{align-self:flex-start;font-size:12px;font-weight:800;background:color-mix(in srgb,#0E7490 13%,var(--surface));color:#0E7490;border-radius:999px;padding:3px 11px}
.bl-feat-body h2{font-size:24px;line-height:1.6;margin:2px 0}
.bl-feat-body p{margin:0;color:var(--text-2);line-height:2}
.bl-read{font-weight:800;color:#0E7490;margin-top:4px}
.bl-grid .post-card{transition:transform .2s,box-shadow .2s}
.bl-tags{margin-top:30px;padding:20px;border-radius:20px;background:var(--surface);border:1px solid var(--border)}
.bl-tags h2{font-size:17px;margin:0 0 12px}
@media (max-width:860px){.bl-hero .container{grid-template-columns:1fr}.bl-art{display:none}.bl-hero h1{font-size:27px}.bl-feat{grid-template-columns:1fr}.bl-feat-cover{min-height:180px}.bl-feat-body{padding:18px}.bl-feat-body h2{font-size:19px}}
.bl-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
#blRes{transition:opacity .15s}
/* pricing: guided picker (goal → option → buy) */
.pk-hero{padding:28px 0 4px}.pk-hero .container{max-width:1040px}.pk-hero h1{font-size:32px;margin:8px 0 6px}.pk-hero .lead{max-width:720px}
.pk{max-width:1040px;margin:0 auto}
.pk-step{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;margin:6px 0 14px}
.pk-step span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--teal-600,#0F766E);color:#fff;font-size:14px}
.pk-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pk-goal{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:right;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:22px;padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.pk-goal:hover{border-color:color-mix(in srgb,var(--c) 55%,var(--border));transform:translateY(-2px)}
.pk-goal.on{border-color:var(--c);box-shadow:0 14px 30px -18px var(--c);background:color-mix(in srgb,var(--c) 5%,var(--surface))}
.pk-best{position:absolute;top:-11px;inset-inline-end:16px;font-style:normal;font-size:11.5px;font-weight:800;background:var(--c);color:#fff;border-radius:999px;padding:3px 11px}
.pk-ic{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 13%,var(--surface));color:var(--c)}.pk-ic svg{width:24px;height:24px}
.pk-goal > b{font-size:19px;margin-top:4px}
.pk-who{color:var(--text-2);font-size:13.5px}
.pk-from{margin:4px 0 2px;color:var(--muted);font-size:13px}.pk-from strong{font-size:20px;color:var(--text)}
.pk-goal ul{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:5px;flex:1}
.pk-goal li{position:relative;padding-inline-start:20px;font-size:13.5px;line-height:1.8;color:var(--text-2)}
.pk-goal li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--c);font-weight:800}
.pk-pick{align-self:stretch;text-align:center;font-weight:800;border-radius:12px;padding:9px;background:var(--surface-2);color:var(--text)}
.pk-goal.on .pk-pick{background:var(--c);color:#fff}
.pk-opts{margin-top:26px;border-radius:26px;padding:22px;scroll-margin-top:84px;background:linear-gradient(180deg,color-mix(in srgb,var(--c,#0F766E) 7%,var(--surface)),var(--surface) 55%);border:1px solid color-mix(in srgb,var(--c,#0F766E) 22%,var(--border))}
.pk-opts .pk-step span{background:var(--c,#0F766E)}
.pk-hint{margin:14px 0 0;color:var(--text-2);font-size:13.5px;line-height:1.9;text-align:center}
.pk-seg{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:var(--surface-2);margin-bottom:16px}
.pk-seg button{font:inherit;font-size:14px;border:0;background:none;color:var(--text-2);border-radius:11px;padding:8px 18px;cursor:pointer}
.pk-seg button b{font-size:15px;margin-inline-end:2px}
.pk-seg button.on{background:var(--surface);color:var(--c);font-weight:800;box-shadow:0 2px 8px -2px rgba(0,0,0,.15)}
.pk-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.pk-tile,.pk-wide{position:relative;cursor:pointer;background:var(--surface);border:2px solid var(--border);border-radius:20px;transition:border-color .15s,box-shadow .15s,transform .15s}
.pk-tile input,.pk-wide input{position:absolute;opacity:0;pointer-events:none}
.pk-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:24px 16px 18px}
.pk-tile:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--border));transform:translateY(-2px)}
.pk-tile.on{border-color:var(--c);box-shadow:0 16px 32px -20px var(--c)}
.pk-tile:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--c) 40%,transparent);outline-offset:2px}
.pk-check{position:absolute;top:12px;inset-inline-start:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:800;color:transparent;border:2px solid var(--border)}
.pk-tile.on .pk-check{background:var(--c);border-color:var(--c);color:#fff}
.pk-flag{position:absolute;top:-11px;font-style:normal;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 12px;background:var(--c);color:#fff}
.pk-flag.green{background:#1E7B34}
.pk-t-name{font-size:18px}
.pk-t-sub{color:var(--muted);font-size:12.5px}
.pk-t-price{display:flex;flex-direction:column;align-items:center;margin:8px 0 2px;line-height:1.3}
.pk-t-price s{color:var(--muted);font-size:13px}.pk-t-price strong{font-size:26px}.pk-t-price small{color:var(--muted);font-size:12px}
.pk-t-save{font-size:12px;font-weight:800;color:#1E7B34;background:#E5F6E9;border-radius:999px;padding:3px 10px}
.pk-t-none{visibility:hidden}
.pk-wide{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:center;padding:22px 24px;border-color:var(--c);box-shadow:0 16px 32px -20px var(--c)}
.pk-wide-l b{font-size:19px}.pk-wide-l ul{margin:8px 0 0;padding-inline-start:18px;line-height:2;color:var(--text-2);font-size:14px}
.pk-wide-r{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.pk-wide-r s{color:var(--muted)}.pk-wide-r strong{font-size:32px}.pk-wide-r small{color:var(--muted);font-size:12.5px}
.pk-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:14px 14px 14px 18px;border-radius:18px;background:var(--c,#0F766E);color:#fff}
.pk-sum small{display:block;opacity:.8;font-size:12.5px}.pk-sum b{font-size:16px}
.pk-bar-r{display:flex;align-items:center;gap:14px}.pk-bar-r strong{font-size:20px;white-space:nowrap}
.pk-go{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:800;font-size:15px;border:0;cursor:pointer;text-decoration:none;background:#fff;color:var(--c,#0F766E);border-radius:13px;padding:12px 22px;white-space:nowrap}
.pk-go:hover{box-shadow:0 6px 18px -6px rgba(0,0,0,.35)}
.pk-note{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.9;text-align:center}
/* free vs paid, as four cards */
.cmp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cmp-c{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}
.cmp-c.best{border:2px solid var(--c);box-shadow:0 16px 32px -22px var(--c)}
.cmp-h{padding:16px;background:color-mix(in srgb,var(--c) 10%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--c) 20%,var(--border))}
.cmp-h b{display:block;font-size:17px;color:var(--c)}.cmp-h small{color:var(--text-2);font-size:12.5px}
.cmp-c ul{list-style:none;margin:0;padding:6px 14px 12px}
.cmp-c li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}
.cmp-c li:last-child{border-bottom:0}
.cmp-ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--c)}.cmp-ic svg{width:16px;height:16px}
.cmp-c li small{display:block;color:var(--muted);font-size:12px}.cmp-c li b{font-size:13.5px;line-height:1.7}
.cmp-c li.no b{color:var(--muted);font-weight:600}
.cmp-yes{font-style:normal;color:#1E7B34}.cmp-no{font-style:normal}
@media (max-width:960px){.cmp-cards{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cmp-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.cmp-c{flex:0 0 82%;scroll-snap-align:start}}
@media (max-width:820px){.pk-goals{grid-template-columns:1fr}.pk-goal ul{display:none}.pk-wide{grid-template-columns:1fr}.pk-bar{flex-direction:column;align-items:stretch;text-align:center}.pk-bar-r{justify-content:space-between}.pk-opts{padding:16px}.pk-hero h1{font-size:26px}.pk-seg{display:flex}.pk-seg button{flex:1;padding:8px 6px}}
@media (max-width:820px){.pk-bar{padding:14px}.pk-bar-r{flex-direction:column;align-items:stretch;gap:10px}.pk-bar-r strong{text-align:center}.pk-go{width:100%}}
/* step-2 tiles: a very light wash of the goal colour instead of plain white */
.pk-tile{background:color-mix(in srgb,var(--c) 5%,var(--surface))}
.pk-tile.on{background:color-mix(in srgb,var(--c) 10%,var(--surface))}
.pk-wide{background:color-mix(in srgb,var(--c) 6%,var(--surface))}
/* step-2 tiles v2: right-aligned, calmer type, clear price line, soft tinted card */
.pk-tile{align-items:stretch;text-align:right;gap:0;padding:20px 18px 16px;border-width:1.5px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,var(--surface)),var(--surface) 70%);border-color:color-mix(in srgb,var(--c) 14%,var(--border))}
.pk-tile.on{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 13%,var(--surface)),color-mix(in srgb,var(--c) 4%,var(--surface)) 80%);border-color:var(--c);border-width:2px;padding:19.5px 17.5px 15.5px}
.pk-check{top:18px;inset-inline-start:auto;inset-inline-end:16px;width:22px;height:22px;border-width:1.5px;font-size:12px;background:var(--surface)}
.pk-t-top{display:flex;flex-direction:column;gap:2px;padding-inline-end:34px}
.pk-t-name{font-size:17px;font-weight:800;color:var(--text)}
.pk-t-sub{font-size:12.5px;color:var(--text-2);text-align:right}
.pk-t-price{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:6px;margin:16px 0 2px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--c) 14%,var(--border))}
.pk-t-price strong{font-size:25px;font-weight:800;letter-spacing:-.3px;color:var(--text);font-feature-settings:"tnum"}
.pk-t-price small{font-size:13px;color:var(--text-2)}
.pk-t-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--text-2);min-height:22px}
.pk-was{font-size:12px;color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 70%,transparent)}
.pk-t-save{align-self:flex-start;margin-top:10px;font-size:12px;padding:4px 10px;border-radius:8px}
.pk-flag{inset-inline-start:16px;font-size:11px;padding:3px 10px}
.pk-t-price strong{letter-spacing:0;font-feature-settings:normal}
.pk-was{text-decoration:none}.pk-was s{text-decoration-color:color-mix(in srgb,var(--muted) 70%,transparent)}
.pk-seg button.on{background:color-mix(in srgb,var(--c) 12%,var(--surface));color:var(--c)}
.pk-seg button:not(.on) b{color:var(--c)}

/* ---------- page widths on big screens (v55) ----------
   header/footer + showcase pages (body.w-wide) → 1320px; reading pages keep 1160px;
   student app and admin/teacher panels get more room for tables and dashboards. */
@media (min-width:1400px){
  .site-header .container,.site-footer .container,.w-wide #main .container{max-width:1320px}
  .app-top .container,.container.app-wrap{max-width:1440px}
  .app-wrap{grid-template-columns:240px 1fr;gap:28px}
  .pn-content{max-width:1520px}
}

/* ---------- logo (owner's artwork, v55) ---------- */
.logo-full{display:block;height:58px;width:auto;flex:none;margin-block:-6px}
.app-top .logo-full{height:50px}
.err-logo .logo-full{height:52px}
@media (max-width:560px){.logo-full{height:48px}.app-top .logo-full{height:42px}}

/* ---------- /exams comparison cards (v55) ---------- */
.cmx{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1160px;margin:0 auto}
.cmx-c{display:grid;grid-row:span 7;grid-template-rows:subgrid;row-gap:0;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .18s,box-shadow .18s}
.cmx-c:hover{transform:translateY(-3px);box-shadow:0 14px 34px -14px color-mix(in srgb,var(--t) 45%,transparent);border-color:color-mix(in srgb,var(--t) 40%,var(--border))}
.cmx-h{padding:20px 20px 16px;background:linear-gradient(160deg,var(--ts),color-mix(in srgb,var(--ts) 40%,var(--surface)));border-bottom:3px solid var(--t)}
.cmx-h h3{margin:8px 0 0;font-size:26px;color:var(--t);line-height:1.3}
.cmx-h small{color:var(--muted);font-size:13px;font-weight:600}
.cmx-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--t);background:var(--surface);border:1px solid color-mix(in srgb,var(--t) 25%,transparent);padding:3px 10px;border-radius:999px}
.cmx-r{padding:14px 20px;border-bottom:1px dashed var(--border)}
.cmx-l{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:6px}
.cmx-l svg{width:15px;height:15px;color:var(--t)}
.cmx-r p{margin:0;line-height:1.9;font-size:14.5px;color:var(--text)}
.cmx-r p small,.cmx-s{color:var(--text-2);font-size:13px;line-height:1.85}
.cmx-s{display:block;margin-top:6px}
.cmx-lv{display:flex;flex-wrap:wrap;gap:5px}
.cmx-lv i,.cmx-key i{font-style:normal;font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:12.5px;padding:3px 9px;border-radius:8px;border:1.5px dashed var(--border);color:var(--muted)}
.cmx-lv i.on,.cmx-key i.on{background:var(--ts,#E3F4F4);border:1.5px solid color-mix(in srgb,var(--t,#0F766E) 55%,transparent);color:var(--t,#0F766E)}
.cmx-us{background:color-mix(in srgb,var(--ts) 45%,var(--surface))}
.cmx-n{font-size:28px;font-weight:900;color:var(--t);margin-inline-end:4px;vertical-align:-3px}
.cmx-free{display:inline-block;margin-inline-start:8px;font-size:12px;font-weight:800;color:#1E7B34;background:#E7F6EC;padding:2px 9px;border-radius:999px}
.cmx-go{display:flex;justify-content:center;align-items:center;gap:6px;margin:16px 20px 20px;padding:12px;border-radius:14px;background:var(--t);color:#fff;font-weight:800;text-decoration:none;transition:filter .15s}
.cmx-go:hover{filter:brightness(1.1)}
.cmx-key{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 0;font-size:12.5px;color:var(--muted)}
.cmx-key i{--t:#0F766E;--ts:#E3F4F4;margin-inline-start:10px}
@media (max-width:900px){.cmx{grid-template-columns:1fr;max-width:560px}.cmx-c{grid-row:auto;grid-template-rows:none}}

/* ---------- «بقیهٔ همراه‌ها» cards (v55) ---------- */
.cpo{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;max-width:1160px;margin:0 auto}
.cpo-c{position:relative;display:flex;flex-direction:column;border-radius:20px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.cpo-c:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 45%,var(--border));box-shadow:0 16px 32px -16px color-mix(in srgb,var(--c) 55%,transparent)}
.cpo-art{display:grid;place-items:end center;height:128px;padding-top:10px;background:radial-gradient(circle at 50% 115%,color-mix(in srgb,var(--c) 26%,var(--surface)) 0 58%,transparent 59%),linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,var(--surface)),color-mix(in srgb,var(--c) 14%,var(--surface)))}
.cpo-art img{width:112px;height:112px;object-fit:contain;transition:transform .25s}
.cpo-c:hover .cpo-art img{transform:scale(1.07) rotate(-3deg)}
.cpo-b{display:flex;flex-direction:column;flex:1;padding:12px 14px 14px;border-top:3px solid var(--c)}
.cpo-b b{font-size:17px;color:var(--c)}
.cpo-an{font-size:11.5px;color:var(--muted);font-weight:600}
.cpo-t{flex:1;margin-top:6px;font-size:13.5px;line-height:1.8;color:var(--text-2)}
.cpo-b em{margin-top:10px;font-style:normal;font-size:12.5px;font-weight:800;color:var(--c);display:flex;align-items:center;gap:4px}
.cpo-b em i{font-style:normal;transition:transform .18s}
.cpo-c:hover em i{transform:translateX(-4px)}
@media (max-width:560px){.cpo{grid-template-columns:1fr 1fr;gap:10px}.cpo-art{height:104px}.cpo-art img{width:92px;height:92px}.cpo-b{padding:10px 12px 12px}.cpo-b b{font-size:15.5px}.cpo-t{font-size:12.5px}}

/* ---------- adaptive level-check button (v55) ---------- */
.lvc{display:inline-flex;align-items:center;gap:8px}
.lvc-b{display:inline-block;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);white-space:nowrap}
.btn-big.teal .lvc-b,.btn-big.ex-btn .lvc-b{background:rgba(255,255,255,.22)}
.lvc-again{align-self:center;font-size:13px;font-weight:700;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
/* logo: light-text version in dark mode (owner's artwork, «آلمانی» recoloured) */
.logo-full.logo-dk{display:none}
:root[data-theme="dark"] .logo-full.logo-lt{display:none}
:root[data-theme="dark"] .logo-full.logo-dk{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-full.logo-lt{display:none}:root:not([data-theme="light"]) .logo-full.logo-dk{display:block}}

/* =====================================================================
   contrast pass (v56): every page checked in light + dark (WCAG AA 4.5:1 text, 3:1 large text)
   ===================================================================== */
/* --- both themes --- */
.btn-big.teal .lvc-b,.btn-big.ex-btn .lvc-b,.fq-cat.on i{background:#fff;color:#174447}
.podium .p1 .av{color:#3A2A00}
.nt-badge{background:#C62832}
.cta-band p{opacity:1}
.crew-go{color:#1F6C73}
.ex-note a,.note2 a{color:#1F5F66}
.bl-new,.bl-read{color:#0B5E75}
.pcard.t-orange{--tc:#A8470F}
.ex-hero .crumb,.ex-hero .crumb a{color:var(--text-2)}
.page-head .kicker,.hero .kicker{color:#1F6C73}
.sp-k{color:color-mix(in srgb,var(--c) 78%,#000)}
.cmp-h b{color:color-mix(in srgb,var(--c) 82%,#000)}
.badge2.off{opacity:.62}
.ms-road .ms small{color:var(--text-2)}
.cal span.fut{opacity:.7}
/* light-cyan (teal-300) surfaces carry dark ink, never white */
/* --- dark only (written for both the switch and the device setting) --- */
:root[data-theme="dark"] .btn-p,:root[data-theme="dark"] .btn.primary,:root[data-theme="dark"] .btn-x.p{background:#26BFC9;border-color:#26BFC9;color:#0B1F21}
:root[data-theme="dark"] .cmx-h{background:color-mix(in srgb,var(--t) 16%,var(--surface))}
:root[data-theme="dark"] .cmx-us{background:color-mix(in srgb,var(--t) 10%,var(--surface))}
:root[data-theme="dark"] .cmx-tag{background:var(--surface-2)}
:root[data-theme="dark"] .cmx-free{background:#16301E;color:#7BD88F}
:root[data-theme="dark"] .pcard.t-indigo,:root[data-theme="dark"] .pcard.t-orange,:root[data-theme="dark"] .pcard.t-green{--tb:rgba(255,255,255,.06)}
:root[data-theme="dark"] .ms-road .ms.got{background:#3A2614;border-color:#7C3A10}
:root[data-theme="dark"] .crew-go{color:#7FE3EA}
:root[data-theme="dark"] .ex-note a,:root[data-theme="dark"] .note2 a{color:#7FE3EA}
:root[data-theme="dark"] .bl-new,:root[data-theme="dark"] .bl-read{color:#7DD3E8}
:root[data-theme="dark"] .page-head .kicker,:root[data-theme="dark"] .hero .kicker{color:#7FE3EA}
:root[data-theme="dark"] .sp-k{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root[data-theme="dark"] .cmp-h b{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root[data-theme="dark"] .pcard.t-orange{--tc:#F4A26B}
:root[data-theme="dark"] .ex-hero .crumb,:root[data-theme="dark"] .ex-hero .crumb a{color:var(--text-2)}
/* device dark mode: same overrides as the dark switch (several existed only for the switch) */
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) .btn-p,:root:not([data-theme="light"]) .btn.primary{color:#0B1F21}
:root:not([data-theme="light"]) .plan2 .pm{color:var(--accent)}
:root:not([data-theme="light"]) .choice.right{background:#16301E;color:#BBF7D0}
:root:not([data-theme="light"]) .choice.wrong{background:#3D1F1C;color:#FECACA}
:root:not([data-theme="light"]) .tier-head{background:var(--surface-2)}
:root:not([data-theme="light"]) .co-combo{background:#3A2614;color:#FED7AA}
:root:not([data-theme="light"]) .pcard{--tb:rgba(255,255,255,.06)}
:root:not([data-theme="light"]) .ab-v{--b:rgba(255,255,255,.07)}
:root:not([data-theme="light"]) .sp-k{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root:not([data-theme="light"]) .tool-card .tc-ic{color:color-mix(in srgb,var(--c) 60%,#fff);background:color-mix(in srgb,var(--c) 22%,var(--surface))}
:root:not([data-theme="light"]) .all-off{color:#FF9A6B}
:root:not([data-theme="light"]) .ex-p b{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root:not([data-theme="light"]) .ex-hero h1 span,:root:not([data-theme="light"]) .ex-kick{color:color-mix(in srgb,var(--track) 50%,#fff)!important}
:root:not([data-theme="light"]) .td-sets-h b,:root:not([data-theme="light"]) .td-sets-all,:root:not([data-theme="light"]) .td-track,:root:not([data-theme="light"]) .td-sets-n{color:color-mix(in srgb,var(--track) 50%,#fff)}
:root:not([data-theme="light"]) .trk-menu a em{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root:not([data-theme="light"]) .trk-done b{color:color-mix(in srgb,var(--track) 50%,#fff)}
:root:not([data-theme="light"]) .acc-out{color:#FF8A80}
:root:not([data-theme="light"]) .ph-shelf header h2,:root:not([data-theme="light"]) .ph-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root:not([data-theme="light"]) .logo-full.logo-lt{display:none}
:root:not([data-theme="light"]) .logo-full.logo-dk{display:block}
:root:not([data-theme="light"]) .btn-p,:root:not([data-theme="light"]) .btn.primary,:root:not([data-theme="light"]) .btn-x.p{background:#26BFC9;border-color:#26BFC9;color:#0B1F21}
:root:not([data-theme="light"]) .cmx-h{background:color-mix(in srgb,var(--t) 16%,var(--surface))}
:root:not([data-theme="light"]) .cmx-us{background:color-mix(in srgb,var(--t) 10%,var(--surface))}
:root:not([data-theme="light"]) .cmx-tag{background:var(--surface-2)}
:root:not([data-theme="light"]) .cmx-free{background:#16301E;color:#7BD88F}
:root:not([data-theme="light"]) .pcard.t-indigo,:root:not([data-theme="light"]) .pcard.t-orange,:root:not([data-theme="light"]) .pcard.t-green{--tb:rgba(255,255,255,.06)}
:root:not([data-theme="light"]) .ms-road .ms.got{background:#3A2614;border-color:#7C3A10}
:root:not([data-theme="light"]) .crew-go{color:#7FE3EA}
:root:not([data-theme="light"]) .ex-note a,:root:not([data-theme="light"]) .note2 a{color:#7FE3EA}
:root:not([data-theme="light"]) .bl-new,:root:not([data-theme="light"]) .bl-read{color:#7DD3E8}
:root:not([data-theme="light"]) .page-head .kicker,:root:not([data-theme="light"]) .hero .kicker{color:#7FE3EA}
:root:not([data-theme="light"]) .sp-k{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root:not([data-theme="light"]) .cmp-h b{color:color-mix(in srgb,var(--c) 46%,#fff)}
:root:not([data-theme="light"]) .pcard.t-orange{--tc:#F4A26B}
:root:not([data-theme="light"]) .ex-hero .crumb,:root:not([data-theme="light"]) .ex-hero .crumb a{color:var(--text-2)}
}
/* ---------- dark-mode contrast (generated, v56): accent text colours lightened on dark surfaces ---------- */
:where(:root[data-theme="dark"]) .xs-lv{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .xs-card h3 a:hover{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .logo-word b{color:color-mix(in srgb,var(--teal-600) 46%,#fff)}
:where(:root[data-theme="dark"]) .track h3 span{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .track .go{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .plan2 ul li::before{color:color-mix(in srgb,var(--teal-600) 46%,#fff)}
:where(:root[data-theme="dark"]) .acc summary::after{color:color-mix(in srgb,var(--teal-600) 46%,#fff)}
:where(:root[data-theme="dark"]) .tabs2 .on{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .trk-tabs a.on{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .side-nav a.on{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .bank .lv{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .qtile .n{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .secpick button.on{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .bigstat b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .gap-n{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .opts-list b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .script b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .boxes b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .diff .ok{color:color-mix(in srgb,#15803D 46%,#fff)}
:where(:root[data-theme="dark"]) .diff .miss{color:color-mix(in srgb,#B42318 46%,#fff)}
:where(:root[data-theme="dark"]) .podium .pd .pts{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .lboard td.pt{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .youbar .rk{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .thread-row .cnt.solved b{color:color-mix(in srgb,#1E7B34 46%,#fff)}
:where(:root[data-theme="dark"]) .lboard tr.z-up td.rk{color:color-mix(in srgb,#15803D 46%,#fff)}
:where(:root[data-theme="dark"]) .lboard tr.z-down td.rk{color:color-mix(in srgb,#B91C1C 46%,#fff)}
:where(:root[data-theme="dark"]) .lboard tr.zone-line.up td{color:color-mix(in srgb,#15803D 46%,#fff)}
:where(:root[data-theme="dark"]) .lboard tr.zone-line.down td{color:color-mix(in srgb,#B91C1C 46%,#fff)}
:where(:root[data-theme="dark"]) .item .q .rep:hover,:where(:root[data-theme="dark"]) .rep-part .rep:hover{color:color-mix(in srgb,#b45309 46%,#fff)}
:where(:root[data-theme="dark"]) .au-seg{color:color-mix(in srgb,#1F2937 46%,#fff)}
:where(:root[data-theme="dark"]) .au-seg small{color:color-mix(in srgb,#475569 46%,#fff)}
:where(:root[data-theme="dark"]) .au-seg .au-f{color:color-mix(in srgb,#B45309 46%,#fff)}
:where(:root[data-theme="dark"]) .iv-banner a{color:color-mix(in srgb,#7A4A00 46%,#fff)}
:where(:root[data-theme="dark"]) .iv-tr summary{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .track3 em{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .pill.acc{color:color-mix(in srgb,#22686C 46%,#fff)}
:where(:root[data-theme="dark"]) .pc-role{color:color-mix(in srgb,var(--tc) 46%,#fff)}
:where(:root[data-theme="dark"]) .pc-links a:hover{color:color-mix(in srgb,var(--tc) 46%,#fff)}
:where(:root[data-theme="dark"]) .ab-v i{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ex-kick{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .td-track{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .td-sets-h b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .td-sets-n{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .td-sets-all{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .ph-shelf header h2{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ph-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ex-col.lock li::before{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .ex-lv-h b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .ex-pass dt{color:color-mix(in srgb,var(--track) 46%,#fff)}
:where(:root[data-theme="dark"]) .ex-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .tp-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .tp-access.free b{color:color-mix(in srgb,#1E7B34 46%,#fff)}
:where(:root[data-theme="dark"]) .tp-p span{color:color-mix(in srgb,#B91C1C 46%,#fff)}
:where(:root[data-theme="dark"]) .tp-fix{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .tp-f span{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .tp-others span{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .cp-kick{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .cp-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ti-head small{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ti-chips span{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ti-more{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .eh-pick b{color:color-mix(in srgb,var(--t) 46%,#fff)}
:where(:root[data-theme="dark"]) .eh-pick em{color:color-mix(in srgb,var(--t) 46%,#fff)}
:where(:root[data-theme="dark"]) .eh-free{color:color-mix(in srgb,#1E7B34 46%,#fff)}
:where(:root[data-theme="dark"]) .try-ic2{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ct-ch em{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .ct-tip svg{color:color-mix(in srgb,#1E7B34 46%,#fff)}
:where(:root[data-theme="dark"]) .fq-g h2 span{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .bl-new{color:color-mix(in srgb,#0E7490 46%,#fff)}
:where(:root[data-theme="dark"]) .bl-read{color:color-mix(in srgb,#0E7490 46%,#fff)}
:where(:root[data-theme="dark"]) .pk-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .pk-goal li::before{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .pk-seg button.on{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .cmp-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .cmp-yes{color:color-mix(in srgb,#1E7B34 46%,#fff)}
:where(:root[data-theme="dark"]) .pk-seg button.on{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .pk-seg button:not(.on) b{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .cmx-h h3{color:color-mix(in srgb,var(--t) 46%,#fff)}
:where(:root[data-theme="dark"]) .cmx-tag{color:color-mix(in srgb,var(--t) 46%,#fff)}
:where(:root[data-theme="dark"]) .cmx-l svg{color:color-mix(in srgb,var(--t) 46%,#fff)}
:where(:root[data-theme="dark"]) .cmx-n{color:color-mix(in srgb,var(--t) 46%,#fff)}
:where(:root[data-theme="dark"]) .cpo-b b{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .cpo-b em{color:color-mix(in srgb,var(--c) 46%,#fff)}
:where(:root[data-theme="dark"]) .podium .p1 .av{color:color-mix(in srgb,#3A2A00 46%,#fff)}
:where(:root[data-theme="dark"]) .ex-note a,:where(:root[data-theme="dark"]) .note2 a{color:color-mix(in srgb,#1F5F66 46%,#fff)}
:where(:root[data-theme="dark"]) .bl-new,:where(:root[data-theme="dark"]) .bl-read{color:color-mix(in srgb,#0B5E75 46%,#fff)}
:where(:root[data-theme="dark"]) .page-head .kicker,:where(:root[data-theme="dark"]) .hero .kicker{color:color-mix(in srgb,#1F6C73 46%,#fff)}
:where(:root[data-theme="dark"]) .brand-logo,:where(:root[data-theme="dark"]) .seg button[aria-pressed="true"]{color:color-mix(in srgb,#0B1F21 46%,#fff)}
:where(:root[data-theme="dark"]) .brand-logo{color:#0B1F21}
:where(:root[data-theme="dark"]) .seg button[aria-pressed="true"]{color:#0B1F21}
:where(:root[data-theme="dark"]) .btn.primary{color:#0B1F21}
:where(:root[data-theme="dark"]) .steps-nav button.cur{color:#0B1F21}
:where(:root[data-theme="dark"]) .sel-say{color:#0B1F21}
:where(:root[data-theme="dark"]) .btn.primary{color:#0B1F21}
:where(:root[data-theme="dark"]) .brand-logo{color:#0B1F21}
:where(:root[data-theme="dark"]) .logo-mark{color:#0B1F21}
:where(:root[data-theme="dark"]) .btn-p{color:#0B1F21}
:where(:root[data-theme="dark"]) .step-x::before{color:#0B1F21}
:where(:root[data-theme="dark"]) .plan .badge{color:#0B1F21}
:where(:root[data-theme="dark"]) .cta-band{color:#0B1F21}
:where(:root[data-theme="dark"]) .btn-x.p{color:#0B1F21}
:where(:root[data-theme="dark"]) .tabs-x a.on{color:#0B1F21}
:where(:root[data-theme="dark"]) .cmt .av.staff{color:#0B1F21}
:where(:root[data-theme="dark"]) .nt-tabs a.on{color:#0B1F21}
:where(:root[data-theme="dark"]) .rc-claim button:hover,:where(:root[data-theme="dark"]) .rc-claim button:focus-visible{color:#0B1F21}
:where(:root[data-theme="dark"]) .buy-step>span,:where(:root[data-theme="dark"]) .buy-step-i{color:#0B1F21}
:where(:root[data-theme="dark"]) .lv-h .ltr{color:#0B1F21}
:where(:root[data-theme="dark"]) .buy-cta em{color:#0B1F21}
:where(:root[data-theme="dark"]) .acc-av{color:#0B1F21}
@media (prefers-color-scheme:dark){:where(:root:not([data-theme="light"])) .xs-lv{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .xs-card h3 a:hover{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .logo-word b{color:color-mix(in srgb,var(--teal-600) 46%,#fff)}:where(:root:not([data-theme="light"])) .track h3 span{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .track .go{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .plan2 ul li::before{color:color-mix(in srgb,var(--teal-600) 46%,#fff)}:where(:root:not([data-theme="light"])) .acc summary::after{color:color-mix(in srgb,var(--teal-600) 46%,#fff)}:where(:root:not([data-theme="light"])) .tabs2 .on{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .trk-tabs a.on{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .side-nav a.on{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .bank .lv{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .qtile .n{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .secpick button.on{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .bigstat b{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .gap-n{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .opts-list b{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .script b{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .boxes b{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .diff .ok{color:color-mix(in srgb,#15803D 46%,#fff)}:where(:root:not([data-theme="light"])) .diff .miss{color:color-mix(in srgb,#B42318 46%,#fff)}:where(:root:not([data-theme="light"])) .podium .pd .pts{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .lboard td.pt{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .youbar .rk{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .thread-row .cnt.solved b{color:color-mix(in srgb,#1E7B34 46%,#fff)}:where(:root:not([data-theme="light"])) .lboard tr.z-up td.rk{color:color-mix(in srgb,#15803D 46%,#fff)}:where(:root:not([data-theme="light"])) .lboard tr.z-down td.rk{color:color-mix(in srgb,#B91C1C 46%,#fff)}:where(:root:not([data-theme="light"])) .lboard tr.zone-line.up td{color:color-mix(in srgb,#15803D 46%,#fff)}:where(:root:not([data-theme="light"])) .lboard tr.zone-line.down td{color:color-mix(in srgb,#B91C1C 46%,#fff)}:where(:root:not([data-theme="light"])) .item .q .rep:hover,:where(:root:not([data-theme="light"])) .rep-part .rep:hover{color:color-mix(in srgb,#b45309 46%,#fff)}:where(:root:not([data-theme="light"])) .au-seg{color:color-mix(in srgb,#1F2937 46%,#fff)}:where(:root:not([data-theme="light"])) .au-seg small{color:color-mix(in srgb,#475569 46%,#fff)}:where(:root:not([data-theme="light"])) .au-seg .au-f{color:color-mix(in srgb,#B45309 46%,#fff)}:where(:root:not([data-theme="light"])) .iv-banner a{color:color-mix(in srgb,#7A4A00 46%,#fff)}:where(:root:not([data-theme="light"])) .iv-tr summary{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .track3 em{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .pill.acc{color:color-mix(in srgb,#22686C 46%,#fff)}:where(:root:not([data-theme="light"])) .pc-role{color:color-mix(in srgb,var(--tc) 46%,#fff)}:where(:root:not([data-theme="light"])) .pc-links a:hover{color:color-mix(in srgb,var(--tc) 46%,#fff)}:where(:root:not([data-theme="light"])) .ab-v i{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ex-kick{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .td-track{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .td-sets-h b{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .td-sets-n{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .td-sets-all{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .ph-shelf header h2{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ph-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ex-col.lock li::before{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .ex-lv-h b{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .ex-pass dt{color:color-mix(in srgb,var(--track) 46%,#fff)}:where(:root:not([data-theme="light"])) .ex-tool .ph-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .tp-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .tp-access.free b{color:color-mix(in srgb,#1E7B34 46%,#fff)}:where(:root:not([data-theme="light"])) .tp-p span{color:color-mix(in srgb,#B91C1C 46%,#fff)}:where(:root:not([data-theme="light"])) .tp-fix{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .tp-f span{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .tp-others span{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .cp-kick{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .cp-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ti-head small{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ti-chips span{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ti-more{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .eh-pick b{color:color-mix(in srgb,var(--t) 46%,#fff)}:where(:root:not([data-theme="light"])) .eh-pick em{color:color-mix(in srgb,var(--t) 46%,#fff)}:where(:root:not([data-theme="light"])) .eh-free{color:color-mix(in srgb,#1E7B34 46%,#fff)}:where(:root:not([data-theme="light"])) .try-ic2{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ct-ch em{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .ct-tip svg{color:color-mix(in srgb,#1E7B34 46%,#fff)}:where(:root:not([data-theme="light"])) .fq-g h2 span{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .bl-new{color:color-mix(in srgb,#0E7490 46%,#fff)}:where(:root:not([data-theme="light"])) .bl-read{color:color-mix(in srgb,#0E7490 46%,#fff)}:where(:root:not([data-theme="light"])) .pk-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .pk-goal li::before{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .pk-seg button.on{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .cmp-ic{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .cmp-yes{color:color-mix(in srgb,#1E7B34 46%,#fff)}:where(:root:not([data-theme="light"])) .pk-seg button.on{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .pk-seg button:not(.on) b{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .cmx-h h3{color:color-mix(in srgb,var(--t) 46%,#fff)}:where(:root:not([data-theme="light"])) .cmx-tag{color:color-mix(in srgb,var(--t) 46%,#fff)}:where(:root:not([data-theme="light"])) .cmx-l svg{color:color-mix(in srgb,var(--t) 46%,#fff)}:where(:root:not([data-theme="light"])) .cmx-n{color:color-mix(in srgb,var(--t) 46%,#fff)}:where(:root:not([data-theme="light"])) .cpo-b b{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .cpo-b em{color:color-mix(in srgb,var(--c) 46%,#fff)}:where(:root:not([data-theme="light"])) .podium .p1 .av{color:color-mix(in srgb,#3A2A00 46%,#fff)}:where(:root:not([data-theme="light"])) .ex-note a,:where(:root:not([data-theme="light"])) .note2 a{color:color-mix(in srgb,#1F5F66 46%,#fff)}:where(:root:not([data-theme="light"])) .bl-new,:where(:root:not([data-theme="light"])) .bl-read{color:color-mix(in srgb,#0B5E75 46%,#fff)}:where(:root:not([data-theme="light"])) .page-head .kicker,:where(:root:not([data-theme="light"])) .hero .kicker{color:color-mix(in srgb,#1F6C73 46%,#fff)}:where(:root:not([data-theme="light"])) .brand-logo,:where(:root:not([data-theme="light"])) .seg button[aria-pressed="true"]{color:color-mix(in srgb,#0B1F21 46%,#fff)}:where(:root:not([data-theme="light"])) .brand-logo{color:#0B1F21}:where(:root:not([data-theme="light"])) .seg button[aria-pressed="true"]{color:#0B1F21}:where(:root:not([data-theme="light"])) .btn.primary{color:#0B1F21}:where(:root:not([data-theme="light"])) .steps-nav button.cur{color:#0B1F21}:where(:root:not([data-theme="light"])) .sel-say{color:#0B1F21}:where(:root:not([data-theme="light"])) .btn.primary{color:#0B1F21}:where(:root:not([data-theme="light"])) .brand-logo{color:#0B1F21}:where(:root:not([data-theme="light"])) .logo-mark{color:#0B1F21}:where(:root:not([data-theme="light"])) .btn-p{color:#0B1F21}:where(:root:not([data-theme="light"])) .step-x::before{color:#0B1F21}:where(:root:not([data-theme="light"])) .plan .badge{color:#0B1F21}:where(:root:not([data-theme="light"])) .cta-band{color:#0B1F21}:where(:root:not([data-theme="light"])) .btn-x.p{color:#0B1F21}:where(:root:not([data-theme="light"])) .tabs-x a.on{color:#0B1F21}:where(:root:not([data-theme="light"])) .cmt .av.staff{color:#0B1F21}:where(:root:not([data-theme="light"])) .nt-tabs a.on{color:#0B1F21}:where(:root:not([data-theme="light"])) .rc-claim button:hover,:where(:root:not([data-theme="light"])) .rc-claim button:focus-visible{color:#0B1F21}:where(:root:not([data-theme="light"])) .buy-step>span,:where(:root:not([data-theme="light"])) .buy-step-i{color:#0B1F21}:where(:root:not([data-theme="light"])) .lv-h .ltr{color:#0B1F21}:where(:root:not([data-theme="light"])) .buy-cta em{color:#0B1F21}:where(:root:not([data-theme="light"])) .acc-av{color:#0B1F21}}
/* ---------- dark-mode contrast (generated, v56): accent text colours lightened on dark surfaces ---------- */
:root[data-theme="dark"] .wr-card b{color:color-mix(in srgb,var(--track) 46%,#fff)}
:root[data-theme="dark"] .wr-days div.on{color:color-mix(in srgb,var(--track) 46%,#fff)}
:root[data-theme="dark"] .pl-big{color:color-mix(in srgb,var(--track) 46%,#fff)}
:root[data-theme="dark"] .pp-stamp{color:color-mix(in srgb,var(--track) 46%,#fff)}
:root[data-theme="dark"] .mk-ic{color:color-mix(in srgb,var(--track) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wr-card b{color:color-mix(in srgb,var(--track) 46%,#fff)}:root:not([data-theme="light"]) .wr-days div.on{color:color-mix(in srgb,var(--track) 46%,#fff)}:root:not([data-theme="light"]) .pl-big{color:color-mix(in srgb,var(--track) 46%,#fff)}:root:not([data-theme="light"]) .pp-stamp{color:color-mix(in srgb,var(--track) 46%,#fff)}:root:not([data-theme="light"]) .mk-ic{color:color-mix(in srgb,var(--track) 46%,#fff)}}
/* contrast pass, second round (v56) */
.pcard{--tc:#006F79}
.podium .p1 .av{color:#2B1F00}
.pp-sk small{opacity:1}.pp-sk.none b{opacity:.8}
.ms-road .ms[style*="opacity"]{opacity:.85!important}
:root[data-theme="dark"] .brand-logo,:root[data-theme="dark"] .seg button[aria-pressed="true"]{color:#0B1F21!important}
:root[data-theme="dark"] .youbar b,:root[data-theme="dark"] .tag-t,:root[data-theme="dark"] .pp-stamp b,:root[data-theme="dark"] .pp-stamp small{color:color-mix(in srgb,var(--track) 46%,#fff)}
:root[data-theme="dark"] .ma-pct,:root[data-theme="dark"] .ma-tag{color:var(--bad)!important}
:root[data-theme="dark"] .post.best .meta span{color:var(--ok)}
:root[data-theme="dark"] .hbar b,:root[data-theme="dark"] td b.ltr{color:#93B4F5}
:root[data-theme="dark"] .grid3 a.panel span{color:var(--accent-ink)}
:root[data-theme="dark"] .badge2.off{opacity:.8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand-logo,:root:not([data-theme="light"]) .seg button[aria-pressed="true"]{color:#0B1F21!important}:root:not([data-theme="light"]) .youbar b,:root:not([data-theme="light"]) .tag-t,:root:not([data-theme="light"]) .pp-stamp b,:root:not([data-theme="light"]) .pp-stamp small{color:color-mix(in srgb,var(--track) 46%,#fff)}:root:not([data-theme="light"]) .ma-pct,:root:not([data-theme="light"]) .ma-tag{color:var(--bad)!important}:root:not([data-theme="light"]) .post.best .meta span{color:var(--ok)}:root:not([data-theme="light"]) .hbar b,:root:not([data-theme="light"]) td b.ltr{color:#93B4F5}:root:not([data-theme="light"]) .grid3 a.panel span{color:var(--accent-ink)}:root:not([data-theme="light"]) .badge2.off{opacity:.8}}
/* text-safe versions of track / der-die-das colours for inline styles (v56) */
:root{--track-ink:var(--track);--gder:#2563EB;--gdie:#DC2626;--gdas:#15803D}
:root[data-theme="dark"]{--track-ink:color-mix(in srgb,var(--track) 46%,#fff);--gder:#93B4F5;--gdie:#F59E94;--gdas:#7BD88F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--track-ink:color-mix(in srgb,var(--track) 46%,#fff);--gder:#93B4F5;--gdie:#F59E94;--gdas:#7BD88F}}
.badge2.off{opacity:.75}
.pp-sk{background:rgba(255,255,255,.08)}.pp-sk.none b{opacity:.9}
.badge2.off{opacity:.85}.pp-sk.none b{opacity:1}
.badge2.off small{color:var(--text-2)}

/* ---------- «امروز» v2 (student dashboard) ---------- */
.t2-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.t2-main{position:relative;display:flex;align-items:flex-end;gap:8px;border-radius:22px;padding:22px 22px 0;overflow:hidden;background:radial-gradient(120% 140% at 0% 100%,color-mix(in srgb,var(--track) 16%,transparent),transparent 60%),linear-gradient(160deg,var(--track-soft),color-mix(in srgb,var(--track-soft) 55%,var(--surface)));border:1px solid color-mix(in srgb,var(--track) 18%,var(--border))}
.t2-main-b{flex:1;min-width:0;padding-bottom:22px}
.t2-hi{margin:0 0 10px;font-size:14.5px;font-weight:700;color:var(--text-2)}
.t2-hi span{font-weight:600;color:var(--muted);font-size:13px;margin-inline-start:6px}
.t2-why{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--track-ink);background:var(--surface);border-radius:999px;padding:4px 11px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.t2-why::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--track)}
.t2-main h1{font-size:25px;line-height:1.5;margin:10px 0 6px}
.t2-desc{margin:0 0 16px;color:var(--text-2);line-height:1.9;font-size:15px;max-width:52ch}
.t2-acts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.t2-sub{font-weight:800;font-size:14px;color:var(--track-ink);text-decoration:none}
.t2-mz{width:150px;height:150px;flex:none;margin-bottom:-6px}
.t2-me{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:16px}
.t2-streak{display:flex;flex-direction:column;gap:10px}
.t2-fire{display:flex;align-items:baseline;gap:6px}
.t2-fire span{font-size:22px}
.t2-fire b{font-size:28px;line-height:1}
.t2-fire small{color:var(--muted);font-size:13px;font-weight:600}
.t2-me .td-week{justify-content:space-between;flex:none}
.t2-me .td-week li span{width:28px;height:28px}
.t2-xp{display:block;text-decoration:none;color:inherit;padding:12px;border-radius:16px;background:var(--surface-2)}
.t2-xp-h{display:flex;justify-content:space-between;align-items:baseline}
.t2-xp-h b{font-size:15px;color:var(--indigo-ink)}
.t2-xp-h small{font-size:12.5px;color:var(--muted)}
.t2-xp .td-xp{display:block;height:9px;margin:8px 0 5px;background:var(--surface)}
.t2-xp-f{font-size:12px;color:var(--text-2)}
.t2-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.t2-chips a{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);text-decoration:none;color:var(--text)}
.t2-chips a:hover{border-color:var(--track)}
.t2-chips svg{width:17px;height:17px;color:var(--track-ink);margin-bottom:2px}
.t2-chips span{font-size:12px;color:var(--muted)}
.t2-chips b{font-size:17px}
.t2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.t2-stat{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--c);text-decoration:none;color:var(--text);transition:transform .15s,box-shadow .15s}
.t2-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.t2-stat img{width:44px;height:44px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.t2-stat span{display:flex;flex-direction:column;min-width:0}
.t2-stat small{font-size:12.5px;font-weight:700;color:var(--muted)}
.t2-stat b{font-size:24px;line-height:1.25;color:var(--c)}
.t2-stat em{font-style:normal;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t2-sets{padding:18px}
.t2-sets-h{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.t2-sets-h h2{margin:0;font-size:19px;color:var(--track-ink)}
.t2-sets-h small{font-size:12.5px;color:var(--muted)}
.t2-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:0 12px;background:var(--surface-2);min-width:240px}
.t2-search svg{width:16px;height:16px;color:var(--muted)}
.t2-search input{border:0;background:none;padding:9px 0;font:inherit;font-size:14px;color:var(--text);width:100%;outline:none}
.t2-search:focus-within{border-color:var(--track)}
.t2-sets-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.t2-set{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;border:1px solid var(--border);text-decoration:none;color:var(--text);background:var(--surface)}
.t2-set:hover{border-color:var(--track);box-shadow:var(--shadow)}
.t2-set-top{display:flex;justify-content:space-between;align-items:center}
.t2-set .lv{font-size:12px;font-weight:800;color:var(--track-ink);background:var(--track-soft);border-radius:7px;padding:2px 9px}
.t2-free{font-size:11.5px;font-weight:800;color:var(--ok);background:var(--ok-bg);border-radius:999px;padding:2px 8px}
.t2-set b{font-size:14.5px;line-height:1.7}
.t2-bar{display:block;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.t2-bar i{display:block;height:100%;background:var(--track);border-radius:999px}
.t2-set small{font-size:12px;color:var(--muted)}
.t2-all{display:inline-block;margin-top:12px;font-weight:800;font-size:14px;color:var(--track-ink);text-decoration:none}
@media (max-width:900px){.t2-hero{grid-template-columns:1fr}.t2-stats{grid-template-columns:1fr}.t2-stat{padding:12px}}
@media (max-width:560px){.t2-main{padding:16px 16px 0}.t2-main h1{font-size:20px}.t2-mz{width:96px;height:96px}.t2-sets-g{grid-template-columns:1fr}.t2-search{min-width:0;flex:1}.t2-sets{padding:14px}}
.t2-main{align-items:stretch}.t2-main-b{align-self:center}.t2-mz{align-self:flex-end}
:root[data-theme="dark"] .t2-stat b{color:color-mix(in srgb,var(--c) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .t2-stat b{color:color-mix(in srgb,var(--c) 46%,#fff)}}

/* ---------- «امروز» v2b: now → today's list → the road (calm, one focus) ---------- */
.t3-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 16px}
.t3-head h1{margin:0;font-size:24px}
.t3-head p{margin:4px 0 0;color:var(--text-2);font-size:15px;line-height:1.9;max-width:60ch}
.t3-fire{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.t3-fire span{font-size:20px;filter:grayscale(1);opacity:.6}.t3-fire.on span{filter:none;opacity:1}
.t3-fire b{font-size:20px}
.t3-fire small{font-size:12.5px;color:var(--text-2)}
.t3-now{display:flex;align-items:stretch;gap:10px;border-radius:24px;padding:24px 26px 0;margin-bottom:16px;overflow:hidden;background:linear-gradient(160deg,var(--track-soft),color-mix(in srgb,var(--track-soft) 45%,var(--surface)));border:1px solid color-mix(in srgb,var(--track) 20%,var(--border))}
.t3-now.done{background:linear-gradient(160deg,var(--ok-bg),var(--surface));border-color:color-mix(in srgb,var(--ok) 25%,var(--border))}
.t3-now-b{flex:1;min-width:0;padding-bottom:24px;align-self:center}
.t3-tag{display:inline-block;font-size:12.5px;font-weight:800;color:var(--track-ink);background:var(--surface);border-radius:999px;padding:4px 12px}
.t3-now.done .t3-tag{color:var(--ok)}
.t3-now h2{font-size:24px;line-height:1.55;margin:10px 0 6px}
.t3-now p{margin:0 0 16px;color:var(--text-2);line-height:1.95;font-size:15.5px;max-width:56ch}
.t3-mz{width:140px;height:140px;flex:none;align-self:flex-end;margin-bottom:-6px}
.t3-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.t3-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.t3-h h2{margin:0;font-size:17px}
.t3-h a{font-size:13.5px;font-weight:800;color:var(--accent-ink);text-decoration:none;white-space:nowrap}
.t3-count{font-size:13px;font-weight:800;color:var(--muted)}
.t3-list,.t3-road,.t3-sets{padding:18px}
.t3-prog{display:block;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-bottom:10px}
.t3-prog i{display:block;height:100%;background:var(--ok);border-radius:999px}
.t3-list ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.t3-list li a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;text-decoration:none;color:var(--text)}
.t3-list li a:hover{background:var(--surface-2)}
.t3-list li.cur a{background:color-mix(in srgb,var(--track-soft) 70%,var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--track) 35%,transparent)}
.t3-dot{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:13.5px;border:2px solid var(--border-strong);color:var(--text-2)}
.t3-list li.cur .t3-dot{border-color:var(--track);color:var(--track-ink)}
.t3-list li.ok .t3-dot{background:var(--ok);border-color:var(--ok);color:#fff}
:root[data-theme="dark"] .t3-list li.ok .t3-dot{color:#0B1F21}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .t3-list li.ok .t3-dot{color:#0B1F21}}
.t3-t{display:flex;flex-direction:column;min-width:0}
.t3-t b{font-size:14.5px;line-height:1.7}
.t3-t small{font-size:12.5px;color:var(--muted)}
.t3-list li.ok b{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.t3-note{margin:10px 0 0;font-size:12.5px;line-height:1.9;color:var(--muted)}
.t3-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:st}
.t3-steps a{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"s b" "e b";gap:0 10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--surface-2);text-decoration:none;color:var(--text)}
.t3-steps a:hover{box-shadow:inset 0 0 0 1.5px var(--border-strong)}
.t3-steps small{grid-area:s;font-size:12.5px;color:var(--muted)}
.t3-steps em{grid-area:e;font-style:normal;font-size:12.5px;font-weight:700;color:var(--accent-ink)}
.t3-steps b{grid-area:b;font-size:22px}
.t3-of{font-size:13px;font-weight:600;color:var(--muted)}
.t3-steps .t3-bar{grid-area:e;display:block;height:5px;border-radius:999px;background:var(--surface);overflow:hidden;margin-top:6px}
.t3-steps .t3-bar i{display:block;height:100%;background:var(--track)}
.t3-sets{margin-bottom:14px}
.t3-sets-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.t3-set{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--border);text-decoration:none;color:var(--text)}
.t3-set:hover{border-color:var(--track)}
.t3-set .lv{flex:none;min-width:44px;text-align:center;font-size:12.5px;font-weight:800;color:var(--track-ink);background:var(--track-soft);border-radius:10px;padding:8px 6px}
.t3-set-b{display:flex;flex-direction:column;min-width:0}
.t3-set-b b{font-size:14px;line-height:1.7}
.t3-set-b small{font-size:12px;color:var(--muted)}
.t3-free{color:var(--ok);font-weight:800}
.t3-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.t3-more a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px dashed var(--border-strong);text-decoration:none;color:var(--text)}
.t3-more a:hover{border-style:solid}
.t3-more img{border-radius:50%;flex:none}
.t3-more span{display:flex;flex-direction:column;min-width:0}
.t3-more b{font-size:13.5px}.t3-more small{font-size:12px;color:var(--muted)}
.t3-ic{width:32px;height:32px;border-radius:50%;display:grid!important;place-items:center;background:var(--surface-2);flex:none}.t3-ic svg{width:16px;height:16px}
@media (max-width:900px){.t3-grid{grid-template-columns:1fr}.t3-more{grid-template-columns:1fr}}
@media (max-width:560px){.t3-head h1{font-size:20px}.t3-now{padding:16px 16px 0}.t3-now h2{font-size:20px}.t3-mz{width:92px;height:92px}.t3-sets-g{grid-template-columns:1fr}.t3-list,.t3-road,.t3-sets{padding:14px}}

/* ---------- «آزمون‌ها» list (v57): grouped by level ---------- */
.xl-head{display:flex;align-items:center;gap:18px;padding:20px 22px;border-radius:22px;margin-bottom:14px;background:linear-gradient(160deg,var(--track-soft),color-mix(in srgb,var(--track-soft) 40%,var(--surface)));border:1px solid color-mix(in srgb,var(--track) 18%,var(--border))}
.xl-head img{flex:none}
.xl-head h1{margin:0 0 4px;font-size:24px}
.xl-head p{margin:0;color:var(--text-2);line-height:1.9;font-size:15px;max-width:62ch}
.xl-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.xl-facts span{font-size:13px;color:var(--text-2);background:var(--surface);border-radius:999px;padding:4px 12px}
.xl-facts b{color:var(--text);font-size:14px}
.xl-facts .me{background:var(--track-ink);color:#fff}.xl-facts .me b{color:#fff}
:root[data-theme="dark"] .xl-facts .me,:root[data-theme="dark"] .xl-facts .me b{color:#0B1F21}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .xl-facts .me,:root:not([data-theme="light"]) .xl-facts .me b{color:#0B1F21}}
.xl-bar{position:sticky;top:60px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;margin-bottom:6px;background:var(--bg)}
.xl-lvs{display:flex;gap:6px;flex-wrap:wrap}
.xl-lvs button{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:800;font-size:14px;padding:7px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer}
.xl-lvs button i{font-style:normal;font-size:11px;font-weight:800;color:var(--l);background:color-mix(in srgb,var(--l) 12%,var(--surface));border-radius:999px;padding:1px 7px}
.xl-lvs button:hover{border-color:var(--l,var(--border-strong))}
.xl-lvs button.on{background:var(--text);border-color:var(--text);color:var(--surface)}
.xl-lvs button.on[style]{background:var(--l);border-color:var(--l);color:#fff}
.xl-lvs button.on i{background:rgba(255,255,255,.25);color:#fff}
.xl-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:0 12px;background:var(--surface);min-width:220px}
.xl-search svg{width:16px;height:16px;color:var(--muted)}
.xl-search input{border:0;background:none;padding:9px 0;font:inherit;font-size:14px;color:var(--text);width:100%;outline:none}
.xl-search:focus-within{border-color:var(--track)}
.xl-note{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 14px;border-radius:14px;background:var(--ok-bg);color:var(--text);font-size:14px;line-height:1.9}
.xl-note svg{width:18px;height:18px;flex:none;margin-top:4px;color:var(--ok)}
.xl-note a{font-weight:800;color:var(--accent-ink)}
.xl-sec{margin:18px 0 26px}
.xl-sec-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.xl-lv{flex:none;min-width:54px;height:46px;display:grid;place-items:center;border-radius:14px;font-weight:900;font-size:17px;color:#fff;background:var(--l);padding:0 8px}
.xl-sec-h h2{margin:0;font-size:19px}
.xl-sec-h h2 em{font-style:normal;font-size:12px;font-weight:800;color:var(--l);background:color-mix(in srgb,var(--l) 12%,var(--surface));border-radius:999px;padding:2px 9px;vertical-align:3px}
.xl-sec-h small{color:var(--muted);font-size:13px}
.xl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.xl-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--l);text-decoration:none;color:var(--text);transition:transform .15s,box-shadow .15s,border-color .15s}
.xl-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px color-mix(in srgb,var(--l) 60%,transparent);border-color:color-mix(in srgb,var(--l) 45%,var(--border))}
.xl-top{display:flex;gap:6px;flex-wrap:wrap;min-height:22px}
.xl-pill{font-size:11.5px;font-weight:800;border-radius:999px;padding:2px 9px}
.xl-pill.free{background:var(--ok-bg);color:var(--ok)}
.xl-pill.part{background:var(--surface-2);color:var(--text-2)}
.xl-pill.new{background:var(--indigo-2);color:var(--indigo-ink)}
.xl-pill.done{background:color-mix(in srgb,var(--l) 12%,var(--surface));color:var(--l)}
.xl-t{font-size:15.5px;line-height:1.75}
.xl-meta{display:flex;gap:14px;font-size:13px;color:var(--muted)}
.xl-meta span::before{content:"•";margin-inline-end:5px;color:var(--l)}
.xl-sk{display:flex;flex-wrap:wrap;gap:6px}
.xl-sk span{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--text-2);background:var(--surface-2);border-radius:8px;padding:3px 8px}
.xl-sk svg{width:14px;height:14px}
.xl-foot{margin-top:auto;padding-top:10px;border-top:1px dashed var(--border)}
.xl-res{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--text-2)}
.xl-res b{font-size:16px;color:var(--text)}
.xl-res small{color:var(--muted)}
.xl-meter{display:block;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:6px}
.xl-meter i{display:block;height:100%;background:var(--l);border-radius:999px}
.xl-go{display:flex;justify-content:space-between;font-size:13.5px;font-weight:800;color:var(--l)}
.xl-go i{font-style:normal;transition:transform .15s}.xl-card:hover .xl-go i{transform:translateX(-4px)}
.xl-read{margin-top:30px}
.xl-read h2{font-size:18px;margin:0 0 10px}
.xl-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.xl-posts a{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.xl-posts b{font-size:14.5px;line-height:1.75}.xl-posts small{font-size:12.5px;color:var(--muted);line-height:1.8}
:root[data-theme="dark"] .xl-sec-h h2 em,:root[data-theme="dark"] .xl-pill.done,:root[data-theme="dark"] .xl-go,:root[data-theme="dark"] .xl-lvs button i{color:color-mix(in srgb,var(--l) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .xl-sec-h h2 em,:root:not([data-theme="light"]) .xl-pill.done,:root:not([data-theme="light"]) .xl-go,:root:not([data-theme="light"]) .xl-lvs button i{color:color-mix(in srgb,var(--l) 46%,#fff)}}
@media (max-width:900px){.xl-posts{grid-template-columns:1fr}.xl-bar{top:56px}}
@media (max-width:560px){.xl-head{padding:16px;gap:12px}.xl-head img{width:72px;height:72px}.xl-head h1{font-size:20px}.xl-search{min-width:0;flex:1}.xl-lvs{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:2px}.xl-grid{grid-template-columns:1fr}}
.xl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:700px){.xl-grid{grid-template-columns:1fr}}
.xl-pill.done{color:color-mix(in srgb,var(--l) 78%,#000)}:root[data-theme="dark"] .xl-pill.done{color:color-mix(in srgb,var(--l) 46%,#fff)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .xl-pill.done{color:color-mix(in srgb,var(--l) 46%,#fff)}}

/* ---------- set page (v57) ---------- */
.sx-head{display:flex;align-items:center;gap:14px;margin:8px 0 12px}
.sx-lv{flex:none;min-width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--l);color:#fff;font-weight:900;font-size:18px;padding:0 8px}
.sx-head h1{margin:0 0 6px;font-size:22px;line-height:1.6}
.sx-facts{display:flex;flex-wrap:wrap;gap:6px}
.sx-facts span{font-size:12.5px;font-weight:700;color:var(--text-2);background:var(--surface-2);border-radius:999px;padding:3px 10px}
.sx-facts .free{background:var(--ok-bg);color:var(--ok)}
.sx-facts .mine{background:color-mix(in srgb,var(--l) 12%,var(--surface));color:color-mix(in srgb,var(--l) 78%,#000)}
.sx-review{font-size:13px;line-height:1.9;color:var(--text-2);background:var(--surface-2);border-radius:12px;padding:8px 12px;margin:0 0 12px}
.sx-tabs{margin-bottom:16px}
.sx-step{margin-bottom:20px}
.sx-step h2{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 12px}
.sx-step h2 span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--l);color:#fff;font-size:14px;flex:none}
.sx-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.sx-skills button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;text-align:start;transition:border-color .15s,box-shadow .15s}
.sx-skills button:hover{border-color:color-mix(in srgb,var(--l) 50%,var(--border))}
.sx-skills button.on{border-color:var(--l);box-shadow:0 0 0 3px color-mix(in srgb,var(--l) 18%,transparent);background:color-mix(in srgb,var(--l) 5%,var(--surface))}
.sx-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--l) 12%,var(--surface));color:var(--l);margin-bottom:6px}
.sx-ic svg{width:20px;height:20px}
.sx-skills b{font-size:16px}
.sx-skills small{font-size:12px;color:var(--muted)}
.sx-m{font-size:12.5px;color:var(--text-2);margin-top:4px}
.sx-best{position:absolute;top:12px;inset-inline-end:12px;font-size:11.5px;font-weight:800;color:var(--ok);background:var(--ok-bg);border-radius:999px;padding:2px 8px}
.sx-intro{margin:12px 0 0;font-size:14px;line-height:2;color:var(--text-2);background:var(--surface-2);border-radius:14px;padding:10px 14px}
.sx-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sx-mode{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:18px;background:var(--surface);border:1.5px solid var(--border);text-decoration:none;color:var(--text);transition:transform .15s,box-shadow .15s,border-color .15s}
.sx-mode:hover{transform:translateY(-2px);border-color:var(--teal-600);box-shadow:var(--shadow-lg)}
.sx-mode.ex:hover{border-color:var(--track)}
.sx-mi{font-size:26px;line-height:1}
.sx-mb b{display:block;font-size:17px;margin-bottom:2px}
.sx-mb small{font-size:13.5px;line-height:1.9;color:var(--text-2)}
.sx-mode em{margin-top:auto;font-style:normal;font-weight:800;font-size:14.5px;color:#fff;background:var(--teal-600);border-radius:12px;padding:10px 14px;text-align:center}
.sx-mode.ex em{background:var(--track)}
.sx-mode.lock em{background:var(--surface-2);color:var(--text)}
:root[data-theme="dark"] .sx-mode em{color:#0B1F21;background:#26BFC9}
:root[data-theme="dark"] .sx-mode.ex em{color:#fff;background:var(--track)}
:root[data-theme="dark"] .sx-mode.lock em{background:var(--surface-2);color:var(--text)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sx-mode em{color:#0B1F21;background:#26BFC9}:root:not([data-theme="light"]) .sx-mode.ex em{color:#fff;background:var(--track)}:root:not([data-theme="light"]) .sx-mode.lock em{background:var(--surface-2);color:var(--text)}}
:root[data-theme="dark"] .sx-ic,:root[data-theme="dark"] .sx-facts .mine{color:color-mix(in srgb,var(--l) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sx-ic,:root:not([data-theme="light"]) .sx-facts .mine{color:color-mix(in srgb,var(--l) 46%,#fff)}}
.sx-free{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:13.5px;line-height:1.9;color:var(--text-2)}
.sx-free svg{width:17px;height:17px;flex:none;margin-top:4px;color:var(--ok)}
.sx-about{margin-top:26px;border-top:1px solid var(--border);padding-top:12px;font-size:13.5px;line-height:2;color:var(--text-2)}
.sx-about summary{cursor:pointer;font-weight:700;color:var(--text-2)}
.sx-about p{margin:8px 0}
@media (max-width:640px){.sx-modes{grid-template-columns:1fr}.sx-skills{grid-template-columns:1fr 1fr}.sx-head h1{font-size:18px}.sx-lv{min-width:48px;height:48px;font-size:16px}}
.sx-mode.ex{margin:0;padding:18px;border-width:1.5px;background:var(--surface);border-radius:18px}

/* ---------- set page: 3 modes ---------- */
.sx-modes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.sx-mode.full{border-style:dashed;border-color:color-mix(in srgb,var(--l) 45%,var(--border))}
.sx-mode.full em{background:var(--l)}
.sx-mode.full:hover{border-color:var(--l);border-style:solid}
:root[data-theme="dark"] .sx-mode.full em{color:#fff;background:var(--l)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sx-mode.full em{color:#fff;background:var(--l)}}

/* ---------- full exam page (v57) ---------- */
.fx-hero{display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:22px;margin:10px 0 16px;background:linear-gradient(160deg,color-mix(in srgb,var(--l) 10%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--l) 25%,var(--border))}
.fx-hero>div{flex:1;min-width:0}
.fx-hero img{flex:none}
.fx-kick{display:inline-block;font-size:12.5px;font-weight:800;color:color-mix(in srgb,var(--l) 78%,#000);background:var(--surface);border-radius:999px;padding:3px 11px}
.fx-hero h1{font-size:23px;line-height:1.6;margin:10px 0 6px}
.fx-hero p{margin:0 0 16px;color:var(--text-2);line-height:1.95;font-size:15px;max-width:58ch}
.fx-rep.good{background:linear-gradient(160deg,var(--ok-bg),var(--surface))}
.fx-rep .ring{width:120px;height:120px;--track:var(--l)}.fx-rep .ring b{width:96px;height:96px;font-size:26px}
.fx-plan{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px}
.fx-plan h2{font-size:17px;margin:0 0 12px}
.fx-plan h2 small{font-size:13px;font-weight:600;color:var(--muted);margin-inline-start:6px}
.fx-plan ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fx-plan li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--surface-2)}
.fx-plan li.cur{background:color-mix(in srgb,var(--l) 9%,var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--l) 45%,transparent)}
.fx-plan li.opt{opacity:.8}
.fx-plan .sx-ic{margin:0}
.fx-n{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:13px;border:2px solid var(--border-strong);color:var(--text-2)}
.fx-plan li.ok .fx-n{background:var(--ok);border-color:var(--ok);color:#fff}
.fx-plan li.cur .fx-n{border-color:var(--l);color:var(--l)}
.fx-t{display:flex;flex-direction:column;flex:1;min-width:0}
.fx-t b{font-size:15px}.fx-t b small{font-weight:600;color:var(--muted);font-size:12px}
.fx-t small{font-size:12.5px;color:var(--muted)}
.fx-res .xl-meter{margin:4px 0;--l:var(--l)}
.fx-sc{font-size:18px;min-width:52px;text-align:center}
.fx-more{font-size:13px;font-weight:800;color:var(--accent-ink);text-decoration:none;white-space:nowrap}
.fx-acts{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.fx-acts form{margin:0}
.fx-restart{margin:14px 0 0;text-align:center}
.linklike{border:0;background:none;font:inherit;font-size:13.5px;color:var(--muted);text-decoration:underline;cursor:pointer}
:root[data-theme="dark"] .fx-kick,:root[data-theme="dark"] .fx-plan li.cur .fx-n{color:color-mix(in srgb,var(--l) 46%,#fff)}
:root[data-theme="dark"] .fx-plan li.ok .fx-n{color:#0B1F21}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fx-kick,:root:not([data-theme="light"]) .fx-plan li.cur .fx-n{color:color-mix(in srgb,var(--l) 46%,#fff)}:root:not([data-theme="light"]) .fx-plan li.ok .fx-n{color:#0B1F21}}
@media (max-width:560px){.fx-hero{padding:16px;flex-direction:column-reverse;align-items:flex-start}.fx-hero img{width:90px;height:90px}.fx-hero h1{font-size:19px}}

/* ---------- exam runner (v57): calmer header, clearer questions ---------- */
.run-head{border-top:3px solid var(--track);padding:14px 18px;gap:10px 14px}
.rh-t{flex:1;min-width:0}
.run-head h1{font-size:19px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.run-head h1 .ltr{font-size:14px;font-weight:600;color:var(--muted)}
.rh-mode{font-size:11.5px;font-weight:800;border-radius:999px;padding:2px 9px;background:var(--accent-2);color:var(--accent-ink)}
.rh-mode.e{background:var(--track-soft);color:var(--track-ink)}
.run-head .timer{font-size:20px;padding:6px 14px;border-radius:12px;min-width:84px;text-align:center}
.run-head .timer::before{content:"⏱";font-size:14px;margin-inline-end:6px;opacity:.7}
.ptabs{gap:4px;background:var(--surface-2);border-radius:12px;padding:4px}
.ptabs button{border:0;background:none;border-radius:9px;padding:7px 14px;color:var(--text-2)}
.ptabs button.on{background:var(--surface);color:var(--track-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.ptabs button.done:not(.on)::after{content:" ✓";color:var(--ok)}
.ptabs button.done{border-color:transparent}
.run-prog i{height:8px}
.qnav button{border-radius:50%;min-width:32px;height:32px}
.qnav button.ok{background:var(--track-soft);border-color:color-mix(in srgb,var(--track) 40%,transparent);color:var(--track-ink)}
.part{padding:22px;border-radius:20px}
.instr{background:color-mix(in srgb,var(--track-soft) 60%,var(--surface));border-inline-start:4px solid var(--track);border-radius:14px;padding:14px 16px}
.instr .de{font-size:15.5px}
.instr .fa{font-size:14.5px;line-height:1.9}
.tip{background:#FFF8E6;color:#6B4A00;border-radius:12px;padding:10px 14px;font-size:13.5px;line-height:1.9}
:root[data-theme="dark"] .tip{background:#3A2C10;color:#F5C26B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tip{background:#3A2C10;color:#F5C26B}}
.rtext{border-radius:16px;padding:16px 18px}
.items{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.item{border-radius:16px;padding:14px 16px;transition:border-color .15s}
.item:focus-within{border-color:color-mix(in srgb,var(--track) 50%,var(--border))}
.item .q{font-size:16px;margin-bottom:10px}
.item .q .num{background:var(--track);color:#fff;border-radius:8px;padding:1px 8px;min-width:24px;text-align:center}
.choice{border-radius:12px;padding:10px 14px;font-size:15px;min-height:44px}
.choice.sel{box-shadow:inset 0 0 0 1px var(--track)}
.result-card{padding:22px;border-radius:20px;background:linear-gradient(160deg,var(--track-soft),var(--surface));border-color:color-mix(in srgb,var(--track) 20%,var(--border))}
.result-card h2{font-size:21px!important}
.res-acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.fx-hero>div.ring{flex:none}
.fx-plan li.opt{opacity:1;background:transparent;border:1px dashed var(--border)}
.rh-mode{white-space:nowrap}@media (max-width:560px){.run-head h1{font-size:16px}.rh-mode{font-size:10.5px}.run-head .timer{font-size:17px;min-width:0;padding:5px 10px}}

/* ---------- club (v57): three clear tabs; league = me → prizes → table → the rest collapsed ---------- */
.cb-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 14px}
.cb-head h1{margin:0;font-size:24px}
.cb-head p{margin:4px 0 0;color:var(--text-2);font-size:14.5px}
.cb-clock{font-size:13px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 14px}
.cb-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.cb-tabs a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--surface);border:1.5px solid var(--border);text-decoration:none;color:var(--text)}
.cb-tabs a:hover{border-color:var(--border-strong)}
.cb-tabs a.on{border-color:var(--track);background:color-mix(in srgb,var(--track-soft) 60%,var(--surface))}
.cb-ti{font-size:24px;flex:none}
.cb-tabs b{display:block;font-size:15px}
.cb-tabs small{display:block;font-size:12px;color:var(--muted);line-height:1.6}
.cb-tabs a.on b{color:var(--track-ink)}
.cb-me{display:flex;align-items:center;gap:18px;padding:20px;border-radius:22px;margin-bottom:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--tc) 14%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--tc) 35%,var(--border))}
.cb-me>img{flex:none}
.cb-tier{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px;padding:10px;border-radius:18px;background:var(--surface)}
.cb-tier-ic{font-size:40px;line-height:1.1}
.cb-tier b{font-size:15px}
.cb-tier small{font-size:11.5px;color:var(--muted)}
.cb-steps{display:flex;gap:4px;margin:4px 0 2px}
.cb-steps i{width:16px;height:5px;border-radius:999px;background:var(--surface-2)}
.cb-steps i.past{background:color-mix(in srgb,var(--tc) 45%,var(--surface-2))}
.cb-steps i.on{background:var(--tc)}
.cb-me-b{flex:1;min-width:0}
.cb-me-b h2{margin:0 0 4px;font-size:19px}
.cb-me-b>p{margin:0 0 10px;color:var(--text-2);font-size:14.5px;line-height:1.9}
.cb-rank{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:6px}
.cb-rank span{display:flex;flex-direction:column}
.cb-rank small{font-size:12.5px;color:var(--muted)}
.cb-rank b{font-size:30px;line-height:1.2}
.cb-rank em{font-style:normal;font-size:13px;font-weight:600;color:var(--muted);margin-inline-start:6px}
.cb-state{margin:4px 0;font-size:14.5px;line-height:1.9}
.cb-state .up{color:var(--ok);font-weight:700}.cb-state .down{color:var(--bad);font-weight:700}
.cb-why{font-size:12.5px;color:var(--muted)}
.cb-check{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cb-check li{display:flex;align-items:center;gap:10px;font-size:14px}
.cb-ck{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--border-strong);font-size:12px;font-weight:800}
.cb-check li.ok .cb-ck{background:var(--ok);border-color:var(--ok);color:#fff}
.cb-ct{flex:1;min-width:0}
.cb-check .cb-bar{width:110px;flex:none}
.cb-bar{display:block;height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.cb-bar i{display:block;height:100%;background:var(--track);border-radius:999px}
.cb-bar.big{height:10px;width:100%}
.cb-prize{padding:16px 18px;border-radius:18px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-inline-start:5px solid var(--tc)}
.cb-prize h2{font-size:16px;margin:0 0 10px}
.cb-prizes{display:flex;flex-wrap:wrap;gap:8px}
.cb-prizes span{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;background:var(--surface-2);border-radius:12px;padding:6px 12px}
.cb-prizes i{font-style:normal;font-size:18px}
.cb-note{margin:8px 0 0;font-size:12.5px;color:var(--muted);line-height:1.9}
.cb-board{padding:16px 18px;border-radius:18px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border)}
.cb-board-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cb-board-h h2{margin:0;font-size:17px}
.cb-tiers{display:flex;gap:4px;background:var(--surface-2);border-radius:12px;padding:4px}
.cb-tiers a{font-size:13px;font-weight:700;color:var(--text-2);text-decoration:none;padding:5px 10px;border-radius:9px}
.cb-tiers a small{color:var(--muted);font-weight:600}
.cb-tiers a.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.cb-table{width:100%}
.cb-empty{display:flex;align-items:center;gap:12px;margin:0;padding:10px;color:var(--text-2);font-size:14.5px}
.cb-more{margin-bottom:10px;border-radius:16px;background:var(--surface);border:1px solid var(--border);padding:12px 16px;font-size:14px;line-height:2}
.cb-more summary{cursor:pointer;font-weight:700}
.cb-more[open] summary{margin-bottom:8px}
.cb-champ{margin:6px 0}.cb-champ>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cb-champ span{font-size:13px;background:var(--surface-2);border-radius:10px;padding:3px 10px}
.cb-champ small{color:var(--muted)}
.cb-nick{display:flex;gap:8px}.cb-nick input{flex:1;border:1px solid var(--border-strong);border-radius:10px;padding:8px 10px;font:inherit;background:var(--surface);color:var(--text)}
.cb-chal-h{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:18px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border)}
.cb-chal-h h2{margin:0 0 4px;font-size:18px}
.cb-chal-h p{margin:0;font-size:13.5px;line-height:1.9;color:var(--text-2)}
.cb-chal-h .cb-bar i{background:var(--ok)}
.cb-chal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cb-c{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.cb-c.done{border-color:color-mix(in srgb,var(--ok) 45%,var(--border));background:color-mix(in srgb,var(--ok-bg) 60%,var(--surface))}
.cb-c-ic{font-size:26px;flex:none}
.cb-c-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.cb-c-b>b{font-size:14.5px}
.cb-c-b small{font-size:12.5px;color:var(--muted)}
.cb-c.done .cb-bar i{background:var(--ok)}
.cb-ask{margin-bottom:12px}
.cb-ask summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;list-style:none;padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--track-soft) 60%,var(--surface));border:1px solid color-mix(in srgb,var(--track) 20%,var(--border))}
.cb-ask summary::-webkit-details-marker{display:none}
.cb-ask summary small{color:var(--text-2);font-size:13.5px}
.cb-ask-f{padding:14px 16px;border:1px solid var(--border);border-top:0;border-radius:0 0 16px 16px;background:var(--surface)}
.cb-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.cb-q{flex:1;min-width:200px;display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:0 12px;background:var(--surface)}
.cb-q svg{width:16px;height:16px;color:var(--muted)}
.cb-q input{border:0;background:none;padding:9px 0;font:inherit;font-size:14px;color:var(--text);width:100%;outline:none}
.cb-filter select{border:1px solid var(--border);border-radius:999px;padding:8px 12px;font:inherit;background:var(--surface);color:var(--text)}
.cb-threads{display:grid;gap:8px;margin-bottom:12px}
.cb-th{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.cb-th:hover{border-color:var(--track)}
.cb-th .cnt{flex:none;width:54px;height:54px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11.5px;color:var(--text-2);background:var(--surface-2)}
.cb-th .cnt b{font-size:18px;color:var(--text)}
.cb-th .cnt.solved{background:var(--ok-bg);color:var(--ok)}.cb-th .cnt.solved b{color:var(--ok)}
.cb-th-b{flex:1;min-width:0;display:flex;flex-direction:column}
.cb-th-b b{font-size:15px;line-height:1.7}
.cb-th-b small{font-size:12.5px;color:var(--muted)}
.cb-solved,.cb-open{flex:none;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px}
.cb-solved{background:var(--ok-bg);color:var(--ok)}
.cb-open{background:var(--warn-bg);color:var(--warn)}
:root[data-theme="dark"] .cb-check li.ok .cb-ck{color:#0B1F21}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cb-check li.ok .cb-ck{color:#0B1F21}}
@media (max-width:760px){.cb-tabs{grid-template-columns:1fr}.cb-tabs small{display:none}.cb-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.cb-tabs a{flex-direction:column;text-align:center;gap:2px;padding:10px 6px}.cb-tabs b{font-size:13px}.cb-me{flex-direction:column;align-items:stretch;text-align:center}.cb-me>img{display:none}.cb-tier{flex-direction:row;justify-content:center;gap:8px}.cb-rank{justify-content:center}.cb-chal{grid-template-columns:1fr}.cb-check .cb-bar{width:70px}.cb-check li{text-align:start}}
.cb-state .up{color:#17642B}:root[data-theme="dark"] .cb-state .up{color:var(--ok)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cb-state .up{color:var(--ok)}}

/* ---------- «من» profile hub (v57) ---------- */
.pf-head{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;padding:20px 22px;border-radius:22px;margin-bottom:14px;background:linear-gradient(160deg,var(--track-soft),color-mix(in srgb,var(--track-soft) 40%,var(--surface)));border:1px solid color-mix(in srgb,var(--track) 20%,var(--border))}
.pf-av{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900;color:#fff;background:var(--track);grid-row:span 1}
.pf-who h1{margin:0;font-size:22px}.pf-who small{color:var(--muted);font-size:13px}
.pf-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.pf-stats>*{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;background:var(--surface);text-decoration:none;color:var(--text)}
.pf-stats small{font-size:12px;color:var(--muted)}
.pf-stats b{font-size:20px}.pf-stats b em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}
.pf-bar{display:block;height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:3px}
.pf-bar em{display:block;height:100%;background:var(--indigo,#6265B1);border-radius:999px}
.pf-bar.big{height:9px;margin:6px 0 4px}.pf-bar.big em{background:linear-gradient(90deg,#F2542D,#FFC700)}
.pf-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.pf-links a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}
.pf-links a:hover{border-color:var(--track);transform:translateY(-2px)}
.pf-ic{width:38px;height:38px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--track-soft);color:var(--track-ink);font-size:20px}
.pf-ic svg{width:19px;height:19px}
.pf-links b{display:block;font-size:14px}.pf-links small{display:block;font-size:11.5px;color:var(--muted);line-height:1.6}
.pf-links a.gift{border-style:dashed;border-color:#E0A100}
.pf-streak,.pf-badges,.pf-set{padding:18px;border-radius:20px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border)}
.pf-sh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pf-fire{display:flex;align-items:baseline;gap:6px}.pf-fire span{font-size:24px}.pf-fire b{font-size:30px;line-height:1}.pf-fire small{font-size:13px;color:var(--muted)}
.pf-sf{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--text-2)}
.pf-sgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.pf-next{padding:12px 14px;border-radius:14px;background:var(--surface-2);margin-bottom:10px}
.pf-next small{display:block;font-size:12px;color:var(--muted)}.pf-next b{font-size:16px}
.pf-road{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.pf-note{margin:8px 0 0;font-size:12.5px;line-height:1.9;color:var(--muted)}
.pf-badges h2,.pf-set h2{font-size:17px;margin:0 0 12px}
.pf-badges h2 small{font-size:13px;color:var(--muted);font-weight:600;margin-inline-start:6px}
.pf-locked{margin-top:12px}.pf-locked summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--text-2)}.pf-locked .badges{margin-top:10px}
.pf-league{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.pf-league:hover{border-color:var(--track)}
.pf-league span:nth-child(2){flex:1;display:flex;flex-direction:column}.pf-league b{font-size:15px}.pf-league small{font-size:12.5px;color:var(--muted)}
.pf-league em{font-style:normal;font-weight:800;font-size:13.5px;color:var(--accent-ink)}
.pf-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0 12px;border-bottom:1px solid var(--border)}
.pf-row small{color:var(--muted);font-size:12px}
.pf-pw{padding:12px 0;border-bottom:1px solid var(--border)}.pf-pw summary{cursor:pointer;font-weight:700;font-size:14px}.pf-pw form{margin-top:10px;max-width:420px}
.pf-out{margin-top:12px}.pf-out .linklike{color:var(--bad);font-weight:700}
:root[data-theme="dark"] .pf-av{color:#0B1F21;background:color-mix(in srgb,var(--track) 46%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pf-av{color:#0B1F21;background:color-mix(in srgb,var(--track) 46%,#fff)}}
@media (max-width:900px){.pf-links{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-sgrid{grid-template-columns:1fr}.pf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pf-head{padding:16px}.pf-av{width:52px;height:52px;font-size:22px}.pf-links small{display:none}.pf-streak,.pf-badges,.pf-set{padding:14px}}
.pf-row .acc-seg button{white-space:nowrap}.pf-road{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:thin}.pf-road .ms{flex:0 0 120px}
/* profile variants (preview) */
.pa-me{display:flex;align-items:center;gap:14px;margin:4px 0 14px}
.pa-me h1{margin:0;font-size:22px}.pa-me p{margin:2px 0 0;color:var(--text-2);font-size:14px}
.pa-card{padding:18px;border-radius:20px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border)}
.pa-card h2{font-size:17px;margin:0 0 12px}.pa-card h2 small{font-size:13px;color:var(--muted);font-weight:600;margin-inline-start:6px}
.pa .td-week{justify-content:flex-start;gap:10px;margin-bottom:12px}
.pa-next{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;background:var(--surface-2);font-size:14px;margin-bottom:12px}
.pa-more{margin-top:12px}.pa-more summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--accent-ink)}.pa-more[open] summary{margin-bottom:10px}
.pa-badges{display:flex;flex-wrap:wrap;gap:8px}
.pa-badges span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface-2);font-size:13.5px;font-weight:700}
.pa-badges i{font-style:normal;font-size:18px}
.pb-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.pb-nums span{display:flex;flex-direction:column;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.pb-nums small{font-size:12px;color:var(--muted)}.pb-nums b{font-size:20px}.pb-nums em{font-style:normal;font-size:12px;color:var(--muted)}
.pb-tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:14px;padding:4px;margin-bottom:12px}
.pb-tabs button{flex:1;border:0;background:none;font:inherit;font-weight:800;font-size:14.5px;padding:10px;border-radius:11px;color:var(--text-2);cursor:pointer}
.pb-tabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
@media (max-width:560px){.pb-nums{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pc-h{font-size:15px;color:var(--muted);margin:18px 4px 10px;font-weight:800}
.pc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.pc-grid a,.pc-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
.pc-grid a:hover,.pc-row:hover{border-color:var(--track)}
.pc-grid a>span:nth-child(2),.pc-row>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.pc-grid b,.pc-row b{font-size:15px}.pc-grid small,.pc-row small{font-size:12.5px;color:var(--muted)}
.pc-grid i,.pc-row i{font-style:normal;color:var(--muted)}
.pc-acc{display:flex;flex-direction:column;gap:0;padding:6px 14px}
.pc-acc .pc-row{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:14px 0;background:none}
.pc-acc .pf-row{padding:14px 0}
.pb-nums a{display:flex;flex-direction:column;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text)}
@media (max-width:560px){.pc-grid{grid-template-columns:1fr}}
/* streak rewards as a simple path (v57) */
.sk-path{list-style:none;margin:0;padding:0;position:relative}
.sk-path::before{content:"";position:absolute;top:14px;bottom:14px;inset-inline-start:13px;width:2px;background:var(--border)}
.sk-path li{position:relative;display:flex;align-items:center;gap:12px;padding:8px 0}
.sk-dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--surface);border:2px solid var(--border-strong)}
.sk-path li.got .sk-dot{background:var(--ok);border-color:var(--ok);color:#fff}
.sk-path li.next .sk-dot{border-color:#F2542D;box-shadow:0 0 0 4px color-mix(in srgb,#F2542D 18%,transparent)}
.sk-b{flex:1;min-width:0;display:flex;flex-direction:column}
.sk-b b{font-size:14.5px}.sk-b em{font-style:normal;font-weight:600;color:var(--text-2);margin-inline-start:6px}
.sk-b small{font-size:12.5px;color:var(--muted)}
.sk-st{flex:none;font-size:12px;font-weight:800;color:var(--muted)}
.sk-path li.got .sk-st{color:var(--ok)}.sk-path li.next .sk-st{color:#C2410C}
.sk-path li.next{background:color-mix(in srgb,#F2542D 6%,transparent);border-radius:12px;padding-inline:0 10px}
.sk-path li.skip{opacity:.75}
:root[data-theme="dark"] .sk-path li.got .sk-dot{color:#0B1F21}:root[data-theme="dark"] .sk-path li.next .sk-st{color:#F4A26B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sk-path li.got .sk-dot{color:#0B1F21}:root:not([data-theme="light"]) .sk-path li.next .sk-st{color:#F4A26B}}

/* ---------- subscription / invite / notifications (v57) ---------- */
.sb-h{font-size:22px;margin:4px 0 14px}
.sb-plan{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px;border-radius:22px;margin-bottom:14px;background:linear-gradient(160deg,var(--track-soft),color-mix(in srgb,var(--track-soft) 40%,var(--surface)));border:1px solid color-mix(in srgb,var(--track) 20%,var(--border))}
.sb-plans{display:flex;flex-direction:column;gap:10px}
.sb-one{display:flex;align-items:center;gap:14px}
.sb-one>div:last-child{display:flex;flex-direction:column}
.sb-one b{font-size:18px}.sb-one small{font-size:13px;color:var(--text-2)}
.sb-ok{align-self:flex-start;font-size:11.5px;font-weight:800;color:var(--ok);background:var(--ok-bg);border-radius:999px;padding:2px 9px;margin-bottom:2px}
.sb-free{display:flex;align-items:center;gap:14px;flex:1;min-width:260px}
.sb-free b{font-size:17px}.sb-free p{margin:4px 0 0;font-size:13.5px;line-height:1.9;color:var(--text-2)}
.sb-card{padding:18px;border-radius:20px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border)}
.sb-card h2{font-size:16px;margin:0 0 10px}
.sb-en{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sb-bolt{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:#FFF3D6;flex:none}
:root[data-theme="dark"] .sb-bolt{background:#3A2C10}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sb-bolt{background:#3A2C10}}
.sb-en>div{display:flex;flex-direction:column}.sb-en b{font-size:19px}.sb-en small{font-size:12.5px;color:var(--muted)}
.sb-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.sb-pack{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer}
.sb-pack:hover{border-color:var(--track)}.sb-pack b{font-size:18px}.sb-pack small{font-size:12.5px;color:var(--muted)}
.sb-note{margin:8px 0 0;font-size:13px;line-height:1.9;color:var(--text-2)}
.sb-more{margin-top:10px;font-size:13.5px;line-height:1.95;color:var(--text-2)}.sb-more summary{cursor:pointer;font-weight:700;color:var(--text)}.sb-more p{margin:8px 0 0}
.sb-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px}
.sb-code{display:flex;gap:8px}.sb-code input{flex:1;min-width:0;border:1px solid var(--border-strong);border-radius:10px;padding:9px;font:inherit;background:var(--surface);color:var(--text)}
.iv-hero{display:flex;align-items:center;gap:16px;padding:22px;border-radius:22px;margin-bottom:14px;background:linear-gradient(160deg,#FFF3D6,var(--surface));border:1px solid #F6D58A}
:root[data-theme="dark"] .iv-hero{background:linear-gradient(160deg,#3A2C10,var(--surface));border-color:#5C4518}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .iv-hero{background:linear-gradient(160deg,#3A2C10,var(--surface));border-color:#5C4518}}
.iv-hero>div{flex:1;min-width:0}.iv-hero img{flex:none}
.iv-hero h1{font-size:22px;margin:0 0 6px}.iv-hero p{margin:0 0 14px;font-size:15px;line-height:1.9;color:var(--text-2)}
.iv-link{display:flex;gap:8px;max-width:560px}
.iv-link input{flex:1;min-width:0;border:1px solid var(--border-strong);border-radius:12px;padding:11px;background:var(--surface);color:var(--text);font:inherit}
.iv-share{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.iv-share a,.iv-share button{font:inherit;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer}
.iv-code{font-size:12.5px;color:var(--muted);margin-inline-start:6px}.iv-code b{letter-spacing:2px;color:var(--text)}
.iv-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.iv-steps li{display:flex;gap:12px;align-items:flex-start}
.iv-steps span{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;background:var(--track-soft);color:var(--track-ink)}
.iv-steps b{display:block;font-size:14.5px}.iv-steps small{font-size:13px;color:var(--text-2);line-height:1.9}
.iv-funnel{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.iv-funnel div{flex:1;min-width:90px;display:flex;flex-direction:column;align-items:center;padding:12px 6px;border-radius:14px;background:var(--surface-2)}
.iv-funnel b{font-size:22px}.iv-funnel small{font-size:12px;color:var(--muted)}
.iv-funnel i{font-style:normal;color:var(--muted)}
.iv-h3{font-size:14.5px;margin:16px 0 8px}
.iv-amb{display:flex;flex-wrap:wrap;gap:6px}
.iv-amb span{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--surface-2)}
.iv-amb span.got{background:var(--ok-bg);color:var(--ok);font-weight:700}
.nt-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.nt-tabs a{flex:none;white-space:nowrap}
.nt-list .nt-grp{list-style:none;font-size:12.5px;font-weight:800;color:var(--muted);padding:12px 14px 6px;background:var(--surface-2);border-bottom:1px solid var(--border)}
@media (max-width:700px){.sb-two{grid-template-columns:1fr}.iv-hero img{display:none}.sb-packs{grid-template-columns:repeat(3,minmax(0,1fr))}.iv-funnel i{display:none}.iv-funnel div{min-width:calc(50% - 6px)}}
.trk-foot{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:6px;padding-top:8px}
.trk-foot a{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--accent-ink);text-decoration:none;padding:7px 8px;border-radius:10px;background:var(--surface-2)}

/* ===== v59 phone / tablet header: ☰ → bottom sheet (owner, آبان ۱۴۰۵) ===== */
.ms-btn{display:none;position:relative;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;flex:none}
.ms-btn svg{width:22px;height:22px}
.ms-dot{position:absolute;top:7px;inset-inline-end:7px;width:9px;height:9px;border-radius:50%;background:#C62828;box-shadow:0 0 0 2px var(--surface)}
.msheet{position:fixed;inset:auto 0 0 0;margin:0 auto;width:100%;max-width:560px;max-height:88vh;max-height:88dvh;padding:0;border:0;border-radius:22px 22px 0 0;background:var(--surface);color:var(--text);box-shadow:0 -10px 40px rgba(0,0,0,.25);overflow:auto;overscroll-behavior:contain}
.msheet::backdrop{background:rgba(15,20,25,.45)}
.msheet[open]{animation:msUp .22s ease-out}
@keyframes msUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.msheet[open]{animation:none}}
.ms-in{position:relative;padding:10px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}
.ms-grab{width:44px;height:5px;border-radius:9px;background:var(--border);margin:0 auto 2px}
.ms-x{position:absolute;top:10px;inset-inline-end:12px;width:34px;height:34px;border-radius:50%;border:0;background:var(--surface-2);color:var(--text);font-size:15px;cursor:pointer}
.ms-who{display:flex;align-items:center;gap:10px;padding-inline-end:44px}
.ms-who .acc-av{width:44px;height:44px;font-size:19px}
.ms-who span{display:flex;flex-direction:column;line-height:1.4}.ms-who b{font-size:16px}.ms-who small{color:var(--muted);font-size:12.5px;text-align:end}
.ms-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ms-q{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-decoration:none;font:inherit;text-align:start;cursor:pointer}
.ms-q svg{width:22px;height:22px;flex:none}.ms-fl{font-size:21px;line-height:1}
.ms-q span{display:flex;flex-direction:column;line-height:1.35}.ms-q b{font-size:14px}.ms-q small{font-size:12px;color:var(--muted)}
.ms-q.hot{border-color:#C62828}.ms-q.hot small{color:#B71C1C;font-weight:700}
:root[data-theme="dark"] .ms-q.hot small{color:#FF8A80}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ms-q.hot small{color:#FF8A80}}
.ms-cta{width:100%;justify-content:center}
.ms-sec{font-size:12.5px;font-weight:800;color:var(--muted);margin-bottom:-6px}
.ms-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.ms-list>a,.ms-list summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;color:var(--text);text-decoration:none;font-weight:700;font-size:14.5px;border-top:1px solid var(--border);cursor:pointer;list-style:none}
.ms-list>:first-child,.ms-list>:first-child>summary{border-top:0}
.ms-list>details>summary{border-top:0}.ms-list>details{border-top:1px solid var(--border)}.ms-list>details:first-child{border-top:0}
.ms-list summary::-webkit-details-marker{display:none}
.ms-list summary::after{content:'▾';margin-inline-start:auto;color:var(--muted);font-size:12px;transition:transform .15s}
.ms-list details[open] summary::after{transform:rotate(180deg)}
.ms-list summary small{color:var(--muted);font-weight:600}
.ms-list>a svg{width:20px;height:20px;color:var(--muted)}
.ms-list>a.ms-role{color:var(--accent)}.ms-list>a.ms-role svg{color:var(--accent)}
.ms-list details>a{display:flex;align-items:center;gap:8px;padding:10px 26px 10px 14px;color:var(--text);text-decoration:none;font-size:14px}
.ms-list details>a small{color:var(--muted)}
.ms-list details{background:var(--surface)}.ms-list details[open]{background:var(--surface-2);padding-bottom:6px}
.ms-c{width:10px;height:10px;border-radius:50%;flex:none}
.ms-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 14px 6px}
.ms-tools a{padding:9px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:13.5px;font-weight:600}
.ms-list details>a.ms-more{color:var(--accent);font-weight:700}
.ms-theme{display:flex;align-items:center;justify-content:space-between;gap:10px}.ms-theme .acc-seg{flex:1;max-width:300px;display:flex}.ms-theme .acc-seg button{flex:1;white-space:nowrap}.ms-theme>span{font-weight:700;font-size:14px}
.ms-out{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:14px;border:1px solid var(--border);background:none;color:#B71C1C;font:inherit;font-weight:700;cursor:pointer}
.ms-out svg{width:18px;height:18px}
:root[data-theme="dark"] .ms-out{color:#FF8A80}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ms-out{color:#FF8A80}}
@media (max-width:900px){
  .ms-btn{display:inline-flex}
  .app-top .nt-bell,.app-top .streak-chip,.app-top .acc-menu{display:none}
  .site-header .nt-bell,.site-header .acc-menu,.site-header .nav-toggle,.site-header .mainnav,.site-header .mainnav.open{display:none}
  .site-header .head-actions{margin-inline-start:auto}
  .site-header .head-actions .btn-p{white-space:nowrap}
  .app-top .container{gap:10px}
  .app-top .trk-pick{margin-inline-start:auto}
}
/* bottom nav has five places (v57) — the old 6-column rule left an empty slot */
@media (max-width:900px){.bottom-nav{grid-template-columns:repeat(5,1fr)}}
/* admin / teacher panel on phone & tablet (v59) */
.pn-out-m{display:none;margin:0}
.pn-out-m button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:10px;background:none;color:#B71C1C;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pn-out-m svg{width:18px;height:18px}
:root[data-theme="dark"] .pn-out-m button{color:#FF8A80}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pn-out-m button{color:#FF8A80}}
@media (max-width:980px){
  .pn-out-m{display:block}.pn-out-d{display:none}
  .va-pick>summary>span{display:none}
  .pn-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* «آزمون من» menu on phone / tablet: it was anchored to the button and ran off the right edge (v59b) */
@media (max-width:900px){
  .trk-menu{position:fixed;top:68px;inset-inline:12px;width:auto;max-width:520px;margin-inline:auto;max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain}
}
@media (max-width:600px){.va-pop{position:fixed;top:64px;inset-inline:12px;width:auto;max-height:calc(100dvh - 90px);overflow:auto}}
.ms-note{margin:0;padding:9px 12px;border-radius:12px;background:var(--surface-2);font-size:13px;color:var(--text-2)}
/* staff (admin / teacher) previewing the student app (v60) */
.staff-bar{background:#FFF4E0;border-bottom:1px solid #F0D29A;color:#5C3D00;font-size:13.5px}
.staff-bar .container{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;flex-wrap:wrap}
.staff-bar a{color:#7A4B00;font-weight:800;text-decoration:none;white-space:nowrap}
:root[data-theme="dark"] .staff-bar{background:#3A2A0C;border-color:#5C4419;color:#F6DDAF}:root[data-theme="dark"] .staff-bar a{color:#FFD28A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .staff-bar{background:#3A2A0C;border-color:#5C4419;color:#F6DDAF}:root:not([data-theme="light"]) .staff-bar a{color:#FFD28A}}
.t3-courses{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}
.t3-courses>span:first-child{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,#3949AB 12%,var(--surface));color:#3949AB;flex:none}
:root[data-theme="dark"] .t3-courses>span:first-child{color:#9FA8FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .t3-courses>span:first-child{color:#9FA8FF}}
.t3-courses svg{width:22px;height:22px}.t3-courses>span:nth-child(2){flex:1;display:flex;flex-direction:column}.t3-courses b{font-size:15px}.t3-courses small{color:var(--muted);font-size:12.5px}
.t3-courses i{font-style:normal;color:var(--muted)}.t3-courses:hover{border-color:var(--accent)}
.lb-shut{margin-top:14px;border:1px dashed var(--border);border-radius:14px;padding:4px 12px}
.lb-shut>summary{cursor:pointer;padding:8px 0;font-weight:700;color:var(--text-2)}
.lb-shut[open]{padding-bottom:12px}.lb-shut .mcard{opacity:.75}
.ms-quick.one{grid-template-columns:1fr}
/* ===== teacher panel home (v61) ===== */
.tc-hello{margin-bottom:6px}.tc-hello h1{margin:4px 0 6px}.tc-hello p{margin:0;color:var(--text-2)}
.tc-h{font-size:17px;margin:22px 0 10px}
.tc-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tc-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px}
.tc-card h3{margin:2px 0;font-size:17px}
.tc-top{display:flex;justify-content:space-between;align-items:center}
.tc-lv{font-weight:800;font-size:12.5px;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--text)}
.tc-n{font-size:12.5px;color:var(--muted)}
.tc-until{margin:0;font-size:13px;color:var(--text-2)}.tc-until.warn{color:#9A5B00;font-weight:700}
:root[data-theme="dark"] .tc-until.warn{color:#FFC46B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tc-until.warn{color:#FFC46B}}
.tc-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.tc-empty b{display:block;margin-bottom:6px}.tc-empty p{margin:4px 0}
.tc-acc dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;margin:0}
.tc-acc dl div{display:flex;flex-direction:column;gap:2px}.tc-acc dt{font-size:12.5px;color:var(--muted)}.tc-acc dd{margin:0;font-weight:700}
.tc-more{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.tc-more summary,.tc-fold>summary{cursor:pointer;font-weight:700}
.tc-pw{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-top:10px}
.tc-fold{margin-top:12px}.tc-fold>summary small{color:var(--muted);font-weight:600}
.tc-guide{margin:10px 0 0;padding-inline-start:20px;line-height:2}
/* ===== teacher home v2 (v62) ===== */
.pn-site{margin-inline-start:auto;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}
.pn-site svg{width:18px;height:18px}.pn-site:hover{border-color:var(--accent);color:var(--accent)}
.pn-site + .va-pick{margin-inline-start:0}
@media (max-width:600px){.pn-site{padding:7px 10px;font-size:13px}}
@media (min-width:981px){.pn-foot{display:none}}
.tp-me{border-radius:20px;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface) 70%);border:1px solid var(--border);display:flex;flex-direction:column;gap:18px}
.tp-id{display:flex;align-items:center;gap:16px}
.tp-av{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:28px;font-weight:800;flex:none}
:root[data-theme="dark"] .tp-av{color:#0B1F21}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tp-av{color:#0B1F21}}
.tp-id h1{margin:0;font-size:22px}.tp-id p{margin:2px 0 8px;color:var(--text-2);font-size:14px}
.tp-chips{display:flex;gap:6px;flex-wrap:wrap}
.tp-chip{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-2)}
.tp-chip.ok{color:#1B6B3A;border-color:#A8D5B5;background:#EAF6EE}.tp-chip.warn{color:#8A5300;border-color:#F0D29A;background:#FFF4E0}
:root[data-theme="dark"] .tp-chip.ok{color:#8FE0AA;background:#12301F;border-color:#245C3A}:root[data-theme="dark"] .tp-chip.warn{color:#FFD28A;background:#3A2A0C;border-color:#5C4419}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tp-chip.ok{color:#8FE0AA;background:#12301F;border-color:#245C3A}:root:not([data-theme="light"]) .tp-chip.warn{color:#FFD28A;background:#3A2A0C;border-color:#5C4419}}
.tp-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.tp-nums>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.tp-nums small{font-size:12.5px;color:var(--muted)}.tp-nums b{font-size:24px;line-height:1.2}.tp-nums b em{font-style:normal;font-size:13px;color:var(--muted);font-weight:600}
.tp-nums span{font-size:12.5px;color:var(--text-2)}
.tp-nums>div.warn{border-color:#F0D29A}.tp-nums>div.warn b{color:#9A5B00}
:root[data-theme="dark"] .tp-nums>div.warn b{color:#FFC46B}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tp-nums>div.warn b{color:#FFC46B}}
.tp-note{margin:-6px 0 0;font-size:13px;color:var(--text-2)}
.tp-h{font-size:18px;margin:26px 0 12px}
.tp-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.tp-card{border-radius:18px;overflow:hidden;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.tp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.tp-band{background:var(--lc);color:#fff;padding:16px 16px 14px;display:flex;align-items:flex-end;justify-content:space-between;min-height:74px;background-image:radial-gradient(circle at 15% 0,rgba(255,255,255,.22),transparent 55%)}
.tp-lv{font-size:28px;font-weight:900;letter-spacing:.5px}.tp-ln{font-size:13px;font-weight:700;background:rgba(255,255,255,.2);padding:3px 10px;border-radius:999px}
.tp-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.tp-body h3{margin:0;font-size:17px}
.tp-time{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-2);flex-wrap:wrap}.tp-time b{color:var(--text)}
.tp-time.warn b{color:#9A5B00}:root[data-theme="dark"] .tp-time.warn b{color:#FFC46B}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tp-time.warn b{color:#FFC46B}}
.tp-bar{height:6px;border-radius:9px;background:var(--surface-2);overflow:hidden}.tp-bar i{display:block;height:100%;border-radius:9px;background:var(--lc)}
.tp-go{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:12px;background:var(--lc);color:#fff;text-decoration:none;font-weight:800}
.tp-go:hover{filter:brightness(1.08)}
.tp-empty{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:18px;border:1px dashed var(--border);background:var(--surface)}
.tp-empty>span{font-size:34px}.tp-empty p{margin:6px 0 0;color:var(--text-2);font-size:14px}
.tp-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.tp-cl{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
.tp-cl>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2)}.tp-cl svg{width:20px;height:20px}
.tp-cl div{display:flex;flex-direction:column}.tp-cl small{color:var(--muted);font-size:12.5px}
.tp-small{font-size:13px;color:var(--muted);margin:8px 0 0}
.tp-fold{margin-top:14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);padding:12px 16px}
.tp-fold>summary{cursor:pointer;font-weight:700}.tp-fold>summary small{color:var(--muted);font-weight:600}
.tp-old{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.tp-old small{color:var(--muted)}
.tp-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px}
.tp-feat>div{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:12px;background:var(--surface-2)}
.tp-feat span{font-size:22px}.tp-feat small{color:var(--text-2);font-size:12.5px;line-height:1.7}
@media (max-width:600px){.tp-me{padding:16px}.tp-av{width:52px;height:52px;font-size:22px;border-radius:16px}.tp-id h1{font-size:19px}.tp-nums b{font-size:20px}}
/* ===== teacher profile (v63) ===== */
img.tp-av{object-fit:cover;padding:0}
.tp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:-6px}.tp-foot .tp-note{margin:0}
.tp-prof{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none;font-weight:700;font-size:13.5px}
.tp-prof.todo{border-color:var(--accent)}.tp-prof:hover{border-color:var(--accent);color:var(--accent)}
.tp-pbar{width:56px;height:6px;border-radius:9px;background:var(--surface-2);overflow:hidden}.tp-pbar i{display:block;height:100%;background:var(--accent)}
.tf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.tf-head h1{margin:4px 0 6px}.tf-head p{margin:0;color:var(--text-2);max-width:620px}
.tf-score{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.tf-score>div:last-child{display:flex;flex-direction:column}.tf-score small{color:var(--muted);font-size:12.5px;max-width:260px}
.tf-ring{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--surface-2) 0);flex:none}
.tf-ring b{width:44px;height:44px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:13px}
.tf-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.tf-prev{position:sticky;top:84px;grid-column:2;grid-row:1}
.tf-form{grid-column:1;grid-row:1}
.tf-pt{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}
.tf-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.05))}
.tf-ph{width:96px;height:96px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:38px;font-weight:800;flex:none}
.tf-ph img{width:100%;height:100%;object-fit:cover}.tf-ph.big{width:110px;height:110px}
:root[data-theme="dark"] .tf-ph{color:#0B1F21}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tf-ph{color:#0B1F21}}
.tf-card b{font-size:17px;margin-top:4px}.tf-hl{color:var(--text-2);font-size:13.5px}
.tf-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.tf-tags i{font-style:normal;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--surface-2)}
.tf-card p{margin:4px 0 0;font-size:13.5px;line-height:1.9;color:var(--text-2)}
.tf-meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;font-size:12.5px;color:var(--muted)}.tf-meta span:empty{display:none}.tf-meta span+span::before{content:'· '}
.tf-pn{font-size:12.5px;color:var(--muted);margin:10px 4px 0;line-height:1.8}
.tf-form fieldset{border:0;margin:0;padding:0;min-width:0}
.tf-sec{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:14px}
.tf-sec h2{font-size:16px;margin:0 0 14px;display:flex;align-items:center;gap:8px}.tf-sec h2 i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-2,var(--surface-2));color:var(--accent);font-size:13px}
.tf-photo{display:flex;gap:16px;align-items:center;margin-bottom:14px}.tf-photo>div:last-child{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.tf-photo small{color:var(--muted);font-size:12.5px}
.tf-photo label.btn-x{cursor:pointer}
.tf-err{color:#B71C1C!important}:root[data-theme="dark"] .tf-err{color:#FF8A80!important}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tf-err{color:#FF8A80!important}}
.tf-seg,.tf-chk{display:flex;gap:6px;flex-wrap:wrap}
.tf-seg label,.tf-chk label{cursor:pointer}.tf-seg input,.tf-chk input{position:absolute;opacity:0;pointer-events:none}
.tf-seg span,.tf-chk span{display:inline-block;padding:7px 14px;border-radius:999px;border:1px solid var(--border-strong);font-weight:700;font-size:13.5px;color:var(--text-2);background:var(--surface)}
.tf-seg input:checked+span,.tf-chk input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
:root[data-theme="dark"] .tf-seg input:checked+span,:root[data-theme="dark"] .tf-chk input:checked+span{color:#0B1F21}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tf-seg input:checked+span,:root:not([data-theme="light"]) .tf-chk input:checked+span{color:#0B1F21}}
.tf-seg input:focus-visible+span,.tf-chk input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.tf-file{margin:0 0 6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tf-pub{border-style:dashed}.tf-pub small{display:block;color:var(--muted);font-size:12.5px;margin-top:6px;line-height:1.8}
.tf-save{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;padding:12px 0;background:linear-gradient(transparent,var(--bg,var(--surface-2)) 30%)}
.tf-save .btn-x{padding:10px 26px;font-size:15px}.tf-save small{color:var(--muted)}
.tf-form fieldset:disabled input,.tf-form fieldset:disabled textarea{opacity:.85}
@media (max-width:980px){.tf-wrap{grid-template-columns:1fr}.tf-prev{position:static;grid-column:1;grid-row:auto}.tf-form{grid-row:auto}}
.tf-pick{cursor:pointer}
/* contact: my earlier messages (v64) */
.ct-mine{margin-top:22px}.ct-mine h2{font-size:18px;margin:0 0 10px}
.ct-m{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.ct-mh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ct-mh small{margin-inline-start:auto;color:var(--muted)}
.ct-m>p{margin:8px 0 0;color:var(--text-2);white-space:pre-wrap;line-height:1.9}
.ct-st{font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}
.ct-st.new{background:#E3F2FD;color:#0D47A1}.ct-st.open{background:#FFF4E0;color:#8A5300}.ct-st.done{background:#EAF6EE;color:#1B6B3A}
:root[data-theme="dark"] .ct-st.new{background:#0F2A44;color:#9CCBFF}:root[data-theme="dark"] .ct-st.open{background:#3A2A0C;color:#FFD28A}:root[data-theme="dark"] .ct-st.done{background:#12301F;color:#8FE0AA}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ct-st.new{background:#0F2A44;color:#9CCBFF}:root:not([data-theme="light"]) .ct-st.open{background:#3A2A0C;color:#FFD28A}:root:not([data-theme="light"]) .ct-st.done{background:#12301F;color:#8FE0AA}}
.ct-reply{margin-top:10px;padding:10px 14px;border-radius:12px;border-inline-start:4px solid var(--accent);background:var(--surface-2)}.ct-reply p{margin:4px 0 0;white-space:pre-wrap;line-height:1.9}
/* teacher → admin messages (v64) */
.tp-msg{display:inline-flex;align-items:center;gap:5px;margin-inline-start:6px;padding:4px 11px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;font-size:12.5px}
.tp-msg svg{width:15px;height:15px}
:root[data-theme="dark"] .tp-msg{color:#0B1F21}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tp-msg{color:#0B1F21}}
.tm-head h1{margin:4px 0 6px}.tm-head p{margin:0 0 16px;color:var(--text-2);max-width:640px}
.tm-form{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;max-width:820px}
.tm-trap{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;overflow:hidden;clip-path:inset(50%)}
.tm-send{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tm-send .btn-x{padding:9px 20px;font-size:14.5px}.tm-send .btn-x svg{width:17px;height:17px}.tm-send small{color:var(--muted)}
.tm-m{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:10px;max-width:820px}
.tm-m.answered{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.tm-m>p{margin:8px 0 0;white-space:pre-wrap;line-height:1.9;color:var(--text-2)}
/* ===== admin inbox v2 (v64) ===== */
.mx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.mx-head h1{margin:4px 0 6px}.mx-head p{margin:0;color:var(--text-2);max-width:560px}
.mx-sum{display:flex;gap:8px}.mx-sum>div{min-width:84px;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center}
.mx-sum b{font-size:22px;line-height:1.2}.mx-sum small{color:var(--muted);font-size:12px}
.mx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.mx-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:700;font-size:14px}
.mx-tabs a i{width:10px;height:10px;border-radius:50%;background:var(--rc)}
.mx-tabs a em{font-style:normal;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}
.mx-tabs a.on{border-color:var(--rc);box-shadow:inset 0 0 0 1px var(--rc);background:color-mix(in srgb,var(--rc) 9%,var(--surface))}
.mx-new{font-size:11.5px;padding:1px 8px;border-radius:999px;background:#C62828;color:#fff}
.mx-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.mx-bar .input{flex:1;min-width:200px;max-width:340px}
.mx-bar .tf-seg span small{font-weight:600;opacity:.8}
.mx-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 18px 14px;margin-bottom:12px;border-inline-start:5px solid var(--rc)}
.mx-card.done{opacity:.82}
.mx-card.new{box-shadow:0 0 0 1px color-mix(in srgb,var(--rc) 40%,transparent),var(--shadow-sm,0 2px 10px rgba(0,0,0,.05))}
.mx-ch{display:flex;align-items:flex-start;gap:12px}
.mx-av{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--rc) 16%,var(--surface));color:var(--rc);font-weight:900;font-size:18px;flex:none}
:root[data-theme="dark"] .mx-av{color:color-mix(in srgb,var(--rc) 46%,#fff)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mx-av{color:color-mix(in srgb,var(--rc) 46%,#fff)}}
.mx-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.mx-who b{font-size:15.5px}
.mx-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mx-role{font-size:12px;font-weight:800;padding:2px 10px;border-radius:999px;background:var(--rc);color:#fff}
.mx-topic{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}
.mx-time{color:var(--muted);white-space:nowrap}
.mx-body{margin:12px 0 8px;white-space:pre-wrap;line-height:1.95}
.mx-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-2)}.mx-meta a{font-weight:700}
.mx-act{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.mx-rep{flex:1 1 100%;order:-1}.mx-rep>summary{list-style:none;display:inline-flex;cursor:pointer}.mx-rep>summary::-webkit-details-marker{display:none}
.mx-rep[open]>summary{margin-bottom:8px}.mx-rep form{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.mx-rep textarea{width:100%;border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px;background:var(--surface);color:var(--text);font:inherit;line-height:1.9}
.mx-act form.inline{margin:0}
.field>span em.opt{font-style:normal;font-weight:500;color:var(--muted)}
.mx-rep{flex:0 0 auto;order:0}.mx-rep[open]{flex:1 1 100%;order:-1}
/* ===== course teacher view (v65) ===== */
.brand-img{width:34px;height:34px;border-radius:9px;flex:none}
.nav-back{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 12px;border-radius:12px;background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:700;font-size:14px}
.nav-back svg{width:18px;height:18px}.nav-back:hover{color:var(--accent)}
.topbar .search{flex:1 1 260px}
.tb-set{position:relative}.tb-set>summary{list-style:none;cursor:pointer}.tb-set>summary::-webkit-details-marker{display:none}
.tb-pop{position:absolute;top:calc(100% + 8px);inset-inline-start:0;z-index:40;min-width:290px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:10px}
.tb-pop .ctrl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.tb-nav{margin-inline-start:auto;gap:6px}
.dash-stats{margin-top:4px}.dash-stats .stat{padding:12px 14px}.dash-stats .stat b{font-size:20px}
.dash-fold>summary{cursor:pointer;list-style:none}.dash-fold>summary::-webkit-details-marker{display:none}.dash-fold>summary h3{display:inline;margin:0}.dash-fold>summary::after{content:' ▾';color:var(--muted)}
.dash-fold[open]>summary{margin-bottom:10px}
@media (max-width:760px){.tb-pop{inset-inline-start:auto;inset-inline-end:0;min-width:260px}.tb-nav .ghost{display:none}}
.tb-pop{left:0;right:auto;inset-inline-start:auto}
@media (max-width:760px){.tb-pop{left:0;right:auto}.dash-stats{grid-template-columns:1fr 1fr!important;gap:8px}.dash-stats .stat b{font-size:17px}.dash-stats .stat span{font-size:12px}}
/* ===== teacher course app, v66: teach mode, view switch, lesson jump bar ===== */
.steps-nav button{min-width:34px;min-height:32px;font-family:var(--fa);font-weight:700;border-bottom:3px solid var(--border)}
.steps-nav button.k-review{border-bottom-color:#9775FA}.steps-nav button.k-ex{border-bottom-color:#F59F00}.steps-nav button.k-check{border-bottom-color:#12B886}.steps-nav button.k-wrap{border-bottom-color:#4C8DFF}
.steps-nav button.cur{border-bottom-color:var(--accent)}
.teach-body.narrow #t-clockcard{position:sticky;top:-16px;z-index:3;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.teach-body.narrow #t-clockcard .steps-nav{max-height:84px;overflow:auto}
@media (max-width:600px){.teach-top{gap:6px;padding:8px 12px}.teach-top h2{flex-basis:100%;font-size:14px}.teach-top .btn{padding:7px 10px;font-size:13px}.teach-body{padding:12px}}
.tb-view .seg button{font-family:var(--fa);white-space:nowrap}
.tb-dur-m{display:none!important}
@media (max-width:600px){.tb-dur{display:none!important}.tb-dur-m{display:flex!important}.tb-view .seg button{padding:6px 8px;font-size:12.5px}}
body.projection .tb-view{outline:2px solid #F59F00;outline-offset:3px;border-radius:12px}
.ls-jump{position:sticky;top:64px;z-index:15;display:flex;gap:6px;overflow-x:auto;padding:8px 2px 10px;margin:-4px 0 12px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);scrollbar-width:thin}
.ls-jump button{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.ls-jump button b{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;background:var(--surface-2);color:var(--accent);font-size:11.5px}
.ls-jump button:hover{border-color:var(--accent)}
#content details.sec,#content .t-only{scroll-margin-top:130px}
@media (max-width:760px){.ls-jump{top:0;position:relative}}
@media (max-width:760px){.topbar{position:relative}}
@media (max-width:600px){.teach-body.narrow #t-clockcard .steps-nav,.teach-body.narrow #t-clockcard>.small{display:none}.teach-body.narrow #t-clockcard{padding:10px 12px}.teach-body.narrow #t-clockcard .progress{margin-top:8px!important}}
.resume-card{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-color:#F0D29A;background:color-mix(in srgb,#FFB020 9%,var(--surface))}
.resume-card .kicker{color:#9A5B00}:root[data-theme="dark"] .resume-card .kicker{color:#FFC46B}
.tb-dur-p b{font-weight:800}.tb-dur-p a{margin-inline-start:auto;font-weight:700}
/* v68: course dashboard week strip; the teacher's way back sits in the side-nav (top bar only on a phone) */
@media (min-width:761px){.tb-nav.only-m{display:none}}
.wk-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.wk{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.wk-h{display:flex;justify-content:space-between;align-items:center}.wk .progress{margin:0}
.wk-ls{display:flex;gap:6px;flex-wrap:wrap}
.wk-ls a{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:800;font-family:var(--de)}
.wk-ls a:hover{border-color:var(--accent);color:var(--accent)}.wk-ls a.done{background:var(--ok,#2E7D32);border-color:var(--ok,#2E7D32);color:#fff}
.wk>a.small{font-weight:700;text-decoration:none}
.wk-strip{margin-bottom:14px}
/* v69: folding weeks in the course side-nav */
.nav-wk{margin:2px 0}
.nav-wk>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border-radius:10px;font-size:13px;font-weight:700;color:var(--text-2)}
.nav-wk>summary::-webkit-details-marker{display:none}
.nav-wk>summary::after{content:'▾';font-size:11px;color:var(--muted);transition:transform .15s}
.nav-wk[open]>summary::after{transform:rotate(180deg)}
.nav-wk>summary small{margin-inline-start:auto;font-size:11.5px;color:var(--muted);font-weight:600}
.nav-wk>summary:hover{background:var(--surface-2)}
.nav-wk[open]>summary{color:var(--accent)}
.sidebar .nav-group{margin-top:12px}
.nav-foot{display:flex;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
.nav .nav-foot a{flex:1;justify-content:center;padding:7px 8px;font-size:13px;border:1px solid var(--border);border-radius:10px}
.nav .nav-foot a[data-logout]{flex:0 0 auto;color:#B71C1C}
:root[data-theme="dark"] .nav .nav-foot a[data-logout]{color:#FF8A80}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav .nav-foot a[data-logout]{color:#FF8A80}}
.nav-tools{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.nav .nav-tools a{padding:7px 8px;font-size:12.5px;gap:6px;border:1px solid var(--border);border-radius:10px;min-width:0}
.nav .nav-tools a svg{width:15px;height:15px;flex:none}
.nav .nav-tools a .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ===== course app v70 (owner, آبان ۱۴۰۵): no weeks, lesson «books», calmer type, prettier tables ===== */
/* type & rhythm: a little larger, more line height, more air between blocks */
.app .content{font-size:15.5px;line-height:1.95;padding:26px 28px 60px;max-width:1160px}
.app .content h1{font-size:26px;line-height:1.45;margin-bottom:6px}
.app .content h2{font-size:19px;line-height:1.5}
.app .content h3,.app .card h3{font-size:16.5px;line-height:1.55;margin-bottom:10px}
.app .content .small{font-size:13.5px;line-height:1.8}
.app .content .muted{color:var(--text-2)}
.app .content .card{padding:20px 22px;margin-bottom:18px;border-radius:16px}
.app .content .page-head{margin-bottom:22px}
.app .content ul,.app .content ol{padding-inline-start:22px}.app .content li{margin-bottom:6px}
.app .content p{margin:0 0 10px}
.app .cmd{gap:12px}.app .cmd .q{padding:14px 16px;font-size:14.5px;line-height:1.95;border-radius:12px}.app .cmd .q b{font-size:13.5px;margin-bottom:6px}
/* the lesson sections: no stray site padding (.sec), roomier headers and bodies */
.app details.sec{padding:0;border-radius:16px;margin-bottom:14px}
.app details.sec>summary{padding:16px 20px;font-size:16.5px}
.app details.sec>.body{padding:4px 22px 22px}
.app details.sec>summary .letter{width:30px;height:30px;border-radius:9px;font-size:14px}
/* tables: soft header, row lines only, zebra, rounded frame */
.app table.t{border-collapse:separate;border-spacing:0;width:100%;margin:12px 0 16px;font-size:14.5px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.app table.t th,.app table.t td{border:0;border-bottom:1px solid var(--border);padding:11px 14px;vertical-align:top;line-height:1.8}
.app table.t tr:last-child>td,.app table.t tr:last-child>th{border-bottom:0}
.app table.t thead th{background:var(--surface-2);color:var(--text-2);font-weight:700;font-size:13.5px}
.app table.t tbody th{background:var(--surface-2);color:var(--text-2);font-weight:700;width:34%}
.app table.t tbody tr:nth-child(even)>td{background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}
.app table.t tbody tr:hover>td{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.app .tbl-wrap{border-radius:12px}
/* side-nav: the one folding lesson list */
.nav-ls>summary span{display:inline-flex;align-items:center;gap:8px}.nav-ls>summary svg{width:18px;height:18px}
.nav-ls>summary{font-size:14px;color:var(--text);padding:9px 12px}
.nav-ls[open]>summary{background:var(--surface-2)}
.nav-ls>a{margin-inline-start:6px}
/* dashboard: next session with a mascot */
.next-card{position:relative;padding-inline-start:120px!important;min-height:130px}
.next-card .masc{position:absolute;inset-inline-start:18px;top:18px;width:88px;height:88px}
@media (max-width:600px){.next-card{padding-inline-start:20px!important}.next-card .masc{display:none}}
.dash-h{margin:26px 0 14px}
/* lesson «books»: square cards, a spine in the module colour */
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:16px}
.book{--bc:#0F766E;position:relative;aspect-ratio:1/1;display:flex;flex-direction:column;gap:4px;padding:14px 16px 14px 14px;padding-inline-start:22px;border-radius:6px 16px 16px 6px;background:linear-gradient(160deg,color-mix(in srgb,var(--bc) 13%,var(--surface)),var(--surface) 62%);border:1px solid color-mix(in srgb,var(--bc) 30%,var(--border));color:var(--text);text-decoration:none;box-shadow:0 2px 0 color-mix(in srgb,var(--bc) 25%,transparent),0 6px 18px rgba(16,24,40,.06);transition:transform .15s,box-shadow .15s;overflow:hidden}
[dir="rtl"] .book{border-radius:16px 6px 6px 16px}
.book::before{content:'';position:absolute;inset-block:0;inset-inline-start:0;width:9px;background:var(--bc)}
.book::after{content:'';position:absolute;inset-block:0;inset-inline-start:9px;width:2px;background:color-mix(in srgb,var(--bc) 35%,transparent)}
.book:hover{transform:translateY(-3px);box-shadow:0 2px 0 color-mix(in srgb,var(--bc) 30%,transparent),0 12px 26px rgba(16,24,40,.12)}
.book.m1{--bc:#0F766E}.book.m2{--bc:#4C51BF}.book.m3{--bc:#C2410C}.book.m4{--bc:#BE185D}
.book-top{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11.5px}
.book-mod{color:color-mix(in srgb,var(--bc) 80%,var(--text));font-weight:800}
.book-st{font-weight:800;color:var(--ok);background:var(--ok-bg);padding:1px 8px;border-radius:999px;white-space:nowrap}
.book-st.nx{color:#fff;background:var(--bc)}
.book-n{display:flex;align-items:baseline;gap:6px;font-size:40px;font-weight:900;line-height:1.1;color:var(--bc);margin-top:auto}
.book-n small{font-size:14px;font-weight:700;color:var(--text-2)}
.book-de{font-family:var(--de);font-weight:700;font-size:14px;line-height:1.4;text-align:right;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-fa{font-size:12.5px;line-height:1.7;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-bar{height:5px;border-radius:9px;background:color-mix(in srgb,var(--bc) 14%,var(--surface-2));overflow:hidden;margin-top:6px;flex:none}.book-bar i{display:block;height:100%;background:var(--bc)}
.book.done{opacity:.86}.book.next{outline:2px solid var(--bc);outline-offset:3px}
:root[data-theme="dark"] .book-mod,:root[data-theme="dark"] .book-n{color:color-mix(in srgb,var(--bc) 50%,#fff)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .book-mod,:root:not([data-theme="light"]) .book-n{color:color-mix(in srgb,var(--bc) 50%,#fff)}}
@media (max-width:600px){.books{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book{padding:10px 12px;padding-inline-start:18px}.book-n{font-size:32px}.book-fa{display:none}.app .content{padding:16px 14px 50px;font-size:15px}}
.books{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media (max-width:600px){.books{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ===== classroom tools (v71) ===== */
.teach-tools{display:flex;gap:6px;flex-wrap:wrap;padding:8px 18px;background:var(--surface);border-bottom:1px solid var(--border)}
.teach-tools .btn{font-size:13px;padding:6px 12px;border-radius:999px}
.teach-tools [data-ct="keys"]{margin-inline-start:auto;color:var(--text-2)}
@media (max-width:600px){.teach-tools{padding:6px 10px;overflow-x:auto;flex-wrap:nowrap}.teach-tools .btn{flex:none}}
.tmodal{position:fixed;inset:0;z-index:300;background:rgba(15,20,25,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.tm-box{background:var(--surface);color:var(--text);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:min(460px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}
.tmodal.wide .tm-box{width:min(620px,100%)}
.tm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.tm-head h3{margin:0;font-size:17px}
.tm-body{padding:16px 18px 18px;overflow:auto;line-height:1.9}
.tm-act{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:14px}.tm-act.center{justify-content:center}.tm-act>.small{margin-inline-end:auto}
.att-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}
.att-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;border-radius:12px;background:var(--surface-2)}
.att-row .seg button{font-family:var(--fa);padding:5px 12px}
.att-row .att-a[aria-pressed="true"]{background:#C62828;border-color:#C62828;color:#fff}.att-row .att-l[aria-pressed="true"]{background:#B26A00;border-color:#B26A00;color:#fff}
.pick-name{font-size:44px;font-weight:900;text-align:center;padding:22px 10px 6px;color:var(--accent);line-height:1.3}
.tmodal.bigtimer{background:#0f172a}.tmodal.bigtimer .tm-box{background:transparent;box-shadow:none;width:100%;color:#f8fafc}.tmodal.bigtimer .tm-head{border:0}.tmodal.bigtimer .tm-head h3{color:#94a3b8}
.big-clock{font:900 min(26vw,40vh)/1 var(--de);text-align:center;color:#5eead4;direction:ltr;letter-spacing:2px}.big-clock.over{color:#fb7185}
.big-sub{text-align:center;color:#cbd5e1;font-size:20px;margin-top:8px}
.tmodal.bigtimer .btn{font-size:16px;padding:10px 18px}
.end-st{display:flex;gap:8px;flex-wrap:wrap}
.hw-cls{display:flex;gap:12px;flex-wrap:wrap}
table.keys td:first-child{width:90px}kbd{display:inline-block;min-width:34px;text-align:center;padding:2px 8px;border-radius:7px;border:1px solid var(--border-strong);border-bottom-width:3px;background:var(--surface-2);font-family:var(--de);font-weight:700;font-size:13px}

/* v74 gift codes (admin/vouchers) */
.vc-fresh{border:1px solid color-mix(in srgb,var(--ok,#237247) 40%,var(--border));background:color-mix(in srgb,var(--ok,#237247) 6%,var(--surface));border-radius:16px;padding:14px 16px;margin-bottom:14px}
.vc-fh{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.vc-fh b{display:block;font-size:16px}.vc-fh span{color:var(--text-2);font-size:13.5px}
.vc-fa{display:flex;gap:8px}
.vc-codes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vc-code{font-family:ui-monospace,Menlo,Consolas,monospace;direction:ltr;letter-spacing:.06em;font-weight:700;font-size:14.5px;padding:7px 12px;border-radius:10px;border:1px dashed var(--border-strong);background:var(--surface);color:var(--text);cursor:copy}
.vc-code.sm{font-size:13.5px;padding:4px 9px}.vc-code.ok{border-style:solid;border-color:var(--accent);color:var(--accent)}
.vc-make{border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:18px}
.vc-make>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:800;font-size:15.5px}.vc-make>summary::-webkit-details-marker{display:none}
.vc-make>summary span{display:inline-flex;align-items:center;gap:8px}.vc-make>summary svg{width:18px;height:18px}
.vc-make[open]>summary{border-bottom:1px solid var(--border)}
.vc-step{padding:16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px}
.vc-step h3{margin:0;font-size:15px;display:flex;align-items:center;gap:8px}
.vc-step h3 i{font-style:normal;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:inline-grid;place-items:center;font-size:13px}
.vc-step .field{max-width:520px}.vc-step .field>span:first-child{display:block;margin-bottom:6px}
.vc-step .vc-when{display:flex;flex-direction:column;gap:12px}.vc-step label.vc-when{display:block}.vc-when[hidden]{display:none!important}
.vc-days{max-width:180px!important}
.vc-row{display:grid;grid-template-columns:150px 200px 1fr;gap:12px;align-items:end}.vc-row .field{max-width:none}
.vc-hint{margin:0;color:var(--muted);font-size:13px;max-width:620px}
.vc-go{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;background:var(--surface-2);border-radius:0 0 16px 16px}
.vc-go p{margin:0;font-size:14px;color:var(--text-2)}.vc-go p b{color:var(--text)}
.vc-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.vc-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.vc-search .input{min-width:200px}
.vc-scope{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;color:var(--sc);background:color-mix(in srgb,var(--sc) 12%,transparent);margin-left:4px}
.vc-note,.vc-used{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.vc-t td{vertical-align:middle}
@media (max-width:700px){.vc-row{grid-template-columns:1fr 1fr}.vc-row .field:last-child{grid-column:1/-1}.vc-search .input{min-width:0;flex:1}}
.vc-plus{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:16px;line-height:1}
@media (max-width:700px){
  .vc-t thead{display:none}.vc-t,.vc-t tbody,.vc-t tr,.vc-t td{display:block;width:100%}
  .vc-t tr{border:1px solid var(--border);border-radius:14px;padding:10px 12px;margin-bottom:10px;background:var(--surface);position:relative}
  .vc-t td{border:0!important;padding:4px 0!important;display:flex;gap:10px;align-items:baseline}
  .vc-t td[data-l]::before{content:attr(data-l);flex:0 0 78px;color:var(--muted);font-size:12.5px}
  .vc-t td[data-l="کد"]{flex-wrap:wrap}.vc-t td[data-l="کد"] .vc-note{flex-basis:100%;margin-right:88px}
  .vc-t td.vc-del{position:absolute;left:10px;top:8px;width:auto}
  .tbl-wrap:has(.vc-t){overflow:visible}
}

/* v78 keyboard help */
.ky-h{margin:14px 0 6px;font-size:13px;color:var(--muted);font-weight:800}.ky-h:first-child{margin-top:0}
.ky-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.ky-row{display:flex;align-items:center;gap:14px;padding:9px 12px;font-size:14px}.ky-row+.ky-row{border-top:1px solid var(--border)}
.ky-k{flex:0 0 150px;display:flex;align-items:center;gap:6px;direction:ltr;justify-content:flex-end}
.ky-or{font-size:11.5px;color:var(--muted)}
.ky-note{margin:12px 0 0}
@media (max-width:520px){.ky-k{flex-basis:110px}.ky-row{font-size:13px}}
.pk-go.pk-off{background:var(--surface-2);color:var(--muted);border:1px dashed var(--border-strong);cursor:default;box-shadow:none}

/* v81 admin home */
.ad-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ad-head h1{margin:4px 0 4px}.ad-head p{margin:0;color:var(--text-2)}
.ad-quick{display:flex;gap:8px;flex-wrap:wrap}
.ad-quick a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;font-weight:700;font-size:13.5px}
.ad-quick a:hover{border-color:var(--accent);color:var(--accent)}.ad-quick svg{width:17px;height:17px}
.ad-h{font-size:16.5px;margin:22px 0 10px;display:flex;align-items:baseline;gap:10px}.ad-h small{font-size:12.5px;color:var(--muted);font-weight:500}
.ad-setup{border:1px solid color-mix(in srgb,var(--warn,#B45309) 35%,var(--border));background:color-mix(in srgb,var(--warn,#B45309) 6%,var(--surface));border-radius:16px;padding:14px 16px}
.ad-setup-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.ad-setup-h span{color:var(--text-2);font-size:13.5px}
.ad-bar{height:7px;border-radius:9px;background:var(--surface-2);margin:10px 0;overflow:hidden}.ad-bar i{display:block;height:100%;background:var(--accent);border-radius:9px}
.ad-setup ul{list-style:none;margin:0;padding:0}.ad-setup li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px}.ad-setup li a{font-weight:700;white-space:nowrap}
.ad-att{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ad-a{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-inline-start:4px solid var(--c);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}
.ad-a:hover{border-color:var(--c)}.ad-ai{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}.ad-ai svg{width:19px;height:19px}
.ad-at{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ad-at b{font-size:14.5px}.ad-at b em{font-style:normal;color:var(--c);font-size:17px}.ad-at small{color:var(--muted);font-size:12.5px;line-height:1.6}
.ad-go{color:var(--muted)}
.ad-ok{padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--ok,#237247) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--ok,#237247) 30%,var(--border));margin:0;font-weight:600}
.ad-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ad-k{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}
.ad-k:hover{border-color:var(--accent)}.ad-kl{display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:13.5px;font-weight:600}.ad-kl svg{width:16px;height:16px}
.ad-k b{font-size:24px;line-height:1.2}.ad-k b small{font-size:13px;color:var(--muted);font-weight:500}
.ad-ks{font-size:12.5px;color:var(--text-2)}
.ad-d{font-size:12.5px;font-weight:700}.ad-d.up{color:var(--ok,#237247)}.ad-d.down{color:var(--bad,#B91C1C)}.ad-d.eq{color:var(--muted)}
.ad-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.ad-list{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:4px 14px 8px}
.ad-list header{display:flex;justify-content:space-between;align-items:baseline}.ad-list header .ad-h{margin:12px 0 6px}.ad-list header a{font-size:13px;font-weight:700}
.ad-row{display:flex;align-items:center;gap:10px;padding:9px 0;color:var(--text);text-decoration:none}.ad-row+.ad-row{border-top:1px solid var(--border)}
.ad-av{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:800;color:var(--text-2)}.ad-av svg{width:16px;height:16px}
.ad-av.order{background:color-mix(in srgb,#237247 12%,transparent);color:#237247}.ad-av.voucher{background:color-mix(in srgb,#7B4FC4 12%,transparent);color:#7B4FC4}
.ad-rt{flex:1;min-width:0;display:flex;flex-direction:column}.ad-rt b{font-size:14px}.ad-rt small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-time{color:var(--muted);font-size:12px;white-space:nowrap}.ad-amt{display:flex;flex-direction:column;align-items:flex-end;font-weight:700;font-size:13.5px;white-space:nowrap}
.ad-empty{color:var(--muted);font-size:13.5px;margin:10px 0}
.ad-all{margin-top:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.ad-all>summary{cursor:pointer;padding:13px 16px;font-weight:800}
.ad-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:4px 16px 16px}
.ad-groups h3{font-size:12.5px;color:var(--muted);margin:6px 0 6px}
.ad-groups a{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;color:var(--text);text-decoration:none;font-size:14px}.ad-groups a:hover{background:var(--surface-2)}
.ad-groups a svg{width:16px;height:16px;color:var(--text-2)}.ad-groups a em{font-style:normal;font-size:11.5px;color:var(--text-2);background:var(--surface-2);border-radius:999px;padding:0 7px}
@media (max-width:1100px){.ad-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ad-two{grid-template-columns:1fr}.ad-quick{width:100%}.ad-quick a{flex:1 1 45%;justify-content:center}.ad-k b{font-size:20px}}

/* v85 post form: Jalali date + Google preview */
.pd-row{display:grid;grid-template-columns:62px 1fr 74px;gap:6px}.pd-row input[type=time]{grid-column:1/-1}
.pd-row select,.pd-row input{width:100%;min-width:0}
.seo-box{border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:6px 0 12px;background:var(--surface-2)}
.seo-box>b{display:block;font-size:13px;margin-bottom:6px}
.cnt{display:block;margin-top:3px;color:var(--muted)}.cnt.over{color:var(--warn,#B45309);font-weight:700}
.serp{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 11px;font-family:Arial,sans-serif}
.serp-u{font-size:11.5px;color:#4d5156;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.serp-t{color:#1a0dab;font-size:15px;line-height:1.35}.serp-d{color:#4d5156;font-size:12.5px;line-height:1.55}
:root[data-theme="dark"] .serp-t{color:#8ab4f8}:root[data-theme="dark"] .serp-u,:root[data-theme="dark"] .serp-d{color:#bdc1c6}
.serp,.seo-box{min-width:0;max-width:100%}.serp>*{min-width:0;max-width:100%}.serp-u{display:block}
.pgrid>*{min-width:0}.pgrid img{max-width:100%}

/* v86 roles & access */
.ac-add{display:flex;flex-direction:column;gap:12px;padding:16px}
.ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.ac-grid[hidden]{display:none}
.ac-m{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:8px}
.ac-m.off{opacity:.65}.ac-mt{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}
.ac-chips{display:flex;gap:5px;flex-wrap:wrap}
.ac-role{font-size:12.5px;font-weight:800;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,#7B4FC4 13%,transparent);color:#7B4FC4}
.ac-perm{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}
.ac-act{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ac-act select{padding:7px 9px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface)}
.ac-r{border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:8px}
.ac-r>summary{cursor:pointer;padding:12px 14px;display:flex;flex-direction:column;gap:6px;list-style:none}.ac-r>summary::-webkit-details-marker{display:none}
.ac-rn{display:flex;align-items:center;gap:8px}.ac-rn em{font-style:normal;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.ac-rn small{color:var(--muted);margin-inline-start:auto}
.ac-r form{padding:4px 14px 14px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border)}
.ac-perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.ac-pc{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--border);border-radius:11px;cursor:pointer;background:var(--surface)}
.ac-pc:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.ac-pc input{margin-top:4px}.ac-pc span{display:flex;flex-direction:column}.ac-pc b{font-size:14px}.ac-pc small{color:var(--muted);font-size:12.5px;line-height:1.6}
.ac-save{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* v87 admin home: hero + section search + 14-day bars + section cards */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ad-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:end;padding:22px 22px 18px;margin-bottom:6px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:20px;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,#7B4FC4 10%,transparent),transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),var(--surface) 70%)}
.ad-hi h1{margin:6px 0 4px;font-size:clamp(22px,2.4vw,28px)}.ad-hi p{margin:0;color:var(--text-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ad-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.ad-dot.ok{background:var(--ok,#237247)}.ad-dot.warn{background:#D97706;box-shadow:0 0 0 4px color-mix(in srgb,#D97706 20%,transparent)}
.ad-hero .ad-quick{grid-column:2;grid-row:1;align-self:start}
.ad-hero .ad-quick a{background:color-mix(in srgb,var(--surface) 85%,transparent)}
.ad-find{grid-column:1/-1;position:relative;display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ad-find:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.ad-find>svg{width:18px;height:18px;color:var(--muted);flex:none}
.ad-find input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:15px;color:var(--text);outline:0;height:100%}
.ad-find kbd{font:600 12px/1 inherit;padding:4px 8px;border:1px solid var(--border);border-bottom-width:2px;border-radius:7px;color:var(--muted)}
.ad-fl{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:30;list-style:none;margin:0;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 12px 32px rgba(0,0,0,.14)}
.ad-fl a{display:flex;flex-direction:column;padding:8px 12px;border-radius:10px;color:var(--text);text-decoration:none}.ad-fl a small{color:var(--muted);font-size:12.5px}
.ad-fl li.on a,.ad-fl a:hover{background:var(--accent-2)}.ad-fl .none{padding:10px 12px;color:var(--muted)}
.ad-k{position:relative}.ad-sp{width:100%;height:30px;margin-top:4px}.ad-sp rect{fill:color-mix(in srgb,var(--muted) 35%,transparent)}.ad-sp rect.now{fill:var(--accent)}
.ad-sec{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--g) 6%,var(--surface)),var(--surface) 90px)}
.ad-sec>header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 2px 12px}.ad-sec h3{margin:0;font-size:15.5px;display:flex;align-items:center;gap:8px}
.ad-sec h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--g)}.ad-sec header small{color:var(--muted);font-size:12.5px}
.ad-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ad-c{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;gap:4px 12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.ad-c:hover,.ad-c:focus-visible{border-color:var(--g);transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--g) 14%,transparent)}
.ad-ci{grid-row:1/3;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--g)}.ad-ci svg{width:19px;height:19px}
.ad-ct{display:flex;flex-direction:column;gap:3px}.ad-ct b{font-size:14.5px}.ad-ct small{color:var(--text-2);font-size:12.5px;line-height:1.7}
.ad-cf{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px;margin-top:6px;align-self:end}
.ad-cf em{font-style:normal;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;line-height:1.7;background:color-mix(in srgb,var(--g) 11%,transparent);color:var(--text-2)}
.ad-cf em.warn{background:color-mix(in srgb,#DC2626 12%,transparent);color:#B91C1C}
.ad-cta{margin-inline-start:auto;font-size:12.5px;font-weight:700;color:var(--g);white-space:nowrap}
:root[data-theme="dark"] .ad-cta{color:color-mix(in srgb,var(--g) 55%,#fff)}:root[data-theme="dark"] .ad-cf em.warn{color:#FCA5A5}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ad-cta{color:color-mix(in srgb,var(--g) 55%,#fff)}:root:not([data-theme="light"]) .ad-cf em.warn{color:#FCA5A5}}
@media (max-width:860px){.ad-hero{grid-template-columns:1fr;padding:18px 16px}.ad-hero .ad-quick{grid-column:1;grid-row:auto}.ad-find kbd{display:none}}
@media (max-width:560px){.ad-cards{grid-template-columns:1fr}.ad-sec{padding:12px}}
@media (max-width:560px){.ad-c{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;padding:10px 12px;gap:10px}.ad-ci{grid-row:auto;width:36px;height:36px}
  .ad-ct small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-cf{grid-column:auto;margin:0;align-self:center}.ad-cta{display:none}.ad-cards{gap:6px}.ad-c:hover{transform:none}}
/* v87 redirects · social links · code usage */
.rd-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:start}.rd-arrow{align-self:center;font-size:20px;color:var(--muted);padding-top:8px}
.rd-grid2{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:10px 0}.rd-grid2 .field{flex:1;min-width:200px;margin:0}
.rd-p{word-break:break-all;font-size:13px}.rd-edit>summary{list-style:none;cursor:pointer;display:inline-block}.rd-edit>summary::-webkit-details-marker{display:none}
.rd-edit[open]{position:relative}.rd-edit form{margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);display:grid;gap:8px;min-width:260px;text-align:start}
.sn-list{display:grid;gap:10px;margin-bottom:14px}
.sn-row{display:grid;grid-template-columns:170px minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px 14px;align-items:end;padding:12px 14px;border:1px solid var(--border);border-inline-start:4px solid color-mix(in srgb,var(--c) 35%,var(--border));border-radius:14px;background:var(--surface)}
.sn-row.on{border-inline-start-color:var(--c)}.sn-row .field{margin:0}
.sn-name{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;align-self:center}.sn-name>*:not(.sn-ic){grid-column:2}
.sn-ic{grid-row:1/3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--c)}.sn-ic svg{width:18px;height:18px}
.sn-row:not(.on) .sn-ic{background:color-mix(in srgb,var(--c) 40%,var(--surface-2))}
.sn-opt{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sn-opt .tf-chk span{padding:6px 11px;font-size:12.5px}
.sn-o{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.sn-o input{width:64px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text)}
.sn-save{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cu-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.cu-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:6px}
.cu-code{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.cu-code b{font-size:20px}.cu-code b small{font-size:12.5px;color:var(--muted);font-weight:500}
.cu-ch{display:flex;justify-content:space-between;align-items:center;gap:8px}
@media (max-width:1000px){.sn-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sn-name{grid-column:1/-1}.sn-opt{grid-column:1/-1}}
@media (max-width:640px){.rd-grid{grid-template-columns:1fr}.rd-arrow{display:none}.sn-row{grid-template-columns:1fr}.cu-kpi{grid-template-columns:1fr}.rd-edit form{min-width:0}}
.mx-sum>a{min-width:84px;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;color:var(--text);text-decoration:none}.mx-sum>a:hover{border-color:var(--accent)}
.cu-search{align-items:center}.cu-search>.input{width:auto;flex:1 1 220px;margin:0}.cu-search>select.input{flex:0 0 170px}@media (max-width:640px){.cu-search>select.input{flex:1 1 100%}}
/* v87b admin home: coloured banner, waiting chips, coloured tiles and cards */
.d4-hero{position:relative;overflow:hidden;padding:24px 24px 20px;border-radius:22px;color:#fff;margin-bottom:8px;
  background:radial-gradient(90% 140% at 100% 0%,rgba(255,255,255,.16),transparent 55%),radial-gradient(70% 120% at 0% 100%,rgba(123,79,196,.55),transparent 60%),linear-gradient(135deg,#00838F 0%,#0E6E8C 45%,#4B3B9A 100%);
  box-shadow:0 14px 34px -14px rgba(14,110,140,.55)}
.d4-hero::after{content:"";position:absolute;inset-inline-start:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.d4-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;position:relative;z-index:1}
.d4-date{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12.5px;font-weight:700}
.d4-hi h1{color:#fff;margin:10px 0 4px;font-size:clamp(23px,2.6vw,30px)}.d4-hi p{margin:0;color:rgba(255,255,255,.88);font-size:14.5px}.d4-hi p b{color:#fff}
.d4-quick{display:flex;gap:8px;flex-wrap:wrap}
.d4-quick a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-weight:700;font-size:13.5px;backdrop-filter:blur(4px)}
.d4-quick a:hover{background:rgba(255,255,255,.26)}.d4-quick svg{width:17px;height:17px}
.d4-wait{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;position:relative;z-index:1}
.d4-wait a{display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 15px;border-radius:999px;background:#fff;color:#1f2937;text-decoration:none;font-size:13.5px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.d4-wait a span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--c) 15%,#fff);color:var(--c)}.d4-wait a svg{width:14px;height:14px}
.d4-wait a b{color:var(--c);font-size:15px}.d4-wait a:hover{transform:translateY(-1px)}
.d4-find{margin-top:16px;z-index:2;border-color:transparent;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.d4-kpi .ad-k{border-top:3px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,var(--surface)),var(--surface) 70%)}
.d4-kpi .ad-k:hover{border-color:var(--c)}.d4-kpi .ad-sp rect.now{fill:var(--c)}
.d4-ki{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--c);color:#fff;font-style:normal}.d4-ki svg{width:15px!important;height:15px!important}
.ad-c{border-color:color-mix(in srgb,var(--g) 22%,var(--border));background:linear-gradient(160deg,color-mix(in srgb,var(--g) 6%,var(--surface)),var(--surface) 55%)}
.ad-ci{box-shadow:0 6px 14px -6px var(--g)}
:root[data-theme="dark"] .d4-wait a{background:#1E293B;color:#E5E7EB}:root[data-theme="dark"] .d4-wait a b{color:color-mix(in srgb,var(--c) 55%,#fff)}:root[data-theme="dark"] .d4-wait a span{background:color-mix(in srgb,var(--c) 30%,#1E293B);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .d4-wait a{background:#1E293B;color:#E5E7EB}:root:not([data-theme="light"]) .d4-wait a b{color:color-mix(in srgb,var(--c) 55%,#fff)}:root:not([data-theme="light"]) .d4-wait a span{background:color-mix(in srgb,var(--c) 30%,#1E293B);color:#fff}}
@media (max-width:760px){.d4-hero{padding:18px 16px 16px;border-radius:18px}.d4-quick{width:100%}.d4-quick a{flex:1 1 45%;justify-content:center}.d4-find kbd{display:none}}
.ad-h{flex-wrap:wrap;row-gap:2px}.ad-h small{flex-basis:auto}
/* v88 admin: side menu as an icon strip + light/dark button */
.pn-mini-t,.pn-theme{flex:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1}
.pn-mini-t:hover,.pn-theme:hover{border-color:var(--accent);color:var(--accent)}.pn-mini-t svg{width:20px;height:20px}
.pn-th-l{display:none}
:root[data-theme="dark"] .pn-th-d{display:none}:root[data-theme="dark"] .pn-th-l{display:inline}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pn-th-d{display:none}:root:not([data-theme="light"]) .pn-th-l{display:inline}}
@media (min-width:981px){
  .pn-side{transition:width .18s ease}
  .pn-mini .pn-side{width:74px;overflow-x:hidden}
  .pn-mini .pn-logo{justify-content:center;padding:16px 8px 14px}.pn-mini .pn-logo span{display:none}
  .pn-mini .pn-gt{font-size:0;padding:0;height:1px;margin:10px 14px;background:var(--border)}
  .pn-mini .pn-nav{padding:8px}.pn-mini .pn-nav a{justify-content:center;padding:0;position:relative}
  .pn-mini .pn-nav a span{display:none}.pn-mini .pn-nav a svg{width:20px;height:20px}
  .pn-mini .pn-nav a em{position:absolute;top:3px;inset-inline-end:6px;padding:0 5px;font-size:10px;line-height:16px;min-width:16px;text-align:center}
}
@media (max-width:980px){.pn-mini-t{display:none}}
@media (max-width:560px){.pn-theme{width:38px;height:38px}}
/* v89 admin → آمار → بازدید سایت */
.pn-content{--vs-1:#2a78d6;--vs-1u:#eb6834;--vs-2:#eb6834;--vs-3:#1baf7a;--vs-4:#6250d6}
:root[data-theme="dark"] .pn-content{--vs-1:#3987e5;--vs-1u:#d95926;--vs-2:#d95926;--vs-3:#199e70;--vs-4:#9085e9}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pn-content{--vs-1:#3987e5;--vs-1u:#d95926;--vs-2:#d95926;--vs-3:#199e70;--vs-4:#9085e9}}
.vs-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.vs-tabs a{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}
.vs-tabs a svg{width:20px;height:20px;color:var(--muted)}.vs-tabs a span{display:flex;flex-direction:column;font-weight:800;font-size:14.5px;line-height:1.4}.vs-tabs a small{font-weight:500;font-size:12px;color:var(--muted)}
.vs-tabs a.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-2)}.vs-tabs a.on svg{color:var(--accent)}
.vs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:16px}.vs-head h1{margin:4px 0}.vs-head p{margin:0;color:var(--text-2);font-size:13.5px}
.vs-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vs-live{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,#16a34a 10%,var(--surface));border:1px solid color-mix(in srgb,#16a34a 30%,var(--border));font-size:13.5px;font-weight:600}
.vs-live i{width:9px;height:9px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:vsPulse 1.8s infinite}
@keyframes vsPulse{70%{box-shadow:0 0 0 9px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
@media (prefers-reduced-motion:reduce){.vs-live i{animation:none}}
.vs-per{display:inline-flex;padding:4px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.vs-per a{padding:6px 14px;border-radius:9px;color:var(--text-2);text-decoration:none;font-weight:700;font-size:13.5px}.vs-per a.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.vs-re{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);text-decoration:none;font-size:17px}
.vs-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.vs-k{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:4px;padding:15px 16px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}
.vs-k::before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--c)}
.vs-kl{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-2)}
.vs-kl i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}.vs-kl svg{width:15px;height:15px}
.vs-k b{font-size:28px;line-height:1.25;letter-spacing:-.3px}
.vs-d{font-size:12.5px;font-weight:800}.vs-d small{font-weight:500;color:var(--muted)}.vs-d.up{color:#15803d}.vs-d.down{color:#b91c1c}.vs-d.eq{color:var(--muted)}
:root[data-theme="dark"] .vs-d.up{color:#4ade80}:root[data-theme="dark"] .vs-d.down{color:#f87171}
.vs-sp{width:100%;height:26px;color:var(--c);margin-top:2px}
.vs-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:16px 18px;margin-bottom:14px;min-width:0}
.vs-card>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.vs-card h2{font-size:16px;margin:0}.vs-card>header small{color:var(--muted);font-size:12.5px}
.vs-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.vs-two>.vs-card{margin-bottom:14px}
.vs-leg{display:flex;gap:14px;font-size:13px;color:var(--text-2)}.vs-leg span{display:inline-flex;align-items:center;gap:6px}
.sw{display:inline-block;width:11px;height:11px;border-radius:3px;flex:none}.sw.a,.sw.s1{background:var(--vs-1)}.sw.b,.sw.s2{background:var(--vs-2)}.sw.s3{background:var(--vs-3)}.sw.g{background:var(--surface-2);border:1px solid var(--border-strong)}
.vs-chart{position:relative;height:260px;padding-bottom:22px;touch-action:pan-y}
.vs-chart svg{width:100%;height:240px;display:block;overflow:visible}
.vs-chart .gl{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.vs-chart .gl.base{stroke:var(--border-strong)}
.vs-chart .ar{fill:color-mix(in srgb,var(--vs-1) 16%,transparent)}
.vs-chart .la{fill:none;stroke:var(--vs-1);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.vs-chart .lb{fill:none;stroke:var(--vs-2);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:0}
.vs-chart .cx{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.vs-chart .da,.vs-chart .db{stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}.vs-chart .da{fill:var(--vs-1)}.vs-chart .db{fill:var(--vs-2)}
.vs-y span{position:absolute;inset-inline-start:0;transform:translateY(-100%);font-size:11px;color:var(--muted);background:color-mix(in srgb,var(--surface) 80%,transparent);padding:0 3px;pointer-events:none}
.vs-x{position:absolute;inset-inline:0;bottom:0;height:20px}.vs-x span{position:absolute;transform:translateX(-50%);font-size:11.5px;color:var(--muted);white-space:nowrap}
.vs-tip{position:absolute;top:0;z-index:5;min-width:150px;padding:9px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 28px rgba(0,0,0,.16);font-size:13px;pointer-events:none}
.vs-tip>b{display:block;margin-bottom:4px}.vs-tip div{display:flex;align-items:center;gap:6px;color:var(--text-2)}.vs-tip div b{color:var(--text);margin-inline-start:auto}
.vs-tbl{margin-top:6px}.vs-tbl>summary{cursor:pointer;font-size:13px;color:var(--text-2);font-weight:700}
.vs-bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.vs-bars li{display:grid;grid-template-columns:minmax(90px,38%) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13.5px}
.vs-bl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.vs-bt{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.vs-bt i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--vs-1) 70%,#fff),var(--vs-1))}
[dir=rtl] .vs-bt i{margin-inline-start:0}
.vs-bv{font-weight:800;white-space:nowrap}.vs-bv small{font-weight:500;color:var(--muted);margin-inline-start:3px}
.vs-refs{margin:12px 0 0;font-size:12.5px;color:var(--text-2);line-height:2}
.vs-donut{display:flex;align-items:center;gap:20px}.vs-donut svg{width:150px;height:150px;flex:none;transform:scaleX(-1)}
.vs-donut text{transform:scaleX(-1);transform-origin:21px 21px}
.vs-seg.s1{stroke:var(--vs-1)}.vs-seg.s2{stroke:var(--vs-2)}.vs-seg.s3{stroke:var(--vs-3)}
.vs-dn{font-size:7px;font-weight:800;fill:var(--text)}.vs-ds{font-size:3.6px;fill:var(--muted)}
.vs-donut ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1}
.vs-donut li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;font-size:14px}.vs-donut li b{font-size:15px}.vs-donut li small{color:var(--muted);min-width:44px;text-align:end}
.vs-split{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);margin-top:18px}.vs-split i{background:var(--vs-1);border-radius:999px}
.vs-splitl{display:flex;justify-content:space-between;font-size:13px;margin-top:6px;color:var(--text-2)}.vs-splitl span{display:inline-flex;align-items:center;gap:6px}
.vs-pt td{vertical-align:middle}.vs-pg{display:flex;flex-direction:column;text-decoration:none;color:var(--text);min-width:0;max-width:420px}.vs-pg b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-pg small{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start}.vs-pg:hover b{color:var(--accent)}
.vs-chip{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--surface-2);font-size:12px;color:var(--text-2);white-space:nowrap}
.vs-num{white-space:nowrap;font-weight:700}.vs-inl{display:inline-block;width:70px;height:7px;border-radius:9px;background:var(--surface-2);margin-inline-end:8px;vertical-align:middle;overflow:hidden}.vs-inl i{display:block;height:100%;background:var(--vs-1);border-radius:9px}
.vs-pt .vs-more{display:none}.vs-card.all .vs-pt .vs-more{display:table-row}.vs-mbtn{margin-top:10px}
.vs-heat-w{overflow-x:auto}
.vs-heat{display:grid;grid-template-columns:72px repeat(24,minmax(16px,1fr));gap:3px;min-width:560px;direction:ltr}
.vs-heat span{font-size:11px;color:var(--muted);text-align:center}.vs-heat .hy{text-align:end;padding-inline-end:8px;direction:rtl;font-size:12px;color:var(--text-2);align-self:center}
.vs-heat i,.vs-hl i{display:block;aspect-ratio:1;border-radius:4px;background:color-mix(in srgb,var(--vs-1) calc(var(--a) * 100%),var(--surface-2))}
.vs-hl{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:10px;font-size:12px;color:var(--muted)}.vs-hl i{width:14px}
.vs-health{list-style:none;margin:0;padding:0;display:grid;gap:12px}.vs-health li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;color:var(--text-2)}
.vs-health b{color:var(--text)}.vs-health b.ok{color:#15803d}.vs-health b.warn{color:#b45309}.vs-health b.bad{color:#b91c1c}.vs-health a{text-decoration:none}
.vs-empty{display:flex;gap:18px;align-items:flex-start;padding:26px;border-radius:20px;border:1px dashed var(--border-strong);background:var(--surface)}.vs-empty>span{font-size:44px}.vs-empty h2{margin:0 0 6px}
@media (max-width:1100px){.vs-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.vs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vs-two{grid-template-columns:1fr}.vs-k b{font-size:23px}.vs-donut{flex-direction:column;align-items:stretch}.vs-donut svg{align-self:center}.vs-card{padding:14px}.vs-pg{max-width:200px}.vs-chart{height:220px}.vs-chart svg{height:200px}}
.vs-heat{direction:rtl;grid-template-columns:76px repeat(24,minmax(14px,1fr))}.vs-heat i{aspect-ratio:auto;height:22px}.vs-heat .hy{text-align:start}
.vs-bars li{grid-template-columns:minmax(80px,36%) minmax(0,1fr) 92px}.vs-bv{text-align:start}
@media (max-width:760px){.vs-kpis .vs-k:last-child:nth-child(odd){grid-column:1/-1}.vs-bars li{grid-template-columns:minmax(70px,34%) minmax(0,1fr) 84px}}
/* ===== v90 Leitner v2 (lx-*) ===== */
.lx{max-width:980px;margin:0 auto;--b1:#AFE5EA;--b2:#5BC3CC;--b3:#00838F;--b4:#6265B1;--b5:#48497D}
.lx-load{padding:40px;text-align:center;color:var(--muted)}
.lx-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.lx-head img{border-radius:50%;background:var(--track-soft)}
.lx-head h1{margin:0;font-size:clamp(22px,2.6vw,28px)}.lx-head p{margin:2px 0 0;color:var(--text-2)}.lx-head>div:nth-child(2){flex:1;min-width:200px}
.lx-chips{display:flex;gap:8px;flex-wrap:wrap}.lx-chips span{padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-weight:700;font-size:13px}
.lx-switch{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:start;margin-bottom:14px;font:inherit;color:var(--text)}
.lx-switch:hover{border-color:var(--dc)}.lx-switch>span:nth-child(2){flex:1;display:flex;flex-direction:column}.lx-switch small{color:var(--muted);font-size:12px}.lx-switch b{font-size:16px}
.lx-chev{font-size:20px;color:var(--muted)}
.lx-cover{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--dc,#00838F),color-mix(in srgb,var(--dc,#00838F) 60%,#202327));font-size:13px;box-shadow:inset -4px 0 0 rgba(255,255,255,.18)}
.lx-cover.book{border-radius:6px 12px 12px 6px}
.lx-boxes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.lx-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--border);text-align:center;overflow:hidden}
.lx-box::before{content:"";position:absolute;inset-inline:0;top:0;height:5px;background:var(--bc)}
.lx-box.b1{--bc:var(--b1)}.lx-box.b2{--bc:var(--b2)}.lx-box.b3{--bc:var(--b3)}.lx-box.b4{--bc:var(--b4)}.lx-box.b5{--bc:var(--b5)}
.lx-box.due{border-color:color-mix(in srgb,var(--bc) 60%,var(--border));box-shadow:0 8px 20px -12px var(--bc)}
.lx-bn{font-size:12.5px;font-weight:800;color:var(--text-2)}
.lx-stack{position:relative;width:42px;height:30px;margin:6px 0 2px}.lx-stack i{position:absolute;inset-inline:0;height:22px;border-radius:5px;background:var(--surface);border:1.5px solid var(--bc)}
.lx-stack i:nth-child(1){top:0;transform:rotate(-7deg)}.lx-stack i:nth-child(2){top:3px;transform:rotate(4deg)}.lx-stack i:nth-child(3){top:7px;background:color-mix(in srgb,var(--bc) 22%,var(--surface))}
.lx-box b{font-size:26px;line-height:1.1}.lx-box small{font-size:11.5px;color:var(--muted)}
.lx-bi{margin-top:4px;padding:2px 9px;border-radius:999px;background:var(--surface-2);font-size:11.5px;font-weight:700;color:var(--text-2)}
.lx-bx{font-size:11px;color:var(--muted);margin-top:3px}.lx-box.due .lx-bx{color:var(--accent);font-weight:800}
.lx-cta{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px}.lx-cta small{color:var(--muted);font-size:12.5px;text-align:center}
.lx-start{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;border:0;border-radius:18px;font:inherit;font-size:18px;font-weight:800;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#00838F,#6265B1);box-shadow:0 12px 26px -12px rgba(0,131,143,.7)}
.lx-start em{font-style:normal;font-size:13.5px;padding:3px 12px;border-radius:999px;background:rgba(255,255,255,.2)}.lx-start:hover{filter:brightness(1.06)}
.lx-start:disabled{background:var(--surface-2);color:var(--muted);box-shadow:none;cursor:default}
.lx-unl{padding:14px 16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--indigo) 30%,var(--border));background:color-mix(in srgb,var(--indigo) 7%,var(--surface));margin-bottom:14px}
.lx-unl-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.lx-unl-h span{color:var(--text-2);font-size:13.5px}.lx-unl p{margin:8px 0;font-size:13.5px;color:var(--text-2)}
.lx-pbar{height:9px;border-radius:9px;background:var(--surface-2);overflow:hidden;margin-top:8px}.lx-pbar i{display:block;height:100%;background:linear-gradient(90deg,#00838F,#6265B1);border-radius:9px}
.lx-free{font-size:13px;color:var(--text-2);text-align:center;margin:0 0 12px}
.lx-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:18px}
.lx-tool{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font:inherit;font-weight:700;font-size:14px;color:var(--text);cursor:pointer;text-align:start}
.lx-tool span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-2);color:var(--accent-ink);font-size:16px;flex:none}
.lx-tool:hover{border-color:var(--accent)}.lx-lock{grid-column:1/-1;margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.lx-sec{margin-bottom:16px;padding:16px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}
.lx-sec>header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.lx-sec h2{margin:0;font-size:16.5px}.lx-sec>header small{color:var(--muted);font-size:12.5px}
.lx-decks,.lx-dlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.lx-dlist{grid-template-columns:1fr;margin-bottom:12px}
.lx-deck{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;text-align:start}
.lx-deck.on{border-color:var(--dc);box-shadow:inset 0 0 0 1px var(--dc);background:color-mix(in srgb,var(--dc) 6%,var(--surface))}
.lx-dt{flex:1;min-width:0;display:flex;flex-direction:column}.lx-dt b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lx-dt small{font-size:12px;color:var(--muted)}
.lx-due{font-style:normal;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--accent);color:#fff;white-space:nowrap}
.lx-kp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.lx-kp div{display:flex;flex-direction:column;align-items:center;padding:10px;border-radius:12px;background:var(--surface-2)}
.lx-kp b{font-size:20px}.lx-kp span{font-size:12px;color:var(--muted)}
.lx-chart{position:relative}.lx-chart svg{width:100%;height:90px;display:block}.lx-chart rect{fill:var(--accent)}.lx-chart rect.hit{fill:transparent;cursor:default}
.lx-chart rect.hit:hover{fill:color-mix(in srgb,var(--accent) 10%,transparent)}
.lx-ctip{position:absolute;top:-8px;inset-inline-start:50%;transform:translateX(50%);padding:5px 10px;border-radius:9px;background:var(--text);color:var(--surface);font-size:12px;white-space:nowrap;pointer-events:none}
.lx-cx{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:4px}
.lx-what{padding:12px 16px;border-radius:16px;border:1px dashed var(--border-strong);margin-bottom:20px}.lx-what summary{cursor:pointer;font-weight:800}
.lx-what ol{margin:10px 0;padding-inline-start:20px;line-height:2}.lx-what kbd,.lx-run kbd,.lx-m kbd{font:600 11px/1 inherit;padding:2px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px;background:var(--surface);color:var(--text-2)}
/* words */
.lx-w{display:inline-flex;align-items:baseline;gap:6px;font-size:16px}.lx-w.big{font-size:clamp(30px,6vw,46px);justify-content:center;flex-wrap:wrap}
.lx-art{font-style:normal;font-weight:800;font-size:.62em;padding:1px .4em;border-radius:.4em;color:#fff}.lx-art.m{background:var(--gder)}.lx-art.f{background:var(--gdie)}.lx-art.n{background:var(--gdas)}
.lx-pl{display:block;color:var(--muted);font-size:15px;margin-top:4px}
/* modal */
.lx-mw{position:fixed;inset:0;z-index:300;background:rgba(15,20,24,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 14px;overflow-y:auto}
.lx-m{width:100%;max-width:520px;background:var(--surface);border-radius:20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);overflow:hidden}.lx-mw.wide .lx-m{max-width:760px}
.lx-m>header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.lx-m h2{margin:0;font-size:17px}
.lx-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:22px;line-height:1;cursor:pointer;color:var(--text-2)}.lx-x:hover{border-color:var(--bad);color:var(--bad)}
.lx-mb{padding:16px 18px 18px}.lx-mb h3{font-size:15px;margin:14px 0 8px}.lx-mb hr{border:0;border-top:1px solid var(--border);margin:16px 0}
.lx-fg{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lx-fg .full{grid-column:1/-1}.lx-mb .field{margin:0 0 10px}
.lx-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.lx-tags{display:flex;gap:8px;align-items:center}.lx-tags label input{position:absolute;opacity:0}.lx-tags i,.lx-tags button{display:block;width:24px;height:24px;border-radius:50%;background:var(--t);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;padding:0}
.lx-tags i.none,.lx-tags button[style*="transparent"]{background:repeating-linear-gradient(45deg,var(--surface-2) 0 3px,var(--surface) 3px 6px)}
.lx-tags input:checked+i,.lx-tags button.on{box-shadow:0 0 0 2px var(--text)}.lx-tags input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.lx-drop{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px;border-radius:16px;border:2px dashed var(--border-strong);text-align:center;cursor:pointer;background:var(--surface-2)}
.lx-drop.over{border-color:var(--accent);background:var(--accent-2)}.lx-drop small{color:var(--muted)}.lx-drop span{font-weight:700;color:var(--accent-ink)}
.lx-res{padding:10px 12px;border-radius:12px;font-weight:600}.lx-res.ok{background:var(--ok-bg);color:var(--ok)}.lx-res.bad{background:var(--bad-bg);color:var(--bad)}
.lx-q{width:100%;height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:15px;color:var(--text);margin-bottom:12px}
.lx-sr{display:grid;gap:6px;max-height:60vh;overflow-y:auto}
.lx-ri{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:9px 12px;border-radius:12px;background:var(--surface-2)}
.lx-ri small{color:var(--muted);font-size:12px}.lx-ri .btn-x{grid-column:1/-1;justify-self:start}.lx-rm{font-size:14px}
.lx-empty{text-align:center;padding:16px;color:var(--text-2)}
.lx-books{display:grid;gap:10px}
.lx-bk{display:flex;gap:14px;padding:12px;border-radius:16px;border:1px solid var(--border)}
.lx-bkc{flex:none;width:96px;min-height:128px;border-radius:6px 14px 14px 6px;padding:10px 8px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(160deg,var(--dc),color-mix(in srgb,var(--dc) 55%,#202327));box-shadow:inset -6px 0 0 rgba(255,255,255,.15),0 8px 18px -10px var(--dc)}
.lx-bkc span{align-self:flex-start;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.22)}.lx-bkc b{font-size:12.5px;line-height:1.5}
.lx-bkt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.lx-bkt>b{font-size:15.5px}.lx-bkt small{color:var(--text-2)}.lx-bkt p{margin:2px 0;font-size:13px;color:var(--muted);line-height:1.8}
.lx-bkm{font-size:12.5px;font-weight:700;color:var(--text-2)}.lx-bkt .btn-x{align-self:flex-start;margin-top:4px}
.lx-pg{display:flex;gap:6px;justify-content:center;margin-top:12px}.lx-pg button{min-width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:inherit;cursor:pointer}.lx-pg button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.lx-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lx-mode{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border-radius:18px;border:1.5px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;text-align:start}
.lx-mode:hover,.lx-mode:focus-visible{border-color:var(--accent);background:var(--accent-2)}.lx-mode b{font-size:17px}.lx-mode small{color:var(--text-2);line-height:1.8}
.lx-mode ul{margin:4px 0 0;padding-inline-start:18px;font-size:12.5px;color:var(--muted);line-height:1.9}.lx-mi{font-size:30px}
/* review session */
.lx-lock{overflow:hidden}
.lx-run{position:fixed;inset:0;z-index:250;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto}
.lx-rh{display:flex;align-items:center;gap:12px;padding:12px max(16px,calc(50% - 360px));border-bottom:1px solid var(--border);background:var(--surface)}
.lx-rt{flex:1;display:flex;flex-direction:column}.lx-rt span{font-size:12.5px;color:var(--muted)}.lx-rbox{padding:4px 12px;border-radius:999px;background:var(--accent-2);color:var(--accent-ink);font-weight:800;font-size:13px}
.lx-rp{height:5px;background:var(--surface-2)}.lx-rp i{display:block;height:100%;background:linear-gradient(90deg,#00838F,#6265B1);transition:width .25s}
.lx-card{position:relative;width:min(720px,calc(100% - 28px));margin:22px auto 0;padding:34px 22px 26px;border-radius:24px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center}
.lx-ctag{position:absolute;top:16px;inset-inline-end:16px;width:14px;height:14px;border-radius:50%;background:var(--t)}
.lx-cact{position:absolute;top:12px;inset-inline-start:12px;display:flex;gap:6px}.lx-cact button{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:15px}
.lx-cbtn{display:flex;gap:8px;justify-content:center;margin:16px 0 10px;flex-wrap:wrap}
.lx-say,.lx-dic{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);font:inherit;font-weight:700;font-size:14px;color:var(--text);cursor:pointer;text-decoration:none}
.lx-reveal{margin-top:6px;padding:11px 20px;border-radius:14px;border:0;background:var(--accent-2);color:var(--accent-ink);font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.lx-mean{margin-top:16px;padding:16px;border-radius:16px;background:color-mix(in srgb,var(--indigo) 7%,var(--surface));text-align:start;display:flex;flex-direction:column;gap:6px}
.lx-mean>b{font-size:19px}.lx-mean p{margin:6px 0 0;font-size:15.5px;text-align:left}.lx-mean small{color:var(--text-2)}.lx-mean em{font-style:normal;font-size:13px;color:var(--muted)}
.lx-rf{width:min(720px,calc(100% - 28px));margin:16px auto 30px;display:flex;flex-direction:column;gap:14px;align-items:center}
.lx-ans{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.lx-yes,.lx-no{min-height:62px;border:0;border-radius:18px;font:inherit;font-size:19px;font-weight:800;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}
.lx-yes{background:#1E9E4A;box-shadow:0 10px 22px -12px #1E9E4A}.lx-no{background:#D9483B;box-shadow:0 10px 22px -12px #D9483B}.lx-yes:hover,.lx-no:hover{filter:brightness(1.07)}
.lx-yes kbd,.lx-no kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);color:#fff}
.lx-was{width:100%;padding:16px;border-radius:16px;text-align:center;font-weight:800}.lx-was.ok{background:var(--ok-bg);color:var(--ok)}.lx-was.bad{background:var(--bad-bg);color:var(--bad)}
.lx-nav{display:flex;gap:10px}.lx-nav button{padding:8px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font:inherit;font-weight:700;cursor:pointer;color:var(--text)}.lx-nav button:disabled{opacity:.45;cursor:default}
.lx-card.quiz p{margin:6px 0 10px;color:var(--text-2);font-weight:700}.lx-qk{display:inline-block;padding:3px 12px;border-radius:999px;background:color-mix(in srgb,var(--indigo) 14%,var(--surface));color:var(--indigo-ink);font-weight:800;font-size:12.5px}
.lx-card.quiz .lx-say{margin:12px auto}
.lx-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.lx-opts button{display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);font:inherit;font-size:15px;color:var(--text);cursor:pointer;text-align:start}
.lx-opts button:hover:not(:disabled){border-color:var(--accent)}.lx-opts button.right{border-color:#1E9E4A;background:var(--ok-bg)}.lx-opts button.wrong{border-color:#D9483B;background:var(--bad-bg)}
.lx-sum img{display:block;margin:0 auto 6px}.lx-sum h2{margin:0 0 12px}.lx-sumk{display:flex;gap:10px;justify-content:center;margin-bottom:12px}
.lx-sumk div{min-width:96px;padding:12px;border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column}.lx-sumk b{font-size:24px}.lx-sumk span{font-size:12.5px;color:var(--muted)}
.lx-sumk .ok b{color:var(--ok)}.lx-sumk .bad b{color:var(--bad)}
:root[data-theme="dark"] .lx-ri,:root[data-theme="dark"] .lx-kp div{background:var(--surface-2)}
@media (max-width:760px){.lx-boxes{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.lx-box{padding:10px 2px 8px;border-radius:14px}.lx-box b{font-size:20px}.lx-stack{transform:scale(.75);margin:0}
  .lx-bi{font-size:10px;padding:2px 5px}.lx-bx{display:none}.lx-bn{font-size:11px}.lx-kp{grid-template-columns:repeat(2,minmax(0,1fr))}.lx-modes,.lx-opts,.lx-fg{grid-template-columns:1fr}
  .lx-bkc{width:72px;min-height:100px}.lx-card{padding:30px 14px 20px;margin-top:14px}.lx-ri{grid-template-columns:1fr}.lx-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lx-start0{display:flex;gap:16px;align-items:center;padding:18px;border-radius:18px;margin-bottom:16px;background:linear-gradient(135deg,color-mix(in srgb,#00838F 10%,var(--surface)),color-mix(in srgb,#6265B1 10%,var(--surface)));border:1px solid var(--border)}
.lx-start0 p{margin:4px 0 0;color:var(--text-2)}.lx-start0 img{border-radius:50%;flex:none}.lx-start0 .lx-row{margin-top:10px}
.lx-tools{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}
@media (max-width:760px){.lx-start0{flex-direction:column;text-align:center}.lx-start0 .lx-row{justify-content:center}}
.lx-w b{color:var(--text);font-weight:800}
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.lb-card{display:flex;gap:14px;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}.lb-card:hover{border-color:var(--dc)}.lb-card.off{opacity:.6}
.lb-cover{flex:none;width:78px;min-height:104px;border-radius:5px 12px 12px 5px;padding:8px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,var(--dc),color-mix(in srgb,var(--dc) 55%,#202327));box-shadow:inset -5px 0 0 rgba(255,255,255,.15)}
.lb-cover em{font-style:normal;align-self:flex-start;font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.22)}.lb-cover b{font-size:11.5px;line-height:1.5}
.lb-t{display:flex;flex-direction:column;gap:3px;min-width:0}.lb-t small{color:var(--text-2)}.lb-m{font-size:12.5px;font-weight:700;color:var(--text-2)}
.lb-art{display:inline-block;padding:0 6px;border-radius:6px;color:#fff;font-size:12px;font-weight:800}.lb-art.der{background:var(--gder)}.lb-art.die{background:var(--gdie)}.lb-art.das{background:var(--gdas)}
.lb-off td{opacity:.55}
@media (max-width:760px){.lx-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.lx-tool{font-size:13px;padding:10px}.lx-chart svg{height:70px}}
.lx-card.quiz .lx-say{display:flex;width:fit-content;margin:12px auto 0}
.lx-mean>b{color:var(--text)}
.lx-how{padding:14px;border-radius:16px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));margin-bottom:12px;font-size:13.5px}
.lx-how>b{display:block;margin-bottom:8px;font-size:14.5px}.lx-how ol{margin:10px 0;padding-inline-start:20px;line-height:2;color:var(--text-2)}
.lx-ht{display:grid;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);font-size:13px}
.lx-ht>div{display:grid;grid-template-columns:1.1fr 1fr 1fr}.lx-ht>div+div{border-top:1px solid var(--border)}
.lx-ht span{padding:7px 10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lx-ht span+span{border-inline-start:1px solid var(--border)}
.lx-ht .h{background:var(--surface-2);font-weight:800;font-size:12px}.lx-ht .h em{font-style:normal;font-weight:600;color:var(--bad);font-size:11px}
.lx-smp{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 8px}.lx-smp a{padding:7px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border-strong);font-weight:700;text-decoration:none;font-size:13px}.lx-smp a:hover{border-color:var(--accent)}
.lx-how details{margin-top:6px}.lx-how summary{cursor:pointer;font-weight:700;color:var(--accent-ink)}.lx-how details p{margin:6px 0 0;color:var(--text-2);line-height:1.9}
.lx-how ol{list-style-type:persian}
.lbf-t th{white-space:nowrap;font-size:12.5px}.lbf-t th em{font-style:normal;color:var(--bad);font-weight:600}.lbf-t td{font-size:13px}

/* ===== v92 «شروع رایگان» (/start) ===== */
.st-wrap{padding:28px 0 56px;background:linear-gradient(180deg,var(--accent-2),var(--bg) 340px)}
.st{max-width:760px;margin:0 auto}
.st-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow-lg,0 8px 30px rgba(0,0,0,.06))}
.st-card h1{font-size:26px;margin:4px 0 8px;line-height:1.5}.st-card h2{font-size:20px;margin:0 0 4px;line-height:1.6}
.st-prog{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:13px;color:var(--muted);font-weight:700}
.st-prog i{flex:1;height:8px;border-radius:9px;background:var(--surface-2);overflow:hidden}.st-prog i b{display:block;height:100%;background:var(--teal-600);border-radius:9px;transition:width .35s}
.st-hi,.st-ready{display:flex;gap:20px;align-items:center}.st-hi img{width:150px;height:150px;flex:none}.st-ready img{width:110px;height:110px;flex:none}
.st-hi p,.st-ready p{color:var(--text-2);line-height:1.9;margin:0}
.st-kick{display:inline-block;background:var(--accent-2);color:var(--teal-500);border:1px solid var(--border);border-radius:99px;padding:3px 12px;font-size:13px;font-weight:700}
.st-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.st-list li{background:var(--linen);border-radius:12px;padding:10px 14px;color:var(--text-2)}.st-list b{color:var(--text)}
.st-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.st-nav .btn-big{justify-content:center}.st-nav .btn-big.teal{margin-inline-start:auto}
.st-nav .btn-big[disabled]{opacity:.45;cursor:not-allowed}
.st-hello .st-nav .btn-big.teal{margin-inline-start:0}
.st-q{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.st-q img{width:48px;height:48px;flex:none;border-radius:50%}.st-q p{margin:0}
.st-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.st-opts.many{grid-template-columns:repeat(3,1fr)}
.st-opt{display:flex;flex-direction:column;gap:3px;text-align:start;background:var(--surface);border:2px solid var(--border);border-radius:14px;padding:13px 15px;cursor:pointer;font:inherit;color:var(--text);transition:border-color .15s,background .15s}
.st-opt:hover{border-color:var(--teal-300)}.st-opt b{font-size:16px}.st-opt small{color:var(--muted);font-size:13px;line-height:1.7}
.st-opt.on{border-color:var(--teal-600);background:var(--accent-2)}.st-opt.on b::before{content:'✓ ';color:var(--teal-600)}
.st-date{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;background:var(--linen);border-radius:12px;padding:12px}
.st-date span{font-weight:700}.st-date select{height:42px;border:1px solid var(--border-strong);border-radius:10px;padding:0 10px;font:inherit;background:var(--surface);color:var(--text)}
.st-h{margin-bottom:12px!important}
.st-path{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;position:relative}
.st-path li{display:flex;gap:14px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--surface)}
.st-path li small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.st-path li.now{border:2px solid var(--teal-600);background:var(--accent-2)}.st-path li.done{opacity:.8}
.st-dot{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:19px}
.st-path li.done .st-dot{background:var(--ok-bg);color:var(--ok);font-weight:800}.st-path li.now .st-dot{background:var(--teal-600);color:#fff}
.st-sh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-size:15px}
.st-steps{display:flex;gap:5px}.st-steps i{width:28px;height:7px;border-radius:9px;background:var(--surface-2)}.st-steps i.ok{background:var(--ok)}.st-steps i.on{background:var(--teal-600)}
.st-sub{margin:0 0 12px}
.st-flip{display:grid;width:100%;min-height:190px;border:2px dashed var(--border-strong);border-radius:18px;background:var(--accent-2);cursor:pointer;font:inherit;color:var(--text);padding:20px}
.st-flip>span{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}
.st-flip .f{font-size:30px;font-weight:800}.st-flip .b{opacity:0;font-size:22px}.st-flip small{font-size:14px;color:var(--muted);font-weight:500}
.st-flip.on .f{opacity:0}.st-flip.on .b{opacity:1}.st-flip.on{border-style:solid;background:var(--surface)}
.st-text{border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:14px;background:var(--linen)}
.st-text summary{cursor:pointer;font-weight:700}.st-ins{color:var(--text-2);font-size:14px;margin:8px 0}
.st-de{text-align:left;font-size:15px;line-height:1.9;background:var(--surface);border-radius:10px;padding:12px 14px;margin-top:8px;max-height:320px;overflow:auto}
.st-audio{display:flex;flex-direction:column;gap:8px;background:var(--linen);border-radius:14px;padding:12px 14px;margin-bottom:14px}.st-audio audio{width:100%}
.st-note{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:8px 12px;font-size:14px}
.st-qh{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:700}.st-live{color:var(--ok)}
.st-topic{display:inline-block;margin-top:6px;color:var(--indigo-ink);background:var(--indigo-2);border-radius:99px;padding:1px 10px;font-size:12px}
.st-qq{font-size:19px;font-weight:700;margin:12px 0 14px;line-height:1.8}.st-qde{display:block;text-align:left}
.st-ch{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.st-ch.long{grid-template-columns:1fr}
.st-c{display:flex;align-items:center;gap:10px;text-align:start;border:2px solid var(--border);background:var(--surface);border-radius:12px;padding:12px 14px;font:inherit;font-size:16px;color:var(--text);cursor:pointer}
.st-c[dir=ltr]{text-align:left}.st-c:hover:not([disabled]){border-color:var(--teal-300)}
.st-c kbd{flex:none;width:24px;height:24px;border-radius:7px;background:var(--surface-2);display:grid;place-items:center;font:inherit;font-size:12px;color:var(--muted)}
.st-c.right{border-color:var(--ok);background:var(--ok-bg)}.st-c.right kbd{background:var(--ok);color:#fff}
.st-c.wrong{border-color:var(--bad);background:var(--bad-bg)}.st-c.wrong kbd{background:var(--bad);color:#fff}
.st-c[disabled]{cursor:default}.st-c[disabled]:not(.right):not(.wrong){opacity:.6}
.st-fb{margin-top:14px;border-radius:12px;padding:12px 14px;line-height:1.9}.st-fb p{margin:4px 0 0}.st-fb small{display:block;color:var(--muted);margin-top:4px}
.st-fb.ok{background:var(--ok-bg)}.st-fb.ok b{color:var(--ok)}.st-fb.no{background:var(--bad-bg)}.st-fb.no b{color:var(--bad)}
.st-src{font-size:12px;color:var(--muted);margin:12px 0 0}
.st-end{text-align:center}.st-end .st-sh{justify-content:center}.st-end .st-nav{justify-content:center}.st-end .st-nav .btn-big.teal{margin-inline-start:0}
.st-big{font-size:56px;font-weight:800;color:var(--teal-600);line-height:1.2}.st-big small{font-size:20px;color:var(--muted)}
.st-verdict{font-size:16px;color:var(--text)!important}
.st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.st-t{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}.st-t span{font-size:13px;color:var(--muted)}
.st-t b{font-size:24px}.st-t b small{font-size:13px;color:var(--muted);font-weight:500}
.st-t i{height:6px;border-radius:9px;background:var(--surface-2);overflow:hidden}.st-t em{display:block;height:100%;background:var(--teal-600)}
.st-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.st-two>div{border-radius:14px;padding:14px 16px}.st-two h3{font-size:16px;margin:0 0 6px}.st-two ul{margin:0;padding-inline-start:18px;line-height:1.9}.st-two p{margin:4px 0 0}
.st-good{background:var(--ok-bg)}.st-work{background:var(--warn-bg)}
.st-disc{font-size:13px;color:var(--muted);margin:14px 0 0;text-align:center}
.st-wall{margin-top:18px;border:2px solid var(--teal-600);border-radius:16px;padding:18px;background:var(--accent-2)}.st-wall h3{margin:0 0 6px}.st-wall p{margin:0;color:var(--text-2);line-height:1.9}
.st-wall .st-nav .btn-big.teal{margin-inline-start:0}
@media (max-width:640px){.st-wrap{padding:14px 0 40px}.st-card{padding:18px 16px;border-radius:16px}.st-card h1{font-size:21px}
  .st-hi,.st-ready{flex-direction:column;text-align:center}.st-hi img{width:110px;height:110px}.st-ready img{width:84px;height:84px}.st-list{text-align:start}
  .st-opts,.st-opts.many,.st-ch,.st-two{grid-template-columns:1fr}.st-tiles{grid-template-columns:repeat(2,1fr)}
  .st-nav .btn-big{flex:1;padding:0 12px;font-size:15px}.st-flip .f{font-size:25px}.st-big{font-size:46px}}
.h3-sub{margin:10px 0 0;font-size:14px;color:var(--muted)}.h3-sub a{color:var(--teal-600);font-weight:700}
.st-exde span{display:block;text-align:left;font-weight:600;margin-top:2px}.st-c kbd{border:0;box-shadow:none}
:root[data-theme="dark"] .st-kick,:root[data-theme="dark"] .st-opt.on b::before{color:var(--teal-300)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .st-kick{color:var(--teal-300)}}
.st-known{background:var(--accent-2);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:14px;color:var(--text-2)}
.st-known b{color:var(--text)}

/* ===== v94 «آمادگی تمرینی» ===== */
.rd{padding:18px 20px;margin-bottom:14px}
.rd-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.rd-h h2,.rd-h h3{margin:0;font-size:17px}.rd-sum{font-size:14px;color:var(--text-2)}
.rd-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rd-chip{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:grid;gap:2px;min-width:0}
.rd-chip .k{font-size:13px;color:var(--muted)}.rd-chip .v{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.rd-chip .s{font-size:12px;font-weight:700}
.rd-chip.ok{background:var(--ok-bg);border-color:transparent}.rd-chip.ok .s{color:var(--ok)}
.rd-chip.near{background:var(--warn-bg);border-color:transparent}.rd-chip.near .s{color:var(--warn)}
.rd-chip.low{background:var(--bad-bg);border-color:transparent}.rd-chip.low .s{color:var(--bad)}
.rd-chip.none .v,.rd-chip.free .v{font-size:16px;padding-block:2px}.rd-chip.none .v{color:var(--muted)}.rd-chip.none .s,.rd-chip.free .s{color:var(--muted);font-weight:600}
.rd-more{display:inline-block;margin-top:10px;font-size:14px;color:var(--teal-600);font-weight:700;text-decoration:none}
.rd-rows{display:grid;gap:16px}
.rd-row{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:12px;align-items:center}
.rd-name b{display:block}.rd-name small{color:var(--muted);font-size:12px}
.rd-track{position:relative;height:12px;border-radius:99px;background:var(--surface-2)}
.rd-track i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:99px;background:var(--teal-600)}
.rd-row.ok .rd-track i{background:var(--ok)}.rd-row.near .rd-track i{background:var(--warn)}.rd-row.low .rd-track i{background:var(--bad)}
.rd-pass{position:absolute;inset-block:-5px;width:2px;background:var(--text);inset-inline-start:60%}
.rd-pass::after{content:attr(data-l);position:absolute;top:-19px;transform:translateX(50%);font-size:11px;color:var(--muted);white-space:nowrap}
.rd-row:not(:first-child) .rd-pass::after{display:none}
.rd-val{display:flex;align-items:center;gap:8px;justify-content:flex-end}.rd-val b{font-variant-numeric:tabular-nums;font-size:16px}
.rd-pill{font-size:12px;font-weight:700;border-radius:99px;padding:2px 9px;white-space:nowrap;background:var(--surface-2);color:var(--muted)}
.rd-row.ok .rd-pill{background:var(--ok-bg);color:var(--ok)}.rd-row.near .rd-pill{background:var(--warn-bg);color:var(--warn)}.rd-row.low .rd-pill{background:var(--bad-bg);color:var(--bad)}
.rd-row.none .rd-track,.rd-row.free .rd-track{background:repeating-linear-gradient(-45deg,var(--surface-2) 0 6px,transparent 6px 12px);border:1px solid var(--border)}
.rd-rows{padding-top:14px}
.rd-how{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.rd-how summary{cursor:pointer;font-weight:700;font-size:14px}
.rd-how ul{margin:8px 0 0;padding-inline-start:18px;color:var(--text-2);font-size:14px;line-height:1.9}
@media (max-width:640px){.rd-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-row{grid-template-columns:1fr auto;row-gap:6px}.rd-track{grid-column:1/-1;grid-row:2}}

/* ===== v96 دیکشنری (پنل مدیر) ===== */
.dc-kpi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 14px}
/* v132 missing words */
.dc-mcount{font-style:normal;font-size:12px;background:var(--warn-bg);color:var(--warn);border-radius:999px;padding:1px 8px;margin-inline-start:8px}
.dc-mtable{overflow-x:auto}.dc-mtable table{width:100%;min-width:640px}.dc-mtable td{vertical-align:middle}.dc-mtable td.small{max-width:340px;color:var(--text-2)}
.dc-kpi>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column}
.dc-kpi b{font-size:22px;font-variant-numeric:tabular-nums}.dc-kpi b small{font-size:13px;color:var(--muted);font-weight:500}.dc-kpi span{font-size:13px;color:var(--muted)}
.dc-kpi .warn{background:var(--warn-bg);border-color:transparent}.dc-kpi .warn b{color:var(--warn)}
.dc-btns{display:flex;gap:8px;flex-wrap:wrap}
.dc-filter{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:16px 0 10px;align-items:center}
.dc-tabs{display:flex;gap:4px;flex-wrap:wrap}.dc-tabs a{padding:6px 12px;border-radius:99px;border:1px solid var(--border);text-decoration:none;color:var(--text-2);font-size:14px;background:var(--surface)}
.dc-tabs a.on{background:var(--teal-600);border-color:var(--teal-600);color:#fff}.dc-tabs em{font-style:normal;opacity:.75;font-size:12px}
.dc-search{display:flex;gap:6px}.dc-search input,.dc-search select{height:38px;border:1px solid var(--border-strong);border-radius:10px;padding:0 10px;background:var(--surface);color:var(--text);font:inherit}
.dc-entry{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.dc-entry header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dc-entry h2{margin:0;font-size:20px}
.dc-art{color:var(--muted);font-weight:500}.dc-ipa{color:var(--muted);font-size:14px}.dc-more{margin-inline-start:auto;font-size:13px;font-weight:700;color:var(--teal-600);text-decoration:none}
.dc-play{width:36px;height:36px;border-radius:50%;border:0;background:var(--teal-600);color:#fff;cursor:pointer;font-size:14px;flex:none}.dc-play.on{background:var(--teal-500)}
.dc-senses{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dc-s{border:1px solid var(--border);border-radius:12px;padding:8px 10px;border-inline-start:4px solid var(--border-strong)}
.dc-s.st-needs_review{border-inline-start-color:var(--warn)}.dc-s.st-approved,.dc-s.st-edited{border-inline-start-color:var(--ok)}.dc-s.st-hidden{opacity:.6}
.dc-en{font-size:13px;color:var(--muted);text-align:left;line-height:1.6}.dc-en i{font-style:normal;background:var(--indigo-2);color:var(--indigo-ink);border-radius:6px;padding:0 5px;font-size:11px}
.dc-fa{font-size:15px}
.dc-form{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}.dc-form input{flex:1 1 260px;min-width:0;height:38px;border:1px solid var(--border-strong);border-radius:10px;padding:0 10px;font:inherit;background:var(--surface);color:var(--text)}
.dc-state{font-size:12px;color:var(--muted);white-space:nowrap}
.dc-gram{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.dc-gram div{background:var(--surface-2);border-radius:10px;padding:4px 10px}.dc-gram dt{font-size:11px;color:var(--muted)}.dc-gram dd{margin:0;font-weight:700}
.dc-h{font-size:13px;color:var(--muted);margin:12px 0 6px;letter-spacing:.02em}
.dc-ex{background:var(--surface-2);border-radius:10px;padding:6px 10px;margin-top:6px;display:flex;flex-direction:column;font-size:14px}.dc-ex span{text-align:left}.dc-ex small{color:var(--muted)}.dc-ex em{font-style:normal;font-size:11px;color:var(--muted)}
.dc-syn{font-size:14px;text-align:left;margin:0}.dc-ety{margin-top:10px}.dc-ety summary{cursor:pointer;font-size:13px;font-weight:700}.dc-ety p{font-size:13px;color:var(--text-2);text-align:left}
.dc-lic{font-size:12px;color:var(--muted);margin:12px 0 0;border-top:1px solid var(--border);padding-top:8px}
@media (max-width:760px){.dc-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-form input{flex-basis:100%}}
@media (max-width:760px){.dc-search{width:100%}.dc-search input{flex:1;min-width:0}}

/* ===== v97 dictionary panel (dp-*) — slide-over from the right / inline in the Leitner card ===== */
.dp-lock{overflow:hidden}
.dp-over{position:fixed;inset:0;z-index:1200}
.dp-shade{position:absolute;inset:0;background:rgba(17,20,24,.38);opacity:0;transition:opacity .2s}
.dp-side{position:absolute;top:0;bottom:0;right:0;width:min(440px,36vw);min-width:360px;background:var(--bg);border-radius:18px 0 0 18px;box-shadow:var(--shadow-lg);transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column}
.dp-over.in .dp-shade{opacity:1}.dp-over.in .dp-side{transform:none}
@media (max-width:760px){.dp-side{width:100%;min-width:0;border-radius:0}}
.dp{display:flex;flex-direction:column;min-height:0;height:100%;color:var(--text);font-size:15px}
.dp-inline{height:auto;max-height:70vh;background:var(--bg);border:1px solid var(--border);border-radius:16px;margin-top:12px;text-align:right}
.dp-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}.dp-top b{font-size:17px}
.dp-x{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:22px;line-height:1;cursor:pointer;color:var(--text)}
.dp-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 6px;padding:6px 14px 0}
.dp-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:9px 6px;font:inherit;font-size:14px;color:var(--text-2);cursor:pointer;text-align:center}
.dp-tabs button.on{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:700}
.dp-tabs button:focus-visible,.dp-chip:focus-visible,.dp-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dp-defrow{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-2);padding:8px 16px 0;cursor:pointer}.dp-defrow input{accent-color:var(--accent)}
.dp-search{position:relative;margin:10px 14px 6px;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:4px 8px 4px 6px}
.dp-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-2)}
.dp-mag{font-size:20px;color:var(--muted);padding:0 4px}
.dp-q{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:16px;padding:7px 2px;color:var(--text);outline:0;text-align:left}
.dp-say{border:0;background:var(--accent-2);color:var(--accent-ink);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:15px;flex:none}.dp-say.on{background:var(--accent);color:#fff}
.dp-sug{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;max-height:300px;overflow:auto}
.dp-sug button{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;padding:8px 10px;border-radius:9px;cursor:pointer;color:var(--text)}
.dp-sug button:hover,.dp-sug button.on{background:var(--surface-2)}.dp-sug small{color:var(--muted)}.dp-sug em{font-style:normal;font-size:12px;color:var(--indigo-ink);background:var(--indigo-2);border-radius:6px;padding:1px 6px;margin-left:6px}
.dp-hh{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding:4px 8px}.dp-hh button{width:auto;display:inline;color:var(--accent-ink);padding:2px 6px;font-size:12px}
.dp-body{flex:1;overflow:auto;padding:4px 16px 20px;min-height:120px}
.dp-skel{padding:10px 0}.dp-skel p{font-size:13px;color:var(--muted);margin:0 0 10px}
.dp-skel i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));background-size:200% 100%;animation:dpS 1.2s infinite;margin:10px 0}.dp-skel i.s{width:60%}
@keyframes dpS{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.dp-skel i{animation:none}.dp-side,.dp-shade{transition:none}}
.dp-eh{padding:8px 0 10px;border-bottom:1px solid var(--border);margin-bottom:6px}
.dp-hw{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;direction:ltr}
.dp-hw h3{margin:0;font-size:24px;direction:ltr}
.dp-art{font-style:normal;font-weight:700;font-size:17px}.dp-art.m{color:#2F6FD6}.dp-art.f{color:#D6336C}.dp-art.n{color:#2BA471}
.dp-lv{font-style:normal;font-size:12px;font-weight:700;background:var(--accent-2);color:var(--accent-ink);border-radius:7px;padding:2px 7px}
.dp-ipa{margin:2px 0 0;color:var(--muted);font-size:14px;text-align:left}
.dp-pos{margin:6px 0 0;display:flex;gap:6px;flex-wrap:wrap}.dp-pos span,.dp-pl{background:var(--indigo-2);color:var(--indigo-ink);border-radius:8px;padding:2px 9px;font-size:12px;font-weight:700}
.dp-gram{margin:6px 0 0;font-size:13px;color:var(--text-2);text-align:left}
.dp-via,.dp-alts{font-size:13px;color:var(--text-2);margin:6px 0 0}
.dp-lt{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.dp-in{font-size:13px;font-weight:700;color:var(--ok);background:var(--ok-bg);border-radius:9px;padding:5px 10px}
.dp-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:10px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.dp-btn.p{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
:root[data-theme="dark"] .dp-btn.p{color:#0B1F21}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dp-btn.p{color:#0B1F21}}
.dp-note{margin-top:10px}.dp-addf{display:grid;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px}
.dp-addf label{display:grid;gap:3px;font-size:13px;color:var(--text-2)}.dp-addf em{font-style:normal;color:var(--muted)}
.dp-addf input,.dp-addf textarea{font:inherit;font-size:14px;border:1px solid var(--border-strong);border-radius:9px;padding:7px 9px;background:var(--bg);color:var(--text)}
.dp-row{display:flex;gap:8px;flex-wrap:wrap}
.dp-sec{margin:16px 0 0}.dp-sec h4{margin:0 0 8px;font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:800;direction:ltr;text-align:right}
.dp-sec h4 small{letter-spacing:0;font-weight:600;font-size:12px}
.dp-de{margin:0;font-size:15px;text-align:left}
.dp-fa{margin:6px 0 0;padding-inline-start:20px;color:var(--text-2)}.dp-fa li{margin:4px 0}.dp-fa small{display:block;color:var(--muted);text-align:left;font-size:12px}
.dp-fa1{color:var(--text-2);margin:6px 0 0}
.dp-unrev{font-style:normal;font-size:11px;color:var(--warn);background:var(--warn-bg);border-radius:6px;padding:1px 6px}
.dp-ex{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:8px 0}
.dp-ex>p{margin:0;text-align:left;line-height:1.7}.dp-ex mark{background:#FFE58A;color:#202327;border-radius:4px;padding:0 2px}
.dp-tr{color:var(--muted);font-size:13px;margin-top:4px!important}
.dp-exm{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;flex-wrap:wrap}.dp-src{color:var(--muted);flex:1}.dp-exm a{text-decoration:none;font-weight:700;color:var(--accent-ink)}
.dp-col p small{color:var(--indigo-ink);font-size:12px}
.dp-pg{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin:8px 0}
.dp-pg button{min-width:32px;height:32px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font:inherit;font-size:13px;cursor:pointer;color:var(--text)}.dp-pg button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.dp-pg span{padding:6px 2px;color:var(--muted)}
.dp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dp-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px}
.dp-stat b{font-size:19px}.dp-stat span{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.dp-i{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);font-size:10px;font-weight:700;cursor:help;position:relative;color:var(--text-2)}
.dp-i:hover::after,.dp-i:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);right:-60px;width:220px;background:var(--text);color:var(--bg);font-size:12px;font-weight:500;line-height:1.7;border-radius:10px;padding:8px 10px;z-index:3;white-space:normal;text-align:right}
.dp-tb{width:100%;border-collapse:collapse;font-size:13px}.dp-tb th{text-align:right;font-weight:600;padding:5px 0;white-space:nowrap}.dp-tb th small{color:var(--muted);font-weight:500}
.dp-tb td{padding:5px 6px;white-space:nowrap}.dp-tb td:nth-child(2){width:45%}.dp-tb tr.z{color:var(--muted)}
.dp-bar{display:block;height:8px;border-radius:5px;background:var(--surface-2);overflow:hidden}.dp-bar i{display:block;height:100%;background:var(--indigo)}
.dp-wk{padding:0;list-style:none;margin:0}.dp-wk li{margin:0 0 10px;text-align:left;direction:ltr}.dp-wk li b{color:var(--accent-ink)}
.dp-wkx{margin:4px 0 0;padding:6px 10px;background:var(--surface);border-radius:9px;font-size:13.5px;color:var(--text-2);text-align:left}.dp-wkx mark{background:#FFE58A;color:#202327;border-radius:3px}.dp-wkx span{color:var(--muted)}
.dp-ety{font-size:13px;color:var(--text-2);text-align:left;margin:0}
.dp-sg{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.dp-sg:last-child{border:0}
.dp-sgn{flex:none;width:24px;height:24px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:12px;font-weight:700}
.dp-sgl{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.04em;margin:0 0 5px}
.dp-chips{display:flex;flex-wrap:wrap;gap:6px;direction:ltr;margin-bottom:6px}
.dp-chip{border:1px solid var(--accent);background:var(--accent-2);color:var(--accent-ink);border-radius:999px;padding:4px 11px;font:inherit;font-size:13.5px;cursor:pointer}
.dp-chip.weak{border-color:var(--border-strong);background:var(--surface);color:var(--text-2)}.dp-chip small{color:var(--muted);font-size:11px}
.dp-chips.en span{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:3px 9px;font-size:13px}
.dp-en{padding-left:20px;margin:0}.dp-en li{margin:0 0 8px;font-size:14px}.dp-en small{color:var(--muted)}
.dp-ext{margin:6px 0;font-size:13px;color:var(--muted)}.dp-ext a{display:inline-block;margin-inline-start:6px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;color:var(--accent-ink);text-decoration:none}.dp-ext a:hover{border-color:var(--accent)}
.dp-nf{padding:14px 0}.dp-nf p{margin:0 0 10px}.dp-muted{color:var(--muted)}.dp-hwsm{font-weight:700;font-size:18px;text-align:left;margin:8px 0 0}
.dp-err{color:var(--bad);background:var(--bad-bg);border-radius:10px;padding:10px}
.dp-lic{margin-top:18px;padding-top:10px;border-top:1px solid var(--border);font-size:11.5px;color:var(--muted);line-height:1.8}.dp-lic a{color:var(--accent-ink)}
.dp-toast{position:absolute;bottom:14px;left:14px;right:14px;background:var(--text);color:var(--bg);border-radius:12px;padding:10px 14px;font-size:14px;z-index:9}
.dp-side{overflow:hidden}.dp-side .dp{position:relative}
.dp-pick{position:absolute;z-index:1100;background:var(--text);color:var(--bg);border:0;border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;box-shadow:var(--shadow-lg);cursor:pointer}
.dp-open{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface);color:var(--accent-ink);border-radius:8px;padding:3px 8px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.gl-w{display:inline-flex;align-items:center;gap:3px}
.lx-dkp{text-align:right}.lx-dkp .dp-inline{max-height:none}.lx-dkp .dp-body{max-height:55vh}
.lx-ri small .dp-open{margin-inline-start:6px}
.vwrap{position:relative;display:block}.vwrap .vcard{width:100%;height:100%}.vwrap .vdict{position:absolute;top:6px;right:6px;padding:2px 6px}.vwrap .vcard .de{display:block;align-self:stretch;text-align:right}.vwrap .vcard .de::before{content:"";float:right;width:28px;height:24px}
.dp-artsep{color:var(--muted);margin:0 2px;font-weight:400}
/* v98: side menu = clear name + one-line hint */
.side-nav .sn-t{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.side-nav .sn-t b{font-weight:700;font-size:14.5px}
.side-nav .sn-t small{font-weight:500;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-nav a.on .sn-t small{color:inherit;opacity:.8}
.side-nav a{padding:9px 12px}
/* v98b: hint only on hover / keyboard focus; the current page keeps its hint */
.side-nav .sn-t small{max-height:0;opacity:0;transition:max-height .18s ease,opacity .18s ease}
.side-nav a:hover .sn-t small,.side-nav a:focus-visible .sn-t small,.side-nav a.on .sn-t small{max-height:18px;opacity:1}
@media (prefers-reduced-motion:reduce){.side-nav .sn-t small{transition:none}}
/* v104 dictionary: register chip + folded rare senses */
.dp-lab{font-style:normal;font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:0 6px;white-space:nowrap}
.dp-more{margin:8px 0 0;font-size:13.5px}.dp-more summary{cursor:pointer;color:var(--muted);padding:4px 0}.dp-more[open] summary{margin-bottom:2px}
.dc-s.st-checked{border-inline-start-color:var(--ok)}
/* v105 Redemittel tool */
.rm-tabs{margin-bottom:12px}
.rm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0 0 14px}
.rm-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;min-width:0}
.rm-card:hover{border-color:var(--teal-500)}.rm-card.locked{opacity:.7}
.rm-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rm-sk{font-size:11.5px;border-radius:6px;padding:1px 7px;background:var(--surface-2);color:var(--text-2)}
.rm-sk.rm-schreiben{background:color-mix(in srgb,#237247 14%,transparent);color:var(--text)}.rm-sk.rm-sprechen{background:color-mix(in srgb,#2F6FD6 14%,transparent);color:var(--text)}.rm-sk.rm-both{background:color-mix(in srgb,#7B4FC4 14%,transparent);color:var(--text)}
.rm-sep{display:inline-block;width:1px;height:20px;background:var(--border);margin:0 4px;vertical-align:middle}
.rm-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.rm-ph{position:relative;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);min-width:0}
.rm-de{text-align:left;font-size:16px;line-height:1.7;overflow-wrap:anywhere}.rm-fa{color:var(--text-2);margin-top:2px;line-height:1.8}
.rm-ex{margin-top:6px}.rm-ex summary{cursor:pointer;color:var(--muted);font-size:13px}.rm-ex .ltr{text-align:left;margin-top:4px;overflow-wrap:anywhere}
.rm-add{margin-top:8px}.rm-add.on{opacity:.75}
.rm-head h2{margin:6px 0 8px}.rm-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rm-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.rm-task{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none;background:var(--surface);min-width:0}
.rm-task:hover{border-color:var(--teal-500)}.rm-task b{text-align:left}
.rm-sec summary{cursor:pointer;display:flex;gap:8px;align-items:center}
.rm-drill{text-align:left;font-size:18px;line-height:2.2;overflow-wrap:anywhere}
.rm-gap{font:inherit;border:0;border-bottom:2px solid var(--teal-500);background:transparent;color:var(--text);padding:0 4px;margin:0 4px;text-align:center;max-width:60%}
.rm-ok{color:var(--ok);font-weight:600}.rm-bad{color:var(--bad)}
.rm-toast{position:fixed;inset-inline:16px;bottom:84px;margin:auto;max-width:420px;background:var(--text);color:var(--bg);padding:10px 14px;border-radius:10px;z-index:90;text-align:center;font-size:14px}

/* v106 /admin/agents */
.ag-onoff form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ag-onoff .small{flex:1;min-width:200px}
.ag-dot{width:12px;height:12px;border-radius:50%;background:var(--muted);flex:none}
.ag-dot.on{background:#237247;box-shadow:0 0 0 4px color-mix(in srgb,#237247 20%,transparent)}
.ag-key .ag-keyrow{display:flex;gap:8px;margin:10px 0 6px}
.ag-key .ag-keyrow .input{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:13px}
.ag-list{margin:0;padding:0 18px 0 0;line-height:2.1}
.ag-filter{margin:4px 0 12px}
.ag-sug summary{cursor:pointer;line-height:1.9}
.ag-body{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:10px;line-height:2;white-space:normal;overflow-wrap:anywhere;max-height:420px;overflow:auto}
.ag-decide{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ag-decide .input{flex:1;min-width:180px}
.ag-scopes{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:10px 0;display:grid;gap:6px}
.ag-scopes legend{padding:0 6px;font-weight:700}
.ag-scopes label{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}

/* v107 /admin/editorial */
.ed-packs .ed-pack{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.ed-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.ed-row.next{border-color:#B45309;box-shadow:0 0 0 3px color-mix(in srgb,#B45309 16%,transparent)}
.ed-row.done{opacity:.72}
.ed-pos{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;background:var(--soft,#f1f5f9);flex:none}
.ed-cover{width:160px;height:90px;object-fit:cover;border-radius:10px;flex:none;background:#eee}
.ed-main{flex:1;min-width:220px}
.ed-main h3{margin:0 0 4px;font-size:16px;line-height:1.7}
.ed-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ed-note{margin:6px 0 0;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,#B45309 9%,transparent)}
.ed-src{margin:4px 0 0;padding-right:18px;line-height:1.9}
.ed-actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:640px){.ed-cover{width:100%;height:auto;aspect-ratio:16/9}}
/* v108 — articles from «صف انتشار»: reading size per the article guide (body 17.5px, H2 26px, H3 22px), figures, tip box */
.post-prose{font-size:17.5px;line-height:1.95}
.post-prose h2{font-size:26px;font-weight:700;line-height:1.5;margin:40px 0 12px}
.post-prose h3{font-size:22px;font-weight:600;line-height:1.55;margin:28px 0 8px}
.post-prose p{margin:0 0 18px}
.post-prose table{font-size:15.5px}
.post-prose .pfig{margin:22px 0 26px}
.post-prose .pfig img{width:100%;height:auto;border-radius:14px;border:1px solid var(--border);background:#fff}
.post-prose .pfig figcaption{font-size:14px;color:var(--muted);text-align:center;margin-top:8px;line-height:1.8}
.post-prose .pnote{display:flex;gap:14px;align-items:flex-start;background:var(--linen,#F6EFE6);border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin:20px 0}
.post-prose .pnote img{flex:0 0 64px;width:64px;height:64px}
.post-prose .pnote div{flex:1;min-width:0}
@media (max-width:640px){.post-prose table{display:block;overflow-x:auto}.post-prose{font-size:17px}.post-prose h2{font-size:23px}.post-prose h3{font-size:20px}.post-prose .pnote img{flex-basis:48px;width:48px;height:48px}}
.post-prose .ltw{border:2px solid var(--border);border-radius:16px;padding:18px 20px;margin:22px 0;background:var(--surface)}
.post-prose .ltw-h{margin:0 0 12px;font-size:21px}
.post-prose .ltw-f{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.post-prose .ltw-f label{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--muted)}
.post-prose .ltw-f select,.post-prose .ltw-f input{font:inherit;font-size:16px;padding:9px 10px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);min-width:0}
.post-prose .ltw-r{margin:14px 0 6px;font-size:18px;line-height:1.9}
.post-prose .ltw-n{margin:0;font-size:13.5px;color:var(--muted)}
@media (max-width:640px){.post-prose .ltw-f{grid-template-columns:1fr}}

/* ===== v117: «آزمون من» chip + radio menu, student side menu (exam card, steady subtitles, one clear active item, link to the main site) ===== */
.trk-pick summary{gap:8px;padding:6px 8px 6px 12px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--c) 45%,var(--border));background:color-mix(in srgb,var(--c) 9%,var(--surface));color:var(--text)}
.trk-pick summary:hover,.trk-pick[open] summary{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}
.trk-pick .trk-dot{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent);flex:none}
.trk-pick .trk-lbl{font-size:12.5px;color:var(--muted);font-weight:600}
.trk-pick summary b{font-size:15px;color:var(--text)}
.trk-pick .trk-chg{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-2)}
.trk-pick .car{display:none}
.trk-menu{padding:10px}
.trk-h{padding:6px 6px 10px}.trk-h b{display:block;font-size:15.5px;color:var(--text)}.trk-h small{display:block;color:var(--muted);font-size:12.5px;line-height:1.8;margin-top:2px}
.trk-menu a.trk-opt{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1.5px solid var(--border);margin-bottom:8px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,background .15s}
.trk-menu a.trk-opt:hover{border-color:color-mix(in srgb,var(--c) 60%,var(--border));background:color-mix(in srgb,var(--c) 6%,var(--surface))}
.trk-menu a.trk-opt.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,var(--surface))}
.trk-radio{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid color-mix(in srgb,var(--c) 70%,var(--border));display:grid;place-items:center}
.trk-opt.on .trk-radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.trk-b{flex:1;min-width:0}.trk-b>b{display:block;font-size:15px}.trk-b>b small{font-weight:600;color:var(--muted);font-size:12px;margin-inline-start:4px}
.trk-b>small{display:block;color:var(--text-2);font-size:12.5px;line-height:1.7}
.trk-b>small.trk-lv{display:inline-block;margin:3px 0 2px;font-weight:700;font-size:11.5px;padding:1px 8px;border-radius:6px;background:color-mix(in srgb,var(--c) 12%,var(--surface));color:var(--text)}
.trk-act{flex:none;font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:999px;background:var(--c);color:#fff;white-space:nowrap}
.trk-opt.on .trk-act{background:transparent;color:var(--text-2);padding-inline:4px;font-weight:700}
.trk-menu a.trk-opt em{display:none}
@media (max-width:600px){.trk-pick summary{padding:5px 6px 5px 10px}.trk-pick .trk-chg{display:none}}

.side-nav.sn2{gap:3px;top:80px}
.sn-exam{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:8px;padding:14px;margin-bottom:10px;border-radius:16px;color:var(--text);
  background:linear-gradient(150deg,color-mix(in srgb,var(--c) 16%,var(--surface)),color-mix(in srgb,var(--c) 5%,var(--surface)));border:1.5px solid color-mix(in srgb,var(--c) 35%,var(--border))}
.sn-exam:hover,.sn-exam:focus-visible{border-color:var(--c)}
.sn-ex-k{grid-column:1/-1;font-size:11.5px;font-weight:700;color:var(--muted)}
.sn-exam b{font-size:18px;line-height:1.5}
.sn-exam small{grid-column:1/-1;font-size:12px;color:var(--text-2)}
.sn-ex-sw{grid-row:2;grid-column:2;align-self:center;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--c) 40%,var(--border));color:var(--text)}
.side-nav.sn2 a{position:relative;gap:12px;padding:8px 10px;border-radius:14px;color:var(--text-2)}
.side-nav.sn2 a:hover{background:var(--surface-2)}
.side-nav.sn2 .sn-ic{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-2)}
.side-nav.sn2 .sn-ic svg{width:19px;height:19px}
.side-nav.sn2 .sn-t small{max-height:none;opacity:1;color:var(--muted)}
.side-nav.sn2 a .sn-t b{color:var(--text)}
.side-nav.sn2 a.on{background:color-mix(in srgb,var(--track) 9%,var(--surface));color:var(--text)}
.side-nav.sn2 a.on::before{content:"";position:absolute;inset-inline-start:-6px;top:10px;bottom:10px;width:4px;border-radius:4px;background:var(--track)}
.side-nav.sn2 a.on .sn-ic{background:var(--track);color:#fff}
.side-nav.sn2 a.on .sn-t b{font-weight:800}
.side-nav.sn2 a.on .sn-t small{color:var(--text-2);opacity:1}
:root[data-theme="dark"] .side-nav.sn2 a.on{color:var(--text)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .side-nav.sn2 a.on{color:var(--text)}}
.sn-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}
.side-nav.sn2 .sn-foot a{padding:7px 10px;font-size:13px;font-weight:600;color:var(--muted);gap:8px}
.side-nav.sn2 .sn-foot a svg{width:16px;height:16px}
.side-nav.sn2 .sn-foot a:hover{color:var(--text)}
.trk-menu a.trk-opt>span{flex:none;min-width:0}
.trk-menu a.trk-opt>span.trk-b{flex:1}

/* ===== v120: practice fixes ===== */
/* listening ladder rung 3 + any token picker: the chosen word is visible */
.tok.sel{border:2px solid var(--track);background:var(--track-soft);color:var(--text);font-weight:700;box-shadow:0 0 0 3px rgba(0,131,143,.18)}
.item.ok .tok.sel{border-color:#16A34A;background:rgba(22,163,74,.14)}.item.no .tok.sel{border-color:#DC2626;background:rgba(220,38,38,.14)}
/* hangman: removed / right / wrong letters look different */
.hm-kbd button.hm-gone{opacity:.28;text-decoration:line-through;background:transparent!important;border-style:dashed!important}
.hm-kbd button.hm-hit{background:rgba(22,163,74,.18)!important;border-color:#16A34A!important;color:inherit;opacity:1}
.hm-kbd button.hm-miss{background:rgba(220,38,38,.16)!important;border-color:#DC2626!important;color:inherit;opacity:.75}
/* vocabulary bank «شنیدن و نوشتن»: one compact card */
.vb-lw{gap:12px;align-items:stretch;max-width:560px;margin-inline:auto}
.vb-lw-top{display:flex;align-items:center;gap:12px;text-align:right}
.vb-lw-top b{display:block;font-size:18px}.vb-lw-top small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.vb-say{flex:none;width:52px;height:52px;border-radius:50%;border:0;background:var(--track);color:#fff;font-size:22px;cursor:pointer}
.vb-lw-row{display:flex;gap:8px;direction:ltr}
.vb-lw-row input{flex:1;min-width:0;font:inherit;font-size:20px;padding:10px 12px;border:2px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);text-align:left}
.vb-lw-row input:focus{outline:none;border-color:var(--track)}
.vb-lw-row .btn-p{flex:none}
.uml-keys{display:flex;gap:6px;justify-content:flex-start}
.uml-keys button{min-width:38px;height:34px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2,var(--surface));color:var(--text);font-size:17px;cursor:pointer;font-family:"Segoe UI",Roboto,Arial,sans-serif}
.uml-keys button:hover{border-color:var(--track)}
/* Leitner «به آلمانی بنویس» */
.lx-write .lx-wfa{font-size:24px;font-weight:800;margin:4px 0 2px;color:var(--text)}
.lx-write .lx-wrow{margin:14px auto 8px;max-width:440px}
.lx-write .uml-keys{justify-content:center;margin-bottom:6px}
.lx-write input.ok{border-color:#16A34A;background:rgba(22,163,74,.10)}.lx-write input.bad{border-color:#DC2626;background:rgba(220,38,38,.10)}
.lx-write #wf{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}
.lx-write .lx-wans{display:flex;flex-direction:column;align-items:center;gap:2px}
/* C-Test: letter boxes */
.ct-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}
.ct-text{direction:ltr;text-align:left;white-space:normal;line-height:2.6;font-size:17px}
.ct-w{white-space:nowrap}
.ct-gap{display:inline-flex;gap:2px;vertical-align:baseline;margin:0 1px}
.ct-gap input{width:1.15em;height:1.55em;padding:0;text-align:center;font:inherit;font-family:ui-monospace,Consolas,"Segoe UI",monospace;font-size:1em;border:0;border-bottom:2px solid var(--track);border-radius:3px 3px 0 0;background:var(--track-soft);color:var(--text)}
.ct-gap input:focus{outline:2px solid var(--track);outline-offset:0}
.ct-gap.ok input{background:rgba(22,163,74,.16);border-bottom-color:#16A34A;color:#15803D;font-weight:700}
.ct-gap.bad input{background:rgba(220,38,38,.12);border-bottom-color:#DC2626;color:#15803D;font-weight:700}
:root[data-theme="dark"] .ct-gap.ok input,:root[data-theme="dark"] .ct-gap.bad input{color:#4ADE80}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ct-gap.ok input,:root:not([data-theme="light"]) .ct-gap.bad input{color:#4ADE80}}
.ct-mine{color:#DC2626;font-size:.8em;margin-inline-start:3px}
/* quick meaning card + «معنی با کلیک» switch */
.dp-peek{position:absolute;z-index:1150;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:10px 12px;font-size:14px;line-height:1.8;text-align:right}
.dp-pk-h{display:flex;align-items:center;gap:8px;justify-content:space-between}
.dp-pk-h b{font-size:17px;font-family:"Segoe UI",Roboto,Arial,sans-serif}.dp-pk-h b small{font-weight:400;color:var(--muted);font-size:12px}
.dp-pk-x{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.dp-pk-form{font-size:12px;color:var(--muted)}
.dp-pk-fa{margin:4px 0 6px;padding-inline-start:20px}.dp-pk-fa li{margin:0}
.dp-pk-none{margin:4px 0;color:var(--muted)}.dp-pk-did button{border:1px solid var(--border);background:var(--surface-2,var(--surface));border-radius:8px;padding:0 8px;cursor:pointer;color:var(--text)}
.dp-pk-act{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:8px}
.dp-pk-act button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:9px;padding:3px 10px;font:inherit;font-size:13px;cursor:pointer}
.dp-pk-act button:hover{border-color:var(--track,var(--accent))}.dp-pk-in{font-size:13px;color:#15803D;align-self:center}
.dp-pk-ld{display:block;height:12px;border-radius:6px;background:var(--surface-2,#eee);margin:6px 0;width:80%;animation:dpPk 1s infinite alternate}.dp-pk-ld.s{width:50%}
@keyframes dpPk{from{opacity:.5}to{opacity:1}}
.dp-tap{position:fixed;left:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;box-shadow:0 4px 14px rgba(0,0,0,.12);cursor:pointer}
.dp-tap-k{width:30px;height:18px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s}
.dp-tap-k::after{content:"";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:right .15s}
.dp-tap.on{border-color:var(--track,var(--accent))}.dp-tap.on .dp-tap-k{background:var(--track,var(--accent))}.dp-tap.on .dp-tap-k::after{right:14px}
@media (max-width:900px){body:has(.bottom-nav) .dp-tap{bottom:78px}}
.run-focus .dp-tap{bottom:16px}
/* «بازگشت» bar on practice / library pages */
.ab-backbar{margin:0 0 10px}
.ab-back{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);text-decoration:none;font-size:14px;font-weight:700}
.ab-back:hover{border-color:var(--track)}.ab-back span{font-size:16px}
.run-focus .ab-backbar{display:none}
.dp-tap-i{display:none}
@media (max-width:600px){.dp-tap{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;font-size:12px;font-weight:800}.dp-tap-k,.dp-tap-t{display:none}.dp-tap-i{display:inline}.dp-tap.on{background:var(--track,var(--accent));color:#fff}}

/* ===== v122: «تایپ آلمانی با کیبورد خودت» ===== */
.ty-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.ty-top p{margin:2px 0 0}
.ty-opts{display:flex;flex-wrap:wrap;gap:6px}.ty-opts .chip small{opacity:.75}
.ty-help{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 14px;margin-bottom:10px;font-size:14px;line-height:2}
.ty-help summary{cursor:pointer;font-weight:700}.ty-help ul{margin:6px 0 0;padding-inline-start:18px}
.ty-sec{margin-bottom:10px}.ty-sec h3{margin:0}.ty-sec p{margin:2px 0 8px}
.ty-st{color:#F2A900;letter-spacing:1px}.ty-st i{font-style:normal;color:var(--border-strong)}
.ty-note{margin:8px 0}
.ty-text{direction:ltr;text-align:left;font-family:ui-monospace,Consolas,"Segoe UI",monospace;font-size:21px;line-height:1.9;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:hidden;cursor:text}
.ty-text .ok{color:#15803D}.ty-text .cur{background:var(--track);color:#fff;border-radius:3px;padding:0 1px;position:relative}.ty-text .cur.bad{background:#DC2626}
.ty-text .cur sub{position:absolute;left:0;top:100%;font-size:12px;color:var(--muted);background:transparent}
.ty-uml{justify-content:center;margin:10px 0 6px}
.ty-cap{display:block;width:100%;max-width:420px;margin:0 auto;direction:ltr;text-align:center;font:inherit;font-size:16px;padding:8px 10px;border:2px dashed var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);caret-color:transparent}
.ty-cap:focus{outline:none;border-color:var(--track);border-style:solid}
.ty-kb{display:flex;flex-direction:column;gap:5px;align-items:center;direction:ltr;margin-top:10px;user-select:none}
.ty-kb>div{display:flex;gap:5px}.ty-kb span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#202327;background:var(--f,#ECEDEE);opacity:.85}
.ty-kb span.on{background:var(--track);color:#fff;opacity:1;box-shadow:0 0 0 3px rgba(0,131,143,.25)}
.ty-kb span.w{width:76px;font-size:12px;background:#ECEDEE}.ty-kb span.sp{width:240px;font-size:12px;background:#ECEDEE}
.ty-kb span.w.on,.ty-kb span.sp.on{background:var(--track);color:#fff;opacity:1;box-shadow:0 0 0 3px rgba(0,131,143,.25)}
.ty-kb p{margin:6px 0 0;text-align:center}
.ty-arena{position:relative;height:360px;border-radius:16px;overflow:hidden;background:linear-gradient(var(--track-soft),var(--surface));border:1px solid var(--border)}
.ty-arena .flash{position:absolute;inset:0;border:0;background:transparent}
.ty-mon{position:absolute;top:-40px;display:flex;flex-direction:column;align-items:center;gap:2px}.ty-mon span{font-size:26px}
.ty-mon .w{direction:ltr;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:1px 8px;font-family:ui-monospace,Consolas,monospace;font-size:16px}
.ty-mon.hit .w{background:#FFF3B0;color:#202327}
.ty-buf{text-align:center;font-family:ui-monospace,Consolas,monospace;font-size:20px;min-height:30px;margin-top:6px}
.ty-task summary{cursor:pointer;font-weight:700}.ty-task{margin:8px 0}
@media (max-width:760px){.ty-desk{display:none!important}.ty-text{font-size:18px;max-height:200px}.ty-arena{height:300px}}
/* v139 minimal pairs («جفت‌های کمینه») + report → remedy links */
.mp-groups,.mp-modes{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:12px}
.mp-groups .mcard,.mp-modes .mcard{cursor:pointer;text-align:right;font:inherit}
.mp-st{display:block;color:var(--accent-ink);font-size:12px;margin-top:4px}
.mp-missc{border-color:var(--bad)}
.mp-top{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.mp-h{margin:12px 0 8px;font-size:20px}
.mp-tip{margin:0 0 8px}
.mp-warn{margin-bottom:12px}
.mp-list{display:grid;gap:10px;margin-bottom:12px}
.mp-row{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.mp-row.lo{border-style:dashed}
.mp-vs{color:var(--muted);font-size:18px;text-align:center}
.mp-w{display:flex;gap:10px;align-items:center;min-width:0}
.mp-w b{display:block;font-size:20px}
.mp-fa{display:block;font-size:13px;color:var(--text-2)}
.mp-cr{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.mp-cr a{color:inherit}
.mp-say{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--accent-2);cursor:pointer;font-size:18px}
.mp-acts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}
.mp-acts .rec{background:var(--bad-bg);color:var(--bad)}
.mp-lo{background:var(--warn-bg);color:var(--warn)}.mp-bad{background:var(--bad-bg);color:var(--bad)}
.mp-q{text-align:center}
.mp-ask{font-weight:700;margin:0 0 12px}
.mp-big{display:inline-flex;flex-direction:column;align-items:center;gap:4px;border:0;border-radius:20px;background:var(--accent-2);color:var(--accent-ink);font-size:34px;padding:14px 28px;cursor:pointer}
.mp-big small{font-size:12px;font-weight:600}
.mp-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px auto 0;max-width:560px}
.mp-opt{position:relative;border:2px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);padding:16px 10px;cursor:pointer;font:inherit}
.mp-opt b{display:block;font-size:24px}.mp-opt small{display:block;color:var(--text-2);font-size:13px}
.mp-opt kbd{position:absolute;top:6px;inset-inline-start:8px;font-size:11px;color:var(--muted);font-family:inherit}
.mp-opt:hover:not(:disabled){border-color:var(--accent)}
.mp-opt.right{border-color:var(--ok);background:var(--ok-bg)}.mp-opt.wrong{border-color:var(--bad);background:var(--bad-bg)}.mp-opt.dim{opacity:.55}
.mp-fb{margin-top:14px;text-align:right}.mp-fb .mp-acts{justify-content:flex-end;margin-top:10px}
@media (max-width:640px){.mp-row{grid-template-columns:1fr}.mp-vs{display:none}.mp-opt b{font-size:20px}}
.fx-rem{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin-top:6px;flex-basis:100%}
.fx-rem a{background:var(--accent-2);color:var(--accent-ink);border-radius:999px;padding:2px 10px;text-decoration:none;font-weight:600}
.at-rem{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 14px;margin:10px 0;font-size:13px}
.at-rem b{color:var(--text)}
.fx-res li:has(.fx-rem){flex-wrap:wrap}.fx-res .fx-rem{padding-inline-start:40px}
.mp-w b{text-align:right}
/* v143 «کدام آزمون برای من؟» on /exams */
.eh-which{margin:12px 0 0}.eh-which a{font-weight:800;color:var(--accent-ink)}
.ec{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px;max-width:900px;margin:0 auto}
.ec-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.ec-q h3{margin:6px 0 12px;font-size:18px}
.ec-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.ec-o{border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:14px;padding:12px 14px;font:inherit;font-weight:700;cursor:pointer;text-align:right}
.ec-o:hover,.ec-o:focus-visible{border-color:var(--accent);background:var(--accent-2)}
.ec-rh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ec-rh small{color:var(--muted);font-weight:700}.ec-rh h3{margin:4px 0;font-size:20px}.ec-rh p{margin:4px 0}
.ec-big{flex:none;font-size:30px;font-weight:900;color:var(--accent-ink);background:var(--accent-2);border-radius:16px;padding:8px 16px}
.ec-gap{background:var(--surface-2);border-radius:12px;padding:8px 12px;font-size:14px}
.ec-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.ec h4{margin:12px 0 6px;font-size:15px}
.ec-ex,.ec-cond,.ec-cen{margin:0;padding-inline-start:18px;line-height:1.9;font-size:14px}
.ec-ex .ltr{display:inline-block;direction:ltr;unicode-bidi:isolate}
.ec-here{font-size:12px;font-weight:800;color:var(--accent-ink);background:var(--accent-2);border-radius:999px;padding:1px 8px;text-decoration:none;white-space:nowrap}
.ec-cen small{color:var(--muted)}
.ec-src{font-size:13px;color:var(--muted);margin:12px 0 8px}
.ec-warn{margin:8px 0}
.ec-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media (max-width:640px){.ec{padding:14px}.ec-cols{grid-template-columns:1fr}.ec-opts{grid-template-columns:1fr 1fr}.ec-big{font-size:22px}}
/* v145 «بستهٔ روز آزمون» on exam-centre pages */
.ed h2{font-size:20px;margin-top:0}
.ed-nav{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.ed-nav a{background:var(--accent-2);color:var(--accent-ink);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700;text-decoration:none}
.ed-s{border-top:1px solid var(--border);padding-top:12px;margin-top:14px;scroll-margin-top:90px}
.ed-s h3{margin:0 0 10px;font-size:17px}.ed-s h4{margin:10px 0 4px;font-size:15px}
.ed-calc{display:grid;gap:10px;background:var(--surface-2);border-radius:14px;padding:12px}
.ed-calc label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:600;font-size:14px}
.ed-calc select{font:inherit;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.ed-mode{display:flex;gap:14px;flex-wrap:wrap}
.ed-sum{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}
.ed-sum b{font-size:24px;color:var(--accent-ink)}.ed-sum small{color:var(--muted);font-weight:700}.ed-sum span{font-size:13px;color:var(--text-2)}
.ed-sum.none b{font-size:18px;color:var(--warn)}
.ed-tip{color:var(--warn)!important;font-weight:700}
.ed-all{margin-top:10px}.ed-all summary{cursor:pointer;font-weight:700;font-size:14px}
.ed-kv th{width:150px;white-space:nowrap;vertical-align:top}
.ed-rules,.ed-check{margin:0;padding-inline-start:18px;line-height:2;font-size:14px}
.ed-check{list-style:none;padding:0}.ed-check label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.ed-check input{margin-top:7px}
.ed-check .chip{font-size:11px;padding:1px 8px}
@media (max-width:640px){.ed-kv th{width:auto;white-space:normal}.ed-kv th,.ed-kv td{display:block}.ed-kv th{border-bottom:0;padding-bottom:0}}
/* v148 مربی واژه‌های کوچک (Modalpartikeln) */
.co-pcards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-top:12px}
.co-pcard{cursor:pointer;text-align:right;font:inherit;flex-direction:column;align-items:stretch;gap:6px}
.co-pcard b{font-size:20px}.co-pcard.lock{opacity:.6}.co-pcard.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.co-pst{color:var(--accent-ink)!important}
.co-sel{align-self:flex-start;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}
.co-pcard.on .co-sel{background:var(--accent-2);color:var(--accent-ink);border-color:var(--accent)}
.co-ex{margin:8px 0;padding-top:6px;border-top:1px dashed var(--border)}.co-ex:first-of-type{border-top:0}
.co-ex u{text-decoration:none;color:var(--accent);font-weight:800;background:var(--accent-2);border-radius:4px;padding:0 3px}
.co-big u{text-decoration:none;color:var(--accent);font-weight:800;background:var(--accent-2);border-radius:4px;padding:0 3px}
.co-plain{margin-top:2px;opacity:.85}.co-say{padding:2px 8px!important;font-size:13px!important;vertical-align:middle}

/* v149 «فالو اینستاگرام، ۱۰٪ تخفیف» (/instagram-discount) */
.igd-pct{color:#C13584;white-space:nowrap}
.igd-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}
.igd-steps>li{display:flex;gap:14px;align-items:flex-start;background:var(--surface,var(--bg));border:1px solid var(--border);border-radius:16px;padding:16px}
.igd-steps h2{font-size:18px;margin:2px 0 6px}.igd-steps p{margin:0 0 10px;line-height:2}
.igd-n{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;background:linear-gradient(135deg,#F58529,#DD2A7B 55%,#8134AF)}
.igd-rules ul{margin:0;padding-right:20px;line-height:2.1}.igd-use{margin-top:14px}
.ig-new{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.ig-new .field{flex:1;min-width:180px}
.ig-out{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.ig-out code{font-size:20px;font-weight:800;letter-spacing:2px;padding:6px 12px;border-radius:10px;background:color-mix(in srgb,#C13584 10%,transparent)}

/* v152 شکار اشتباه */
.co-fhead{display:flex;gap:6px;flex-wrap:wrap}.co-fbadge.real{background:color-mix(in srgb,#C2410C 14%,transparent);color:#9A3412}
.co-ftoks{border-style:solid;margin-top:8px}.co-ftoks .tok:disabled{cursor:default;opacity:1}
.co-ftoks .tok.bad{border:2px solid #DC2626;background:rgba(220,38,38,.12);text-decoration:underline wavy #DC2626;text-underline-offset:4px}
.co-ftoks .tok.miss{border:2px dashed var(--muted,#888);opacity:.7}
.co-fix{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:var(--surface-2,rgba(0,0,0,.03))}.co-fix s{color:#B42318}.co-fix b{color:#15803D}
.co-fcat{cursor:pointer;border:1px solid var(--border-strong)}.co-fcat.on{background:var(--track-soft);border-color:var(--track)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .co-fbadge.real{color:#FDBA74}}
:root[data-theme=dark] .co-fbadge.real{color:#FDBA74}

/* v156 کارت گروه در باشگاه */
.cb-group{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,#229ED9 8%,var(--surface,var(--bg)))}
.cb-group>div{flex:1;min-width:220px}.cb-group p{margin:4px 0 0;font-size:13px;line-height:1.9;color:var(--text-2,inherit)}.cb-group-ic{font-size:26px}
/* v159: «کارت اشتراک» buttons (result / report / streak / level → story image with invite QR) */
.sc-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.sc-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:15px;color:#fff;background:linear-gradient(135deg,#00838F,#3A6FA8 60%,#6265B1);box-shadow:0 4px 14px rgba(58,111,168,.25)}
.sc-btn svg{width:18px;height:18px}
.sc-btn:hover{filter:brightness(1.07)}
.sc-btn:focus-visible{outline:3px solid var(--teal-600,#00838F);outline-offset:2px}
.sc-btn.sc-sm{padding:7px 13px;font-size:13px}
.t3-fw{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* v159: /instagram-discount — story / reel cards */
.igd-h2{font-size:20px;margin:22px 0 10px}
.igd-ugc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.igd-card{background:var(--surface,var(--bg));border:1px solid var(--border);border-radius:16px;padding:16px}
.igd-card .igd-pct{font-size:28px;font-weight:800}
.igd-card h3{margin:4px 0 6px;font-size:17px}.igd-card p{margin:0 0 8px;line-height:2}
/* v160: «کارت آلمانی‌باما» editor (card page inline + dialog from result buttons) */
.cd-head h1{font-size:24px;margin:0 0 4px}.cd-head p{margin:0 0 14px;color:var(--text-2);line-height:2}
.cd-ed{margin-bottom:16px}
.scx{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:18px;align-items:start}
.scx-pv canvas{width:100%;height:auto;aspect-ratio:9/16;border-radius:22px;box-shadow:0 10px 30px rgba(16,39,43,.18);display:block;background:var(--surface-2)}
.scx-ctl{display:flex;flex-direction:column;gap:8px;min-width:0}
.scx-l{font-weight:700;font-size:14px;margin-top:4px}
.scx-row{display:flex;gap:8px;flex-wrap:wrap}
.scx-sw{width:44px;height:44px;border-radius:50%;border:3px solid var(--surface,#fff);box-shadow:0 0 0 1px var(--border);cursor:pointer}
.scx-sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--teal-600,#00838F)}
.scx-mz{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 4px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;font-size:12px;color:var(--text)}
.scx-mz img{width:44px;height:44px;object-fit:contain}
.scx-mz[aria-pressed=true],.scx-q[aria-pressed=true]{border-color:var(--teal-600,#00838F);background:color-mix(in srgb,var(--teal-600,#00838F) 12%,var(--surface,#fff));box-shadow:0 0 0 1px var(--teal-600,#00838F)}
.scx-q{padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;font-size:13px;color:var(--text);text-align:start}
.scx-in{border:1px solid var(--border-strong,var(--border));border-radius:12px;padding:10px;font:inherit;background:var(--surface);color:var(--text)}
.scx-nm{display:flex;gap:8px;align-items:center;font-size:14px;margin-top:4px}
.scx-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.scx-tip{font-size:12.5px;color:var(--text-2);margin:2px 0 0;line-height:1.9}
.scx-dlg{width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border-radius:22px;overflow:auto}
.scx-hd{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface,#fff);z-index:1}
.scx-x{border:0;background:none;font-size:20px;cursor:pointer;color:var(--text);padding:4px 8px}
.scx-body{padding:14px 16px 18px}
@media (max-width:640px){.scx{grid-template-columns:1fr}.scx-pv{max-width:250px;margin:0 auto;width:100%}}
/* v160: monthly draw section on /instagram-discount */
.igd-draw{margin:22px 0;padding:20px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#FF9A5A,#EE5A7E 55%,#6E3AA0)}
.igd-draw h2{font-size:20px;margin:8px 0 6px;line-height:1.7}.igd-draw p{margin:0 0 10px;line-height:2}
.igd-draw ul{margin:10px 0 0;padding-inline-start:18px;line-height:2;opacity:.95}
.igd-dk{display:inline-block;background:rgba(255,255,255,.2);border-radius:999px;padding:4px 12px;font-weight:700;font-size:13px}
.igd-prz{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.igd-prz li{background:rgba(255,255,255,.18);border-radius:14px;padding:10px;text-align:center}.igd-prz b{display:block}.igd-prz li:first-child{background:#fff;color:#6E3AA0}
.igd-win{background:rgba(0,0,0,.15);border-radius:12px;padding:8px 12px;margin:12px 0 0}
/* v162: sign-up steps + login tabs (SMS) */
.reg-steps{list-style:none;display:flex;gap:6px;padding:0;margin:0 0 14px;counter-reset:rs}
.reg-steps li{flex:1;text-align:center;font-size:12px;color:var(--muted);padding-top:8px;border-top:4px solid var(--border);counter-increment:rs}
.reg-steps li::before{content:counter(rs, persian) ". "}
.reg-steps li.on{color:var(--teal-600,#00838F);border-top-color:var(--teal-600,#00838F);font-weight:700}
.lg-tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:999px;padding:4px;margin:0 0 16px}
.lg-tabs button{flex:1;border:0;background:none;border-radius:999px;padding:8px;font:inherit;font-size:14px;cursor:pointer;color:var(--text-2)}
.lg-tabs button[aria-selected=true]{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.08)}
/* v164: «مدیریت مجوزها» — credits shown only on /credits (or nowhere): inline credit labels are hidden */
.attr-hide .ab-attr{display:none!important}
.attr-hide .dp-exm{justify-content:flex-end}
.ft-seals{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.ft-lic{list-style:none;margin:10px 0 0;padding:0;font-size:12.5px;line-height:1.9;opacity:.9}.ft-lic span{opacity:.8;margin-inline-start:4px}

/* fx-F081: the «پرش به محتوا» link becomes visible while it has keyboard focus */
.sr-only:focus,.sr-only:focus-visible{position:fixed;top:8px;inset-inline-start:8px;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;z-index:10000;background:#fff;color:#111;padding:8px 14px;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.25);outline:2px solid #2563eb;text-decoration:none}
/* fx-F079: footer links are at least 24px tall, easier to tap on a phone */
.site-footer ul a,.site-footer .f-legal a{display:inline-block;min-height:24px;padding-block:3px}
/* fx-F084: the teal link in the home hero text reaches 4.5:1 on the light background (was 4.2:1) */
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .h3-sub a{color:#007984}}
[data-theme="light"] .h3-sub a{color:#007984}
