:root {
  color-scheme: light;

  --iav-brand-red: #ed1b2f;
  --iav-brand-red-strong: #c81026;
  --iav-brand-green: #089b3a;
  --iav-brand-green-strong: #067c30;
  --iav-brand-gold: #f2b928;
  --iav-brand-cyan: #13b9e8;
  --iav-brand-graphite: #343844;
  --iav-brand-ink: #191d27;

  --iav-bg: #f7f9fc;
  --iav-bg-elevated: #ffffff;
  --iav-bg-soft: #eef2f7;
  --iav-surface: #ffffff;
  --iav-surface-strong: #e7edf4;
  --iav-text: #191d27;
  --iav-text-muted: #667085;
  --iav-text-subtle: #8a94a6;
  --iav-border: #d9e0e9;
  --iav-border-strong: #b9c4d2;
  --iav-header: #ed1b2f;
  --iav-nav: #343844;
  --iav-cta: #089b3a;
  --iav-cta-hover: #067c30;
  --iav-focus: #13b9e8;
  --iav-success: #089b3a;
  --iav-warning: #d98c00;
  --iav-danger: #d6162b;

  --iav-shadow-sm: 0 8px 24px rgb(25 29 39 / 8%);
  --iav-shadow-md: 0 18px 52px rgb(25 29 39 / 14%);
  --iav-shadow-brand: 0 18px 56px rgb(237 27 47 / 20%);
  --iav-glow-red: 0 0 34px rgb(237 27 47 / 22%);
  --iav-glow-green: 0 0 34px rgb(8 155 58 / 20%);

  --iav-radius-sm: 8px;
  --iav-radius-md: 14px;
  --iav-radius-lg: 22px;
  --iav-radius-xl: 30px;
  --iav-space-1: 0.25rem;
  --iav-space-2: 0.5rem;
  --iav-space-3: 0.75rem;
  --iav-space-4: 1rem;
  --iav-space-5: 1.25rem;
  --iav-space-6: 1.5rem;
  --iav-space-8: 2rem;
  --iav-space-10: 2.5rem;
  --iav-space-12: 3rem;
  --iav-space-16: 4rem;

  --iav-font-display: "Arial Narrow", "Roboto Condensed", "Inter Tight", Arial, sans-serif;
  --iav-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --iav-container: 1440px;
  --iav-transition-fast: 160ms ease;
  --iav-transition: 240ms ease;
}

html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --iav-bg: #07090d;
  --iav-bg-elevated: #0d1118;
  --iav-bg-soft: #121722;
  --iav-surface: #10151d;
  --iav-surface-strong: #171e29;
  --iav-text: #f7f9fc;
  --iav-text-muted: #a8b1c0;
  --iav-text-subtle: #727d8f;
  --iav-border: #242d3a;
  --iav-border-strong: #354153;
  --iav-header: #ed1b2f;
  --iav-nav: #252a35;
  --iav-cta: #0aa844;
  --iav-cta-hover: #10bd50;
  --iav-focus: #30c8f2;
  --iav-warning: #f2b928;
  --iav-shadow-sm: 0 10px 28px rgb(0 0 0 / 28%);
  --iav-shadow-md: 0 22px 64px rgb(0 0 0 / 42%);
  --iav-shadow-brand: 0 20px 62px rgb(237 27 47 / 24%);
  --iav-glow-red: 0 0 42px rgb(237 27 47 / 30%);
  --iav-glow-green: 0 0 42px rgb(10 168 68 / 26%);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) {
    color-scheme: dark;
    --iav-bg: #07090d;
    --iav-bg-elevated: #0d1118;
    --iav-bg-soft: #121722;
    --iav-surface: #10151d;
    --iav-surface-strong: #171e29;
    --iav-text: #f7f9fc;
    --iav-text-muted: #a8b1c0;
    --iav-text-subtle: #727d8f;
    --iav-border: #242d3a;
    --iav-border-strong: #354153;
    --iav-cta: #0aa844;
    --iav-cta-hover: #10bd50;
    --iav-focus: #30c8f2;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--iav-bg);
  color: var(--iav-text);
  font-family: var(--iav-font-body);
  transition: background-color var(--iav-transition), color var(--iav-transition);
}

:focus-visible {
  outline: 3px solid var(--iav-focus);
  outline-offset: 3px;
}

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