/* Approved typography scale: use these tokens for all application text sizes. */
:root {
  --text-xs: 12px;  /* captions and compact metadata */
  --text-sm: 13px;  /* controls and supporting copy */
  --text-md: 14px;  /* body copy */
  --text-lg: 16px;  /* section headings */
  --text-xl: 20px;  /* card and dialog titles */
  --text-2xl: 28px; /* page headings and result metrics */
  --text-3xl: 32px; /* hero headings and overview metrics */
  --leading-body: 1.6;
  --leading-help: 1.5;
  --leading-heading: 1.3;
}

/* Semantic defaults; later component rules may select another approved token. */
body { font-size: var(--text-md); }
h1 { font-size: var(--text-2xl); }
h2 { font-size: var(--text-xl); }
h3, h4 { font-size: var(--text-lg); }
h5 { font-size: var(--text-md); }
h6 { font-size: var(--text-sm); }
small, sub, sup { font-size: var(--text-xs); }
legend { font-size: var(--text-lg); }
code, pre { font-size: var(--text-sm); }
