/* Helmley's typefaces, served from this site so a visit sends nobody's address to a font host (decision 0059; the
   security policy allows fonts from this site only). From the brand guidelines v1.0 kit (stage 4, 25 Oct; batch 15):
   - Newsreader in three weights under one family name (400 and 600 are the reading cut, 560 the display cut, so titles
     ask for weight 560); a page fetches only the weights it shows.
   - IBM Plex Sans for everything people use, cut to weights 400 to 700 (nothing uses 100 to 300), Latin and Latin
     Extended split by unicode-range. The cut was made here with fontTools from Fontsource 5.3.0's files; the kit's are
     the same within 0.4%. Their own name is "Helmley Sans": IBM reserves "Plex" for unaltered files (OFL); the
     copyright and licence are kept, and CSS still calls the family 'IBM Plex Sans'.
   - Libre Caslon Text is no longer loaded: "Unconventionalists" in the footer is drawn as an outline (assets/site.js).
   - JetBrains Mono is for code only (course text, test questions, code boxes); everything else uses Plex.
   The italics load only on a page that sets italic text. All SIL Open Font License 1.1: see the LICENSE files beside them. */
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:400;src:url(fonts/newsreader-reading-400.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:560;src:url(fonts/newsreader-display-560.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/newsreader-reading-600.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(fonts/ibm-plex-sans-latin-ext-400-700-normal.woff2) format('woff2-variations');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}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(fonts/ibm-plex-sans-latin-400-700-normal.woff2) format('woff2-variations');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:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(fonts/newsreader-latin-ext-wght-italic.woff2) format('woff2-variations');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}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(fonts/newsreader-latin-wght-italic.woff2) format('woff2-variations');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:'IBM Plex Sans';font-style:italic;font-display:swap;font-weight:400 700;src:url(fonts/ibm-plex-sans-latin-ext-400-700-italic.woff2) format('woff2-variations');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}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-display:swap;font-weight:400 700;src:url(fonts/ibm-plex-sans-latin-400-700-italic.woff2) format('woff2-variations');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:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(fonts/jetbrains-mono-latin-ext-500-normal.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}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(fonts/jetbrains-mono-latin-500-normal.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}
/* Arrows (batch 16): the trimmed files above leave out U+2190 to U+2193, so phones drew arrows in their own fonts.
   One small file cut from IBM Plex Sans Var 0.2.0 (weights 400 to 700; "Helmley Sans Symbols" inside) gives both
   families Plex's own arrows; ticks are drawn icons (site.css). Each rule copies its family's weight descriptor, so the
   browser treats the file as part of that face; a page fetches it only when it shows an arrow. */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(fonts/plex-symbols-400-700.woff2) format('woff2-variations');unicode-range:U+2190-2193}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:400;src:url(fonts/plex-symbols-400-700.woff2) format('woff2-variations');unicode-range:U+2190-2193}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:560;src:url(fonts/plex-symbols-400-700.woff2) format('woff2-variations');unicode-range:U+2190-2193}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/plex-symbols-400-700.woff2) format('woff2-variations');unicode-range:U+2190-2193}
