/* ==========================================================================
   Design tokens
   Change values here and the whole site follows.
   ========================================================================== */

:root {
  /* --- Brand colour ------------------------------------------------------ */
  --color-brand: #1a5fb4;
  --color-brand-dark: #14498a;
  --color-brand-light: #e8f0fb;

  /* --- Neutrals ---------------------------------------------------------- */
  --color-text: #1b1f24;
  --color-text-muted: #5c6670;
  --color-heading: #0d1117;
  --color-bg: #ffffff;
  --color-bg-alt: #f6f8fa;
  --color-border: #e2e6ea;

  /* --- Feedback ---------------------------------------------------------- */
  --color-success: #1a7f47;
  --color-error: #c72c2c;

  /* --- Typography -------------------------------------------------------- */
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --font-heading: var(--font-body);

  --text-xs: 0.8125rem;   /* 13px */
  --text-sm: 0.9375rem;   /* 15px */
  --text-base: 1.0625rem; /* 17px */
  --text-lg: 1.25rem;     /* 20px */
  --text-xl: 1.5rem;      /* 24px */
  --text-3xl: 2.5rem;     /* 40px */
  --text-4xl: 3.25rem;    /* 52px */

  --leading-tight: 1.2;
  --leading-normal: 1.65;

  /* --- Spacing scale ----------------------------------------------------- */
  --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;
  --space-9: 6rem;

  /* --- Layout ------------------------------------------------------------ */
  --container-width: 1140px;
  --container-narrow: 760px;
  --gutter: var(--space-5);
  --header-height: 72px;

  /* --- Borders & shadows -------------------------------------------------- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(13, 17, 23, 0.06);
  --shadow-md: 0 4px 12px rgba(13, 17, 23, 0.08);
  --shadow-lg: 0 12px 32px rgba(13, 17, 23, 0.12);

  /* --- Motion ------------------------------------------------------------ */
  --transition: 200ms ease;

  /* --- Layers ------------------------------------------------------------ */
  --z-header: 100;
  --z-overlay: 200;
}

/* Dark theme — toggled by data-theme on <html>, set in theme.js */
[data-theme="dark"] {
  --color-brand: #62a0ea;
  --color-brand-dark: #4a8ad4;
  --color-brand-light: #1c2b3f;

  --color-text: #d5dae0;
  --color-text-muted: #8d97a1;
  --color-heading: #f2f5f8;
  --color-bg: #0f1419;
  --color-bg-alt: #161c23;
  --color-border: #2a323b;

  --color-success: #4bb87c;
  --color-error: #e86b6b;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.55);
}
