/* Созвон — дизайн-токены */
:root {
  color-scheme: dark;

  /* ---- Фоны: графит с холодным оттенком (от глубокого к поднятому) ---- */
  --bg-0: #0b0d11;      /* колонка серверов, подложка */
  --bg-1: #12151b;      /* сайдбар, участники */
  --bg-2: #171a21;      /* основная область */
  --bg-3: #1e222b;      /* поля, карточки, тайлы */
  --bg-4: #262b35;      /* hover */
  --bg-5: #2f3542;      /* active / pressed */
  --bg-elevated: #1b1f27; /* модалки, плеер, поповеры */
  --bg-overlay: rgba(5, 6, 9, 0.66);

  --user-panel-bg: #0f1217;
  --hover-tint: rgba(255, 255, 255, 0.025);  /* подсветка строки сообщения */
  --footer-tint: rgba(0, 0, 0, 0.18);        /* подвал модалки */
  --glass: rgba(27, 31, 39, 0.86);           /* карточка входа */
  --glass-2: rgba(23, 26, 33, 0.88);         /* drag&drop */
  --scroll-thumb-hover: #3d4453;
  --track: rgba(255, 255, 255, 0.14);        /* дорожка слайдеров/прогресса */
  --thumb: #ffffff;
  --inverse: #ffffff;                         /* «инверсные» кнопки (ctrl.is-on, ▶) */
  --inverse-hover: #e6e8ee;
  --on-inverse: #11131a;

  --border: rgba(255, 255, 255, 0.06);
  --border-strong: rgba(255, 255, 255, 0.11);

  /* ---- Текст ---- */
  --text: #e7e9ef;
  --text-muted: #a2a8b6;
  --text-faint: #6e7585;
  --text-on-accent: #ffffff;
  --text-message: #dcdfe6;
  --input-hover-border: rgba(255, 255, 255, 0.18);

  /* ---- Фирменный акцент: электрик-фиолетовый ----
     #6a45ff + белый текст = 5.4:1 (AA) */
  --accent: #6a45ff;
  --accent-hover: #5c37f2;
  --accent-active: #4f2bdc;
  --accent-text: #b4a4ff;            /* акцент как текст на тёмном фоне (8:1) */
  --accent-soft: rgba(106, 69, 255, 0.16);
  --accent-soft-strong: rgba(106, 69, 255, 0.28);
  --accent-glow: rgba(106, 69, 255, 0.45);
  --accent-gradient: linear-gradient(135deg, #8b6bff 0%, #5b33e6 100%);

  /* ---- Статусы ---- */
  --ok: #2fd27a;
  --ok-strong: #1f9e5a;            /* фон кнопок «ок» с белым текстом */
  --ok-soft: rgba(47, 210, 122, 0.14);
  --speaking: #34e083;
  --speaking-glow: rgba(52, 224, 131, 0.45);
  --danger: #f2555f;               /* иконки/текст на тёмном */
  --danger-strong: #d2303f;        /* фон кнопок с белым текстом (4.9:1) */
  --danger-hover: #b92635;
  --danger-soft: rgba(242, 85, 95, 0.14);
  --warn: #f5b14c;
  --offline: #5d6474;
  --live: #e8384a;

  /* ---- Типографика ---- */
  --font: "Inter", "Inter var", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;
  --font-scale: 1;                 /* prefs appearance.fontScale / 100 (ставит theme-boot.js) */
  --fs-xs: calc(11px * var(--font-scale));
  --fs-sm: calc(12.5px * var(--font-scale));
  --fs-md: calc(14px * var(--font-scale));
  --fs-base: calc(15px * var(--font-scale));
  --fs-lg: calc(17px * var(--font-scale));
  --fs-xl: calc(20px * var(--font-scale));
  --fs-2xl: calc(26px * var(--font-scale));
  --lh-tight: 1.25;
  --lh: 1.45;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ---- Отступы (шкала 4px) ---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;

  /* ---- Радиусы ---- */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-2xl: 20px;
  --r-pill: 999px;
  --r-squircle: 16px; /* server-icon в hover/active */

  /* ---- Тени ---- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.35), 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.35);
  --ring-focus: 0 0 0 2px var(--bg-2), 0 0 0 4px var(--accent-text);

  /* ---- Размеры раскладки ---- */
  --servers-w: 72px;
  --sidebar-w: 240px;
  --members-w: 240px;
  --header-h: 52px;
  --server-icon: 48px;

  /* ---- z-index ---- */
  --z-base: 1;
  --z-sticky: 10;
  --z-nav: 60;
  --z-nav-backdrop: 55;
  --z-player: 50;
  --z-modal: 100;
  --z-toast: 200;

  /* ---- Анимации ---- */
  --dur-fast: 120ms;
  --dur: 180ms;
  --dur-slow: 280ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root:not([data-reduce-motion="off"]) {
    --dur-fast: 0ms;
    --dur: 0ms;
    --dur-slow: 0ms;
  }
}

:root[data-reduce-motion="on"] {
  --dur-fast: 0ms;
  --dur: 0ms;
  --dur-slow: 0ms;
}

/* ============================================================
   Темы: data-theme на <html> (prefs appearance.theme), ставится до первой отрисовки
   ============================================================ */

/* ---- Светлая: холодный «бумажный» серый, все пары текст/фон ≥ 4.5:1 (AA) ----
   text #1c1f26 на #fff 16.5:1 · muted #4d5463 6.8–7.6:1 · faint #5f6674 ≥4.6:1 на bg-0..2
   accent-text #4a26d6 7.4:1 · danger #c42b3a 5.0:1 на bg-1 · ok #13733f 5.3:1 · warn #8f5600 5.4:1 */
:root[data-theme="light"] {
  color-scheme: light;

  --bg-0: #e3e5ea;
  --bg-1: #f2f3f5;
  --bg-2: #ffffff;
  --bg-3: #ebedf0;
  --bg-4: #e1e4e9;
  --bg-5: #d4d8df;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(20, 23, 31, 0.42);

  --user-panel-bg: #e9ebef;
  --hover-tint: rgba(16, 24, 40, 0.035);
  --footer-tint: #f2f3f5;
  --glass: rgba(255, 255, 255, 0.88);
  --glass-2: rgba(255, 255, 255, 0.9);
  --scroll-thumb-hover: #b9bfca;
  --track: rgba(16, 24, 40, 0.16);
  --thumb: #ffffff;
  --inverse: #1c1f26;
  --inverse-hover: #343944;
  --on-inverse: #ffffff;

  --border: rgba(16, 24, 40, 0.08);
  --border-strong: rgba(16, 24, 40, 0.15);

  --text: #1c1f26;
  --text-muted: #4d5463;
  --text-faint: #5f6674;
  --text-message: #262a33;
  --input-hover-border: rgba(16, 24, 40, 0.28);

  --accent: #5b36f0;               /* белый текст 6.5:1 */
  --accent-hover: #4f2bdc;
  --accent-active: #4422c4;
  --accent-text: #4a26d6;
  --accent-soft: rgba(91, 54, 240, 0.10);
  --accent-soft-strong: rgba(91, 54, 240, 0.2);
  --accent-glow: rgba(91, 54, 240, 0.35);

  --ok: #13733f;
  --ok-strong: #157a43;
  --ok-soft: rgba(21, 122, 67, 0.12);
  --speaking: #1fae62;
  --speaking-glow: rgba(31, 174, 98, 0.4);
  --danger: #c42b3a;
  --danger-strong: #c42b3a;
  --danger-hover: #a8212f;
  --danger-soft: rgba(196, 43, 58, 0.1);
  --warn: #8f5600;
  --offline: #8a91a0;
  --live: #d92c3e;

  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.1);
  --shadow-md: 0 6px 18px rgba(16, 24, 40, 0.12), 0 1px 3px rgba(16, 24, 40, 0.08);
  --shadow-lg: 0 18px 48px rgba(16, 24, 40, 0.18), 0 2px 8px rgba(16, 24, 40, 0.08);
}

/* ---- AMOLED: чистый чёрный для OLED-экранов ---- */
:root[data-theme="amoled"] {
  --bg-0: #000000;
  --bg-1: #000000;
  --bg-2: #000000;
  --bg-3: #0d0e12;
  --bg-4: #17191f;
  --bg-5: #22252d;
  --bg-elevated: #0a0b0e;
  --bg-overlay: rgba(0, 0, 0, 0.78);
  --user-panel-bg: #000000;
  --footer-tint: #050608;
  --glass: rgba(8, 9, 12, 0.9);
  --glass-2: rgba(0, 0, 0, 0.88);
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.14);
  --text-faint: #7b8292;
}
