/* =======================================================================
   tokens.css — единый источник правды дизайн-системы «Преза».
   Нуар-палитра из TZ.md (раздел «Оформление»). Подключается ПЕРВЫМ во все
   экраны (admin/hub/login/users/log/help) и в viewer (index.html).
   admin.css/viewer.css ссылаются на эти переменные, своих :root не держат.
   ======================================================================= */
:root {
  /* --- Цвета: нуар (строго по TZ.md) --- */
  --bg:          #0b0e14;  /* Фон, ночь */
  --panel:       #14181f;  /* Панели, карточки (чуть светлее фона) */
  --panel-2:     #1a1f29;  /* Вложенные элементы, поля ввода */
  --line:        #2a3345;  /* Границы, разделители */
  --text:        #e8e6e1;  /* Текст на тёмном */
  --dim:         #8a8f9c;  /* Приглушённый текст, подписи */
  --amber:       #ffb84d;  /* Свет лампы, акцент, primary */
  --amber-soft:  #c9a25e;  /* Приглушённый акцент */
  --paper:       #f2e8d5;  /* Бумага, карточки-полароиды */
  --red:         #e5484d;  /* Красная нить, danger, штампы «интересно» */
  --green:       #2fbf71;  /* Успех, штамп «раскрыто», публикация */
  --blue:        #5b9bd5;  /* Зарезервирован (инфо) — НЕ для ссылок на тёмном */

  /* Цвета поверхностей с прозрачностью (overlay, backdrop) */
  --overlay:     rgba(11, 14, 20, .72);
  --backdrop:    rgba(0, 0, 0, .55);
  --scrim:       rgba(255, 184, 77, .06);  /* лёгкая янтарная подсветка */

  /* --- Типографика --- */
  --font-sans:   'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif:  'Playfair Display', Georgia, serif;
  --font-mono:   'IBM Plex Mono', 'PT Mono', ui-monospace, monospace;

  /* Размеры шрифта (модульная шкала) */
  --fs-xs:   11px;
  --fs-sm:   12.5px;
  --fs-md:   14px;   /* базовый body */
  --fs-lg:   16px;
  --fs-xl:   19px;
  --fs-2xl:  24px;
  --fs-3xl:  32px;

  --lh-tight: 1.25;
  --lh-base:  1.45;
  --lh-loose: 1.6;

  /* --- Spacing scale --- */
  --sp-0:  0;
  --sp-1:  4px;
  --sp-2:  6px;
  --sp-3:  8px;
  --sp-4:  10px;
  --sp-5:  14px;
  --sp-6:  18px;
  --sp-7:  24px;
  --sp-8:  32px;
  --sp-9:  48px;

  /* --- Радиусы --- */
  --r-sm:   5px;
  --r-md:   7px;
  --r-lg:   12px;
  --r-xl:   16px;
  --r-pill: 999px;

  /* --- Тени --- */
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 12px rgba(0, 0, 0, .25);
  --shadow-drop: 0 8px 24px rgba(0, 0, 0, .45);
  --shadow-pop:  0 12px 40px rgba(0, 0, 0, .55);

  /* --- Переходы --- */
  --t-fast:  .12s ease;
  --t-base:  .18s ease;
  --t-slow:  .28s ease;

  /* --- Z-index --- */
  --z-base:   1;
  --z-topbar: 100;
  --z-toast:  900;
  --z-modal:  1000;
  --z-tooltip: 1100;  /* выше модалок: подсказки нужны и внутри диалогов */

  /* --- Фокус-кольцо (a11y) --- */
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--amber);

  /* --- Базовая ширина контента --- */
  --content-max: 960px;
}

/* prefers-reduced-motion: убираем анимации интерфейса (вьюер имеет свой fallback) */
@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; --t-base: 0ms; --t-slow: 0ms; }
}
