/* tokens.css — единый файл дизайн-токенов для лендинга (серверный) и SPA (React).
   Используется через @import или <link>. Никаких @media prefers-color-scheme —
   только тёмная тема. */

:root {
  /* ── Фон ── */
  --canvas: #05060f;
  --surface: #0a0c18;
  --surface-elevated: rgba(186, 214, 247, 0.03);
  --surface-modal: rgba(5, 6, 15, 0.97);

  /* ── Текст ── */
  --fg-primary: #d1e4fa;
  --fg-headline: #d8ecf8;
  --fg-body: #c7d3ea;
  --fg-muted: #9da7ba;
  --fg-white: #ffffff;

  /* ── Акцент ── */
  --accent: #663af3;
  --accent-hover: #7c52f7;
  --accent-glow: rgba(102, 58, 243, 0.35);

  /* ── Семантические ── */
  --danger: #ef4444;
  --success: #22c55e;
  --warning: #f59e0b;

  /* ── Стекло / blueprint ── */
  --blueprint: #b6d9fc;
  --glass-edge: rgba(186, 215, 247, 0.12);
  --glass-edge-strong: rgba(186, 214, 247, 0.24);
  --luminous-fill: rgba(199, 211, 234, 0.12);
  --luminous-subtle: rgba(186, 214, 247, 0.06);

  /* ── Шрифты ── */
  --font-display: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --font-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;

  /* ── Радиусы ── */
  --radius-sm: 6px;
  --radius-md: 16px;
  --radius-pill: 999px;
  --radius-circle: 9999px;

  /* ── Отступы / размеры ── */
  --section-gap: clamp(80px, 10vw, 140px);
  --card-pad: clamp(16px, 2.5vw, 32px);
  --max-width: 1240px;
  --sidebar-w: 260px;

  /* ── Утилиты ── */
  --steel: #2f343e;
  --code-bg: rgba(199, 211, 234, 0.06);
}

/* ── Базовый сброс ── */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--canvas);
  color: var(--fg-body);
  font-family: var(--font-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  color: var(--accent-hover);
}

img {
  max-width: 100%;
  display: block;
}
