/* ---------- шрифты ----------
   Файлы лежат локально, а не тянутся с Google Fonts. Раньше браузеру надо
   было сходить в два чужих домена подряд: сначала за таблицей стилей на
   fonts.googleapis.com, и только из неё узнать адреса самих файлов на
   fonts.gstatic.com. Это две пары DNS и TLS до того, как появится хоть
   одна буква, а первый экран у нас ждёт готовности шрифтов, чтобы
   разбить заголовок на строки.

   Оба семейства — вариативные: один файл покрывает весь диапазон
   насыщенностей, поэтому вместо десятка статических начертаний по файлу
   на подмножество.

   unicode-range обязателен: без него браузер тянет ОБА подмножества
   каждого семейства. С ним кириллический файл скачивается только там, где
   на странице реально есть кириллица, и наоборот.

   ---------- про font-display ----------
   У Inter стоит swap, и своп там невиден: ниже объявлен метрический
   двойник «Inter Fallback», который до прихода файла занимает ровно
   столько же места. Переносы строк не меняются, сдвига нет.

   У Source Sans 3 тоже был optional, и это оказалось ошибкой. При
   optional браузер даёт шрифту около ста миллисекунд и, не дождавшись,
   НЕ подменяет его вообще до конца загрузки. Source Sans не
   предзагружается, его запрос стартует только после разбора CSS и в это
   окно обычно не укладывается. В итоге подписи в карточках метрик
   рисовались запасным шрифтом, а запасной у него Inter — тот шире на
   23.8%, и «Выполненные задания» не помещалось и обрезалось по
   overflow: hidden.

   Поэтому здесь swap: шрифт доезжает и надписи помещаются всегда.
   Остаточный риск сдвига закрывается метрическим двойником — его надо
   собрать по образцу «Inter Fallback» ниже. Коэффициенты посчитаны из
   самих файлов: ближе всех Verdana (size-adjust 96.99%, ascent 105.58%,
   descent 41.24%), запасной Arial (111.69% / 91.68% / 35.81%). */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../assets/fonts/inter-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 800;
  font-display: swap;
  src: url("../assets/fonts/inter-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;
}

/* Source Sans Pro на Google Fonts переименован в Source Sans 3 —
   в tokens.css указано новое имя */
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("../assets/fonts/source-sans-3-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("../assets/fonts/source-sans-3-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;
}

/* ---------- fallback для Inter под метрики самого Inter ----------
   Не файл — берёт системный шрифт (local()) и растягивает/сдвигает его
   через size-adjust/ascent-override/descent-override так, чтобы ширина
   и высота строк совпадали с реальным Inter. Два блока с одинаковым
   font-family — это цепочка: на Windows сработает первый (Segoe UI
   есть), на Mac/Linux браузер молча провалится на второй (Arial есть
   почти везде). Как только настоящий Inter доедет и произойдёт своп —
   визуально почти ничего не сдвинется, потому что до этого стоял
   геометрический двойник, а не просто «какой-то системный шрифт».
   Источник коэффициентов: github.com/rsms/inter/discussions/632 —
   считаны из самого шрифта Inter, а не подобраны на глаз. */
@font-face {
  font-family: "Inter Fallback";
  src: local("Segoe UI");
  ascent-override: 89.54%;
  descent-override: 22.32%;
  line-gap-override: 0%;
  size-adjust: 108.19%;
}

@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  ascent-override: 90.00%;
  descent-override: 22.43%;
  line-gap-override: 0%;
  size-adjust: 107.64%;
}
