Wont for shadcn/ui

Wont is a shadcn/ui theme built around a light pink primary color (#f5bcd4) with muted light pink accents (#d8c5cd). The light mode uses a neutral background (#fdfcfc). Dark mode keeps the light pink primary (#f5bcd4) on a pink-tinted background (#0b0407).

Color palette

TokenLightDark
Background
#fdfcfcsnow
#0b0407black
Foreground
#000000black
#fbf9fasnow
Card
#fcf8fasnow
#0f0609black
Card foreground
#000000black
#fdfcfcsnow
Popover
#fdfcfcsnow
#0b0407black
Popover foreground
#000000black
#fbf9fasnow
Primary
#f5bcd4pink
#f5bcd4pink
Primary foreground
#701038maroon
#701038maroon
Secondary
#e6e0e2gainsboro
#342d30darkslategray
Secondary foreground
#524249darkslategray
#cdc6c9silver
Muted
#e5ccd7thistle
#331a24black
Muted foreground
#5d5b5cdimgray
#a4a2a3darkgray
Accent
#d8c5cdthistle
#503a43darkslategray
Accent foreground
#402b34darkslategray
#e3d9ddgainsboro
Destructive
#b82305firebrick
#f93f1aorangered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#f5bcd4pink
#f5bcd4pink

Contrast

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

Light mode
Text on background20.46:1AAA
Text on card19.94:1AAA
Primary button7.16:1AAA
Secondary button7.21:1AAA
Muted text4.48:1AA Large
Accent7.94:1AAA
Destructive6.41:1AA
Dark mode
Text on background19.34:1AAA
Text on card19.55:1AAA
Primary button7.16:1AAA
Secondary button8.00:1AAA
Muted text6.31:1AA
Accent7.53:1AAA
Destructive3.64:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.991 0.002 349.731);
  --foreground: oklch(0 0 0);
  --muted: oklch(0.87 0.031 350.658);
  --muted-foreground: oklch(0.473 0.003 349.827);
  --popover: oklch(0.991 0.002 349.731);
  --popover-foreground: oklch(0 0 0);
  --card: oklch(0.983 0.004 349.792);
  --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.854 0.072 351.927);
  --primary-foreground: oklch(0.361 0.131 2.152);
  --secondary: oklch(0.912 0.008 349.901);
  --secondary-foreground: oklch(0.398 0.025 351.345);
  --accent: oklch(0.842 0.023 350.424);
  --accent-foreground: oklch(0.318 0.033 352.411);
  --destructive: oklch(0.506 0.188 32.21);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.854 0.072 351.927);
  --chart-1: oklch(0.854 0.072 351.927);
  --chart-2: oklch(0.912 0.008 349.901);
  --chart-3: oklch(0.842 0.023 350.424);
  --chart-4: oklch(0.936 0.005 349.833);
  --chart-5: oklch(0.853 0.075 352.019);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.124 0.018 349.497);
  --foreground: oklch(0.984 0.002 349.716);
  --muted: oklch(0.255 0.043 354.121);
  --muted-foreground: oklch(0.715 0.002 349.764);
  --popover: oklch(0.124 0.018 349.497);
  --popover-foreground: oklch(0.984 0.002 349.716);
  --card: oklch(0.137 0.02 351.007);
  --card-foreground: oklch(0.992 0.001 349.693);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.854 0.072 351.927);
  --primary-foreground: oklch(0.361 0.131 2.152);
  --secondary: oklch(0.306 0.011 350.651);
  --secondary-foreground: oklch(0.833 0.009 349.984);
  --accent: oklch(0.376 0.034 352.086);
  --accent-foreground: oklch(0.894 0.013 350.076);
  --destructive: oklch(0.646 0.226 32.763);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.854 0.072 351.927);
  --chart-1: oklch(0.854 0.072 351.927);
  --chart-2: oklch(0.306 0.011 350.651);
  --chart-3: oklch(0.376 0.034 352.086);
  --chart-4: oklch(0.335 0.012 350.682);
  --chart-5: oklch(0.853 0.075 352.019);
}