/* Self-hosted webfonts (libre-licensed, in web/fonts/).
   Loaded by index.html and math.html so the app works fully offline. The product
   uses one fixed typography system instead of runtime font packs:
   - Cinzel 600: brand and major headings.
   - IBM Plex Sans: Explorer controls and descriptions.
   - IBM Plex Mono: statistics, damage, HP and code-like values.
   - Source Serif 4: parchment reference prose.
   - STIX Two Math: displayed formulas. */

@font-face { font-family: "Ubuntu Mono"; font-weight: 400; font-display: swap;
  src: url("../fonts/ubuntu-mono-400.woff2") format("woff2"); }
@font-face { font-family: "Ubuntu Mono"; font-weight: 700; font-display: swap;
  src: url("../fonts/ubuntu-mono-700.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-weight: 400; font-display: swap;
  src: url("../fonts/jetbrains-mono-400.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-weight: 700; font-display: swap;
  src: url("../fonts/jetbrains-mono-700.woff2") format("woff2"); }

@font-face { font-family: "EB Garamond"; font-weight: 400; font-display: swap;
  src: url("../fonts/eb-garamond-400.woff2") format("woff2"); }
@font-face { font-family: "EB Garamond"; font-weight: 700; font-display: swap;
  src: url("../fonts/eb-garamond-700.woff2") format("woff2"); }
@font-face { font-family: "Spectral"; font-weight: 400; font-display: swap;
  src: url("../fonts/spectral-400.woff2") format("woff2"); }
@font-face { font-family: "Spectral"; font-weight: 600; font-display: swap;
  src: url("../fonts/spectral-600.woff2") format("woff2"); }
@font-face { font-family: "Cinzel"; font-weight: 600; font-display: swap;
  src: url("../fonts/cinzel-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-display: swap;
  src: url("../fonts/ibm-plex-sans-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-display: swap;
  src: url("../fonts/ibm-plex-sans-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-display: swap;
  src: url("../fonts/ibm-plex-mono-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 600; font-display: swap;
  src: url("../fonts/ibm-plex-mono-600.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-weight: 200 900; font-display: swap;
  src: url("../fonts/source-serif-4-latin.woff2") format("woff2"); }
@font-face { font-family: "STIX Two Math"; font-weight: 400; font-display: swap;
  src: url("../fonts/stix-two-math-400.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-weight: 400; font-display: swap;
  src: url("../fonts/playfair-400.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-weight: 700; font-display: swap;
  src: url("../fonts/playfair-700.woff2") format("woff2"); }
@font-face { font-family: "Cinzel Decorative"; font-weight: 700; font-display: swap;
  src: url("../fonts/cinzel-decorative-700.woff2") format("woff2"); }
@font-face { font-family: "Zilla Slab"; font-weight: 400; font-display: swap;
  src: url("../fonts/zilla-slab-400.woff2") format("woff2"); }
@font-face { font-family: "Zilla Slab"; font-weight: 600; font-display: swap;
  src: url("../fonts/zilla-slab-600.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-display: swap;
  src: url("../fonts/inter-400.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-display: swap;
  src: url("../fonts/inter-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans Condensed"; font-weight: 400; font-display: swap;
  src: url("../fonts/plex-condensed-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans Condensed"; font-weight: 600; font-display: swap;
  src: url("../fonts/plex-condensed-600.woff2") format("woff2"); }
@font-face { font-family: "Space Mono"; font-weight: 400; font-display: swap;
  src: url("../fonts/space-mono-400.woff2") format("woff2"); }
@font-face { font-family: "Space Mono"; font-weight: 700; font-display: swap;
  src: url("../fonts/space-mono-700.woff2") format("woff2"); }

/* Fixed product roles. The math page overrides --font-body and uses --font-math;
   --display remains a legacy alias used by the Explorer CSS. */
:root {
  --font-title: "Cinzel", Georgia, serif;
  --font-head:  "Cinzel", Georgia, serif;
  --font-body:  "IBM Plex Sans", system-ui, sans-serif;
  --font-ui:    "IBM Plex Sans", system-ui, sans-serif;
  --font-label: "IBM Plex Sans", system-ui, sans-serif;
  --font-math:  "STIX Two Math", "Source Serif 4", Georgia, serif;
  --mono:       "IBM Plex Mono", "SF Mono", ui-monospace, Consolas, "Menlo", monospace;
  --display:    var(--font-body);
}
