/* mooniq — шрифты локально (селф-хост вместо fonts.googleapis.com).
   Источник: Google Fonts (лицензия OFL), исходные вариативные файлы.
   IP посетителей не уходит на серверы Google — см. политику ПДн.

   ОДИН ФАЙЛ НА СЕМЕЙСТВО. Раньше брали готовые субсеты Google — по четыре куска
   на семейство (latin, latin-ext, cyrillic, cyrillic-ext). На русской странице
   нужны как минимум три из них: кириллица для текста, latin для цифр, пробелов
   и знаков препинания, latin-ext ради одного знака ₽ (U+20BD) — и это 118 КБ
   Unbounded ради рубля. Итого браузер тянул шесть-семь файлов, каждый доезжал
   в своё время и подменял свою часть текста: отсюда и была долгая пляска.

   Теперь шрифты пересобраны из исходных вариативных TTF под фактический набор
   знаков сайта (кириллица, латиница, цифры, пунктуация, ₽, №, стрелки, ı для
   логотипа) и под фактический диапазон насыщенности 400–700. Три файла вместо
   семи, 114 КБ вместо ~280 КБ, одна подмена вместо шести.
   Пересборка: tools/build_fonts.py. */

@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/onest.woff2) format('woff2');
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/unbounded.woff2) format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/jetbrainsmono.woff2) format('woff2');
}

/* Запасные шрифты с подогнанными метриками. Пока веб-шрифт грузится, текст
   рисуется системным — и в момент подмены строки съезжали: Unbounded на 39%
   шире Arial, у Onest другая высота строчных. size-adjust и overrides выравнивают
   системный шрифт под метрики нашего, поэтому подмена больше не двигает вёрстку.
   Коэффициенты не на глаз: подобраны перебором на настоящей главной странице —
   сравнивалась геометрия элементов при живых шрифтах и при намеренно сломанных
   (tools/check_font_metrics.py). На выбранных значениях страница при подмене не
   меняет высоту вообще, а по горизонтали расходится на 1–2 px.
   Остаток расхождения на ценах — знак ₽ (U+20BD): в Arial его нет, и запасной
   шрифт берёт его из системного, у которого своя ширина. Лечится только тем,
   что настоящий шрифт приезжает быстро, — для этого он и в preload. */
@font-face {
  font-family: 'Onest Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  size-adjust: 104.4%;
  ascent-override: 92.9%;
  descent-override: 28.7%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Unbounded Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  size-adjust: 138.0%;
  ascent-override: 71.2%;
  descent-override: 17.3%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'JetBrains Mono Fallback';
  src: local('Menlo'), local('Courier New'), local('DejaVu Sans Mono');
  size-adjust: 99.7%;
  ascent-override: 102.3%;
  descent-override: 30.1%;
  line-gap-override: 0%;
}
