/*
 * Font stacks — docs/ux/I18N_THEMES.md §5 · docs/ux/TOKEN_CATALOG.md §4 (SR-080)
 * Expressive HUB typography: IBM Plex / Source Sans 3 — never Inter / Roboto brand-default.
 * local() first; optional /static/fonts/*.woff2 when vendored (font-display: swap).
 */

@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local("IBM Plex Sans"), local("IBMPlexSans");
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local("Source Sans 3"), local("SourceSans3"), local("Source Sans Pro");
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: local("IBM Plex Mono"), local("IBMPlexMono");
}

@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local("Noto Sans"), local("NotoSans");
}

@font-face {
  font-family: "PT Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local("PT Sans"), local("PTSans");
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local("Fira Sans"), local("FiraSans");
}

:root {
  --font-weight-brand: 650;
  --font-tracking-brand: -0.02em;
  --font-mono: ui-monospace, "Cascadia Code", "IBM Plex Mono", Consolas, monospace;
}

:root,
html[data-font="plex"] {
  --font: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-brand: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
}

html[data-font="source"] {
  --font: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-brand: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
}

html[data-font="system"] {
  --font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-brand: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

html[data-font="noto"] {
  --font: "Noto Sans", "Noto Sans CJK SC", "Microsoft YaHei", "Yu Gothic", "Segoe UI", system-ui, sans-serif;
  --font-brand: "Noto Sans", "Segoe UI", system-ui, sans-serif;
}

html[data-font="pt"] {
  --font: "PT Sans", "Segoe UI", system-ui, sans-serif;
  --font-brand: "PT Sans", "Segoe UI", system-ui, sans-serif;
}

html[data-font="fira"] {
  --font: "Fira Sans", "Segoe UI", system-ui, sans-serif;
  --font-brand: "Fira Sans", "Segoe UI", system-ui, sans-serif;
}

html[data-font="serif"] {
  --font: Georgia, "Noto Serif", "Times New Roman", serif;
  --font-brand: Georgia, "Noto Serif", "Times New Roman", serif;
}

html[data-font="verdana"] {
  --font: Verdana, Geneva, Tahoma, system-ui, sans-serif;
  --font-brand: Verdana, Geneva, Tahoma, system-ui, sans-serif;
}

body {
  font-family: var(--font);
}

/* Brand wordmark — expressive weight/tracking without display/marketing fonts */
.brand h1,
.auth-brand h1 {
  font-family: var(--font-brand, var(--font));
  font-weight: var(--font-weight-brand);
  letter-spacing: var(--font-tracking-brand);
}

.logo-mark {
  font-family: var(--font-brand, var(--font));
  font-weight: 700;
  letter-spacing: -0.04em;
}
