/*
  The two typefaces the design tokens name. Until these existed the stacks in tokens.css fell
  through to Segoe UI and Georgia on every machine, so the product had no typography of its own.

  Self-hosted, never a CDN. Three reasons, all of them requirements rather than preferences:
  offline is a product requirement (spec 19) and a font fetched from another origin is not there
  on a plane; a CSP that has to allow a font CDN is a weaker CSP (spec 21); and a third-party font
  request from a children's app leaks a request-per-child to someone else's logs.

  Both faces are variable, so one file covers weights 400 to 800 rather than three static cuts.
  Both are SIL Open Font License 1.1 — see the OFL.txt files beside the binaries in wwwroot/fonts,
  which the licence requires be distributed with them.

  Subsets are latin and latin-ext only. Every character the three shipped locales need — the
  Portuguese ã õ ç, the Spanish ñ ¿ ¡, and every accented vowel — lives in Latin-1, which is
  inside the latin subset, so latin-ext is almost never fetched. The unicode-range on each face is
  what makes that decision for the browser: it downloads a subset only when the page actually uses
  a character from it. Cyrillic and Vietnamese are deliberately not shipped; add them here when a
  locale needs them.
*/

/* ---------------------------------------------------------------- Nunito */
/* Body text, UI, and everything a child reads at length. */

@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/nunito-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/nunito-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* -------------------------------------------------------------- Fraunces */
/* Headings and display only. Carries an optical-size axis, so the same file
   is drawn with finer detail at hero sizes and heavier, more open shapes at
   card-title sizes. font-optical-sizing defaults to auto, which is what we
   want, so no rule turns it on. */

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/fraunces-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/fraunces-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
