/* ============================================================
   پشیز (Pashiz) — design system v6, from the Pashiz design system v1.1 (tokens.css --pz-*)
   Misty canvas #F7F8FC + white cards · Indigo #4355DB = action, selection, links (#3342B4), series 1
   Navy #142B40 = text & logo · Gold #B99750 = owl/identity only (#75591E identity text) · Mint/peach = supporting surfaces, no meaning
   Dark theme derived (navy-indigo #0E1526/#162036, indigo #7D8CFF). Type: Vazirmatn · Inter (Latin numerals)
   ============================================================ */
@font-face{font-family:"Vazirmatn";src:url("/fonts/Vazirmatn-var.woff2") format("woff2 supports variations"),url("/fonts/Vazirmatn-var.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/Inter-var.woff2") format("woff2 supports variations"),url("/fonts/Inter-var.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#F7F8FC; --card:#FFFFFF; --ink:#142B40; --ink-2:#1E3C56; --muted:#596579;
  --line:#E0E5EF; --line-strong:#C5CDDC; --input-border:#7E8AA0;
  --accent:#4355DB; --accent-soft:#E9EDFF; --accent-faint:#F1F3FF; --accent-ink:#3342B4;
  --brand-red:#B23838; --brand-red-soft:#FCEEEE;
  --up:#166B50; --up-soft:#EAF4EE; --down:#B23838; --down-soft:#FCEEEE;
  --flat:#596579; --flat-soft:#EEF1F8;
  --warn:#805B12; --warn-soft:#FFF4D6;
  --chip-ink:#FFFFFF;
  --action:#4355DB; --action-hover:#3342B4; --action-pressed:#28358F; --on-action:#FFFFFF; --focus:#3342B4; --info:#3342B4; --info-soft:#EDF0FF;
  --gold:#B99750; --gold-ink:#75591E; --gold-soft:#F5EBD6; --mint-soft:#E5F5EF; --mint-ink:#176953; --peach-soft:#FFF0E5; --peach-ink:#9B4D20;
  --series-1:#4355DB; --series-2:#117D87; --series-3:#8750B5; --series-4:#9B6420; --series-5:#30536E; --series-6:#9B4D20; --sev-alert:#B0832A; --sev-tense:#B5651D;
  --font-fa:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,system-ui,sans-serif;
  --font-latin:"Inter"; /* then var(--font-fa): Persian digits inside a figure must fall to Vazirmatn, not Arial */
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono","Courier New",monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#0E1526; --card:#162036; --ink:#EEF1F8; --ink-2:#C9D1E1; --muted:#9AA6BC;
    --line:#26314A; --line-strong:#3A4868; --input-border:#6F7D99;
    --accent:#7D8CFF; --accent-soft:#222C5C; --accent-faint:#1A2347; --accent-ink:#AEB9FF;
    --brand-red:#E58282; --brand-red-soft:#3B1F2A;
    --up:#5CC79A; --up-soft:#123228; --down:#E58282; --down-soft:#3B1F2A;
    --flat:#9AA6BC; --flat-soft:#1D2840;
    --warn:#E2B65C; --warn-soft:#30291A;
    --chip-ink:#0E1526;
    --action:#5163E8; --action-hover:#4757DF; --action-pressed:#3D4CCB; --on-action:#FFFFFF; --focus:#AEB9FF; --info:#AEB9FF; --info-soft:#1F2A55;
    --gold:#C9A862; --gold-ink:#DDC183; --gold-soft:#2E2A1C; --mint-soft:#11302B; --mint-ink:#7DD8B7; --peach-soft:#3A2619; --peach-ink:#F2B48A;
    --series-1:#7D8CFF; --series-2:#3FB8C2; --series-3:#B48BDB; --series-4:#D9A15A; --series-5:#8FB3D9; --series-6:#F2B48A; --sev-alert:#E2B65C; --sev-tense:#E08A4A;
  }
}
:root[data-theme="dark"]{
  --paper:#0E1526; --card:#162036; --ink:#EEF1F8; --ink-2:#C9D1E1; --muted:#9AA6BC;
  --line:#26314A; --line-strong:#3A4868; --input-border:#6F7D99;
  --accent:#7D8CFF; --accent-soft:#222C5C; --accent-faint:#1A2347; --accent-ink:#AEB9FF;
  --brand-red:#E58282; --brand-red-soft:#3B1F2A;
  --up:#5CC79A; --up-soft:#123228; --down:#E58282; --down-soft:#3B1F2A;
  --flat:#9AA6BC; --flat-soft:#1D2840;
  --warn:#E2B65C; --warn-soft:#30291A;
  --chip-ink:#0E1526;
  --action:#5163E8; --action-hover:#4757DF; --action-pressed:#3D4CCB; --on-action:#FFFFFF; --focus:#AEB9FF; --info:#AEB9FF; --info-soft:#1F2A55;
  --gold:#C9A862; --gold-ink:#DDC183; --gold-soft:#2E2A1C; --mint-soft:#11302B; --mint-ink:#7DD8B7; --peach-soft:#3A2619; --peach-ink:#F2B48A;
  --series-1:#7D8CFF; --series-2:#3FB8C2; --series-3:#B48BDB; --series-4:#D9A15A; --series-5:#8FB3D9; --series-6:#F2B48A; --sev-alert:#E2B65C; --sev-tense:#E08A4A;
}
:root[data-theme="light"]{
  --paper:#F7F8FC; --card:#FFFFFF; --ink:#142B40; --ink-2:#1E3C56; --muted:#596579;
  --line:#E0E5EF; --line-strong:#C5CDDC; --input-border:#7E8AA0;
  --accent:#4355DB; --accent-soft:#E9EDFF; --accent-faint:#F1F3FF; --accent-ink:#3342B4;
  --brand-red:#B23838; --brand-red-soft:#FCEEEE;
  --up:#166B50; --up-soft:#EAF4EE; --down:#B23838; --down-soft:#FCEEEE;
  --flat:#596579; --flat-soft:#EEF1F8;
  --warn:#805B12; --warn-soft:#FFF4D6;
  --chip-ink:#FFFFFF;
  --action:#4355DB; --action-hover:#3342B4; --action-pressed:#28358F; --on-action:#FFFFFF; --focus:#3342B4; --info:#3342B4; --info-soft:#EDF0FF;
  --gold:#B99750; --gold-ink:#75591E; --gold-soft:#F5EBD6; --mint-soft:#E5F5EF; --mint-ink:#176953; --peach-soft:#FFF0E5; --peach-ink:#9B4D20;
  --series-1:#4355DB; --series-2:#117D87; --series-3:#8750B5; --series-4:#9B6420; --series-5:#30536E; --series-6:#9B4D20; --sev-alert:#B0832A; --sev-tense:#B5651D;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-fa);direction:rtl;line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased}
.num{font-family:var(--font-latin),var(--font-fa);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:plaintext}
.txid,.addr,code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.stat .v{direction:rtl;unicode-bidi:plaintext;text-align:right;font-family:var(--font-latin),var(--font-fa)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px 80px}
a{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--line-strong)}
a:hover{border-bottom-color:var(--accent)}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}

/* ---------- site header (brand) ---------- */
.topbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.tb-inner{max-width:960px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:8px 22px;min-height:60px}
.brand{display:inline-flex;align-items:center;gap:10px;border-bottom:none;flex:0 0 auto;color:var(--ink)}
.brand .sym{height:40px;width:auto;display:block}
.brand .wm.wm-t{height:auto;font-weight:800;font-size:23px;line-height:1;letter-spacing:0;color:var(--ink)}
.brand .wm{height:18px;width:auto;display:block}
/* theme-aware asset pairs: exactly one of .logo-day / .logo-dark is ever visible (rules beat any display: set by layout classes) */
html:not([data-theme="dark"]) .logo-dark{display:none!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo-day{display:none!important} :root:not([data-theme="light"]) .logo-dark{display:block!important}}
:root[data-theme="dark"] .logo-day{display:none!important} :root[data-theme="dark"] .logo-dark{display:block!important}
:root[data-theme="light"] .logo-day{display:block!important} :root[data-theme="light"] .logo-dark{display:none!important}
.theme-btn .logo-day,.theme-btn .logo-dark{line-height:1}
.hdr-nav{display:flex;gap:4px 18px;align-items:center;flex-wrap:wrap}
.tb-link{font-weight:700;border-bottom:none;color:var(--ink-2);padding:6px 0;font-size:14.5px;display:inline-flex;align-items:center;min-height:40px}
.tb-link:hover{color:var(--accent-ink)}
.tb-link.cur{color:var(--accent-ink);box-shadow:inset 0 -2px 0 var(--accent)}
.theme-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0;flex:0 0 auto}
.theme-btn:hover{border-color:var(--accent)} .tb-date{margin-inline-start:auto;color:var(--muted);font-size:13px;white-space:nowrap}
.hamb{display:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);font-size:17px;line-height:1;cursor:pointer;padding:0;align-items:center;justify-content:center;flex:0 0 auto}
.hamb:hover{border-color:var(--accent)} .m-only{display:none}
.tb-inner{position:relative}
.sub-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 11px;font-size:12.5px;font-weight:800;border:1px solid;white-space:nowrap;line-height:1.6;text-decoration:none}
.sub-badge.ok{color:var(--up);background:var(--up-soft);border-color:var(--up)} .sub-badge.warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn)}
.sub-badge.bad,.sub-badge.none{color:var(--down);background:var(--down-soft);border-color:var(--down)}
.tb-exit{color:var(--muted);font-weight:600;font-size:13.5px} .tb-exit:hover{color:var(--brand-red)}
.tb-date + .tb-exit{margin-inline-start:0} .hdr-nav + .tb-exit{margin-inline-start:auto}

/* ---------- masthead ---------- */
header.masthead{border-bottom:3px double var(--line-strong);padding:40px 0 24px;margin-bottom:8px}
.eyebrow,.sec-eyebrow{font-size:12px;letter-spacing:.14em;color:var(--accent-ink);font-weight:700;margin-bottom:8px}
h1{font-size:clamp(26px,4.6vw,38px);line-height:1.35;margin:0 0 12px;font-weight:800;text-wrap:balance}
h2{font-size:clamp(21px,3.2vw,27px);margin:4px 0 6px;font-weight:800;text-wrap:balance}
h3{font-size:18px;margin:26px 0 8px;font-weight:750;text-wrap:balance}
.subtitle,.lede{color:var(--ink-2);max-width:72ch;margin:0 0 14px;font-size:16px}
header.masthead .subtitle{max-width:none}
.meta-row{display:block;margin-top:16px;color:var(--muted);font-size:13px;max-width:none}
.meta-row>span{display:block;text-align:justify;text-justify:inter-word;margin:6px 0;line-height:1.9}
.meta-row b{color:var(--ink-2);font-weight:600}
p{max-width:72ch} ul,ol{max-width:70ch} li{margin:5px 0}
hr.sep{border:none;border-top:1px solid var(--line);margin:34px 0}
p,.lede,.subtitle,.kv,.callout,li,.acard .body,details .body{text-align:justify;text-justify:inter-word;hyphens:none}
h1,h2,h3,.sec-eyebrow,.tb-inner,.stat,thead th,.chip,.tick,.pick .rk,.arch-list a,nav.toc a,.tbl-note{text-align:right;text-justify:auto}
header.masthead .eyebrow{text-align:justify;text-justify:inter-word;max-width:72ch}

/* ---------- stat tiles ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:26px 0 8px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.stat .k{font-size:12px;color:var(--muted);margin-bottom:2px}
.stat .v{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.5}
.stat .vn{font-size:12.5px;color:var(--ink-2);margin-top:1px;line-height:1.6;font-family:var(--font-fa)}
.stat .d{font-size:12px;margin-top:2px}
.stat .d.up{color:var(--up)} .stat .d.down{color:var(--down)} .stat .d.flat{color:var(--flat)}

/* ---------- TOC ---------- */
nav.toc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:26px 0}
nav.toc .t{font-weight:800;font-size:14px;margin-bottom:8px;color:var(--accent-ink)}
nav.toc ol{margin:0;padding:0 18px 0 0;columns:2;column-gap:36px;font-size:14.5px}
nav.toc li{margin:3px 0;break-inside:avoid}
nav.toc a{border-bottom:none;display:inline-flex;align-items:center;min-height:36px}
@media (max-width:640px){nav.toc ol{columns:1}}

/* ---------- sections / chips ---------- */
section{margin-top:52px}
.chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 11px;font-size:12.5px;font-weight:700;white-space:nowrap;line-height:1.7}
.chip.up{background:var(--up-soft);color:var(--up);border:1px solid var(--up)}
.chip.down{background:var(--down-soft);color:var(--down);border:1px solid var(--down)}
.chip.flat{background:var(--flat-soft);color:var(--flat);border:1px solid var(--flat)}
.chip .c{opacity:.75;font-weight:600}
.tick{display:inline-block;background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:0 7px;font-size:12px;font-weight:700;letter-spacing:.03em;font-family:var(--font-latin),var(--font-fa)}
.tbl-note{font-size:13px;color:var(--muted)}

/* ---------- tables ---------- */
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:780px}
th,td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}
thead th{background:var(--flat-soft);color:var(--muted);font-size:12.5px;position:sticky;top:0}
tbody tr:last-child td{border-bottom:none}
td.asset{font-weight:700;white-space:nowrap}
td.asset .tk{display:block;font-weight:500;font-size:11.5px;color:var(--muted);font-family:var(--font-latin),var(--font-fa)}
.group-row td{background:var(--paper);color:var(--accent-ink);font-weight:800;font-size:12.5px;letter-spacing:.06em}

/* ---------- cards ---------- */
.acard{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:16px 0;overflow:hidden}
.acard-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding:15px 18px 4px}
.acard-h .nm{font-size:17.5px;font-weight:800}
.acard-h .px{color:var(--ink-2);font-size:14px}
.horiz{display:flex;flex-wrap:wrap;gap:7px;padding:8px 18px 14px}
.horiz .hz{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.acard .body{padding:2px 18px 16px;border-top:1px dashed var(--line)}
.kv{margin:10px 0;font-size:14.5px}
.kv b.k{color:var(--accent-ink);font-weight:750}
details{border-top:1px dashed var(--line)}
details summary{cursor:pointer;padding:10px 18px;font-size:13.5px;font-weight:700;color:var(--accent-ink);list-style:none;min-height:40px}
details summary::before{content:"▸ "} details[open] summary::before{content:"▾ "}
details .body{border-top:none;padding-top:0}
.src{font-size:12.5px;color:var(--muted);line-height:2} .src a{color:var(--muted);min-height:40px}

.callout{background:var(--card);border:1px solid var(--line);border-right:4px solid var(--accent);border-radius:10px;padding:14px 18px;margin:16px 0;font-size:14.5px}
.callout.risk{border-right-color:var(--brand-red)} .callout.good{border-right-color:var(--up)}
.callout .t{font-weight:800;margin-bottom:4px}
.disclaimer{background:var(--warn-soft);border:1px solid var(--warn);border-radius:10px;padding:16px 18px;margin:22px 0;font-size:14.5px}

/* ---------- verdict ---------- */
.verdict{background:var(--card);border:2px solid var(--accent);border-radius:14px;padding:6px 22px 18px;margin:20px 0}
.verdict h3{display:flex;align-items:center;gap:10px;margin-top:20px}
.verdict h3 .hzn{background:var(--accent);color:var(--chip-ink);border-radius:8px;padding:1px 12px;font-size:14px}
.pick{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.pick:last-of-type{border-bottom:none}
.pick .rk{font-weight:800;color:var(--accent-ink);white-space:nowrap}
.pick .why{color:var(--ink-2);font-size:13.5px}
.avoid{background:var(--down-soft);border-radius:9px;padding:10px 14px;margin-top:12px;font-size:13.5px}
.avoid b{color:var(--down)}
.cal td:first-child{white-space:nowrap;font-weight:700;color:var(--accent-ink)}

/* ---------- archive list ---------- */
.arch-list{list-style:none;margin:20px 0;padding:0;max-width:none}
.arch-list li{margin:0;border-bottom:1px dashed var(--line)}
.arch-list a{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;padding:13px 4px;border-bottom:none;font-weight:700;min-height:44px}
.arch-list a:hover{background:var(--accent-soft)}
.arch-list .g{color:var(--muted);font-weight:500;font-size:13px}
.arch-list .latest-tag{background:var(--up-soft);color:var(--up);border:1px solid var(--up);border-radius:999px;padding:0 10px;font-size:12px}

footer{margin-top:64px;border-top:3px double var(--line-strong);padding-top:18px;color:var(--muted);font-size:13px}
footer .brandline{display:flex;align-items:center;gap:10px;margin-bottom:8px}
footer .brandline img{height:30px;width:auto} footer .brandline .bl-name{font-weight:800;font-size:20px;color:var(--ink)} .foot-brand .brandline+.muted{color:var(--gold-ink)}

/* ---------- compact header (tablet & phone) ---------- */
@media (max-width:760px){
  .tb-inner{flex-wrap:nowrap;gap:8px;padding:6px 12px;min-height:52px}
  .brand .wm{display:none!important}
  .tb-date{display:none} .tb-exit:not(.m-only){display:none} .hdr-nav.push{margin-inline-start:0}
  .hamb{display:inline-flex;margin-inline-start:auto} .sub-badge{margin-inline-start:auto} .sub-badge ~ .hamb{margin-inline-start:0}
  .hdr-nav{display:none;position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:4px 16px 10px;box-shadow:0 12px 28px rgba(0,0,0,.18);z-index:60}
  .topbar.menu-open .hdr-nav{display:flex}
  .hdr-nav .tb-link{width:100%;min-height:46px;font-size:15px;border-bottom:1px dashed var(--line);box-shadow:none;padding:6px 2px}
  .hdr-nav .tb-link.cur{color:var(--accent-ink)} .hdr-nav .tb-link:last-child{border-bottom:none}
  .m-only{display:inline-flex;color:var(--brand-red)}
}
/* ---------- responsive ---------- */
@media (max-width:760px){.wrap{padding:0 15px 60px} section{margin-top:40px}}
@media (max-width:560px){
  html{font-size:15px} body{line-height:1.8} .wrap{padding:0 13px 52px}
  header.masthead{padding:28px 0 18px} h1{font-size:23px;line-height:1.4} h2{font-size:20px} h3{font-size:17px}
  .subtitle,.lede{font-size:15px} .meta-row{gap:6px 14px;font-size:12px} section{margin-top:34px}
  .stats{grid-template-columns:1fr 1fr;gap:8px} .stat .v{font-size:17px}
  .tb-inner{padding:8px 13px;gap:6px 12px;min-height:54px} .brand .sym{height:34px;width:auto} .brand .wm,.brand .wm.logo-day,.brand .wm.logo-dark{display:none!important}
  .tb-date{display:none}
  table{font-size:12.5px;min-width:640px} th,td{padding:7px 9px}
  .acard-h{padding:13px 14px 4px} .acard-h .nm{font-size:16px} .acard .body{padding:2px 14px 14px} .horiz{padding:8px 14px 12px;gap:6px}
  .verdict{padding:4px 15px 15px} .pick{grid-template-columns:1fr;gap:2px} .pick .rk{font-size:14px}
  .callout,.disclaimer{padding:13px 15px} .arch-list a{padding:14px 4px;gap:4px 12px}
}
@media (max-width:380px){.stats{grid-template-columns:1fr} h1{font-size:21px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v17: shared site footer on every page (same markup as the backend Layout) */
.site-foot{margin-top:56px;border-top:3px double var(--line-strong);padding-top:22px;color:var(--ink-2);font-size:13.5px}
.site-foot .muted{color:var(--muted)} .site-foot .small{font-size:13px} .site-foot a{border-bottom:none}
.foot-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:18px 28px;align-items:start}
.foot-brand .brandline{display:flex;align-items:center;gap:10px;margin-bottom:8px} .foot-brand .brandline img{height:30px;width:auto}
.foot-t{font-weight:800;color:var(--accent-ink);margin-bottom:4px}
.foot-links{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 18px;align-items:center;padding-top:6px} .foot-links a{white-space:nowrap}
.foot-copy{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
.wrap>footer:not(.site-foot)+.site-foot{margin-top:28px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:12px}}
/* v18: telegram chip (static pages) + sample-report banner */
.tg-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800;border:1px solid var(--accent);color:var(--accent-ink);background:var(--accent-soft);white-space:nowrap;line-height:1.6;border-bottom:1px solid var(--accent)} .tg-chip:hover{filter:brightness(1.05)}
.sample-note{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:14.5px} .sample-note .btn{margin-inline-start:auto}
@media (max-width:560px){.tg-chip{padding:2px 8px;font-size:11.5px} .sample-note .btn{margin-inline-start:0;width:100%;justify-content:center}}
/* v19: header never wraps to a second row (static magazine pages share this header) */
.tb-inner{flex-wrap:nowrap} .tb-inner>*{flex:0 0 auto} .tb-inner .tb-date{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis}
@media (min-width:761px){.hdr-nav{flex-wrap:nowrap} .hdr-nav .tb-link{white-space:nowrap}}
@media (min-width:761px) and (max-width:1000px){.topbar .wm{display:none!important} .tb-inner{gap:8px 12px;padding:10px 14px} .hdr-nav{gap:4px 10px} .hdr-nav .tb-link{font-size:13.5px} .tb-date{display:none} .sub-badge,.tg-chip{padding:2px 8px;font-size:11.5px}}
/* v20: report table of contents — floating sidebar on wide screens, floating button + panel on narrow ones */
nav.toc a.cur{color:var(--accent-ink);font-weight:800}
@media (min-width:1200px){
  .wrap:has(nav.toc){--toc-off:max(20px,calc((100vw - 1230px)/2));max-width:min(960px,calc(100vw - var(--toc-off) - 290px));margin-right:calc(var(--toc-off) + 270px);margin-left:auto}
  .wrap:has(nav.toc) nav.toc{position:fixed;top:76px;right:var(--toc-off);width:230px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:14px 16px;scrollbar-width:thin;z-index:40}
  .wrap:has(nav.toc) nav.toc ol{columns:1;font-size:13.5px;padding-right:16px} .wrap:has(nav.toc) nav.toc li{margin:1px 0} .wrap:has(nav.toc) nav.toc a{min-height:30px;line-height:1.5}
  .wrap:has(nav.toc) nav.toc .t{font-size:13px;margin-bottom:6px}
  .toc-fab,.toc-panel{display:none}
}
@media (max-width:1199px){
  .toc-fab{position:fixed;bottom:18px;right:16px;z-index:61;display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--chip-ink);border:none;border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.25);cursor:pointer}
  .toc-panel{display:none;position:fixed;right:12px;left:12px;bottom:70px;max-height:60vh;overflow-y:auto;z-index:60;background:var(--card);border:1px solid var(--line-strong);border-radius:14px;padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
  body.toc-open .toc-panel{display:block}
  .toc-panel .t{font-weight:800;font-size:14px;margin-bottom:8px;color:var(--accent-ink)} .toc-panel ol{margin:0;padding:0 18px 0 0;font-size:14.5px;columns:1} .toc-panel li{margin:2px 0} .toc-panel a{border-bottom:none;display:block;padding:6px 0}
  .toc-panel a.cur{color:var(--accent-ink);font-weight:800}
}
/* v21: one header everywhere — full-width bar, brand + nav on the start side, actions on the end side */
.tb-inner{max-width:1240px;padding:10px 24px}
.tb-inner .tb-date{flex:1 1 0;min-width:0;margin-inline-start:0}
@media (max-width:760px){.tb-inner{padding:8px 14px}}
/* v22: admin badge — unlimited access in turquoise */
.sub-badge.inf{color:var(--mint-ink);background:var(--mint-soft);border-color:var(--mint-ink)} .sub-badge.inf .num{font-size:15px;line-height:1}
/* v23: installed-app (PWA) login hand-off dialog + "return to the app" page */
.pwa-wait{position:fixed;inset:0;z-index:90;background:rgba(12,28,43,.55);display:flex;align-items:flex-end;justify-content:center;padding:16px}
.pwa-wait-card{background:var(--card);color:var(--ink);border:1px solid var(--line-strong);border-radius:16px;padding:18px 20px;width:min(520px,100%);box-shadow:0 16px 40px rgba(0,0,0,.35);font-size:14.5px;line-height:1.8}
.pwa-wait-card .t{font-weight:800;font-size:16px;margin-bottom:4px} .pwa-wait-card p{margin:0 0 12px} .pwa-wait-card .row{display:flex;gap:10px;flex-wrap:wrap} .pwa-wait-card .btn{font:inherit;cursor:pointer} .pwa-wait-card [data-pwa-note]{margin-top:8px;min-height:1.2em}
.btn.ghost{background:var(--card);color:var(--accent-ink);border:1px solid var(--input-border)} .btn.ghost:hover{background:var(--accent-faint)}
@media (min-width:700px){.pwa-wait{align-items:center}}
.pwa-done{max-width:560px;margin:48px auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 22px} .pwa-done h1{font-size:24px;margin:8px 0 12px} .pwa-done p{margin:0 0 14px;text-align:center}
.pwa-wait-card .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--action);background:var(--action);color:var(--on-action);font-weight:700;text-decoration:none} .pwa-wait-card .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}

/* v24: Android line-box fix — header pills centre their Persian text */
.sub-badge,.tg-chip,.hdr-login{line-height:1;display:inline-flex;align-items:center}

/* v25: floating support button (every page; theme.js points it to /account#support when signed in) */
.sup-fab{position:fixed;bottom:18px;left:16px;z-index:61;display:inline-flex;align-items:center;gap:7px;background:var(--card);color:var(--ink);border:1px solid var(--line-strong);border-radius:999px;padding:9px 14px;font-weight:800;font-size:13.5px;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.22);line-height:1}
.sup-fab:hover{border-color:var(--accent);color:var(--accent-ink)} .sup-fab .ic{font-size:16px;line-height:1}
@media(max-width:560px){.sup-fab span.l{display:none} .sup-fab{padding:11px 12px} .sup-fab .ic{font-size:18px}}

/* v27: congress section — confidence percentages highlighted, horizon strip */
#congress .conf{display:inline-block;background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:0 6px;font-weight:800;font-family:var(--font-latin),var(--font-fa);font-size:12.5px;line-height:1.6;white-space:nowrap}
#congress .hz{display:inline-flex;flex-wrap:wrap;gap:3px 8px;font-size:12.5px;color:var(--ink-2);margin-bottom:4px}
#congress td{vertical-align:top} #congress .congress-note{margin:4px 0 12px}

/* v28: verdict chips carry a confidence percent (same convention as the congress) */
.chip .c{opacity:1;font-weight:800;background:rgba(127,127,127,.16);border-radius:6px;padding:0 5px;font-family:var(--font-latin),var(--font-fa);font-size:11.5px;line-height:1.6}
.score-note{margin:2px 0 12px}

/* v29: congress table — horizontal scroll inside its own box, sticky asset column, compact cells (never breaks the page) */
.congress-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
#congress table{min-width:100%;width:max-content;max-width:none;table-layout:auto;font-size:13px;margin:0;border:none}
#congress th,#congress td{padding:8px 10px;vertical-align:top;white-space:normal;min-width:190px;max-width:300px;line-height:1.7}
#congress th:first-child,#congress td:first-child{position:sticky;right:0;background:var(--card);min-width:120px;max-width:150px;z-index:1;box-shadow:-8px 0 10px -8px rgba(0,0,0,.25)}
#congress thead th{position:sticky;top:0;background:var(--paper);z-index:2} #congress th:first-child{z-index:3}
#congress .hz{display:block;white-space:nowrap;margin-bottom:4px}
@media (max-width:760px){#congress th,#congress td{min-width:170px;max-width:240px;font-size:12.5px} #congress th:first-child,#congress td:first-child{min-width:96px;max-width:120px}}

/* v30: ranked picks — titles may wrap (long titles broke the page width on phones) */
.pick .rk{white-space:normal;display:block;margin-bottom:2px}

/* v31: tabs (congress by horizon) */
.tabs-h{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 8px}
.tabs-h .tab{border:1px solid var(--line-strong);background:var(--card);color:var(--ink-2);border-radius:999px;padding:6px 16px;font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;line-height:1.6}
.tabs-h .tab:hover{border-color:var(--accent)} .tabs-h .tab.on{background:var(--accent);color:var(--chip-ink);border-color:var(--accent)}
.tab-p{display:none} .tab-p.on{display:block}

/* v32: archive note keeps clear of the floating table of contents */
@media (min-width:1200px){body:has(nav.toc) .wrap:has(#arch-note){--toc-off:max(20px,calc((100vw - 1230px)/2));max-width:min(960px,calc(100vw - var(--toc-off) - 290px));margin-right:calc(var(--toc-off) + 270px);margin-left:auto}}

/* v33: four-horizon strip under every asset analysis */
.hz-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 10px;margin:10px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.hz-i{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;font-size:13px;line-height:1.7;color:var(--ink-2);min-width:0}
.hz-i b{color:var(--accent-ink);font-size:12.5px;white-space:nowrap} .hz-i .c{font-weight:800;background:rgba(127,127,127,.16);border-radius:6px;padding:0 5px;font-family:var(--font-latin),var(--font-fa);font-size:11.5px}
.hz-i .hz-r{flex-basis:100%;color:var(--ink-2);font-size:12.5px}
@media (max-width:560px){.hz-strip{grid-template-columns:1fr;padding:8px 10px}}
/* v33: ranked picks always stack (title line, then the text) — no side-by-side squeeze at any width */
.pick{grid-template-columns:1fr;gap:3px 0;padding:11px 0}
.pick .rk{white-space:normal;display:block;line-height:1.7;margin:0}
.pick>span:not(.rk){display:block;line-height:1.9}
/* v34: stance continuity marks */
.hz-since{flex-basis:100%;font-size:11px;color:var(--muted);font-weight:500}
.hz-chg{flex-basis:100%;font-size:11.5px;font-weight:700;color:var(--accent-ink)}

.chip .chg{font-size:10px;font-weight:700;background:var(--accent);color:var(--chip-ink);border-radius:999px;padding:0 6px;margin-inline-start:2px}
.hz-i.tac{opacity:.82}
.hz-i.tac b::after{content:" · تاکتیکی";font-weight:500;color:var(--muted);font-size:10.5px}


/* Public-page navigation and discovery, rendered on the server for crawlers too. */
.seo-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0;color:var(--muted);font-size:13px;line-height:1.8}
.public-reading{margin:32px 0;padding:24px 0;border-block:1px solid var(--line)}.public-reading h2{font-size:22px}.public-reading p{line-height:2}

/* Phones and touch devices (the Android app, phone browsers, tablets) behave like an app, as in Fitana: no text selection, long-press callout,
   image dragging or grey tap flash. Form fields stay editable; payment addresses/TxIDs stay selectable (they also have copy buttons). */
@media (hover:none) and (pointer:coarse), (max-width:760px){
  html,body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
  input,textarea,select,[contenteditable],[role="textbox"],.addr,.txid{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}
  img,svg{-webkit-user-drag:none}
}
