/* Собрано из tokens.json скриптом web/tools/design_tokens.py — руками не править. */

:root, [data-theme="light"] {
  --bg: #f2f6f8;
  --surface: #ffffff;
  --surface-muted: #e7eef2;
  --line: #d3dde4;
  --line-strong: #6b8494;
  --ink: #0b2230;
  --ink-muted: #48606f;
  --ink-disabled: #8799a4;
  --brand: #0b6a9c;
  --brand-pressed: #08527a;
  --on-brand: #ffffff;
  --brand-soft: #dff0f9;
  --danger: #b3261e;
  --danger-pressed: #8c1c16;
  --on-danger: #ffffff;
  --danger-soft: #fdebe8;
  --success: #0a7066;
  --success-soft: #def4f0;
  --warning: #855000;
  --warning-soft: #fcefd2;
  --inverse: #0b2230;
  --on-inverse: #ffffff;
  --focus: #0b6a9c;
  --scrim: rgba(7, 29, 43, 0.5);
  --logo-navy: #071d2b;
  --logo-sky: #2aa8e3;
  --shadow-card: 0 1px 2px rgba(7, 29, 43, 0.06), 0 2px 8px rgba(7, 29, 43, 0.05);
  --shadow-float: 0 8px 24px rgba(7, 29, 43, 0.18);
}

[data-theme="dark"] {
  --bg: #071d2b;
  --surface: #0f2a3a;
  --surface-muted: #18384a;
  --line: #234353;
  --line-strong: #6f93a6;
  --ink: #eaf2f6;
  --ink-muted: #a9bdc8;
  --ink-disabled: #5f7d8d;
  --brand: #4cc3f0;
  --brand-pressed: #86d8f7;
  --on-brand: #052130;
  --brand-soft: #103e58;
  --danger: #ff9a8c;
  --danger-pressed: #ffbdb3;
  --on-danger: #3a0d08;
  --danger-soft: #4a1e1c;
  --success: #5fd3c0;
  --success-soft: #0e3d3a;
  --warning: #f3bb55;
  --warning-soft: #44310c;
  --inverse: #eaf2f6;
  --on-inverse: #0b2230;
  --focus: #9be1fa;
  --scrim: rgba(0, 0, 0, 0.6);
  --logo-navy: #071d2b;
  --logo-sky: #2aa8e3;
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.5);
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 999px;
  --tap-min: 48px;
  --control-h: 52px;
  --control-h-sm: 44px;
  --nav-h: 64px;
  --icon: 24px;
  --content-max: 560px;
  --font-sans: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

.display { font-family: var(--font-sans); font-size: 28px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; }

.title { font-family: var(--font-sans); font-size: 22px; line-height: 30px; font-weight: 700; letter-spacing: -0.005em; }

.heading { font-family: var(--font-sans); font-size: 18px; line-height: 26px; font-weight: 600; }

.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }

.body-strong { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 600; }

.label { font-family: var(--font-sans); font-size: 16px; line-height: 20px; font-weight: 600; }

.small { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }

.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.01em; }

.code-digit { font-family: var(--font-sans); font-size: 24px; line-height: 32px; font-weight: 700; }

@font-face { font-family: "Manrope"; src: url("fonts/Manrope-Variable.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
