:root {
  color-scheme: light;
  --color-background: #ffffff;
  --color-surface: #ffffff;
  --color-surface-secondary: #f3f8fc;
  --color-surface-subtle: #f8fbfd;
  --color-text-primary: #10243a;
  --color-text-secondary: #40566d;
  --color-text-muted: #60758b;
  --color-border: rgba(112, 139, 164, 0.24);
  --color-border-strong: rgba(15, 111, 168, 0.32);
  --color-primary: #0f6fa8;
  --color-primary-hover: #0b5f91;
  --color-primary-soft: #e7f4fb;
  --color-accent: #b45309;
  --color-accent-hover: #92400e;
  --color-danger: #b42318;
  --color-success: #067647;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 22px;
  --radius-pill: 999px;

  --shadow-sm: 0 4px 16px rgba(16, 36, 58, 0.05);
  --shadow-md: 0 14px 34px rgba(16, 36, 58, 0.08);
  --shadow-lg: 0 24px 58px rgba(16, 36, 58, 0.11);
  --shadow-focus: 0 0 0 4px rgba(56, 189, 248, 0.22);

  --type-display: clamp(2.15rem, 4.15vw, 3.35rem);
  --type-section: clamp(1.8rem, 3vw, 2.55rem);
  --type-card: clamp(1.12rem, 1.3vw, 1.35rem);
  --type-body: 1rem;
  --type-small: 0.875rem;

  --duration-fast: 150ms;
  --duration-normal: 220ms;
  --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid #0284c7;
  outline-offset: 3px;
  box-shadow: var(--shadow-focus);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
