Prize is a shadcn/ui theme built around a muted orange primary color (#6d5b46) with muted light orange accents (#ddd9d5). The light mode uses a neutral background (#fdfdfc). Dark mode keeps the muted orange primary (#6d5b46) on a neutral background (#080502).
| Token | Light | Dark |
|---|---|---|
| Background | #fdfdfcwhite | #080502black |
| Foreground | #160d03black | #ffffffwhite |
| Card | #fdfdfcwhite | #080502black |
| Card foreground | #160d03black | #ffffffwhite |
| Popover | #fdfdfcwhite | #080502black |
| Popover foreground | #160d03black | #ffffffwhite |
| Primary | #6d5b46darkolivegreen | #6d5b46darkolivegreen |
| Primary foreground | #ffffffwhite | #ffffffwhite |
| Secondary | #ddd9d5gainsboro | #221f1bblack |
| Secondary foreground | #474039darkslategray | #bfb8b0silver |
| Muted | #efe6dcantiquewhite | #231a10black |
| Muted foreground | #616161dimgray | #9e9e9edarkgray |
| Accent | #ddd9d5gainsboro | #221f1bblack |
| Accent foreground | #474039darkslategray | #bfb8b0silver |
| Destructive | #b7160bfirebrick | #e71c0dred |
| Destructive foreground | #fef6f5lavenderblush | #ffffffwhite |
| Border | #e5e7eblavender | #1f2937darkslategray |
| Input | #e5e7eblavender | #1f2937darkslategray |
| Ring | #6d5b46darkolivegreen | #6d5b46darkolivegreen |
WCAG 2 contrast ratios between each background and its foreground color.
| Text on background | 18.82:1 | AAA |
| Text on card | 18.82:1 | AAA |
| Primary button | 6.52:1 | AA |
| Secondary button | 7.25:1 | AAA |
| Muted text | 5.02:1 | AA |
| Accent | 7.25:1 | AAA |
| Destructive | 6.28:1 | AA |
| Text on background | 20.30:1 | AAA |
| Text on card | 20.30:1 | AAA |
| Primary button | 6.52:1 | AA |
| Secondary button | 8.37:1 | AAA |
| Muted text | 6.38:1 | AA |
| Accent | 8.37:1 | AAA |
| Destructive | 4.58:1 | AA |
Paste this into your globals.css to use Prize in your shadcn/ui project.
:root {
--radius: 0.5rem;
--background: oklch(0.993 0.001 71.439);
--foreground: oklch(0.17 0.027 73.49);
--muted: oklch(0.929 0.016 71.295);
--muted-foreground: oklch(0.492 0 180);
--popover: oklch(0.993 0.001 71.439);
--popover-foreground: oklch(0.17 0.027 73.49);
--card: oklch(0.993 0.001 71.439);
--card-foreground: oklch(0.17 0.027 73.49);
--border: oklch(0.928 0.006 264.531);
--input: oklch(0.928 0.006 264.531);
--primary: oklch(0.482 0.04 70.399);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.887 0.007 71.377);
--secondary-foreground: oklch(0.376 0.015 71.042);
--accent: oklch(0.887 0.007 71.377);
--accent-foreground: oklch(0.376 0.015 71.042);
--destructive: oklch(0.498 0.193 29.739);
--destructive-foreground: oklch(0.979 0.009 22.32);
--ring: oklch(0.482 0.04 70.399);
--chart-1: oklch(0.482 0.04 70.399);
--chart-2: oklch(0.887 0.007 71.377);
--chart-3: oklch(0.887 0.007 71.377);
--chart-4: oklch(0.91 0.006 71.394);
--chart-5: oklch(0.485 0.045 70.19);
}
.dark {
--radius: 0.5rem;
--background: oklch(0.12 0.013 79.087);
--foreground: oklch(1 0 180);
--muted: oklch(0.226 0.022 70.049);
--muted-foreground: oklch(0.7 0 180);
--popover: oklch(0.12 0.013 79.087);
--popover-foreground: oklch(1 0 180);
--card: oklch(0.12 0.013 79.087);
--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.482 0.04 70.399);
--primary-foreground: oklch(1 0 180);
--secondary: oklch(0.241 0.008 71.118);
--secondary-foreground: oklch(0.787 0.014 71.286);
--accent: oklch(0.241 0.008 71.118);
--accent-foreground: oklch(0.787 0.014 71.286);
--destructive: oklch(0.591 0.232 29.755);
--destructive-foreground: oklch(1 0 180);
--ring: oklch(0.482 0.04 70.399);
--chart-1: oklch(0.482 0.04 70.399);
--chart-2: oklch(0.241 0.008 71.118);
--chart-3: oklch(0.241 0.008 71.118);
--chart-4: oklch(0.273 0.01 71.092);
--chart-5: oklch(0.485 0.045 70.19);
}