/* Shared design-system tokens. Tailwind directives stay in src/index.css. */

:root {
  /* Light mode base colors */
  --background: 0 0% 100%;
  --foreground: 220 15% 15%;

  --card: 0 0% 100%;
  --card-foreground: 220 15% 15%;

  --popover: 0 0% 100%;
  --popover-foreground: 220 15% 15%;

  /* Brand colors - Snazzy Light inspired */
  --primary: 195 94% 32%; /* Accent cyan for light surfaces */
  --primary-surface: 195 94% 32%; /* Button/filled-surface cyan that keeps white text WCAG AA-compliant */
  --primary-foreground: 0 0% 100%;

  --secondary: 327 73% 64%; /* Vibrant pink */
  --secondary-foreground: 0 0% 100%;

  --muted: 220 15% 96%;
  --muted-foreground: 220 15% 45%;

  --accent: 39 100% 57%; /* Golden yellow */
  --accent-foreground: 0 0% 100%;

  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;

  --border: 220 15% 90%;
  --input: 220 15% 96%;
  --ring: 180 100% 35%;

  --radius: 0.75rem;

  /* Gradient definitions - Snazzy Light inspired */
  --gradient-primary: linear-gradient(
    135deg,
    hsl(257 89% 66%),
    hsl(195 100% 50%)
  ); /* Purple to cyan */
  --gradient-vibrant: linear-gradient(
    135deg,
    hsl(327 73% 64%),
    hsl(257 89% 66%)
  ); /* Pink to purple */
  --gradient-energy: linear-gradient(
    135deg,
    hsl(195 100% 50%),
    hsl(327 73% 64%)
  ); /* Cyan to pink */
  --gradient-cool: linear-gradient(135deg, hsl(257 89% 66%), hsl(327 73% 64%)); /* Purple to pink */
  --gradient-hero: linear-gradient(
    135deg,
    hsl(0 0% 100%) 0%,
    hsl(257 89% 96%) 30%,
    hsl(0 0% 100%) 100%
  );

  /* Text colors - Light mode variations */
  --text-primary: 220 15% 15%;
  --text-secondary: 220 15% 25%;
  --text-muted: 220 15% 45%;
  --text-accent: 195 94% 44%;

  /* Shadows - Snazzy Light inspired */
  --shadow-glow: 0 0 40px hsl(195 94% 44% / 0.2);
  --shadow-card: 0 10px 30px -10px hsl(220 15% 50% / 0.1);
  --shadow-vibrant: 0 0 30px hsl(327 73% 64% / 0.3);
  --shadow-energy: 0 0 30px hsl(195 94% 44% / 0.3);
  --shadow-cool: 0 0 30px hsl(195 94% 44% / 0.3);

  /* Transitions */
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);

  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 240 5.3% 26.1%;
  --sidebar-primary: 240 5.9% 10%;
  --sidebar-primary-foreground: 0 0% 98%;
  --sidebar-accent: 240 4.8% 95.9%;
  --sidebar-accent-foreground: 240 5.9% 10%;
  --sidebar-border: 220 13% 91%;
  --sidebar-ring: 217.2 91.2% 59.8%;
}

.dark {
  /* Dark mode base colors */
  --background: 220 15% 8%;
  --foreground: 210 20% 92%;

  --card: 220 15% 10%;
  --card-foreground: 210 20% 92%;

  --popover: 220 15% 12%;
  --popover-foreground: 210 20% 92%;

  /* Brand colors - Dark mode Snazzy */
  --primary: 195 94% 40%; /* Accent cyan on dark surfaces; readable as text and link color */
  --primary-surface: 195 94% 32%; /* Filled action surfaces still need a darker tone for white text */
  --primary-foreground: 210 20% 98%;

  --secondary: 327 73% 60%; /* Darker pink for better white text contrast */
  --secondary-foreground: 210 20% 98%;

  --muted: 220 15% 15%;
  --muted-foreground: 210 20% 70%;

  --accent: 39 100% 67%; /* Brighter yellow for dark mode */
  --accent-foreground: 220 15% 8%;

  --destructive: 0 84% 60%;
  --destructive-foreground: 210 20% 98%;

  --border: 220 15% 20%;
  --input: 220 15% 15%;
  --ring: 180 100% 35%;

  /* Gradient definitions - Dark mode Snazzy */
  --gradient-primary: linear-gradient(
    135deg,
    hsl(257 89% 76%),
    hsl(195 100% 60%)
  ); /* Purple to cyan */
  --gradient-vibrant: linear-gradient(
    135deg,
    hsl(327 73% 74%),
    hsl(257 89% 76%)
  ); /* Pink to purple */
  --gradient-energy: linear-gradient(
    135deg,
    hsl(195 100% 60%),
    hsl(327 73% 74%)
  ); /* Cyan to pink */
  --gradient-cool: linear-gradient(135deg, hsl(257 89% 76%), hsl(327 73% 74%)); /* Purple to pink */
  --gradient-hero: linear-gradient(
    135deg,
    hsl(220 15% 8%) 0%,
    hsl(257 89% 15%) 30%,
    hsl(220 15% 8%) 100%
  );

  /* Text colors - Dark mode */
  --text-primary: 210 20% 98%;
  --text-secondary: 210 15% 92%;
  --text-muted: 210 10% 88%;
  --text-accent: 195 94% 54%;

  /* Shadows - Dark mode Snazzy */
  --shadow-glow: 0 0 40px hsl(195 94% 54% / 0.3);
  --shadow-card: 0 10px 30px -10px hsl(220 15% 5% / 0.8);
  --shadow-vibrant: 0 0 30px hsl(327 73% 74% / 0.4);
  --shadow-energy: 0 0 30px hsl(195 94% 54% / 0.4);
  --shadow-cool: 0 0 30px hsl(195 94% 54% / 0.4);

  --sidebar-background: 240 5.9% 10%;
  --sidebar-foreground: 240 4.8% 95.9%;
  --sidebar-primary: 224.3 76.3% 48%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 240 3.7% 15.9%;
  --sidebar-accent-foreground: 240 4.8% 95.9%;
  --sidebar-border: 240 3.7% 15.9%;
  --sidebar-ring: 217.2 91.2% 59.8%;
}
