:root {
  /* BASE — dark foundation */
  --bg-primary: #0A0A0F;
  --bg-secondary: #14141F;
  --bg-surface: #1C1C2A;
  --text-primary: #F0F0F5;
  --text-secondary: #8888A0;
  --text-muted: #5A5A70;
  --border: #2A2A3A;
  --border-strong: #3A3A4D;

  /* ACCENT — W-Aurora (aurora green, used sparingly as a signal color) */
  --accent-primary: #7CFF9C;
  --accent-primary-hover: #92FFAE;
  --accent-primary-dim: #58D77A;
  --accent-secondary: #8888A0;
  --accent-on-dark: #0A0A0F;
  --accent-rgb: 124, 255, 156;     /* keep in sync with --accent-primary */

  /* Typography */
  --font-display: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  --fs-xs: 0.75rem;     /* 12 */
  --fs-sm: 0.875rem;    /* 14 */
  --fs-base: 1rem;      /* 16 */
  --fs-md: 1.125rem;    /* 18 */
  --fs-lg: 1.375rem;    /* 22 */
  --fs-xl: 1.75rem;     /* 28 */
  --fs-2xl: 2.25rem;    /* 36 */
  --fs-3xl: 3rem;       /* 48 */
  --fs-4xl: clamp(2.75rem, 6vw, 4.5rem);  /* hero */
  --fs-5xl: clamp(3.5rem, 8vw, 6rem);     /* extra-large hero */

  --lh-tight: 1.05;
  --lh-snug: 1.2;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-caps: 0.12em;

  /* Spacing (8pt-ish 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: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 5rem;
  --space-11: 6rem;
  --space-12: 8rem;

  /* Layout */
  --container-max: 1200px;
  --container-narrow: 840px;
  --gutter: clamp(1.25rem, 4vw, 2.5rem);

  /* Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 160ms;
  --dur-base: 260ms;
  --dur-slow: 520ms;

  /* Shadows / glows */
  --glow-accent: 0 0 0 1px rgba(var(--accent-rgb), 0.15), 0 10px 30px -10px rgba(var(--accent-rgb), 0.25);
  --shadow-surface: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 20px 40px -20px rgba(0, 0, 0, 0.6);

  /* Z */
  --z-nav: 50;
  --z-overlay: 80;
  --z-modal: 100;
}
