/* Self-hosted web fonts. Generated by tools/fetch_fonts.py --
   do not edit by hand, re-run the script instead.
   Latin and latin-ext only; the site is English. */

/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/jetbrains-mono-400-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;
}

/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/jetbrains-mono-400-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;
}

/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/jost-400-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;
}

/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/jost-400-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;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/playfair-display-400-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;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/playfair-display-400-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;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/playfair-display-400-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;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/playfair-display-400-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;
}

/* ---- metric-matched fallbacks ------------------------------------------
   Generated by tools/gen_font_fallbacks.py -- do not edit by hand.

   Every face above is font-display:swap, so text renders in a system
   font first and swaps when the real one arrives. Without help the
   two occupy different line boxes and the whole page reflows: Jost
   asks for a 1.445em line where Arial asks for 1.15em.

   These faces stand in for the real ones with the real ones' metrics.
   ascent/descent/line-gap are taken from the font files themselves,
   so they are exact and they do not depend on which system font is
   underneath. size-adjust matches the WIDTH, which can only be
   measured against a specific local font -- so each face names the
   ones it is tuned for and falls through where none is installed.

   The overrides are divided by size-adjust because size-adjust scales
   every metric of the face, the overrides included. Verified by
   measurement, not by reading the specification: tools/qc_fonts.py
   renders both and compares the line box and the width.
   ------------------------------------------------------------ */

/* stands in for Jost: 1070/-375/0 per 1000, measured 96.66% the width of Arial */
@font-face {
  font-family: 'Jost Fallback';
  src: local("Arial"), local("Liberation Sans"), local("Helvetica");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 96.66%;
  ascent-override: 110.70%;
  descent-override: 38.80%;
  line-gap-override: 0.00%;
}

/* stands in for Playfair Display: 1082/-251/0 per 1000, measured 107.96% the width of serif */
@font-face {
  font-family: 'Playfair Fallback';
  src: local("Georgia"), local("Times New Roman"), local("Liberation Serif");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 107.96%;
  ascent-override: 100.22%;
  descent-override: 23.25%;
  line-gap-override: 0.00%;
}

/* stands in for JetBrains Mono: 1020/-300/0 per 1000, measured 99.66% the width of monospace */
@font-face {
  font-family: 'JetBrains Fallback';
  src: local("Consolas"), local("Menlo"), local("DejaVu Sans Mono"), local("Liberation Mono");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 99.66%;
  ascent-override: 102.35%;
  descent-override: 30.10%;
  line-gap-override: 0.00%;
}
