/* Токены TechResQ Hybrid (07.10.2026) — единственный источник шрифта, шкалы,
   цветов, линий, скруглений, теней и движения. Подключён первым на каждой
   странице, вход тоже. В остальных стилях — только var(--hx-…): своих чисел и
   цветов там нет (DESIGN.md, «Правила стандартизации»).

   Шрифт. Manrope на весь интерфейс: вариативный (один файл на все веса), с
   кириллицей и табличными цифрами. Файлы лежат на самом гибриде — CSP пускает
   шрифты только с него, и на любом компьютере и телефоне вид одинаковый.
   Моноширинный (идентификаторы, снимки, ключи) — системный.

   Шкала — 8 размеров, мельче 11 px ничего нет:
     11 — подписи прописными          16 — заголовок карточки
     12 — пометки, мелкие подписи     20 — заголовок окна и раздела
     13 — плотные таблицы, второй ряд 24 — заголовок страницы
     14 — основной текст              32 — крупные числа
   Начертания: 400 текст, 500 кнопки и подписи, 600 заголовки и числа,
   700 — только крупные числа. */
@font-face {
  font-family: "Manrope"; src: url("/static/manrope-latin.woff2") format("woff2");
  font-weight: 200 800; font-style: normal; font-display: swap;
  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: "Manrope"; src: url("/static/manrope-cyrillic.woff2") format("woff2");
  font-weight: 200 800; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
  color-scheme: dark;

  /* --- шрифт и шкала ---------------------------------------------------- */
  --hx-font: "Manrope", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;
  --hx-mono: ui-monospace, "Cascadia Mono", Consolas, "Liberation Mono", monospace;
  --hx-fs-11: 11px;
  --hx-fs-12: 12px;
  --hx-fs-13: 13px;
  --hx-fs-14: 14px;
  --hx-fs-16: 16px;
  --hx-fs-20: 20px;
  --hx-fs-24: 24px;
  --hx-fs-32: 32px;
  /* Крупный заголовок страницы клуба — единственный плавающий размер. */
  --hx-fs-display: clamp(28px, 3.4vw, 40px);
  --hx-lh-tight: 1.2;
  --hx-lh-ui: 1.4;
  --hx-lh-text: 1.55;
  --hx-track-caps: .06em;
  --hx-track-title: -.01em;

  /* --- поверхности: от дна к верху --------------------------------------- */
  --hx-bg: #070D15;         /* страница */
  --hx-ink: #08111C;        /* поле ввода, текст на бирюзе */
  --hx-graphite: #0B1420;   /* шапка, боковое меню */
  --hx-card: #0C1622;       /* карточка */
  --hx-head: #0F1A28;       /* шапка таблицы */
  --hx-panel: #101C2B;      /* панель, всплывающее, наведение строки */
  --hx-tonal: #13233A;      /* тональная кнопка, выбранное положение */
  --hx-tonal-line: #263D5C; /* грань тональной кнопки и выбранного положения */
  --hx-raised: #142336;     /* приподнятое: наведение на панели */

  /* --- линии -------------------------------------------------------------- */
  --hx-line: #1E2C40;       /* шапка, поля, разделы, всплывающее */
  --hx-card-line: #1A283A;  /* под шапкой карточки и таблицы, разделители */
  /* Рамка карточки и таблицы на странице. Убрана (08.10.2026, решение
     пользователя по примеру других панелей для клубов): карточку отделяет
     тон, а не линия, и рамки в рамке больше нет. Толщина 1 px остаётся —
     раскладка не сдвигается. Вернуть рамки — var(--hx-card-line). */
  --hx-card-edge: transparent;
  --hx-line-soft: #152233;  /* между строками, внутри карточки */
  --hx-quiet-line: #24344A; /* рамка кнопки */
  --hx-line-hover: #2B3E57; /* рамка при наведении */

  /* --- текст ---------------------------------------------------------------- */
  --hx-text: #F5F8FC;       /* самое светлое: имя в шапке, текст на всплывающем */
  --hx-title: #EEF2F7;      /* заголовки, значения */
  --hx-body: #E3E8EF;       /* основной текст, ячейки */
  --hx-label: #BAC4D2;      /* подписи полей */
  --hx-subtle: #A3AFC0;     /* пояснения */
  --hx-muted: #8291A8;      /* служебное: шапки таблиц, подписи прописными */
  --hx-never: #4A5A70;      /* «никогда», «необязательно», чёрточка */

  /* --- бренд ---------------------------------------------------------------- */
  --hx-cyan: #08DDD4;       /* основное действие, фокус, выбранное */
  --hx-cyan-hover: #5FF0E8;
  --hx-teal: #05B9C1;
  --hx-blue: #508BFF;
  --hx-indigo: #5147FF;
  --hx-link: #8FB2FF;       /* ссылки-действия («Подключение →»), текст «в работе» */

  /* --- состояния (семафор) ------------------------------------------------- */
  --hx-good: #4FB477;
  --hx-good-bg: #17281E;
  --hx-warn: #D4A03C;
  --hx-warn-bg: #2A2317;
  --hx-bad: #E05B56;
  --hx-bad-bg: #2D1C1C;
  --hx-bad-strong: #8F2F2C;       /* залитая кнопка необратимого действия */
  --hx-bad-strong-hover: #A63733;
  --hx-danger-text: #EA827D;      /* «Выйти», «Удалить» контуром */
  --hx-danger-line: #6B3438;
  --hx-busy: #4B7FE0;
  --hx-busy-bg: #182231;
  --hx-on: #3ED598;               /* точка «на связи» в шапке */
  --hx-off: #E8A23A;              /* точка «нет связи» */
  --hx-notice-bg: #0C2427;        /* «Сохранено» над страницей */
  --hx-notice-line: #1E5248;
  --hx-notice-text: #BDEFE6;

  /* --- скругления ----------------------------------------------------------- */
  --hx-r-item: 7px;     /* строка списка, пункт меню */
  --hx-r-control: 8px;  /* кнопка, поле */
  --hx-r-pop: 10px;     /* всплывающая панель */
  --hx-r-card: 12px;    /* карточка, окно */
  --hx-r-pill: 999px;   /* плашка, чип, переключатель, поиск */

  /* --- тени: только у того, что парит --------------------------------------- */
  --hx-shadow-contact: 0 1px 2px rgba(0, 0, 0, .28);
  --hx-shadow-pop: 0 18px 48px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .03);
  --hx-shadow-dialog: 0 24px 64px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .03);

  /* --- движение: четыре длительности и две кривые, по смыслу ------------------
     Плиточный занавес между клубами — свой (curtain.js), его они не касаются. */
  --hx-dur-quick: 120ms;  /* наведение, нажатие, смена цвета */
  --hx-dur-pop: 160ms;    /* всплывающее: меню, панели шапки, подсказки, переключатели */
  --hx-dur-view: 220ms;   /* смена содержимого: страницы, вкладки, окна, раскрытие */
  --hx-dur-exit: 120ms;   /* уход: окно закрывается, старое содержимое гаснет */
  --hx-ease-out: cubic-bezier(0.23, 1, 0.32, 1);  /* появление и движение */
  --hx-ease: ease;                                /* цвет и прозрачность на месте */
}

/* Телефон: поле мельче 16 px iPhone при наборе увеличивает страницу. На
   касаниях поля всегда 16 px; !important — перебить точные размеры полей в
   стилях страниц, это ограничение устройства, а не оформление. */
@media (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: var(--hx-fs-16) !important; }
}
