/* Объединённая система «Ранга» v3 — шрифты трех тем (файлы в fonts/).
   academic: Lora (заголовки) + Onest (текст) + JetBrains Mono (числа/формулы)
   bold:     Golos Text (UI) + JetBrains Mono (числа/формулы)
   Латиница Onest и Lora разложена на два слоя (пересборка F48-W87, скрипт
   fonts/subset_latin.py): *-latin-core.woff2 — знаки без букв (их просит почти
   каждая страница), *-latin.woff2 — буквы A-Z a-z (уезжают только туда, где
   латинские буквы реально на экране). Вес закреплён инстансингом: переменная
   ось wght весила больше половины файла.
   dark:     Unbounded + Inter — здесь без файлов (нет OFL-сабсета кириллицы
             в репо), поэтому тёмная тема опирается на ту же Golos Text,
             что держит тему-контракт единым. Семантика токенов одна. */

/* === Lora (academic — заголовки, дисплей) === */
@font-face { font-family:'Lora'; font-style:normal; font-weight:500 600; font-display:swap;
  src:url('fonts/Lora-500-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Lora'; font-style:normal; font-weight:500; font-display:swap;
  src:url('fonts/Lora-500-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 6500 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB-00AC,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20AC,U+2122,U+2212,U+2215; }
@font-face { font-family:'Lora'; font-style:normal; font-weight:500; font-display:swap;
  src:url('fonts/Lora-500-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 14864 Б */
  unicode-range:U+0041-005A,U+0061-007A; }
@font-face { font-family:'Lora'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Lora-600-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Lora'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Lora-600-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 6480 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB-00AC,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20AC,U+2122,U+2212,U+2215; }
@font-face { font-family:'Lora'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Lora-600-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 14864 Б */
  unicode-range:U+0041-005A,U+0061-007A; }

/* === Onest (academic — текст и UI) === */
@font-face { font-family:'Onest'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/Onest-400-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/Onest-400-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 4764 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2009,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2191,U+2193,U+2212; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/Onest-400-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 9932 Б */
  unicode-range:U+0041-005A,U+0061-007A; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:500; font-display:swap;
  src:url('fonts/Onest-500-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:500; font-display:swap;
  src:url('fonts/Onest-500-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 5136 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2009,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2191,U+2193,U+2212; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:500; font-display:swap;
  src:url('fonts/Onest-500-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 10368 Б */
  unicode-range:U+0041-005A,U+0061-007A; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Onest-600-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Onest-600-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 5148 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2009,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2191,U+2193,U+2212; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Onest-600-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 10372 Б */
  unicode-range:U+0041-005A,U+0061-007A; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/Onest-700-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/Onest-700-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 5180 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2009,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2191,U+2193,U+2212; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/Onest-700-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 10348 Б */
  unicode-range:U+0041-005A,U+0061-007A; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:800; font-display:swap;
  src:url('fonts/Onest-800-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:800; font-display:swap;
  src:url('fonts/Onest-800-latin-core.woff2') format('woff2');  /* ядро латиницы: цифры, знаки, типографика — 5116 Б */
  unicode-range:U+0020-0040,U+005B-0060,U+007B-007E,U+00A0,U+00A7,U+00A9,U+00AB,U+00B0-00B3,U+00B7,U+00B9,U+00BB,U+00D7,U+00F7,U+2009,U+2013-2014,U+2018-2019,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2191,U+2193,U+2212; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:800; font-display:swap;
  src:url('fonts/Onest-800-latin.woff2') format('woff2');  /* буквы A-Z a-z, уезжают только на страницы с латиницей — 10256 Б */
  unicode-range:U+0041-005A,U+0061-007A; }

/* === Golos Text (bold — UI; dark — заголовки и текст) === */
@font-face { font-family:'Golos Text'; font-style:normal; font-weight:400 900; font-display:swap;
  src:url('fonts/golos-text-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Golos Text'; font-style:normal; font-weight:400 900; font-display:swap;
  src:url('fonts/golos-text-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:400 900; font-display:swap;
  src:url('fonts/golos-text-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }

/* === JetBrains Mono (bold — числа/формулы; academic — числа/формулы) === */
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/JetBrainsMono-400-cyrillic.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:400; font-display:swap;
  src:url('fonts/JetBrainsMono-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/JetBrainsMono-600-cyrillic.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:600; font-display:swap;
  src:url('fonts/JetBrainsMono-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500 800; font-display:swap;
  src:url('fonts/jetbrains-mono-cyrillic.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:500 800; font-display:swap;
  src:url('fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }

/* Тёмная тема (фирменная «Ранга»): Unbounded — заголовки, Inter — текст. OFL, файлы локально. */
@font-face { font-family:'Unbounded'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Unbounded-600-cyrillic.woff2') format('woff2'); unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'Unbounded'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Unbounded-600-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:'Unbounded'; font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/Unbounded-700-cyrillic.woff2') format('woff2'); unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'Unbounded'; font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/Unbounded-700-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:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/Inter-400-cyrillic.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:400; font-display:swap;
  src:url('fonts/Inter-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; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url('fonts/Inter-500-cyrillic.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:500; font-display:swap;
  src:url('fonts/Inter-500-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:'Inter'; font-style:normal; font-weight:600; font-display:swap;
  src:url('fonts/Inter-600-cyrillic.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:600; font-display:swap;
  src:url('fonts/Inter-600-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:'Inter'; font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/Inter-700-cyrillic.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:700; font-display:swap;
  src:url('fonts/Inter-700-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; }
