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.
Flickering is a shadcn/ui theme built around a muted red primary color (#bfabb0) with muted blue accents (#abb0bf). The light mode uses a neutral background (#fefbfc). Dark mode keeps the muted red primary (#bfabb0) on a neutral background (#000000).
| Token | Light | Dark |
|---|---|---|
| Background | #fefbfcsnow | #000000black |
| Foreground | #000000black | #fdfcfcsnow |
| Card | #fcf8f9snow | #030303black |
| Card foreground | #000000black | #ffffffwhite |
| Popover | #fcf8f9snow | #030303black |
| Popover foreground | #000000black | #ffffffwhite |
| Primary | #bfabb0darkgray | #bfabb0darkgray |
| Primary foreground | #20181ablack | #20181ablack |
| Secondary | #b0bfabdarkgray | #b0bfabdarkgray |
| Secondary foreground | #1a2018black | #1a2018black |
| Muted | #e0e8degainsboro | #192117black |
| Muted foreground | #576c51dimgray | #9aae93darkseagreen |
| Accent | #abb0bfdarkgray | #abb0bfdarkgray |
| Accent foreground | #181a20black | #181a20black |
| Destructive | #90310esaddlebrown | #e84f17orangered |
| Destructive foreground | #fbdfd5antiquewhite | #ffffffwhite |
| Border | #e5e7eblavender | #1f2937darkslategray |
| Input | #e5e7eblavender | #1f2937darkslategray |
| Ring | #bfabb0darkgray | #bfabb0darkgray |
WCAG 2 contrast ratios between each background and its foreground color.
| Text on background | 20.44:1 | AAA |
| Text on card | 19.90:1 | AAA |
| Primary button | 7.99:1 | AAA |
| Secondary button | 8.63:1 | AAA |
| Muted text | 4.57:1 | AA |
| Accent | 7.99:1 | AAA |
| Destructive | 6.32:1 | AA |
| Text on background | 20.50:1 | AAA |
| Text on card | 20.67:1 | AAA |
| Primary button | 7.99:1 | AAA |
| Secondary button | 8.63:1 | AAA |
| Muted text | 6.95:1 | AA |
| Accent | 7.99:1 | AAA |
| Destructive | 3.78:1 | AA Large |
Paste this into your globals.css to use Flickering in your shadcn/ui project.
:root {
--radius: 0.5rem;
--background: oklch(0.991 0.002 1.027);
--foreground: oklch(0 0 0);
--muted: oklch(0.922 0.016 138.348);
--muted-foreground: oklch(0.505 0.048 138.45);
--popover: oklch(0.982 0.005 1.096);
--popover-foreground: oklch(0 0 0);
--card: oklch(0.982 0.005 1.096);
--card-foreground: oklch(0 0 0);
--border: oklch(0.928 0.006 264.531);
--input: oklch(0.928 0.006 264.531);
--primary: oklch(0.759 0.025 1.858);
--primary-foreground: oklch(0.22 0.013 2.562);
--secondary: oklch(0.788 0.034 138.377);
--secondary-foreground: oklch(0.234 0.017 138.417);
--accent: oklch(0.757 0.023 272.315);
--accent-foreground: oklch(0.218 0.012 272.003);
--destructive: oklch(0.448 0.136 38.111);
--destructive-foreground: oklch(0.924 0.034 41.069);
--ring: oklch(0.759 0.025 1.858);
--chart-1: oklch(0.759 0.025 1.858);
--chart-2: oklch(0.788 0.034 138.377);
--chart-3: oklch(0.757 0.023 272.315);
--chart-4: oklch(0.81 0.03 138.37);
--chart-5: oklch(0.757 0.03 2.054);
}
.dark {
--radius: 0.5rem;
--background: oklch(0 0 0);
--foreground: oklch(0.991 0.002 1.016);
--muted: oklch(0.237 0.022 138.448);
--muted-foreground: oklch(0.727 0.044 138.399);
--popover: oklch(0.092 0 180);
--popover-foreground: oklch(1 0 180);
--card: oklch(0.092 0 180);
--card-foreground: oklch(1 0 180);
--border: oklch(0.278 0.03 256.848);
--input: oklch(0.278 0.03 256.848);
--primary: oklch(0.759 0.025 1.858);
--primary-foreground: oklch(0.22 0.013 2.562);
--secondary: oklch(0.788 0.034 138.377);
--secondary-foreground: oklch(0.234 0.017 138.417);
--accent: oklch(0.757 0.023 272.315);
--accent-foreground: oklch(0.218 0.012 272.003);
--destructive: oklch(0.632 0.199 37.547);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.759 0.025 1.858);
--chart-1: oklch(0.759 0.025 1.858);
--chart-2: oklch(0.788 0.034 138.377);
--chart-3: oklch(0.757 0.023 272.315);
--chart-4: oklch(0.81 0.03 138.37);
--chart-5: oklch(0.757 0.03 2.054);
}