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

Go to generator

10000+Themes for shadcn/ui

Folk for shadcn/ui

Folk is a shadcn/ui theme built around a deep blue primary color (#114173) with deep orange accents (#734411). The light mode uses a neutral background (#ffffff). Dark mode keeps the deep blue primary (#114173) on a neutral background (#020304).

Color palette

TokenLightDark
Background
#ffffffwhite
#020304black
Foreground
#050c14black
#f5f7fawhitesmoke
Card
#ffffffwhite
#020304black
Card foreground
#050c14black
#f5f7fawhitesmoke
Popover
#ffffffwhite
#020304black
Popover foreground
#050c14black
#f5f7fawhitesmoke
Primary
#114173midnightblue
#114173midnightblue
Primary foreground
#c1daf6powderblue
#c1daf6powderblue
Secondary
#734411saddlebrown
#734411saddlebrown
Secondary foreground
#f6dcc1peachpuff
#f6dcc1peachpuff
Muted
#f1f0eewhitesmoke
#110f0eblack
Muted foreground
#6b6157dimgray
#a89e94darkgray
Accent
#734411saddlebrown
#734411saddlebrown
Accent foreground
#f6dcc1peachpuff
#f6dcc1peachpuff
Destructive
#9d3e0csaddlebrown
#e45b11chocolate
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#114173midnightblue
#114173midnightblue

Contrast

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

Light mode
Text on background19.64:1AAA
Text on card19.64:1AAA
Primary button7.23:1AAA
Secondary button6.20:1AA
Muted text5.30:1AA
Accent6.20:1AA
Destructive6.71:1AA
Dark mode
Text on background19.28:1AAA
Text on card19.28:1AAA
Primary button7.23:1AAA
Secondary button6.20:1AA
Muted text7.25:1AAA
Accent6.20:1AA
Destructive3.62:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(1 0 180);
  --foreground: oklch(0.153 0.021 248.108);
  --muted: oklch(0.955 0.002 69.626);
  --muted-foreground: oklch(0.499 0.02 69.217);
  --popover: oklch(1 0 180);
  --popover-foreground: oklch(0.153 0.021 248.108);
  --card: oklch(1 0 180);
  --card-foreground: oklch(0.153 0.021 248.108);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.372 0.1 253.504);
  --primary-foreground: oklch(0.88 0.047 250.113);
  --secondary: oklch(0.434 0.09 62.133);
  --secondary-foreground: oklch(0.909 0.046 69.066);
  --accent: oklch(0.434 0.09 62.133);
  --accent-foreground: oklch(0.909 0.046 69.066);
  --destructive: oklch(0.488 0.138 43.157);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.372 0.1 253.504);
  --chart-1: oklch(0.372 0.1 253.504);
  --chart-2: oklch(0.434 0.09 62.133);
  --chart-3: oklch(0.434 0.09 62.133);
  --chart-4: oklch(0.468 0.098 61.872);
  --chart-5: oklch(0.373 0.104 253.784);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.09 0.007 243.964);
  --foreground: oklch(0.976 0.004 249.693);
  --muted: oklch(0.171 0.004 69.43);
  --muted-foreground: oklch(0.706 0.018 69.383);
  --popover: oklch(0.09 0.007 243.964);
  --popover-foreground: oklch(0.976 0.004 249.693);
  --card: oklch(0.09 0.007 243.964);
  --card-foreground: oklch(0.976 0.004 249.693);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.372 0.1 253.504);
  --primary-foreground: oklch(0.88 0.047 250.113);
  --secondary: oklch(0.434 0.09 62.133);
  --secondary-foreground: oklch(0.909 0.046 69.066);
  --accent: oklch(0.434 0.09 62.133);
  --accent-foreground: oklch(0.909 0.046 69.066);
  --destructive: oklch(0.64 0.185 42.459);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.372 0.1 253.504);
  --chart-1: oklch(0.372 0.1 253.504);
  --chart-2: oklch(0.434 0.09 62.133);
  --chart-3: oklch(0.434 0.09 62.133);
  --chart-4: oklch(0.468 0.098 61.872);
  --chart-5: oklch(0.373 0.104 253.784);
}