/* File: docs/assets/fonts/fonts.css

   The site's self-hosted faces (issue #169).  Every face is served from this
   origin.  `theme.font: false` in mkdocs.yml is what stops Material emitting
   its own <link> to fonts.googleapis.com; without it these declarations would
   be additions rather than replacements, and .github/workflows/pages.yml
   would refuse to deploy the page that carried the link.

   The files and the declarations are those of williamdemeo.org (the
   williamdemeo/website repository, docs/assets/fonts/ at fcb6bf0, 2026-09-20),
   where scripts/python/build_fonts.py subsets the upstream sources by Unicode
   block and writes this file; regenerate there and copy, do not edit the
   ranges by hand.  One face was left behind: Newsreader, which only that
   site's alternative design system used.  The licenses are beside the files
   (OFL-Inter.txt, OFL-JuliaMono.txt, OFL-SpaceGrotesk.txt).

   JuliaMono is split three ways by unicode-range under one family name, so a
   page pays only for the notation it shows: ASCII code downloads 56 KB and
   stops; an arrow or an equivalence pulls the 265 KB symbol file; an Agda
   identifier in mathematical alphanumerics pulls another 154 KB on top.  It
   is the only mainstream monospace face that covers the Mathematical
   Alphanumeric Symbols block, which Agda uses constantly.

   `font-display: swap` everywhere: a flash of fallback text beats invisible
   text, and on the code faces it is also the signal that something is wrong,
   since unstyled Agda is obvious. */

@font-face {
  font-family: 'JuliaMono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('juliamono-text.woff2') format('woff2');
  unicode-range: U+20-7E,U+A0-AC,U+AE-17F,U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF,U+2000-2064,U+2066-206B,U+206E-206F,U+2116,U+2122,U+2190,U+2192,U+2194,U+21D2,U+2212,U+2248,U+2260,U+2264-2265;
}

@font-face {
  font-family: 'JuliaMono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('juliamono-symbols.woff2') format('woff2');
  unicode-range: U+180-34E,U+350-36F,U+60C,U+1D00-1DBF,U+1F00-1F15,U+1F18-1F1D,U+1F20-1F45,U+1F48-1F4D,U+1F50-1F57,U+1F59,U+1F5B,U+1F5D,U+1F5F-1F7D,U+1F80-1FB4,U+1FB6-1FC4,U+1FC6-1FD3,U+1FD6-1FDB,U+1FDD-1FEF,U+1FF2-1FF4,U+1FF6-1FFE,U+2070-2071,U+2074-209F,U+20D0-20F0,U+2100-2115,U+2117-2121,U+2123-218B,U+2191,U+2193,U+2195-21D1,U+21D3-2211,U+2213-2247,U+2249-225F,U+2261-2263,U+2266-23FF,U+2460-24F4,U+24FF-257F,U+25A0-25FF,U+2605-2606,U+2669-266D,U+266F,U+2680-2689,U+2700-27FF,U+2900-2AFF,U+2B45-2B46,U+2C7C-2C7D,U+2E00-2E5D,U+2E60-2E63,U+A789,U+FE50,U+FE54-FE55,U+FE59-FE5E,U+FE60,U+FE6B,U+1D12A-1D12B,U+1F100,U+1F10B-1F10C,U+1F130-1F149,U+1F150-1F169,U+1F170-1F189;
}

@font-face {
  font-family: 'JuliaMono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('juliamono-mathalpha.woff2') format('woff2');
  unicode-range: U+1D400-1D454,U+1D456-1D49C,U+1D49E-1D49F,U+1D4A2,U+1D4A5-1D4A6,U+1D4A9-1D4AC,U+1D4AE-1D4B9,U+1D4BB,U+1D4BD-1D4C3,U+1D4C5-1D505,U+1D507-1D50A,U+1D50D-1D514,U+1D516-1D51C,U+1D51E-1D539,U+1D53B-1D53E,U+1D540-1D544,U+1D546,U+1D54A-1D550,U+1D552-1D6A6,U+1D6A8-1D7CB,U+1D7CE-1D7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('inter-400.woff2') format('woff2');
  unicode-range: U+20-7E,U+A0-AC,U+AE-148,U+14A-17F,U+374-376,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3D7,U+3DC-3DD,U+3F0-3F6,U+3F9-3FA,U+3FC-3FF,U+2000-200B,U+2010-2027,U+202F-2055,U+2057,U+205F,U+2116,U+2122,U+2190,U+2192,U+2194,U+21D2,U+2212,U+2248,U+2260,U+2264-2265;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('inter-600.woff2') format('woff2');
  unicode-range: U+20-7E,U+A0-AC,U+AE-148,U+14A-17F,U+374-376,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3D7,U+3DC-3DD,U+3F0-3F6,U+3F9-3FA,U+3FC-3FF,U+2000-200B,U+2010-2027,U+202F-2055,U+2057,U+205F,U+2116,U+2122,U+2190,U+2192,U+2194,U+21D2,U+2212,U+2248,U+2260,U+2264-2265;
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('inter-400-italic.woff2') format('woff2');
  unicode-range: U+20-7E,U+A0-AC,U+AE-148,U+14A-17F,U+374-376,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3D7,U+3DC-3DD,U+3F0-3F6,U+3F9-3FA,U+3FC-3FF,U+2000-200B,U+2010-2027,U+202F-2055,U+2057,U+205F,U+2116,U+2122,U+2190,U+2192,U+2194,U+21D2,U+2212,U+2248,U+2260,U+2264-2265;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('spacegrotesk-600.woff2') format('woff2');
  unicode-range: U+20-7E,U+A0-AC,U+AE-17F,U+394,U+3A9,U+3C0,U+2007-200B,U+2010,U+2012-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+2116,U+2122,U+2190,U+2192,U+2194,U+2212,U+2248,U+2260,U+2264-2265;
}
