/* Use the competition title's typeface throughout both language editions.
   Only the family is unified; each component retains its type scale. */
:root {
  --competition-font: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --competition-numeric-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --competition-rank-font: Georgia, "Times New Roman", serif;
}

/* Keep legacy font shorthands, including the editorial !important shorthand,
   on the same family without changing their size, weight or line height. */
:root,
body.night-wire,
.download-shell,
.ranking-shell,
.ranking-standby,
.entry-shell {
  --sans: var(--competition-font) !important;
  --serif: var(--competition-font) !important;
  --mono: var(--competition-font) !important;
  --download-serif: var(--competition-font) !important;
  --rank-serif: var(--competition-font) !important;
  --standby-serif: var(--competition-font) !important;
}

/* Component styles can load after this file. Family-only !important keeps
   fields, labels and dynamically inserted SVG text consistent in that case. */
body,
body *,
body::before,
body::after,
body *::before,
body *::after {
  font-family: var(--competition-font) !important;
}

/* Use the ranking board's monospace only for figures. A description such as
   “Demo account”, a column heading, or a sentence remains in the title face. */
body :is(.numeric-figure, [data-numeric], [data-registration-count],
  .date-number, .folio, .stats-count, .stats-time-value, .admin-total,
  .ranking-carousel-page, .ranking-carousel-result, .ranking-carousel-movement,
  .ranking-ticker-return, .ranking-ticker-negative,
  .detail-equity > strong, .total-roi-cell > strong,
  .global-relay__city-info li > span) {
  font-family: var(--competition-numeric-font) !important;
  font-variant-numeric: tabular-nums;
}

/* The numbered positions retain the board's italic Georgia treatment. */
body :is(.rank-figure, [data-rank-numeric], .notice-rank,
  .ranking-carousel-rank, .ranking-ticker-rank) {
  font-family: var(--competition-rank-font) !important;
  font-style: italic;
  font-variant-numeric: tabular-nums;
}
