/* ============================================================
   Шрифт интерфейса — личная настройка («Профиль → Оформление»).
   Не зависит от цветовой темы: атрибут data-pusk-font на <html>.
   font-unify.css ставит всем элементам var(--font-tnr), поэтому
   здесь достаточно переопределить сам токен; заголовкам — свой
   токен --font-head (в «Смешанном» он отличается от текста).
   Подключается сразу после font-unify.css.
   ============================================================ */

/* PT Serif из проекта — только кириллица: на Windows, где PT Serif не
   установлен, русский текст берётся отсюда, латиница — из Georgia */
@font-face {
  font-family: "Pusk PT Serif Cyr";
  src: url("/static/fonts/PTSerif-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+2116;
}
@font-face {
  font-family: "Pusk PT Serif Cyr";
  src: url("/static/fonts/PTSerif-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+2116;
}

html {
  --pf-pt-serif: "PT Serif", "Pusk PT Serif Cyr", Georgia, "Times New Roman", serif;
  --pf-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pf-pt-sans: "PT Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-head: var(--font-tnr);
}

html[data-pusk-font="kniga"] { --font-tnr: var(--pf-pt-serif); --font-head: var(--pf-pt-serif); }
html[data-pusk-font="smes"]  { --font-tnr: var(--pf-system);   --font-head: var(--pf-pt-serif); }
html[data-pusk-font="sovr"]  { --font-tnr: var(--pf-system);   --font-head: var(--pf-system); }
html[data-pusk-font="pt"]    { --font-tnr: var(--pf-pt-sans);  --font-head: var(--pf-pt-sans); }

/* Заголовки страниц и окон. Шрифт задаём через сам токен: старые слои
   ставят font-family: var(--font-tnr) с высокой специфичностью, и так
   они подхватывают шрифт заголовков без борьбы за !important */
html[data-pusk-font] body :is(h1, h2, h3, .today-title, .ios-title, .pusk-tasks-title,
  .pusk-events-title, .pusk-planner-title, .flyout-title, .cal-title) {
  --font-tnr: var(--font-head);
}

/* В гротеске цифры одной ширины — суммы и даты встают ровным столбцом */
html:is([data-pusk-font="smes"], [data-pusk-font="sovr"], [data-pusk-font="pt"]) body :is(td, th, time) {
  font-variant-numeric: tabular-nums;
}

/* Образцы на странице «Оформление»: каждый — своим шрифтом, при любом выбранном */
html body .pusk-font-sample {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 56px;
  padding: 8px 10px;
  border-radius: var(--radius-md);
  background: var(--bg-warm);
  color: var(--text-primary);
}
html body .pusk-font-sample em { font-style: normal; font-size: 15px; line-height: 1.2; }
html body .pusk-font-sample small { font-size: 12px; color: var(--text-secondary); }
html body .pusk-font-sample[data-font-sample="tnr"]   { --font-tnr: "Times New Roman", Times, "Liberation Serif", serif; }
html body .pusk-font-sample[data-font-sample="kniga"] { --font-tnr: var(--pf-pt-serif); }
html body .pusk-font-sample[data-font-sample="smes"]  { --font-tnr: var(--pf-system); }
html body .pusk-font-sample[data-font-sample="smes"] em { --font-tnr: var(--pf-pt-serif); }
html body .pusk-font-sample[data-font-sample="sovr"]  { --font-tnr: var(--pf-system); }
html body .pusk-font-sample[data-font-sample="pt"]    { --font-tnr: var(--pf-pt-sans); }
