/* IBM Plex Sans (variable, weights 100-700; v23) and IBM Plex Mono (400-700; v20),
   self-hosted from Google Fonts. SIL OFL 1.1, see LICENSE.txt.

   One family, 'PBN Text', made of the two: Plex Sans for every character, Plex
   Mono for the digits 0-9 alone, so every figure on the site sets in fixed-width
   Plex Mono figures while the separators, signs and the words around it stay in
   Plex Sans. When unicode ranges of one family overlap, the face declared last
   is tried first, which is why the Mono faces close the file.

   The weight descriptors cover 100-1000 on both sides, so every weight a rule
   asks for (800 included) matches a Sans face and a Mono face exactly and the
   two never fall apart; the variable Sans renders 800 at its 700. Italic text
   has no Mono face and keeps Plex Sans italic digits. */

@font-face {
  font-family: 'PBN Text';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(plex-sans-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;
}
@font-face {
  font-family: 'PBN Text';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(plex-sans-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: 'PBN Text';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url(plex-sans-italic-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;
}
@font-face {
  font-family: 'PBN Text';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url(plex-sans-italic-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;
}

/* The digits. Last, so they win over the Sans faces above. */
@font-face {
  font-family: 'PBN Text';
  font-style: normal;
  font-weight: 1 449;
  font-display: swap;
  src: url(plex-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'PBN Text';
  font-style: normal;
  font-weight: 450 549;
  font-display: swap;
  src: url(plex-mono-500-latin.woff2) format('woff2');
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'PBN Text';
  font-style: normal;
  font-weight: 550 649;
  font-display: swap;
  src: url(plex-mono-600-latin.woff2) format('woff2');
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'PBN Text';
  font-style: normal;
  font-weight: 650 1000;
  font-display: swap;
  src: url(plex-mono-700-latin.woff2) format('woff2');
  unicode-range: U+0030-0039;
}
