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

Go to generator

10000+Themes for shadcn/ui

Hearing for shadcn/ui

Hearing is a shadcn/ui theme built around a deep green primary color (#08110b) with deep orange accents (#110b08). The light mode uses a neutral background (#f7fcf9). Dark mode keeps the deep green primary (#08110b) on a green-tinted background (#040b06).

Color palette

TokenLightDark
Background
#f7fcf9mintcream
#040b06black
Foreground
#000000black
#fbfdfcwhite
Card
#f4fbf6mintcream
#050f08black
Card foreground
#000000black
#ffffffwhite
Popover
#f4fbf6mintcream
#050f08black
Popover foreground
#000000black
#ffffffwhite
Primary
#08110bblack
#08110bblack
Primary foreground
#86c699darkseagreen
#86c699darkseagreen
Secondary
#0b0811black
#0b0811black
Secondary foreground
#9986c6mediumpurple
#9986c6mediumpurple
Muted
#efedf2whitesmoke
#0e0d12black
Muted foreground
#636363dimgray
#9c9c9cdarkgray
Accent
#110b08black
#110b08black
Accent foreground
#c69986rosybrown
#c69986rosybrown
Destructive
#bc0b0bfirebrick
#f10e0ered
Destructive foreground
#fffafasnow
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#08110bblack
#08110bblack

Contrast

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

Light mode
Text on background20.31:1AAA
Text on card19.97:1AAA
Primary button9.61:1AAA
Secondary button6.22:1AA
Muted text5.17:1AA
Accent7.71:1AAA
Destructive6.36:1AA
Dark mode
Text on background19.44:1AAA
Text on card19.46:1AAA
Primary button9.61:1AAA
Secondary button6.22:1AA
Muted text7.05:1AAA
Accent7.71:1AAA
Destructive4.36:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.988 0.007 155.734);
  --foreground: oklch(0 0 0);
  --muted: oklch(0.949 0.007 299.919);
  --muted-foreground: oklch(0.501 0 180);
  --popover: oklch(0.981 0.01 155.664);
  --popover-foreground: oklch(0 0 0);
  --card: oklch(0.981 0.01 155.664);
  --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.167 0.019 153.692);
  --primary-foreground: oklch(0.77 0.092 153.313);
  --secondary: oklch(0.144 0.02 297.973);
  --secondary-foreground: oklch(0.661 0.096 297.503);
  --accent: oklch(0.157 0.013 45.2);
  --accent-foreground: oklch(0.72 0.061 44.313);
  --destructive: oklch(0.503 0.201 28.71);
  --destructive-foreground: oklch(0.989 0.005 17.239);
  --ring: oklch(0.167 0.019 153.692);
  --chart-1: oklch(0.167 0.019 153.692);
  --chart-2: oklch(0.144 0.02 297.973);
  --chart-3: oklch(0.157 0.013 45.2);
  --chart-4: oklch(0.173 0.03 296.911);
  --chart-5: oklch(0.168 0.021 153.585);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.14 0.018 155.394);
  --foreground: oklch(0.993 0.003 155.817);
  --muted: oklch(0.163 0.01 298.95);
  --muted-foreground: oklch(0.691 0 180);
  --popover: oklch(0.156 0.021 154.518);
  --popover-foreground: oklch(1 0 180);
  --card: oklch(0.156 0.021 154.518);
  --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.167 0.019 153.692);
  --primary-foreground: oklch(0.77 0.092 153.313);
  --secondary: oklch(0.144 0.02 297.973);
  --secondary-foreground: oklch(0.661 0.096 297.503);
  --accent: oklch(0.157 0.013 45.2);
  --accent-foreground: oklch(0.72 0.061 44.313);
  --destructive: oklch(0.605 0.244 28.834);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.167 0.019 153.692);
  --chart-1: oklch(0.167 0.019 153.692);
  --chart-2: oklch(0.144 0.02 297.973);
  --chart-3: oklch(0.157 0.013 45.2);
  --chart-4: oklch(0.173 0.03 296.911);
  --chart-5: oklch(0.168 0.021 153.585);
}