/*
 * IBM Plex — the type system for the whole application.
 *
 * Three faces from one family, because the interface speaks in three voices and
 * they should be related rather than merely adjacent:
 *
 *   Sans   the interface itself — navigation, headings, labels, body copy
 *   Serif  documents, which in practice means a bill's long title
 *   Mono   identifiers — bill citations, and figures that want to line up
 *
 * They replace Inter (interface), a Palatino/Georgia system stack (documents)
 * and a system monospace stack (identifiers). The two system stacks were the
 * real problem: they resolved to different typefaces on macOS, Windows and
 * Linux, so the same page did not look the same on two machines. Everything
 * here is self-hosted, so it now does.
 *
 * Latin subset only. Add the other subsets from @fontsource if the Assembly
 * ever needs them.
 */

/* ── Sans: variable, 100–700 in one file per style ─────────────────────── */

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 700;
  src: url('ibm-plex-sans-latin-wght-normal.woff2') format('woff2-variations');
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 100 700;
  src: url('ibm-plex-sans-latin-wght-italic.woff2') format('woff2-variations');
}

/* ── Serif: static weights. 400 for running text, 600 where a title needs
      to carry, italic for marginal annotations. ───────────────────────── */

@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('ibm-plex-serif-latin-400-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Serif';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('ibm-plex-serif-latin-400-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('ibm-plex-serif-latin-600-normal.woff2') format('woff2');
}

/* ── Mono: 400 for plain identifiers, 700 for citations and figures ────── */

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('ibm-plex-mono-latin-700-normal.woff2') format('woff2');
}
