@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-Light.ttf);
  font-weight: 300;
}

@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-Regular.ttf);
  font-weight: 400;
}

@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-Medium.ttf);
  font-weight: 500;
}

@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-SemiBold.ttf);
  font-weight: 600;
}

@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-Bold.ttf);
  font-weight: 700;
}

@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-ExtraBold.ttf);
  font-weight: 800;
}

@font-face {
  font-family: Inter;
  src: url(/assets/style/font/Inter-Black.ttf);
  font-weight: 900;
}

@font-face {
  font-family: InterRegular;
  src: url(/assets/style/font/Inter-Regular.ttf);
}

/*
 * The three families the design tokens in static/css/public/base.css and static/css/portal/layout.css
 * name: Inter Tight for --sans, Liberation Sans for --display, JetBrains Mono for --mono. They used
 * to be named there and nowhere else, with nothing to fetch them, so every reader fell through to
 * whatever their own browser picks for a bare `sans-serif` -- which is not one font but a different
 * one per machine, and is why the site looked unlike itself from one desk to the next.
 *
 * Liberation Sans is pinned for --display because it is precisely what Chrome resolved `sans-serif`
 * to on the machine the headings were designed against, so the headings keep the face they have
 * always had here -- the difference is that every other reader now gets it too. Verified by
 * rendering a heading against the system font and diffing: identical metrics, identical glyph
 * positions. (Only the edge antialiasing differs, because Chrome hints a system-installed font
 * through fontconfig and a webfont not at all. That is a Linux rasterisation detail with no
 * bearing on layout, and it is not avoidable for any webfont.)
 *
 * Served from our own /assets rather than fonts.googleapis.com so the pages stay self-contained and
 * no reader's IP is handed to a third party on page load. Every file here is under the SIL Open Font
 * License; Liberation Sans keeps its licence alongside it as LiberationSans-LICENSE.txt.
 *
 * Inter Tight and JetBrains Mono are variable, one file per unicode subset, so the unicode-range
 * means a reader only downloads the subsets their page actually uses. Liberation Sans ships as the
 * two static faces the design calls for: every --display rule is weight 600 or bold, and both of
 * those resolve to Bold, but Regular is here so a normal-weight heading added later does not
 * silently come out bold.
 */
/* Inter Tight -- cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Inter Tight -- cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Inter Tight -- greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* Inter Tight -- greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* Inter Tight -- vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Inter Tight -- latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-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;
}

/* Inter Tight -- latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/style/font/InterTight-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;
}

/* JetBrains Mono -- cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/assets/style/font/JetBrainsMono-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* JetBrains Mono -- cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/assets/style/font/JetBrainsMono-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* JetBrains Mono -- greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/assets/style/font/JetBrainsMono-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* JetBrains Mono -- vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/assets/style/font/JetBrainsMono-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

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

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

/* Liberation Sans -- the two static faces; see the note above on why it is not a variable font. */
@font-face {
  font-family: 'Liberation Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/style/font/LiberationSans-Regular.woff2) format('woff2');
}

@font-face {
  font-family: 'Liberation Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/style/font/LiberationSans-Bold.woff2) format('woff2');
}
