:root {
  --color-primary-700: #004a80;
  --color-primary-600: #005f9e;
  --color-primary-500: #0067b1;
  --color-primary-400: #2b8acb;
  --color-primary-300: #74b9e6;
  --color-primary-200: #b7dcf5;
  --color-primary-100: #d7eeff;
  --color-primary-050: #eaf6ff;

  --color-text-900: #102a43;
  --color-text-800: #243b53;
  --color-text-700: #334e68;
  --color-text-600: #486581;
  --color-text-inverse: #ffffff;

  --color-surface: #ffffff;
  --color-surface-soft: #f7fbff;
  --color-surface-blue: #eef8ff;
  --color-border: #c9e2f5;
  --color-border-strong: #9ec9e8;

  --color-success: #237a57;
  --color-warning: #a56a00;
  --color-danger: #b42318;
  --color-info: #0067b1;

  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-size-xs: .75rem;
  --font-size-sm: .875rem;
  --font-size-base: 1rem;
  --font-size-md: 1.125rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: clamp(1.75rem, 3vw, 2.35rem);
  --font-size-3xl: clamp(2.2rem, 5vw, 4rem);

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  --radius-sm: .625rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-pill: 999px;

  --shadow-subtle: 0 8px 24px rgba(16, 42, 67, .06);
  --shadow-card: 0 16px 44px rgba(16, 42, 67, .10);
  --shadow-floating: 0 24px 70px rgba(0, 74, 128, .18);

  --container: 1180px;
  --container-narrow: 820px;
  --header-height: 76px;
  --transition-fast: 160ms ease;
  --transition-base: 240ms ease;

  --z-header: 100;
  --z-mobile-menu: 120;
  --z-chat: 200;

  /* Backward-compatible semantic aliases used by existing markup. */
  --brand: var(--color-primary-500);
  --brand-dark: var(--color-primary-700);
  --ink: var(--color-text-900);
  --muted: var(--color-text-600);
  --line: var(--color-border);
}
