/* Hallmark · genre: playful · macrostructure: Marquee Hero (flow set by the brief) · theme: custom
 * vibe: "candy-pop sticker sheet, loud but premium" · paper oklch(98% 0.012 340) · accent oklch(70% 0.22 355) bubblegum
 * display: Fredoka · body: Plus Jakarta Sans · axes: light / rounded-sans / warm
 * enrichment: Tier A canvas blob visualiser (audio-reactive) · nav: N7-lite slab · footer: Ft8 marquee
 */
:root {
  /* colour — candy set, each paired with ink for text */
  --color-ink: oklch(19% 0.06 295);
  --color-ink-soft: oklch(34% 0.07 295);
  --color-paper: oklch(98% 0.012 340);
  --color-white: oklch(100% 0 0);
  --color-lemon: oklch(91% 0.17 100);
  --color-lemon-deep: oklch(84% 0.17 92);
  --color-bubblegum: oklch(70% 0.22 355);
  --color-grape: oklch(50% 0.25 285);
  --color-grape-deep: oklch(40% 0.22 285);
  --color-mint: oklch(86% 0.15 165);
  --color-sky: oklch(78% 0.13 230);
  --color-tangerine: oklch(75% 0.17 52);
  --color-focus: oklch(55% 0.25 285);
  --color-on-grape-soft: oklch(90% 0.05 285);
  --color-on-ink-soft: oklch(80% 0.04 295);

  /* type */
  --font-display: "Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-md: 1.0625rem;
  --text-lg: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.4rem + 3vw, 3.75rem);
  --text-display: clamp(2.6rem, 1.2rem + 7.4vw, 6rem);
  --text-mega: clamp(2.9rem, 1.1rem + 8.6vw, 7.25rem);

  /* space — 4 pt */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;
  --space-4xl: 7rem;
  --gutter: clamp(1rem, 0.6rem + 2vw, 2.5rem);

  /* shape */
  --radius-sm: 0.75rem;
  --radius-md: 1.25rem;
  --radius-lg: 2rem;
  --radius-pill: 999px;
  --rule-thick: 3px;
  --shadow-hard: 0.35rem 0.35rem 0 var(--color-ink);
  --shadow-hard-lg: 0.5rem 0.5rem 0 var(--color-ink);

  /* motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-squish: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 120ms;
  --dur-med: 260ms;
  --dur-slow: 520ms;
}

/* ?for=auto + ?for=gym (Big Energy) — same candy roles, re-valued racing red + black (V2 luxe keeps its own palette).
 * lemon = the loud surface (black text sits on it, so it stays a bright red, ~5:1),
 * grape = deep racing red under white text, mint / sky = blush + silver stickers. */
html:is([data-aud="auto"], [data-aud="gym"]):not([data-theme="luxe"]) {
  --color-ink: oklch(16% 0.012 25);
  --color-ink-soft: oklch(23% 0.03 25);
  --color-paper: oklch(97.6% 0.007 25);
  --color-lemon: oklch(61.5% 0.215 27);
  --color-lemon-deep: oklch(54% 0.2 27);
  --color-bubblegum: oklch(76% 0.12 22);
  --color-grape: oklch(44% 0.175 26);
  --color-grape-deep: oklch(36% 0.15 26);
  --color-mint: oklch(90% 0.045 18);
  --color-sky: oklch(87% 0.008 260);
  --color-tangerine: oklch(72% 0.16 45);
  --color-focus: oklch(16% 0.012 25);
  --color-on-grape-soft: oklch(90% 0.04 25);
  --color-on-ink-soft: oklch(80% 0.01 25);
}
