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.
Ivory is a shadcn/ui theme built around a light green primary color (#c5d9ab) with light green accents (#aed9ab). The light mode uses a neutral background (#ffffff). Dark mode keeps the light green primary (#c5d9ab) on a neutral background (#050703).
| Token | Light | Dark |
|---|---|---|
| Background | #ffffffwhite | #050703black |
| Foreground | #0b1004black | #f8faf5whitesmoke |
| Card | #fcfcfcsnow | #080b04black |
| Card foreground | #080c03black | #fafcf8snow |
| Popover | #fcfcfcsnow | #080b04black |
| Popover foreground | #080c03black | #fafcf8snow |
| Primary | #c5d9absilver | #c5d9absilver |
| Primary foreground | #2b3819darkslategray | #2b3819darkslategray |
| Secondary | #d9d6abpalegoldenrod | #d9d6abpalegoldenrod |
| Secondary foreground | #383619darkslategray | #383619darkslategray |
| Muted | #ebeae0beige | #1f1e14black |
| Muted foreground | #69674fdimgray | #b0ae96darkgray |
| Accent | #aed9absilver | #aed9absilver |
| Accent foreground | #1b3819darkgreen | #1b3819darkgreen |
| Destructive | #691407maroon | #e02b10orangered |
| Destructive foreground | #f9b4a9lightpink | #ffffffwhite |
| Border | #e5e7eblavender | #1f2937darkslategray |
| Input | #e5e7eblavender | #1f2937darkslategray |
| Ring | #c5d9absilver | #c5d9absilver |
WCAG 2 contrast ratios between each background and its foreground color.
| Text on background | 19.26:1 | AAA |
| Text on card | 19.30:1 | AAA |
| Primary button | 8.25:1 | AAA |
| Secondary button | 8.27:1 | AAA |
| Muted text | 4.75:1 | AA |
| Accent | 8.18:1 | AAA |
| Destructive | 7.11:1 | AAA |
| Text on background | 19.22:1 | AAA |
| Text on card | 19.19:1 | AAA |
| Primary button | 8.25:1 | AAA |
| Secondary button | 8.27:1 | AAA |
| Muted text | 7.44:1 | AAA |
| Accent | 8.18:1 | AAA |
| Destructive | 4.63:1 | AA |
Paste this into your globals.css to use Ivory in your shadcn/ui project.
:root {
--radius: 0.5rem;
--background: oklch(1 0 180);
--foreground: oklch(0.164 0.027 126.535);
--muted: oklch(0.935 0.013 103.343);
--muted-foreground: oklch(0.508 0.036 104.208);
--popover: oklch(0.992 0 161.565);
--popover-foreground: oklch(0.147 0.023 125.137);
--card: oklch(0.992 0 161.565);
--card-foreground: oklch(0.147 0.023 125.137);
--border: oklch(0.928 0.006 264.531);
--input: oklch(0.928 0.006 264.531);
--primary: oklch(0.858 0.066 126.805);
--primary-foreground: oklch(0.321 0.054 128.336);
--secondary: oklch(0.867 0.058 104.139);
--secondary-foreground: oklch(0.328 0.045 105.002);
--accent: oklch(0.842 0.078 143.132);
--accent-foreground: oklch(0.31 0.064 142.512);
--destructive: oklch(0.342 0.12 31.712);
--destructive-foreground: oklch(0.831 0.083 28.767);
--ring: oklch(0.858 0.066 126.805);
--chart-1: oklch(0.858 0.066 126.805);
--chart-2: oklch(0.867 0.058 104.139);
--chart-3: oklch(0.842 0.078 143.132);
--chart-4: oklch(0.884 0.05 104.005);
--chart-5: oklch(0.862 0.071 126.886);
}
.dark {
--radius: 0.5rem;
--background: oklch(0.125 0.015 125.074);
--foreground: oklch(0.982 0.007 125.832);
--muted: oklch(0.233 0.018 104.305);
--muted-foreground: oklch(0.747 0.033 103.823);
--popover: oklch(0.143 0.017 125.134);
--popover-foreground: oklch(0.988 0.005 125.801);
--card: oklch(0.143 0.017 125.134);
--card-foreground: oklch(0.988 0.005 125.801);
--border: oklch(0.278 0.03 256.848);
--input: oklch(0.278 0.03 256.848);
--primary: oklch(0.858 0.066 126.805);
--primary-foreground: oklch(0.321 0.054 128.336);
--secondary: oklch(0.867 0.058 104.139);
--secondary-foreground: oklch(0.328 0.045 105.002);
--accent: oklch(0.842 0.078 143.132);
--accent-foreground: oklch(0.31 0.064 142.512);
--destructive: oklch(0.587 0.218 31.393);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.858 0.066 126.805);
--chart-1: oklch(0.858 0.066 126.805);
--chart-2: oklch(0.867 0.058 104.139);
--chart-3: oklch(0.842 0.078 143.132);
--chart-4: oklch(0.884 0.05 104.005);
--chart-5: oklch(0.862 0.071 126.886);
}