:root {
  --radius: 18px;
  --font-sans: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: ui-serif, Georgia, "Times New Roman", serif;
  --font-mono: "Fira Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --ring-offset: 2px;
  --background: #F8E9FE;
  --foreground: #2D2330;
  --card: #ECE2F1;
  --card-foreground: #2D2330;
  --popover: #ECE2F1;
  --popover-foreground: #2D2330;
  --primary: #6C2F76;
  --primary-foreground: #FDF8FF;
  --secondary: #E5D8EB;
  --secondary-foreground: #2D2330;
  --muted: #E5D8EB;
  --muted-foreground: #695B6F;
  --accent: #17745D;
  --accent-foreground: #FDF8FF;
  --destructive: #94020D;
  --destructive-foreground: #FDF8FF;
  --border: #D2C6D7;
  --input: #D2C6D7;
  --ring: #6C2F76;
  --chart-1: #774080;
  --chart-2: #626600;
  --chart-3: #853047;
  --chart-4: #007686;
  --chart-5: #723A00;
  --sidebar: #ECE2F1;
  --sidebar-foreground: #2D2330;
  --sidebar-primary: #6C2F76;
  --sidebar-primary-foreground: #FDF8FF;
  --sidebar-accent: #E5D8EB;
  --sidebar-accent-foreground: #2D2330;
  --sidebar-border: #D2C6D7;
  --sidebar-ring: #6C2F76;
}

.dark {
  --background: #1C1120;
  --foreground: #E9DFEE;
  --card: #251C28;
  --card-foreground: #E9DFEE;
  --popover: #251C28;
  --popover-foreground: #E9DFEE;
  --primary: #CA88D5;
  --primary-foreground: #120916;
  --secondary: #322637;
  --secondary-foreground: #E9DFEE;
  --muted: #322637;
  --muted-foreground: #9B8EA0;
  --accent: #66BEA4;
  --accent-foreground: #120916;
  --destructive: #FD7468;
  --destructive-foreground: #120916;
  --border: #3F3444;
  --input: #3F3444;
  --ring: #CA88D5;
  --chart-1: #C78BD0;
  --chart-2: #9DA245;
  --chart-3: #EC8DA1;
  --chart-4: #00A4BB;
  --chart-5: #ECA067;
  --sidebar: #251C28;
  --sidebar-foreground: #E9DFEE;
  --sidebar-primary: #CA88D5;
  --sidebar-primary-foreground: #120916;
  --sidebar-accent: #322637;
  --sidebar-accent-foreground: #E9DFEE;
  --sidebar-border: #3F3444;
  --sidebar-ring: #CA88D5;
}

/* Keyboard focus. Zero specificity — override it with any plain selector. */
@layer base {
  :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: var(--ring-offset, 2px);
  }
}

/* Keyboard focus. Zero specificity — override it with any plain selector. */
@layer base {
  :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: var(--ring-offset, 2px);
  }
}