/* Noto Serif, self-hosted so that no page contacts Google (privacy.html#website).
   Source: Google Fonts, Noto Serif v33, variable weight 400-700, normal style,
   fetched 2026-10-12 from
     https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400..700&display=swap
   with a desktop Chrome User-Agent. Kept: the latin and latin-ext subsets.
   Descriptors and unicode-range values are Google's. The math subset was
   dropped on 2026-10-15: it downloaded 65 KB at top priority only to draw
   the left and right arrows, which are now inline SVG.
   Licence: SIL OFL 1.1, assets/fonts/OFL.txt.
   To update: re-fetch that URL, download these two woff2 files under the new
   version's name, and bump fonts.css?v= and the preload href on every page.
   No italic face: the one <em> is slanted by the browser, as before.
   Not in styles.css: the ChatGPT widget inlines styles.css, and a root-relative
   font URL there would fail on the widget's origin. / and the /daily-puzzle/
   pages get this file inlined in dist/ by tools/inline-css.mjs. */

/* latin-ext */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/noto-serif-v33-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/noto-serif-v33-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;
}
