--- name: change-theme description: >- Updates the shadcn/ui theme by editing OKLCH CSS custom properties in apps/core/styles/tailwind.css. Use when the user wants to change colors, theme appearance, or match a brand palette. disable-model-invocation: true --- # Change Theme Modify the shadcn/ui theme by updating CSS custom properties in `apps/core/styles/tailwind.css`. ## Gather Information Ask the user in a single question: > What theme style would you like? (e.g., "blue primary color", "warm and rounded", "minimal with sharp corners", or a specific hex color to match) ## Theme File Location The theme is defined in `apps/core/styles/tailwind.css` with CSS custom properties using the OKLCH color space. ## Theme Structure The file contains three main sections: 1. **`:root`** - Light mode colors (lines 73-106) 2. **`.dark`** - Dark mode colors (lines 110-142) 3. **`@theme inline`** - Tailwind color mappings (lines 33-69) ## Available Color Variables | Variable | Purpose | | -------------------------- | ------------------------------------ | | `--background` | Page background | | `--foreground` | Default text color | | `--card` | Card backgrounds | | `--card-foreground` | Card text | | `--popover` | Popover/dropdown backgrounds | | `--popover-foreground` | Popover text | | `--primary` | Primary brand color (buttons, links) | | `--primary-foreground` | Text on primary color | | `--secondary` | Secondary actions | | `--secondary-foreground` | Text on secondary | | `--muted` | Muted backgrounds | | `--muted-foreground` | Muted/subtle text | | `--accent` | Accent highlights | | `--accent-foreground` | Text on accent | | `--destructive` | Error/danger states | | `--border` | Border colors | | `--input` | Input field borders | | `--ring` | Focus ring color | | `--radius` | Border radius base value | | `--chart-1` to `--chart-5` | Chart colors | | `--sidebar-*` | Sidebar-specific colors | ## Color Format Colors use **OKLCH** format: `oklch(lightness chroma hue)` - **Lightness**: 0 (black) to 1 (white) - **Chroma**: 0 (gray) to ~0.4 (vivid) - **Hue**: 0-360 degrees (red=0, green=142, blue=264, etc.) ## Instructions When the user requests a theme change: 1. Identify which color variables need to change 2. Update values in both `:root` (light) and `.dark` sections 3. Ensure sufficient contrast between foreground/background pairs 4. Keep the OKLCH format for consistency ## Tips - Use [oklch.com](https://oklch.com) to pick colors - Test both light and dark modes - Ensure accessibility (contrast ratios)