/* Nova design tokens — see claude/DESIGN.md */

:root {
  /* Light mode mirrors the Nova structure with high-key surfaces.
     Body uses a soft cool-slate near-white so cards (which are pearl/lavender
     tinted) stand out cleanly rather than blending into pure white. */
  --background: 220 22% 97%;
  --foreground: 258 19% 9%;

  --card: 0 0% 100%;
  --card-foreground: 258 19% 9%;

  --popover: 0 0% 100%;
  --popover-foreground: 258 19% 9%;

  --primary: 250 92% 64%;
  --primary-foreground: 0 0% 100%;

  --secondary: 258 14% 96%;
  --secondary-foreground: 258 19% 9%;

  --muted: 258 14% 95%;
  --muted-foreground: 258 6% 40%;

  --accent: 258 14% 95%;
  --accent-foreground: 258 19% 9%;

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

  --border: 258 10% 90%;
  --input: 258 10% 90%;
  --ring: 250 92% 64%;
  --radius: 1rem;

  --success: 159 84% 39%;
  --success-foreground: 159 84% 14%;

  --info: 263 81% 57%;
  --info-foreground: 0 0% 100%;

  --attention: 38 92% 50%;
  --attention-foreground: 26 90% 30%;

  /* Nova-specific tokens (used directly via var() in custom utilities) */
  --nova-surface-1: rgba(15, 12, 22, 0.72);
  --nova-surface-2: rgba(20, 18, 28, 0.60);
  --nova-surface-3: #0E0B14;
  --nova-border-hairline: rgba(0, 0, 0, 0.06);
  --nova-border-strong: rgba(0, 0, 0, 0.12);
  --nova-border-accent: rgba(108, 79, 247, 0.40);
  --nova-glow-accent: 0 0 24px rgba(108, 79, 247, 0.30);
  --nova-shadow-elev: 0 8px 32px rgba(0, 0, 0, 0.10);
  --nova-blur-glass: blur(24px) saturate(180%);
}

.dark {
  /* Nova canonical: neutral dark page, frosted glass surfaces, logo-purple accent. */
  --background: 0 0% 6%; /* #0f0f0f */
  --foreground: 0 0% 100%;

  --card: 258 12% 7%;
  --card-foreground: 0 0% 100%;

  --popover: 258 14% 6%;
  --popover-foreground: 0 0% 100%;

  --primary: 250 92% 64%;
  --primary-foreground: 0 0% 100%;

  --secondary: 258 14% 10%;
  --secondary-foreground: 0 0% 100%;

  --muted: 258 12% 12%;
  --muted-foreground: 0 0% 72%;

  --accent: 258 12% 12%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 72% 51%;
  --destructive-foreground: 0 0% 100%;

  --border: 0 0% 12%;
  --input: 0 0% 12%;
  --ring: 250 92% 64%;
  --radius: 1rem;

  --success: 159 64% 45%;
  --success-foreground: 0 0% 100%;

  --info: 250 92% 64%;
  --info-foreground: 0 0% 100%;

  --attention: 38 92% 50%;
  --attention-foreground: 0 0% 100%;

  --nova-surface-1: rgba(15, 12, 22, 0.72);
  --nova-surface-2: rgba(20, 18, 28, 0.60);
  --nova-surface-3: #0E0B14;
  --nova-border-hairline: rgba(255, 255, 255, 0.06);
  --nova-border-strong: rgba(255, 255, 255, 0.12);
  --nova-border-accent: rgba(108, 79, 247, 0.40);
  --nova-glow-accent: 0 0 24px rgba(108, 79, 247, 0.30);
  --nova-shadow-elev: 0 8px 32px rgba(0, 0, 0, 0.40);
  --nova-blur-glass: blur(24px) saturate(180%);
}
