/* ---------------------------------------------------------------------------
   Geist Sans + the --font-sans / --font-mono custom properties.

   WHY THIS FILE EXISTS
   Live cayo.bot loads its faces through next/font, which emits the variable
   classes below onto <html>:

     .__variable_246ccd{--font-sans:"Geist","Geist Fallback"}
     .__variable_c29908{--font-mono:"Geist Mono","Geist Mono Fallback"}

   The clone has no font loader, so both custom properties were undefined and
   every `.font-sans{font-family:var(--font-sans),system-ui,...}` declaration in
   tailwind-utils.css was invalid at computed-value time -- <body class="font-sans">
   silently fell back to the generic stack on every page. This file supplies the
   missing face and the two variables, with live's exact values and fallback
   family names.

   THE FACE
   Live serves Geist as a VARIABLE font (font-weight:100 900, font-display:swap),
   split into five unicode-range subsets purely to shrink the download. One
   unsubsetted variable file is metrically identical, so only one is shipped
   here: Geist[wght].woff2 from github.com/vercel/geist-font (the canonical
   Vercel repository; Geist is licensed OFL-1.1), saved as
   /home/fonts/geist-sans-variable.woff2 -- verified wOF2 magic, 69760 bytes,
   21 tables including fvar/gvar/HVAR/STAT.

   THE FALLBACK FACES
   "Geist Fallback" and "Geist Mono Fallback" are copied verbatim from live's
   generated stylesheet: metric-overridden local Arial, so the pre-swap line box
   matches the webfont's and text does not reflow when it lands.

   NOT REDECLARED HERE
   Geist Mono's real faces already exist in exact.css (geist-mono-400/500.woff2)
   and are owned by another agent -- this file only names the family in
   --font-mono and adds its metric fallback. Satoshi likewise stays in exact.css.
   --------------------------------------------------------------------------- */

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/home/fonts/geist-sans-variable.woff2") format("woff2");
}

/* Metric-matched fallback for Geist -- live's values, unchanged. */
@font-face {
  font-family: "Geist Fallback";
  src: local("Arial");
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0%;
  size-adjust: 104.76%;
}

/* Metric-matched fallback for Geist Mono -- live's values, unchanged. */
@font-face {
  font-family: "Geist Mono Fallback";
  src: local("Arial");
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0%;
  size-adjust: 134.59%;
}

/* Live carries these on <html> via next/font's generated classes; :root is the
   same element and the same computed result for everything that inherits. */
:root {
  --font-sans: "Geist", "Geist Fallback";
  --font-mono: "Geist Mono", "Geist Mono Fallback";
}
