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

Go to generator

10000+Themes for shadcn/ui

Trustworthy for shadcn/ui

Trustworthy is a shadcn/ui theme built around a red primary color (#ca6144) with neutral gray accents (#c7c1c1). The light mode uses a neutral background (#fcf9f8). Dark mode keeps the red primary (#ca6144) on a red-tinted background (#0d0807).

Color palette

TokenLightDark
Background
#fcf9f8snow
#0d0807black
Foreground
#0c0503black
#fbf9f9snow
Card
#fcf9f8snow
#0d0807black
Card foreground
#0c0503black
#fbf9f9snow
Popover
#fcf9f8snow
#0d0807black
Popover foreground
#0c0503black
#fbf9f9snow
Primary
#ca6144indianred
#ca6144indianred
Primary foreground
#ffffffwhite
#ffffffwhite
Secondary
#d6d6d6lightgrey
#171312black
Secondary foreground
#3d3d3ddarkslategray
#b8a7a3darkgray
Muted
#ebe5e5linen
#1a1514black
Muted foreground
#5b4848darkolivegreen
#b7a8a4darkgray
Accent
#c7c1c1silver
#2f211eblack
Accent foreground
#2e2929darkslategray
#cdb7b1silver
Destructive
#631809maroon
#ec4827chocolate
Destructive foreground
#f7b3a6lightpink
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#ca6144indianred
#ca6144indianred

Contrast

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

Light mode
Text on background19.26:1AAA
Text on card19.26:1AAA
Primary button3.94:1AA Large
Secondary button7.48:1AAA
Muted text6.83:1AA
Accent8.10:1AAA
Destructive7.21:1AAA
Dark mode
Text on background18.93:1AAA
Text on card18.93:1AAA
Primary button3.94:1AA Large
Secondary button7.99:1AAA
Muted text7.87:1AAA
Accent8.08:1AAA
Destructive3.79:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.983 0.004 35.998);
  --foreground: oklch(0.127 0.016 42.87);
  --muted: oklch(0.926 0.007 17.292);
  --muted-foreground: oklch(0.421 0.027 18.271);
  --popover: oklch(0.983 0.004 35.998);
  --popover-foreground: oklch(0.127 0.016 42.87);
  --card: oklch(0.983 0.004 35.998);
  --card-foreground: oklch(0.127 0.016 42.87);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.615 0.141 36.39);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.877 0 180);
  --secondary-foreground: oklch(0.361 0 180);
  --accent: oklch(0.817 0.007 17.291);
  --accent-foreground: oklch(0.286 0.006 17.532);
  --destructive: oklch(0.333 0.11 33.095);
  --destructive-foreground: oklch(0.828 0.082 31.568);
  --ring: oklch(0.615 0.141 36.39);
  --chart-1: oklch(0.615 0.141 36.39);
  --chart-2: oklch(0.877 0 180);
  --chart-3: oklch(0.817 0.007 17.291);
  --chart-4: oklch(0.9 0 188.746);
  --chart-5: oklch(0.617 0.148 36.37);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.143 0.01 38.332);
  --foreground: oklch(0.984 0.002 36.006);
  --muted: oklch(0.202 0.009 35.945);
  --muted-foreground: oklch(0.743 0.019 35.951);
  --popover: oklch(0.143 0.01 38.332);
  --popover-foreground: oklch(0.984 0.002 36.006);
  --card: oklch(0.143 0.01 38.332);
  --card-foreground: oklch(0.984 0.002 36.006);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.615 0.141 36.39);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.191 0.007 35.944);
  --secondary-foreground: oklch(0.743 0.02 35.949);
  --accent: oklch(0.264 0.022 36.001);
  --accent-foreground: oklch(0.797 0.027 35.945);
  --destructive: oklch(0.633 0.206 33.118);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.615 0.141 36.39);
  --chart-1: oklch(0.615 0.141 36.39);
  --chart-2: oklch(0.191 0.007 35.944);
  --chart-3: oklch(0.264 0.022 36.001);
  --chart-4: oklch(0.224 0.01 35.944);
  --chart-5: oklch(0.617 0.148 36.37);
}