/* =========================================================================
   NISSU web fonts — self-hosted, no third-party requests.

   Two families are declared; only the one named in --rwh-font (style.css)
   is ever downloaded, so switching between them is a one-line change.

     Google Sans Flex  — ACTIVE. OFL-1.1 (ships in AOSP). Variable 1–1000.
     Libre Franklin    — standby. Variable 100–900, roman + true italic.

   Every unicode-range below was derived from the file's actual cmap with
   fontTools, not copied from a generic subset list, so the browser never
   downloads a file that cannot help.

   The Noto Sans face is NOT a body font. It is a per-glyph fallback slice
   holding exactly what the active family lacks between U+00A0 and U+02AF.
   IMPORTANT: Google Sans Flex has no Ŋ/ŋ (U+014A/014B), so with it active
   Ateso's eng is served by Noto — i.e. a different typeface mid-word.
   Libre Franklin covers eng itself and does not have this problem.
   ========================================================================= */

/* =========================================================================
   ACTIVE — Google Sans Flex
   No italic exists (the family uses a `slnt` axis, not separate italics),
   so browsers synthesise an oblique for <em>.
   ========================================================================= */

@font-face {
	font-family: "Google Sans Flex";
	font-style: normal;
	font-weight: 1 1000;
	font-display: swap;
	src: url("../fonts/google-sans-flex-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0020-007E, U+00A0-0102, U+0131, U+0152-0153, U+02BB-02BC,
		U+02C6, U+02DA-02DC, U+0300-0309, U+0323, U+2002-2026, U+2039-203A,
		U+2044, U+20AC, U+2122, U+2212;
}

@font-face {
	font-family: "Google Sans Flex";
	font-style: normal;
	font-weight: 1 1000;
	font-display: swap;
	src: url("../fonts/google-sans-flex-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-0181, U+018A-018F, U+0198-01A1, U+01AF-01B4,
		U+01CD-01CE, U+0218-021B, U+0237, U+0253-0259, U+02C7, U+02DD-02E3,
		U+1E44-1E45, U+1E62-1E63, U+1E80-1E85, U+1E9E, U+1EF2-1EF9,
		U+20A9, U+20B9;
}

/* =========================================================================
   STANDBY — Libre Franklin (covers Ateso's Ŋ/ŋ natively, has true italics)
   ========================================================================= */

@font-face {
	font-family: "Libre Franklin";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/libre-franklin-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0020-007E, U+00A0-0102, U+0131, U+0152-0153, U+02BB-02BC,
		U+02C6, U+02DA-02DC, U+0300-0309, U+0323, U+2009-2026, U+2032-203A,
		U+2044, U+20AC, U+2122, U+2212-2215;
}

@font-face {
	font-family: "Libre Franklin";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/libre-franklin-latin-wght-italic.woff2") format("woff2-variations");
	unicode-range: U+0020-007E, U+00A0-0102, U+0131, U+0152-0153, U+02BB-02BC,
		U+02C6, U+02DA-02DC, U+0300-0309, U+0323, U+2009-2026, U+2032-203A,
		U+2044, U+20AC, U+2122, U+2212-2215;
}

@font-face {
	font-family: "Libre Franklin";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/libre-franklin-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-017E, U+018F-0192, U+01A0-01A1, U+01AF-01B0,
		U+01C4-01CC, U+01E6-021B, U+022A-0237, U+0259, U+02B9-02CC, U+02DD,
		U+1E08-1E6F, U+1E78-1E85, U+1E8E-1E9E, U+1EF2-1EF9, U+20A1-20BD, U+2113;
}

@font-face {
	font-family: "Libre Franklin";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/libre-franklin-latin-ext-wght-italic.woff2") format("woff2-variations");
	unicode-range: U+0100-017E, U+018F-0192, U+01A0-01A1, U+01AF-01B0,
		U+01C4-01CC, U+01E6-021B, U+022A-0237, U+0259, U+02B9-02CC, U+02DD,
		U+1E08-1E6F, U+1E78-1E85, U+1E8E-1E9E, U+1EF2-1EF9, U+20A1-20BD, U+2113;
}

/* =========================================================================
   Per-glyph fallback — covers what the active family lacks, incl. Ŋ/ŋ, ɔ, ɛ
   ========================================================================= */

@font-face {
	font-family: "Noto Sans";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/noto-sans-fallback.woff2") format("woff2-variations");
	unicode-range: U+0108-0109, U+0114-0138, U+0149-014F, U+015C-015D,
		U+0166-0167, U+017F-02AF;
}
