/* ===========================================================================
   NOVA(TM) — every typeface the platform uses, carried by the platform
   css/nova-fonts.css
   Written 10 September 2026.

   WHY THIS FILE EXISTS
   65 of NOVA's 153 pages each carried a <link> to fonts.googleapis.com and
   fetched their typefaces from Google every time the page opened. That is an
   outside call, so on a closed defence estate the fonts never arrived and the
   page fell back to whatever the machine happened to have. It also meant
   NOVA could not honestly claim a course runs with nothing behind it.

   Those 65 <link> tags, and the fonts.gstatic.com preconnect tags that went
   with them, have been replaced by one link to this file. The family names
   below are byte-identical to the names Google served, and the weight ranges
   cover every weight any page asked for, so no page changes appearance. The
   only difference is where the letters come from.

   WHAT IS HERE
   Thirteen files in /fonts, 727 KB in total, each cut down to the Latin and
   Latin Extended-A characters and the punctuation NOVA uses. That covers
   English, French, German, Spanish, Dutch, Italian and Polish.

   Every file is a variable font except Instrument Serif, so one file serves
   every weight from light to black. Asking for weight 550 works and lands
   between two weights rather than being faked by the browser.

   ADDING A PAGE
   Put this in the <head>, and nothing else:
       <link rel="stylesheet" href="css/nova-fonts.css">
   Never add a fonts.googleapis.com link to a NOVA page again. One of those
   undoes the offline guarantee for the whole platform.

   LICENCES
   All thirteen are published under the SIL Open Font Licence 1.1 or the
   Apache Licence 2.0, both of which permit shipping the files inside a
   product and selling it. Full text and attributions in fonts/LICENCES.txt.
   =========================================================================== */

@font-face {
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/inter.woff2') format('woff2');
}
@font-face {
  font-family:'Inter';
  font-style:italic;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/inter-italic.woff2') format('woff2');
}
@font-face {
  font-family:'Inter Tight';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/inter-tight.woff2') format('woff2');
}
@font-face {
  font-family:'JetBrains Mono';
  font-style:normal;
  font-weight:100 800;
  font-display:swap;
  src:url('../fonts/jetbrains-mono.woff2') format('woff2');
}
@font-face {
  font-family:'Public Sans';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/public-sans.woff2') format('woff2');
}
@font-face {
  font-family:'Instrument Serif';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/instrument-serif.woff2') format('woff2');
}
@font-face {
  font-family:'Instrument Serif';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/instrument-serif-italic.woff2') format('woff2');
}
@font-face {
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('../fonts/space-grotesk.woff2') format('woff2');
}
@font-face {
  font-family:'Roboto Mono';
  font-style:normal;
  font-weight:100 700;
  font-display:swap;
  src:url('../fonts/roboto-mono.woff2') format('woff2');
}
@font-face {
  font-family:'Roboto';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/roboto.woff2') format('woff2');
}
@font-face {
  font-family:'Fraunces';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/fraunces.woff2') format('woff2');
}
@font-face {
  font-family:'Newsreader';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('../fonts/newsreader.woff2') format('woff2');
}
@font-face {
  font-family:'Lora';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('../fonts/lora.woff2') format('woff2');
}

/* A page that names no typeface at all now gets Inter rather than the
   browser's default, so nothing on the platform falls back to Times. */
:root { --nova-font-ui:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
        --nova-font-head:'Lora',Georgia,'Times New Roman',serif;
        --nova-font-mono:'JetBrains Mono','Roboto Mono',ui-monospace,Consolas,monospace; }
