/*
 * Served from static/ so the bundler never rewrites these URLs: docusaurus.config.ts preloads
 * exactly the two files named below. Generated from @corelayer/ui/fonts.css — do not edit.
 */
/*
 * GENERATED by @corelayer/ui (scripts/build-fonts.ts) from assets/fonts — do not edit.
 * Source of truth: build/specs/frontend-ia.md §10.5. Rebuild with `pnpm --filter @corelayer/ui fonts`.
 */

/* Geist Variable — 21.9 kB, wght 400–600 */
@font-face {
  font-family: "Geist Variable";
  src: url("/fonts/geist-variable.v1.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2010-2014, U+2018-2019, U+201C-201D, U+2020, U+2022, U+2026, U+202F-2030, U+2039-203A, U+2044, U+20AC, U+2190-2193, U+21B3, U+2212, U+2248, U+2260, U+2264-2265, U+25A0, U+25CB, U+25CF, U+2713, U+2717;
}

/*
 * Metric-matched fallback: the local face keeps Geist Variable's line box (ascent 1005,
 * descent -295, line gap 0 at 1000 units/em), so the swap does not
 * move any text vertically. No `size-adjust` is declared: a faithful width match needs the metrics
 * of the local face itself, which are not available offline, and guessing them would move text
 * horizontally instead of holding it still.
 */
@font-face {
  font-family: "Geist Fallback";
  src: local("Arial"), local("Helvetica Neue"), local("Liberation Sans");
  ascent-override: 100.5%;
  descent-override: 29.5%;
  line-gap-override: 0%;
}

/* Geist Mono Variable — 23.0 kB, wght 400–600 */
@font-face {
  font-family: "Geist Mono Variable";
  src: url("/fonts/geist-mono-variable.v1.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2010-2014, U+2018-2019, U+201C-201D, U+2020, U+2022, U+2026, U+202F-2030, U+2039-203A, U+2044, U+20AC, U+2190-2193, U+21B3, U+2212, U+2248, U+2260, U+2264-2265, U+25A0, U+25CB, U+25CF, U+2713, U+2717;
}

/*
 * Metric-matched fallback: the local face keeps Geist Mono Variable's line box (ascent 1005,
 * descent -295, line gap 0 at 1000 units/em), so the swap does not
 * move any text vertically. No `size-adjust` is declared: a faithful width match needs the metrics
 * of the local face itself, which are not available offline, and guessing them would move text
 * horizontally instead of holding it still.
 */
@font-face {
  font-family: "Geist Mono Fallback";
  src: local("Courier New"), local("Liberation Mono"), local("DejaVu Sans Mono");
  ascent-override: 100.5%;
  descent-override: 29.5%;
  line-gap-override: 0%;
}
