/* Design tokens. Colour values mirror the source site's HSL triplets so the
   neon palette stays identical. */

:root {
  /* --- palette (HSL components, composed with hsl() at use site) --------- */
  --background: 0 0% 8%;
  --foreground: 0 0% 95%;
  --card: 0 0% 11%;
  --muted: 0 0% 15%;
  --muted-foreground: 0 0% 60%;
  --border: 0 0% 20%;

  --neon-yellow: 48 100% 50%;
  --neon-pink: 330 85% 55%;
  --neon-green: 145 80% 45%;

  --primary: var(--neon-yellow);
  --primary-foreground: 0 0% 5%;
  --secondary: var(--neon-pink);
  --accent: var(--neon-green);

  /* --- resolved shortcuts ------------------------------------------------ */
  --c-bg: hsl(var(--background));
  --c-fg: hsl(var(--foreground));
  --c-card: hsl(var(--card));
  --c-muted: hsl(var(--muted));
  --c-muted-fg: hsl(var(--muted-foreground));
  --c-border: hsl(var(--border));
  --c-yellow: hsl(var(--neon-yellow));
  --c-pink: hsl(var(--neon-pink));
  --c-green: hsl(var(--neon-green));

  /* --- typography -------------------------------------------------------- */
  --font-display: "Bebas Neue", "Arial Narrow", sans-serif;
  --font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  /* Mirrors the source's Tailwind steps: headings text-5xl → md:text-7xl
     (48 → 72px), hero text-3xl → lg:text-6xl (30 → 60px). */
  --text-section: clamp(3rem, 2rem + 3.2vw, 4.5rem);
  --text-hero: clamp(1.875rem, 1.1rem + 2.6vw, 3.75rem);

  --tracking-display: 0.05em;
  --tracking-wide: 0.12em;

  /* --- rhythm ------------------------------------------------------------ */
  --space-section: clamp(4.5rem, 3rem + 6vw, 8rem);
  --gutter: clamp(1rem, 0.5rem + 2vw, 2rem);
  --container: 1280px;
  --header-h: 4rem;

  --radius: 0.25rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;

  /* --- motion ------------------------------------------------------------ */
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 600ms;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
}

/* The site is committed to a single dark identity — there is no light theme.
   Declaring the scheme keeps form controls and scrollbars in the right key. */
:root {
  color-scheme: dark;
}
