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.
Surprised is a shadcn/ui theme built around a vivid cyan primary color (#1aa1db) with vivid green accents (#a1db1a). The light mode uses a neutral background (#f7fbfd). Dark mode keeps the vivid cyan primary (#1aa1db) on a neutral background (#000000).
| Token | Light | Dark |
|---|---|---|
| Background | #f7fbfdghostwhite | #000000black |
| Foreground | #010304black | #fcfdfdwhite |
| Card | #f2f9fcaliceblue | #030303black |
| Card foreground | #000000black | #ffffffwhite |
| Popover | #f2f9fcaliceblue | #030303black |
| Popover foreground | #000000black | #ffffffwhite |
| Primary | #1aa1dbdodgerblue | #1aa1dbdodgerblue |
| Primary foreground | #ffffffwhite | #ffffffwhite |
| Secondary | #db1aa1mediumvioletred | #db1aa1mediumvioletred |
| Secondary foreground | #ffffffwhite | #ffffffwhite |
| Muted | #efebeewhitesmoke | #141013black |
| Muted foreground | #5a4453darkslategray | #bba5b4darkgray |
| Accent | #a1db1ayellowgreen | #a1db1ayellowgreen |
| Accent foreground | #1b2504black | #1b2504black |
| Destructive | #672004maroon | #f04b0aorangered |
| Destructive foreground | #fbbba2lightpink | #ffffffwhite |
| Border | #e5e7eblavender | #1f2937darkslategray |
| Input | #e5e7eblavender | #1f2937darkslategray |
| Ring | #1aa1dbdodgerblue | #1aa1dbdodgerblue |
WCAG 2 contrast ratios between each background and its foreground color.
| Text on background | 19.86:1 | AAA |
| Text on card | 19.78:1 | AAA |
| Primary button | 2.92:1 | Fail |
| Secondary button | 4.49:1 | AA Large |
| Muted text | 7.45:1 | AAA |
| Accent | 9.65:1 | AAA |
| Destructive | 7.13:1 | AAA |
| Text on background | 20.60:1 | AAA |
| Text on card | 20.67:1 | AAA |
| Primary button | 2.92:1 | Fail |
| Secondary button | 4.49:1 | AA Large |
| Muted text | 8.23:1 | AAA |
| Accent | 9.65:1 | AAA |
| Destructive | 3.67:1 | AA Large |
Paste this into your globals.css to use Surprised in your shadcn/ui project.
:root {
--radius: 0.5rem;
--background: oklch(0.986 0.006 225.045);
--foreground: oklch(0.094 0.012 217.921);
--muted: oklch(0.944 0.006 335.989);
--muted-foreground: oklch(0.416 0.039 337.529);
--popover: oklch(0.979 0.008 225.078);
--popover-foreground: oklch(0 0 0);
--card: oklch(0.979 0.008 225.078);
--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.669 0.135 234.289);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.601 0.245 344.961);
--secondary-foreground: oklch(1 0 180);
--accent: oklch(0.821 0.206 126.774);
--accent-foreground: oklch(0.245 0.054 124.394);
--destructive: oklch(0.351 0.108 39.041);
--destructive-foreground: oklch(0.845 0.082 42.528);
--ring: oklch(0.669 0.135 234.289);
--chart-1: oklch(0.669 0.135 234.289);
--chart-2: oklch(0.601 0.245 344.961);
--chart-3: oklch(0.821 0.206 126.774);
--chart-4: oklch(0.623 0.251 344.673);
--chart-5: oklch(0.674 0.138 234.826);
}
.dark {
--radius: 0.5rem;
--background: oklch(0 0 0);
--foreground: oklch(0.993 0.001 224.994);
--muted: oklch(0.178 0.009 336.814);
--muted-foreground: oklch(0.745 0.033 336.689);
--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.669 0.135 234.289);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.601 0.245 344.961);
--secondary-foreground: oklch(1 0 180);
--accent: oklch(0.821 0.206 126.774);
--accent-foreground: oklch(0.245 0.054 124.394);
--destructive: oklch(0.641 0.21 37.122);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.669 0.135 234.289);
--chart-1: oklch(0.669 0.135 234.289);
--chart-2: oklch(0.601 0.245 344.961);
--chart-3: oklch(0.821 0.206 126.774);
--chart-4: oklch(0.623 0.251 344.673);
--chart-5: oklch(0.674 0.138 234.826);
}