/* Self-hosted text webfonts (Epilogue, Be Vietnam Pro, Plus Jakarta Sans).
   Previously loaded from the Google Fonts CDN, which is blocked on Russian
   networks and broke text rendering for the Yandex moderator (same root
   cause as the icon font fix in commit b1acd10). Only the weights/styles
   actually referenced by src/styles/theme.ts + components are included;
   latin-subset woff2 only.

   Cyrillic coverage (Yandex req 2.10/8.3.1): none of the three brand
   families actually have Russian Cyrillic glyphs in Google Fonts. Epilogue
   ships no cyrillic subset at all, and Plus Jakarta Sans's only Cyrillic
   subset is "cyrillic-ext" (U+0460-052F etc, Old Church Slavonic / Abkhaz
   supplementary letters) which does NOT include the base Cyrillic block
   (U+0410-044F / А-я) that Russian text uses - verified by decoding the
   actual woff2 glyf/cmap tables, not just trusting the subset label. So
   ru-locale text set in these families was silently falling back to the
   OS default font. Golos Text (a Yandex-designed, OFL-licensed family with
   full basic-Cyrillic coverage) is self-hosted below as a Cyrillic-only
   fallback layer (unicode-range restricted, so latin users never download
   it) and is inserted into the font stacks in theme.ts / index.html ahead
   of system-ui.

   The three brand families' own @font-face rules below now also declare an
   explicit unicode-range (latin/latin-ext/vietnamese only, matching what
   their woff2 files actually contain - the Google Fonts "latin"+"latin-ext"
   +"vietnamese" subsets merged into one file per weight). This is required,
   not cosmetic: without it, the browser's font-matching claims these faces
   for EVERY codepoint (default unicode-range is U+0-10FFFF), so it still
   picks e.g. 'Be Vietnam Pro' as the resolved face for Cyrillic text and
   silently substitutes glyphs from the OS's own fallback font at the glyph
   level - the CSS font-family fallback to 'Golos Text' never even triggers,
   because as far as font *matching* is concerned 'Be Vietnam Pro' already
   "won". Restricting unicode-range makes the browser correctly skip these
   faces for Cyrillic codepoints and fall through to 'Golos Text' next in
   the stack. */

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('be-vietnam-pro-400.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('be-vietnam-pro-500.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('be-vietnam-pro-600.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('be-vietnam-pro-700.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('plus-jakarta-sans-500.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('plus-jakarta-sans-600.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('plus-jakarta-sans-700.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('plus-jakarta-sans-800.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Epilogue';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('epilogue-700.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Epilogue';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('epilogue-800.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Epilogue';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('epilogue-900.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Epilogue';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url('epilogue-900italic.woff2') format('woff2');
  unicode-range: U+0000-02CC, U+02CE-02D7, U+02DA, U+02DC-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+2000-206F, U+20A0-20C0, U+2113, U+2122, U+2191, U+2193, U+2212, U+2215, U+2C60-2C7F, U+A720-A7FF, U+FEFF, U+FFFD;
}

/* Golos Text — Cyrillic-only fallback layer, see header comment. Same
   unicode-range Google Fonts serves for its "cyrillic" subset (basic
   Russian alphabet + a handful of extra letters/signs); latin/latin-ext/
   cyrillic-ext are intentionally not shipped since the app only ships a
   Russian locale (ru.json) among non-Latin scripts. No italic style exists
   for this family upstream; italic Cyrillic text is synthesized (oblique)
   by the browser from the regular weight, which is the default behavior
   since nothing in this app sets font-synthesis: none. */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('golos-text-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('golos-text-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('golos-text-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('golos-text-700-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('golos-text-800-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('golos-text-900-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
