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

Go to generator

10000+Themes for shadcn/ui

Peaceful for shadcn/ui

Peaceful is a shadcn/ui theme built around a cyan primary color (#2a7598) with blue accents (#2a3e98). The light mode uses a neutral background (#f8fbfc). Dark mode keeps the cyan primary (#2a7598) on a cyan-tinted background (#050c10).

Color palette

TokenLightDark
Background
#f8fbfcghostwhite
#050c10black
Foreground
#040c10black
#f5f8fawhitesmoke
Card
#f4f9fbghostwhite
#060f14black
Card foreground
#03090cblack
#f8fbfcghostwhite
Popover
#f8fbfcghostwhite
#050c10black
Popover foreground
#040c10black
#f5f8fawhitesmoke
Primary
#2a7598steelblue
#2a7598steelblue
Primary foreground
#ffffffwhite
#ffffffwhite
Secondary
#2a9884mediumseagreen
#2a9884mediumseagreen
Secondary foreground
#ffffffwhite
#ffffffwhite
Muted
#e6eae9lavender
#151918black
Muted foreground
#4e5050darkslategray
#afb1b0darkgray
Accent
#2a3e98darkslateblue
#2a3e98darkslateblue
Accent foreground
#f7f8fdghostwhite
#f7f8fdghostwhite
Destructive
#c9100dfirebrick
#f23e3atomato
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#2a7598steelblue
#2a7598steelblue

Contrast

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

Light mode
Text on background18.91:1AAA
Text on card18.82:1AAA
Primary button5.11:1AA
Secondary button3.54:1AA Large
Muted text6.68:1AA
Accent8.84:1AAA
Destructive5.87:1AA
Dark mode
Text on background18.45:1AAA
Text on card18.57:1AAA
Primary button5.11:1AA
Secondary button3.54:1AA Large
Muted text8.23:1AAA
Accent8.84:1AAA
Destructive3.79:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.985 0.004 226.901);
  --foreground: oklch(0.149 0.017 225.188);
  --muted: oklch(0.934 0.004 184.196);
  --muted-foreground: oklch(0.429 0.002 184.18);
  --popover: oklch(0.985 0.004 226.901);
  --popover-foreground: oklch(0.149 0.017 225.188);
  --card: oklch(0.978 0.005 226.924);
  --card-foreground: oklch(0.134 0.014 221.68);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.532 0.091 232.347);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.614 0.102 177.578);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.405 0.149 269.034);
  --accent-foreground: oklch(0.98 0.006 276.08);
  --destructive: oklch(0.53 0.211 28.907);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.532 0.091 232.347);
  --chart-1: oklch(0.532 0.091 232.347);
  --chart-2: oklch(0.614 0.102 177.578);
  --chart-3: oklch(0.405 0.149 269.034);
  --chart-4: oklch(0.649 0.108 177.521);
  --chart-5: oklch(0.536 0.094 232.799);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.149 0.015 225.346);
  --foreground: oklch(0.978 0.004 226.91);
  --muted: oklch(0.208 0.006 183.557);
  --muted-foreground: oklch(0.758 0.002 184.247);
  --popover: oklch(0.149 0.015 225.346);
  --popover-foreground: oklch(0.978 0.004 226.91);
  --card: oklch(0.162 0.018 227.432);
  --card-foreground: oklch(0.985 0.003 226.892);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.532 0.091 232.347);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.614 0.102 177.578);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.405 0.149 269.034);
  --accent-foreground: oklch(0.98 0.006 276.08);
  --destructive: oklch(0.636 0.218 26.709);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.532 0.091 232.347);
  --chart-1: oklch(0.532 0.091 232.347);
  --chart-2: oklch(0.614 0.102 177.578);
  --chart-3: oklch(0.405 0.149 269.034);
  --chart-4: oklch(0.649 0.108 177.521);
  --chart-5: oklch(0.536 0.094 232.799);
}