/* Lumen Academy v50 — canonical typography. Two core families only. */
:root {
  --lumen-font-display: "Cinzel", Georgia, "Times New Roman", serif;
  --lumen-font-text: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

html, body, body * {
  font-family: var(--lumen-font-text) !important;
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "tnum" 1 !important;
}

:where(
  h1,h2,h3,h4,h5,h6,
  .brand-lockup h1,.sheet-title,.kicker,
  .focus-button-label,.focus-subject-row select,
  .focus-mode-option,.focus-timer-option,.segmented-option,
  .auth-tabs button,.auth-primary,.primary-button,.secondary-button,.danger-button,
  .reward-card-title,.reward-detail-title,.reward-category-title,
  .quest-title,.quest-section-title,.stats-mock-section-title,
  .teams-section-title,.team-name,.lumen-path-step-copy strong,
  .onboarding-card h2,.ally-profile-identity-v45 strong,
  .ally-profile-section-title-v45 span,
  .manage-academy-title
) {
  font-family: var(--lumen-font-display) !important;
}

button,input,select,textarea,option { font-family: var(--lumen-font-text) !important; }
button:where(.focus-mega-button,.auth-primary,.primary-button,.secondary-button,.danger-button,[data-focus-mode],[data-timer-direction],[data-reward-category],[data-quest-filter]) {
  font-family: var(--lumen-font-display) !important;
}

/* Numerals are always upright, lining and fixed-width within their face. */
:where(
  .top-meta,.stat-box strong,.stats-value,.stats-number,.focus-duration-value,.focus-time-value,
  .timer-value,.xp-value,.coin-value,.level-value,.streak-value,.team-score,.teams-rank-row,
  .reward-price,.quest-progress,.progress-value,.ally-profile-stat-copy-v45 strong,
  .manage-academy-prize-item strong,.settings-volume-row output,time
) {
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}
