/* tokens/_typography.css
   Font families and type ramp.
*/

:root {
  /* Font families. Interface text is set in one family, Inter; numbers in it
     use tabular figures (`font-variant-numeric: tabular-nums`) so readouts
     and counts line up without a second face. The system monospace face
     is kept for preformatted output whose columns are aligned with spaces. */
  --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  /* Font weights. Interface text uses three: regular for content, medium for
     labels and buttons, semibold for titles and headings. Nothing is bolder
     than semibold. */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;

  /* Font sizes. */
  --text-xs: 10px;
  --text-sm: 11px;
  --text-md: 12px;
  --text-lg: 13px;
  --text-xl: 14px;
  --text-2xl: 16px;
  --text-3xl: 18px;

  /* Interface type roles, largest first (README "Type scale"). Every piece of
     interface text (sidebar, floating panels, dialogs, notifications, the
     selection bar, view chips, tooltips) takes one of these, never a raw size
     step. The scale is deliberately flat: titles are one step above the
     12px everything else is set in, secondary text one step below, and a
     badge one further. Hierarchy comes from weight and colour, not from
     size: a title or heading is semibold, a label medium in the secondary
     text colour, a control's own text regular. Interface text is sentence
     case, never uppercase or letter-spaced. A coarse pointer raises the
     scale by one step (layouts/_responsive.css). */
  --type-title: var(--text-lg);
  --type-heading: var(--text-md);
  --type-body: var(--text-md);
  --type-label: var(--text-md);
  --type-control: var(--text-md);
  --type-button: var(--text-md);
  --type-hint: var(--text-sm);
  --type-readout: var(--text-sm);
  --type-compact: var(--text-xs);

  /* Letter spacing. */
  --tracking-tight: -0.01em;
  --tracking-normal: 0em;

  /* Line heights. */
  --leading-none: 1;
  --leading-tight: 1.15;
  --leading-normal: 1.3;
  --leading-relaxed: 1.5;
}

