Generate feedback colors (success, warning, error, and info) for shadcn/ui

Go to generator

10000+Themes for shadcn/ui

Broken for shadcn/ui

Broken is a shadcn/ui theme built around a muted orange primary color (#ad937f) with muted blue accents (#7f9aad). The light mode uses a neutral background (#ffffff). Dark mode keeps the muted orange primary (#ad937f) on a neutral background (#080502).

Color palette

TokenLightDark
Background
#ffffffwhite
#080502black
Foreground
#110904black
#f8f7f6whitesmoke
Card
#fcfcfcsnow
#0c0704black
Card foreground
#0d0703black
#fbfaf9snow
Popover
#ffffffwhite
#080502black
Popover foreground
#110904black
#f8f7f6whitesmoke
Primary
#ad937frosybrown
#ad937frosybrown
Primary foreground
#000000black
#000000black
Secondary
#7f9aadlightslategray
#7f9aadlightslategray
Secondary foreground
#000000black
#000000black
Muted
#e2e9eelavender
#11181dblack
Muted foreground
#40494fdarkslategray
#b0b9bfsilver
Accent
#7f9aadlightslategray
#7f9aadlightslategray
Accent foreground
#000000black
#000000black
Destructive
#cc2d14firebrick
#e83317orangered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#ad937frosybrown
#ad937frosybrown

Contrast

WCAG 2 contrast ratios between each background and its foreground color.

Light mode
Text on background19.72:1AAA
Text on card19.59:1AAA
Primary button7.24:1AAA
Secondary button7.15:1AAA
Muted text7.50:1AAA
Accent7.15:1AAA
Destructive5.31:1AA
Dark mode
Text on background19.03:1AAA
Text on card19.23:1AAA
Primary button7.24:1AAA
Secondary button7.15:1AAA
Muted text8.99:1AAA
Accent7.15:1AAA
Destructive4.27:1AA Large

CSS variables

Paste this into your globals.css to use Broken in your shadcn/ui project.

:root {
  --radius: 0.5rem;
  --background: oklch(1 0 180);
  --foreground: oklch(0.149 0.02 64.017);
  --muted: oklch(0.93 0.01 238.516);
  --muted-foreground: oklch(0.399 0.015 238.909);
  --popover: oklch(1 0 180);
  --popover-foreground: oklch(0.149 0.02 64.017);
  --card: oklch(0.992 0 161.565);
  --card-foreground: oklch(0.134 0.017 67.286);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.681 0.042 57.476);
  --primary-foreground: oklch(0 0 0);
  --secondary: oklch(0.673 0.041 239.317);
  --secondary-foreground: oklch(0 0 0);
  --accent: oklch(0.673 0.041 239.317);
  --accent-foreground: oklch(0 0 0);
  --destructive: oklch(0.552 0.198 31.567);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.681 0.042 57.476);
  --chart-1: oklch(0.681 0.042 57.476);
  --chart-2: oklch(0.673 0.041 239.317);
  --chart-3: oklch(0.673 0.041 239.317);
  --chart-4: oklch(0.698 0.038 239.197);
  --chart-5: oklch(0.682 0.048 57.345);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.117 0.012 66.258);
  --foreground: oklch(0.977 0.002 58.339);
  --muted: oklch(0.204 0.014 239.485);
  --muted-foreground: oklch(0.78 0.013 238.593);
  --popover: oklch(0.117 0.012 66.258);
  --popover-foreground: oklch(0.977 0.002 58.339);
  --card: oklch(0.134 0.014 65.829);
  --card-foreground: oklch(0.985 0.001 58.347);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.681 0.042 57.476);
  --primary-foreground: oklch(0 0 0);
  --secondary: oklch(0.673 0.041 239.317);
  --secondary-foreground: oklch(0 0 0);
  --accent: oklch(0.673 0.041 239.317);
  --accent-foreground: oklch(0 0 0);
  --destructive: oklch(0.606 0.22 31.539);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.681 0.042 57.476);
  --chart-1: oklch(0.681 0.042 57.476);
  --chart-2: oklch(0.673 0.041 239.317);
  --chart-3: oklch(0.673 0.041 239.317);
  --chart-4: oklch(0.698 0.038 239.197);
  --chart-5: oklch(0.682 0.048 57.345);
}