/* The two typefaces the theme names, served from this origin.
 *
 * They used to be named and never shipped: base/theme.css asks for 'Inter' and
 * 'JetBrains Mono', and until the files landed in app/assets/fonts every
 * desktop without them installed — which is most Linux and Windows desktops —
 * silently drew the whole panel in its own default sans and mono. The metrics
 * differ enough to change how much fits in a column, so the panel did not look
 * the same in two places.
 *
 * Vendored rather than fetched from Google: the panel is an internal tool
 * behind nginx and must not make a request to a third party on every page load
 * — the same rule the rest of the app follows (no CDN, importmap pins are
 * local). Both faces are SIL OFL 1.1; the licences ship beside the files.
 *
 * Variable fonts, one file per subset: `font-weight: 100 900` is the whole
 * range in a single download, so the four weights the UI uses cost one request
 * rather than four. The unicode-range lines are Google's own subsetting, kept
 * verbatim from @fontsource-variable 5.3.0 — with them a browser fetches
 * latin only until something Cyrillic actually appears on screen.
 *
 * Not in app/assets/tailwind: this file is served as it is written, so
 * Propshaft rewrites the url() to the digested path itself. Routed through the
 * Tailwind build the paths would first be rewritten relative to the build
 * directory, which is a second rewriter to reason about for no gain.
 *
 * To update: bump the version in the two URLs below and re-download.
 *   https://cdn.jsdelivr.net/npm/@fontsource-variable/inter@5.3.0/files/
 *   https://cdn.jsdelivr.net/npm/@fontsource-variable/jetbrains-mono@5.3.0/files/
 */

/* Inter — latin ------------------------------------------------------------ */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/inter-latin-wght-normal-1f021a24.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: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/inter-latin-ext-wght-normal-65edaaef.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;
}

/* Cyrillic is not decoration here: admin usernames and model descriptions are
   free text typed by the operators, and without these two the browser would
   fall back mid-sentence to whatever the desktop has. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/inter-cyrillic-wght-normal-659d95ea.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

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

/* JetBrains Mono ----------------------------------------------------------- */
/* 100 800, not 100 900: that is the range this face actually carries, and a
   weight declared outside it would be synthesised rather than drawn. */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("/assets/jetbrains-mono-latin-wght-normal-7c88d0cc.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("/assets/jetbrains-mono-latin-ext-wght-normal-6168ff55.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-weight: 100 800;
  font-display: swap;
  src: url("/assets/jetbrains-mono-cyrillic-wght-normal-6362fe2a.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

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