:root,
[data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);
  --text-hero: clamp(3rem, 0.5rem + 6vw, 7rem);
  --text-giant: clamp(4rem, 1rem + 9vw, 11rem);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;
  --content-narrow: 640px;
  --content-default: 960px;
  --content-wide: 1200px;
  --shadow-glow-sm: 0 0 12px color-mix(in oklch, var(--brand-primary-500) 25%, transparent);
  --shadow-glow-md: 0 0 28px color-mix(in oklch, var(--brand-primary-500) 35%, transparent), 0 0 8px color-mix(in oklch, var(--brand-primary-500) 20%, transparent);
  --shadow-glow-lg: 0 0 60px color-mix(in oklch, var(--brand-primary-500) 30%, transparent), 0 0 20px color-mix(in oklch, var(--brand-primary-500) 20%, transparent);
  --radius: 1.75rem;
  --radius-control: 9999px;
  --radius-field: 1.25rem;
  --radius-card: 1.75rem;
  --font-display: "Nunito";
  --font-body: "Nunito Variable";
  --font-mono: "Fragment Mono";
  --transition-interactive: 160ms cubic-bezier(0.16, 1, 0.3, 1);
  --brand-primary-50: #fff6f8;
  --brand-primary-100: #ffe7ee;
  --brand-primary-200: #ffcfde;
  --brand-primary-300: #ffa5c4;
  --brand-primary-400: #ff66a5;
  --brand-primary-500: #f00086;
  --brand-primary-600: #bd0069;
  --brand-primary-700: #8e004d;
  --brand-primary-800: #610033;
  --brand-primary-900: #3f001f;
  --brand-primary-950: #21000d;
  --brand-accent-50: #f7f8ff;
  --brand-accent-100: #ecedff;
  --brand-accent-200: #dadaff;
  --brand-accent-300: #bdbcfe;
  --brand-accent-400: #9c95fd;
  --brand-accent-500: #7e6bf9;
  --brand-accent-600: #653ee9;
  --brand-accent-700: #4b21ba;
  --brand-accent-800: #320e84;
  --brand-accent-900: #1e0b54;
  --brand-accent-950: #0c052a;
  --brand-neutral-50: #f9f8fa;
  --brand-neutral-100: #f0edf1;
  --brand-neutral-200: #e1dce3;
  --brand-neutral-300: #c9c1cd;
  --brand-neutral-400: #ac9fb3;
  --brand-neutral-500: #8f7f99;
  --brand-neutral-600: #73617e;
  --brand-neutral-700: #56465f;
  --brand-neutral-800: #392d40;
  --brand-neutral-900: #241c28;
  --brand-neutral-950: #100b12;
  --background: #fff4f7;
  --foreground: #241c28;
  --card: #f9f8fa;
  --primary: #bd0069;
  --primary-foreground: #ffffff;
  --muted: #f0edf1;
  --muted-foreground: #73617e;
  --border: #c9c1cd;
  --ring: #bd0069;
  --accent: #7e6bf9;
  --accent-foreground: #0a0a0a;
  --canvas-0: oklch(21.7% 0.032 303.9);
  --canvas-1: oklch(71.1% 0.203 357.7);
  --canvas-2: oklch(60.9% 0.203 284.8);
  --canvas-3: oklch(97.7% 0.012 358.8);
}

[data-theme="dark"] {
  --background: #1d1626;
  --foreground: #f9f8fa;
  --card: #241c28;
  --primary: #ff66a5;
  --primary-foreground: #0a0a0a;
  --muted: #241c28;
  --muted-foreground: #ac9fb3;
  --border: #392d40;
  --ring: #ff66a5;
  --accent: #9c95fd;
  --accent-foreground: #0a0a0a;
  --signal: #5ff2d8;
}
