Generate feedback colors (success, warning, error, and info) for shadcn/ui
Go to generatorUsed by 4k+ developers. Want me to build your product next? Let's work together.
Dizzy is a shadcn/ui theme built around a vivid red primary color (#ba3912) with muted light red accents (#d9c9c4). The light mode uses a neutral background (#fefcfb). Dark mode keeps the vivid red primary (#ba3912) on a neutral background (#030202).
| Token | Light | Dark |
|---|---|---|
| Background | #fefcfbsnow | #030202black |
| Foreground | #0e0402black | #fcf9f8snow |
| Card | #fdf8f7snow | #070403black |
| Card foreground | #090301black | #fdfcfcsnow |
| Popover | #fdf8f7snow | #070403black |
| Popover foreground | #090301black | #fdfcfcsnow |
| Primary | #ba3912firebrick | #ba3912firebrick |
| Primary foreground | #ffffffwhite | #ffffffwhite |
| Secondary | #e1d8d6gainsboro | #251b18black |
| Secondary foreground | #4d3d38darkslategray | #c6b0a9silver |
| Muted | #ecded9gainsboro | #261713black |
| Muted foreground | #4c413edarkslategray | #c1b6b3silver |
| Accent | #d9c9c4lightgrey | #3f2922darkslategray |
| Accent foreground | #412f2adarkslategray | #d9c1basilver |
| Destructive | #dd0808red | #f60e0ered |
| Destructive foreground | #ffffffwhite | #ffffffwhite |
| Border | #e5e7eblavender | #1f2937darkslategray |
| Input | #e5e7eblavender | #1f2937darkslategray |
| Ring | #ba3912firebrick | #ba3912firebrick |
WCAG 2 contrast ratios between each background and its foreground color.
| Text on background | 19.76:1 | AAA |
| Text on card | 19.50:1 | AAA |
| Primary button | 5.70:1 | AA |
| Secondary button | 7.36:1 | AAA |
| Muted text | 7.51:1 | AAA |
| Accent | 7.86:1 | AAA |
| Destructive | 5.08:1 | AA |
| Text on background | 19.76:1 | AAA |
| Text on card | 19.94:1 | AAA |
| Primary button | 5.70:1 | AA |
| Secondary button | 8.14:1 | AAA |
| Muted text | 8.75:1 | AAA |
| Accent | 7.93:1 | AAA |
| Destructive | 4.20:1 | AA Large |
Paste this into your globals.css to use Dizzy in your shadcn/ui project.
:root {
--radius: 0.5rem;
--background: oklch(0.992 0.002 37.731);
--foreground: oklch(0.126 0.023 48.643);
--muted: oklch(0.911 0.017 37.661);
--muted-foreground: oklch(0.386 0.016 37.61);
--popover: oklch(0.983 0.005 37.719);
--popover-foreground: oklch(0.11 0.02 49.415);
--card: oklch(0.983 0.005 37.719);
--card-foreground: oklch(0.11 0.02 49.415);
--border: oklch(0.928 0.006 264.531);
--input: oklch(0.928 0.006 264.531);
--primary: oklch(0.531 0.171 35.926);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.889 0.01 37.688);
--secondary-foreground: oklch(0.375 0.024 37.592);
--accent: oklch(0.848 0.02 37.648);
--accent-foreground: oklch(0.325 0.028 37.603);
--destructive: oklch(0.566 0.23 28.963);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.531 0.171 35.926);
--chart-1: oklch(0.531 0.171 35.926);
--chart-2: oklch(0.889 0.01 37.688);
--chart-3: oklch(0.848 0.02 37.648);
--chart-4: oklch(0.913 0.008 37.7);
--chart-5: oklch(0.534 0.176 35.633);
}
.dark {
--radius: 0.5rem;
--background: oklch(0.09 0.007 41.782);
--foreground: oklch(0.984 0.003 37.727);
--muted: oklch(0.222 0.025 37.637);
--muted-foreground: oklch(0.786 0.013 37.67);
--popover: oklch(0.113 0.008 41.782);
--popover-foreground: oklch(0.992 0.001 37.735);
--card: oklch(0.113 0.008 41.782);
--card-foreground: oklch(0.992 0.001 37.735);
--border: oklch(0.278 0.03 256.848);
--input: oklch(0.278 0.03 256.848);
--primary: oklch(0.531 0.171 35.926);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.234 0.016 37.592);
--secondary-foreground: oklch(0.774 0.027 37.619);
--accent: oklch(0.305 0.035 37.636);
--accent-foreground: oklch(0.829 0.029 37.619);
--destructive: oklch(0.615 0.248 28.858);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.531 0.171 35.926);
--chart-1: oklch(0.531 0.171 35.926);
--chart-2: oklch(0.234 0.016 37.592);
--chart-3: oklch(0.305 0.035 37.636);
--chart-4: oklch(0.265 0.019 37.593);
--chart-5: oklch(0.534 0.176 35.633);
}