:root {
  color-scheme: light;
  --color-canvas: #f5f7fb;
  --color-surface: #ffffff;
  --color-surface-soft: #eef3fb;
  --color-surface-strong: #e4ebf5;
  --color-text: #122033;
  --color-text-muted: #607086;
  --color-text-soft: #8794a6;
  --color-primary: #1769e0;
  --color-primary-hover: #0f56bd;
  --color-primary-soft: #e7f0ff;
  --color-success: #16845b;
  --color-success-soft: #e5f6ef;
  --color-border: #dbe3ee;
  --color-border-strong: #c6d1df;
  --color-danger: #b42318;

  --font-headline: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-label: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 999px;
  --radius-card: 1rem;

  --shadow-card: 0 8px 30px rgba(27, 45, 73, 0.07);
  --shadow-lifted: 0 18px 50px rgba(27, 45, 73, 0.12);
  --focus-ring: 0 0 0 3px rgba(23, 105, 224, 0.25);
  --transition-fast: 150ms ease;
  --transition-base: 220ms ease;

  /* Совместимость со старыми шаблонами до их переноса. */
  --surface: var(--color-canvas);
  --surface-bright: var(--color-surface);
  --surface-dim: var(--color-surface-strong);
  --surface-container: var(--color-surface-soft);
  --surface-container-low: var(--color-surface-soft);
  --surface-container-high: var(--color-surface-strong);
  --surface-container-highest: var(--color-surface-strong);
  --surface-container-lowest: var(--color-surface);
  --surface-variant: var(--color-surface-soft);
  --on-surface: var(--color-text);
  --on-surface-variant: var(--color-text-muted);
  --on-background: var(--color-text);
  --primary: var(--color-primary);
  --primary-container: var(--color-primary);
  --primary-fixed: var(--color-primary-soft);
  --primary-fixed-dim: #cfe0fb;
  --on-primary: #ffffff;
  --on-primary-container: #ffffff;
  --on-primary-fixed: #104c9f;
  --secondary: var(--color-primary);
  --secondary-container: var(--color-primary);
  --secondary-fixed: var(--color-primary-soft);
  --on-secondary: #ffffff;
  --on-secondary-fixed-variant: var(--color-primary-hover);
  --tertiary: var(--color-success);
  --tertiary-container: var(--color-success);
  --tertiary-fixed: var(--color-success-soft);
  --on-tertiary-fixed-variant: var(--color-success);
  --outline: var(--color-text-soft);
  --outline-variant: var(--color-border);
  --error: var(--color-danger);
  --kinetic-gradient: var(--color-primary);
  --shadow-sm: var(--shadow-card);
  --shadow-md: var(--shadow-lifted);
  --shadow-lg: var(--shadow-lifted);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
