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.
Second-hand is a shadcn/ui theme built around a vivid orange primary color (#b25310) with vivid violet accents (#5310b2). The light mode uses a neutral background (#fefcfb). Dark mode keeps the vivid orange primary (#b25310) on a neutral background (#070503).
| Token | Light | Dark |
|---|---|---|
| Background | #fefcfbsnow | #070503black |
| Foreground | #090502black | #fbfaf9snow |
| Card | #fcfaf8snow | #0b0705black |
| Card foreground | #040201black | #fdfcfcsnow |
| Popover | #fcfaf8snow | #0b0705black |
| Popover foreground | #040201black | #fdfcfcsnow |
| Primary | #b25310sienna | #b25310sienna |
| Primary foreground | #ffffffwhite | #ffffffwhite |
| Secondary | #10b253seagreen | #10b253seagreen |
| Secondary foreground | #ffffffwhite | #ffffffwhite |
| Muted | #dbebe2gainsboro | #14241bblack |
| Muted foreground | #3f4642darkslategray | #b9c0bcsilver |
| Accent | #5310b2rebeccapurple | #5310b2rebeccapurple |
| Accent foreground | #f9f6feghostwhite | #f9f6feghostwhite |
| Destructive | #d7550fchocolate | #d7550fchocolate |
| Destructive foreground | #ffffffwhite | #ffffffwhite |
| Border | #e5e7eblavender | #1f2937darkslategray |
| Input | #e5e7eblavender | #1f2937darkslategray |
| Ring | #b25310sienna | #b25310sienna |
WCAG 2 contrast ratios between each background and its foreground color.
| Text on background | 19.87:1 | AAA |
| Text on card | 19.82:1 | AAA |
| Primary button | 5.05:1 | AA |
| Secondary button | 2.78:1 | Fail |
| Muted text | 7.83:1 | AAA |
| Accent | 9.40:1 | AAA |
| Destructive | 4.05:1 | AA Large |
| Text on background | 19.53:1 | AAA |
| Text on card | 19.58:1 | AAA |
| Primary button | 5.05:1 | AA |
| Secondary button | 2.78:1 | Fail |
| Muted text | 8.73:1 | AAA |
| Accent | 9.40:1 | AAA |
| Destructive | 4.05:1 | AA Large |
Paste this into your globals.css to use Second-hand in your shadcn/ui project.
:root {
--radius: 0.5rem;
--background: oklch(0.993 0.002 58.335);
--foreground: oklch(0.117 0.016 68.938);
--muted: oklch(0.925 0.021 160.477);
--muted-foreground: oklch(0.385 0.011 160.335);
--popover: oklch(0.985 0.004 58.307);
--popover-foreground: oklch(0.093 0.013 68.938);
--card: oklch(0.985 0.004 58.307);
--card-foreground: oklch(0.093 0.013 68.938);
--border: oklch(0.928 0.006 264.531);
--input: oklch(0.928 0.006 264.531);
--primary: oklch(0.553 0.143 48.835);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.669 0.181 149.918);
--secondary-foreground: oklch(1 0 180);
--accent: oklch(0.407 0.218 291.376);
--accent-foreground: oklch(0.977 0.012 304.876);
--destructive: oklch(0.612 0.178 42.384);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.553 0.143 48.835);
--chart-1: oklch(0.553 0.143 48.835);
--chart-2: oklch(0.669 0.181 149.918);
--chart-3: oklch(0.407 0.218 291.376);
--chart-4: oklch(0.708 0.193 149.837);
--chart-5: oklch(0.557 0.146 48.208);
}
.dark {
--radius: 0.5rem;
--background: oklch(0.116 0.009 64.196);
--foreground: oklch(0.985 0.002 58.338);
--muted: oklch(0.242 0.028 157.934);
--muted-foreground: oklch(0.801 0.009 160.744);
--popover: oklch(0.133 0.01 64.113);
--popover-foreground: oklch(0.992 0.001 58.351);
--card: oklch(0.133 0.01 64.113);
--card-foreground: oklch(0.992 0.001 58.351);
--border: oklch(0.278 0.03 256.848);
--input: oklch(0.278 0.03 256.848);
--primary: oklch(0.553 0.143 48.835);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.669 0.181 149.918);
--secondary-foreground: oklch(1 0 180);
--accent: oklch(0.407 0.218 291.376);
--accent-foreground: oklch(0.977 0.012 304.876);
--destructive: oklch(0.612 0.178 42.384);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.553 0.143 48.835);
--chart-1: oklch(0.553 0.143 48.835);
--chart-2: oklch(0.669 0.181 149.918);
--chart-3: oklch(0.407 0.218 291.376);
--chart-4: oklch(0.708 0.193 149.837);
--chart-5: oklch(0.557 0.146 48.208);
}