/* One readable Persian type system across the guide and dashboard.
   Digiato inspired the editorial scale; SmartDota keeps its own palette and identity. */
body {
  font-family: Vazirmatn, Tahoma, sans-serif;
  font-size: 14px;
  line-height: 1.75;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body :is(h1,h2,h3,h4,h5,p,li,dt,dd,a,button,input,select,textarea,label,summary,small,span,strong,b,em,th,td,blockquote):not(.brand-wordmark):not(.brand-wordmark *) {
  font-family: Vazirmatn, Tahoma, sans-serif !important;
}

body :is(h1,h2,h3,h4,h5) {
  letter-spacing: 0;
  line-height: 1.45;
}

body :is(input,select,textarea) {
  font-size: 14px;
  line-height: 1.7;
}

body :is(.site-header nav a,.nav-item,.all-heroes-link) {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}

body :is(.eyebrow,.overline,.section-note,.ability-eyebrow,.item-build-head>span,.catalog-lead>span) {
  letter-spacing: 0;
  font-size: 12px;
  line-height: 1.8;
}

/* Hero names are the leading Persian headline, including roster and picker. */
.hero-intro h1 {
  font-weight: 800;
  line-height: 1.35;
  text-shadow: 0 4px 18px #000b;
}
.hero-tagline { font-size: 14px; line-height: 1.9; }
.hero-hype { font-size: 16px; line-height: 2; }
.directory-intro h1 { font-weight: 800; }
.directory-intro p { font-size: 16px; line-height: 1.9; }
.directory-card span { font-size: 16px; line-height: 1.7; padding-top: 10px; }
.hero-tile span { font-size: 14px; line-height: 1.7; padding: 5px 5px 0; }
.ability-panel-head h3 { font-weight: 800; }
.ability-description { font-size: 16px; line-height: 2; }
.mechanics>div,.special-values>div { font-size: 13px; line-height: 1.85; }
.upgrade-card p,.panel-upgrade p { font-size: 14px; line-height: 1.9; }
.build-item strong,.final-build-item strong { font-size: 14px; }
.build-item small,.final-build-item small { font-size: 11px; }
.hero-neighbors button { text-align: right; direction: rtl; }
.hero-neighbors button img { right: auto; left: -10px; }
.hero-neighbors button strong { font-size: 22px; }

/* Dense data keeps its hierarchy without falling back to tiny Latin fonts. */
.hero-meta strong,.role-card-head h4,.viz-head h3,.review-issues h4,
.pipeline-step strong,.training-cta strong { letter-spacing: 0; }
.match-table th,.scoreboard-table th,.stat-label,.focus-stat>span,
.metric-tile>span,.count-card>span { font-size: 12px; }
.role-card-head small,.role-hero b small,.trend-foot span,
.role-legend span,.table-footer,.trend-caveat { font-size: 11px; letter-spacing: 0; }
.nav-item,.explore-link strong { line-height: 1.7; }
.item-tile-name { line-height: 1.6; }
.detail-description { line-height: 2; }
.parameter-row,.detail-ability p { line-height: 1.9; }

@media (max-width: 760px) {
  body :is(.site-header nav a,.nav-item,.all-heroes-link) { font-size: 12px; }
  .hero-intro h1 { font-size: clamp(38px, 10vw, 52px); }
  .hero-tagline { font-size: 12px; }
  .hero-hype { font-size: 14px; line-height: 1.85; max-height: 108px; }
  .directory-intro p { font-size: 14px; }
  .directory-card span { font-size: 13px; padding: 8px 8px 10px; }
  .ability-description { font-size: 15px; }
  .hero-neighbors button strong { font-size: 14px; }
}
