/*
 * Self-hosted fonts for Pariksha360.
 *
 * We do NOT link fonts.googleapis.com / fonts.gstatic.com at request time —
 * the engine removed Google Fonts CDN dependencies for CSP reasons
 * (see axon-engine ui/templates/landing.html history), and this site follows
 * the same rule. The two font families below are shipped as local woff2
 * files under /assets/fonts/.
 *
 * Both Outfit and Noto Sans Devanagari are published by Google Fonts as
 * VARIABLE fonts. A variable font's weight axis is continuous (e.g. 100-900
 * in one file), so the "400 / 600 / 800" (and "400 / 700") files below are
 * intentionally identical bytes — this is normal and correct. The browser
 * reads the font-weight declared on each @font-face block and instantiates
 * the matching weight from the variable font at render time; it does not
 * require a separate static file per weight. Shipping three/two named files
 * (rather than one shared file) matches the naming the rest of this repo's
 * CSS expects and keeps the mapping obvious if a static (non-variable) build
 * is ever swapped in later.
 */

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/outfit-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/outfit-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/outfit-800.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/noto-sans-devanagari-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/noto-sans-devanagari-700.woff2') format('woff2');
}

/*
 * Fallback stack so the page renders correctly (system sans-serif) before
 * the woff2 files finish fetching, and on any device where they fail to
 * load. No unicode-range restriction on the Devanagari face is needed:
 * Outfit is listed first in --font-latin and simply has no Devanagari
 * glyphs, so the browser's normal font-fallback silently hands Devanagari
 * text runs to Noto Sans Devanagari without any extra config.
 */
:root {
  --font-latin: 'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-devanagari: 'Noto Sans Devanagari', 'Outfit', system-ui, -apple-system, sans-serif;
}
