Skip to main content
Gremorie

Colors

27 ramps and 298 stops - the Tailwind v4 palettes plus five ramps synthesized for Gremorie, including the clay brand ramp.

Gremorie inherits the Tailwind v4 palettes and extends them with five synthesized ramps: four extra neutrals (mauve, mist, olive, taupe) and one brand ramp (clay, anchored on Claude's #D97757). Together they form 27 ramps and 298 stops, every one declared in OKLCH in packages/tokens/styles/theme.css.

Each stop is intentionally spaced in lightness (perceptually uniform in OKLCH space), so slate-200 and blue-200 behave the same way when used as a surface even though the hues are completely different.

All ramps at a glance

Every ramp, lightest to darkest. Click a row to jump to its full table.

How to read the scale

Stops run from 50 (lightest) to 950 (darkest); the gray ramp adds a 0 stop (pure white) for elevated surfaces in light mode. There is no rigid usage rule, but the patterns are strong:

RangeTypical use
0, 50, 100Backgrounds, item hover, subtle surfaces
200, 300Borders, separators, secondary surfaces
400, 500Secondary text, icons, placeholders
600, 700Primary text, primary actions, active UI icons
800, 900, 950Headings, dark mode surfaces

These values are stable: they only change when the primitive is edited in theme.css, and when that happens the change cascades to every theme that references it.

How to consume

Three equivalent forms:

// 1. Tailwind utility (generated automatically from the @theme block)
<div className="bg-blue-600" />

// 2. CSS variable, for APIs that take a color string (SVG, Recharts)
<div style={{ background: 'var(--color-blue-600)' }} />
/* 3. Referencing the ramp in a theme file (the only place this is normal) */
[data-theme='claude'] {
  --primary: var(--color-clay-500);
}

Inside a themed component, almost every case should consume a semantic token (bg-primary, text-foreground) instead of a primitive. Primitives are for marketing surfaces, illustration, and feeding the semantic layer. See when you touch primitives.

Primitives do not change with the mode. Unlike semantic tokens, a primitive resolves to the same color in light and dark: --color-clay-500 is always #D97757. Dark mode happens one layer up, when a theme remaps its intents to different primitives under .dark.

HEX is an approximation. The HEX values below are the sRGB-clamped rendering of the OKLCH source. For saturated stops in fuchsia, lime, and friends, the OKLCH describes colors outside the sRGB gamut; the HEX is the closest in-gamut point, not the exact value. The source of truth is always OKLCH.

Neutrals

Nine neutral ramps cover the spectrum from pure gray to temperature bias: slate cold, stone warm, mauve violet-pink. Use them for chrome, surfaces, text, and backgrounds. Five are stock Tailwind; four are Gremorie synthesized (mauve, mist, olive, taupe), created so the themes can map to consistent primitives instead of literal OKLCH values.

Gray

Pure zero-chroma neutral and the working gray of the system: the default theme resolves its semantic intents here. The extra 0 stop is pure white, used for elevated surfaces (card, popover) in light mode.

SampleStepCSS TokenTailwind classOKLCHHEX
0--color-gray-0bg-gray-0oklch(1 0 0)#FFFFFF
50--color-gray-50bg-gray-50oklch(0.985 0 0)#FAFAFA
100--color-gray-100bg-gray-100oklch(0.97 0 0)#F5F5F5
200--color-gray-200bg-gray-200oklch(0.922 0 0)#E5E5E5
300--color-gray-300bg-gray-300oklch(0.87 0 0)#D4D4D4
400--color-gray-400bg-gray-400oklch(0.708 0 0)#A1A1A1
500--color-gray-500bg-gray-500oklch(0.556 0 0)#737373
600--color-gray-600bg-gray-600oklch(0.45 0 0)#555555
700--color-gray-700bg-gray-700oklch(0.35 0 0)#3A3A3A
800--color-gray-800bg-gray-800oklch(0.269 0 0)#262626
900--color-gray-900bg-gray-900oklch(0.205 0 0)#171717
950--color-gray-950bg-gray-950oklch(0.145 0 0)#0A0A0A

Slate

Cool neutral with a subtle blue bias. Serious UI chrome, corporate dashboards, and products where credibility outweighs personality.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-slate-50bg-slate-50oklch(98.4% 0.003 247.858)#F8FAFC
100--color-slate-100bg-slate-100oklch(96.8% 0.007 247.896)#F1F5F9
200--color-slate-200bg-slate-200oklch(92.9% 0.013 255.508)#E2E8F0
300--color-slate-300bg-slate-300oklch(86.9% 0.022 252.894)#CAD5E2
400--color-slate-400bg-slate-400oklch(70.4% 0.04 256.788)#90A1B9
500--color-slate-500bg-slate-500oklch(55.4% 0.046 257.417)#62748E
600--color-slate-600bg-slate-600oklch(44.6% 0.043 257.281)#45556C
700--color-slate-700bg-slate-700oklch(37.2% 0.044 257.287)#314158
800--color-slate-800bg-slate-800oklch(27.9% 0.041 260.031)#1D293D
900--color-slate-900bg-slate-900oklch(20.8% 0.042 265.755)#0F172B
950--color-slate-950bg-slate-950oklch(12.9% 0.042 264.695)#020618

Zinc

Slightly violet, more technical neutral. Good on product surfaces that want a gray with character without committing to a declared color.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-zinc-50bg-zinc-50oklch(98.5% 0 0)#FAFAFA
100--color-zinc-100bg-zinc-100oklch(96.7% 0.001 286.375)#F4F4F5
200--color-zinc-200bg-zinc-200oklch(92% 0.004 286.32)#E4E4E7
300--color-zinc-300bg-zinc-300oklch(87.1% 0.006 286.286)#D4D4D8
400--color-zinc-400bg-zinc-400oklch(70.5% 0.015 286.067)#9F9FA9
500--color-zinc-500bg-zinc-500oklch(55.2% 0.016 285.938)#71717B
600--color-zinc-600bg-zinc-600oklch(44.2% 0.017 285.786)#52525C
700--color-zinc-700bg-zinc-700oklch(37% 0.013 285.805)#3F3F46
800--color-zinc-800bg-zinc-800oklch(27.4% 0.006 286.033)#27272A
900--color-zinc-900bg-zinc-900oklch(21% 0.006 285.885)#18181B
950--color-zinc-950bg-zinc-950oklch(14.1% 0.005 285.823)#09090B

Neutral

The canonical Tailwind zero-chroma gray, kept for compatibility. Nearly identical to gray, minus the 0 stop and with the stock 600 and 700 values.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-neutral-50bg-neutral-50oklch(98.5% 0 0)#FAFAFA
100--color-neutral-100bg-neutral-100oklch(97% 0 0)#F5F5F5
200--color-neutral-200bg-neutral-200oklch(92.2% 0 0)#E5E5E5
300--color-neutral-300bg-neutral-300oklch(87% 0 0)#D4D4D4
400--color-neutral-400bg-neutral-400oklch(70.8% 0 0)#A1A1A1
500--color-neutral-500bg-neutral-500oklch(55.6% 0 0)#737373
600--color-neutral-600bg-neutral-600oklch(43.9% 0 0)#525252
700--color-neutral-700bg-neutral-700oklch(37.1% 0 0)#404040
800--color-neutral-800bg-neutral-800oklch(26.9% 0 0)#262626
900--color-neutral-900bg-neutral-900oklch(20.5% 0 0)#171717
950--color-neutral-950bg-neutral-950oklch(14.5% 0 0)#0A0A0A

Stone

Warm, earthy neutral. Mixes well with the amber and orange ramps and with editorial tones.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-stone-50bg-stone-50oklch(98.5% 0.001 106.423)#FAFAF9
100--color-stone-100bg-stone-100oklch(97% 0.001 106.424)#F5F5F4
200--color-stone-200bg-stone-200oklch(92.3% 0.003 48.717)#E7E5E4
300--color-stone-300bg-stone-300oklch(86.9% 0.005 56.366)#D6D3D1
400--color-stone-400bg-stone-400oklch(70.9% 0.01 56.259)#A6A09B
500--color-stone-500bg-stone-500oklch(55.3% 0.013 58.071)#79716B
600--color-stone-600bg-stone-600oklch(44.4% 0.011 73.639)#57534D
700--color-stone-700bg-stone-700oklch(37.4% 0.01 67.558)#44403B
800--color-stone-800bg-stone-800oklch(26.8% 0.007 34.298)#292524
900--color-stone-900bg-stone-900oklch(21.6% 0.006 56.043)#1C1917
950--color-stone-950bg-stone-950oklch(14.7% 0.004 49.25)#0C0A09

Mauve

Neutral with a subtle violet-pink bias, synthesized for Gremorie. Adds sophistication without leaving neutral territory.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-mauve-50bg-mauve-50oklch(98.5% 0 0)#FAFAFA
100--color-mauve-100bg-mauve-100oklch(96% 0.003 325.6)#F3F1F3
200--color-mauve-200bg-mauve-200oklch(92.2% 0.005 325.62)#E7E4E7
300--color-mauve-300bg-mauve-300oklch(86.5% 0.012 325.68)#D7D0D7
400--color-mauve-400bg-mauve-400oklch(71.1% 0.019 323.02)#A89EA9
500--color-mauve-500bg-mauve-500oklch(54.2% 0.034 322.5)#79697B
600--color-mauve-600bg-mauve-600oklch(43.5% 0.029 321.78)#594C5B
700--color-mauve-700bg-mauve-700oklch(36.4% 0.029 323.89)#463947
800--color-mauve-800bg-mauve-800oklch(26.3% 0.024 320.12)#2A212C
900--color-mauve-900bg-mauve-900oklch(21.2% 0.019 322.12)#1D161E
950--color-mauve-950bg-mauve-950oklch(14.5% 0.008 326)#0C090C

Olive

Yellow-green earthy neutral, synthesized for Gremorie. Complements amber and stone in editorial layouts and organic-feeling interfaces.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-olive-50bg-olive-50oklch(98.8% 0.003 106.5)#FBFBF9
100--color-olive-100bg-olive-100oklch(96.6% 0.005 106.5)#F4F4F0
200--color-olive-200bg-olive-200oklch(93% 0.007 106.5)#E8E8E3
300--color-olive-300bg-olive-300oklch(88% 0.011 106.6)#D8D8D0
400--color-olive-400bg-olive-400oklch(73.7% 0.021 106.9)#ABAB9C
500--color-olive-500bg-olive-500oklch(58% 0.031 107.3)#7C7C67
600--color-olive-600bg-olive-600oklch(46.6% 0.025 107.3)#5B5B4B
700--color-olive-700bg-olive-700oklch(39.4% 0.023 107.4)#474739
800--color-olive-800bg-olive-800oklch(28.6% 0.016 107.4)#2B2B22
900--color-olive-900bg-olive-900oklch(22.8% 0.013 107.4)#1D1D16
950--color-olive-950bg-olive-950oklch(15.3% 0.006 107.1)#0C0C09

Mist

Neutral with a micro cyan bias, synthesized for Gremorie. Useful when the product wants a gray cooler than slate without tipping into blue.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-mist-50bg-mist-50oklch(98.7% 0.002 197.1)#F9FBFB
100--color-mist-100bg-mist-100oklch(96.3% 0.002 197.1)#F1F3F3
200--color-mist-200bg-mist-200oklch(92.5% 0.005 214.3)#E3E7E8
300--color-mist-300bg-mist-300oklch(87.2% 0.007 219.6)#D0D6D8
400--color-mist-400bg-mist-400oklch(72.3% 0.014 214.4)#9CA8AB
500--color-mist-500bg-mist-500oklch(56% 0.021 213.5)#67787C
600--color-mist-600bg-mist-600oklch(45% 0.017 213.2)#4B585B
700--color-mist-700bg-mist-700oklch(37.8% 0.015 216)#394447
800--color-mist-800bg-mist-800oklch(27.5% 0.011 216.9)#22292B
900--color-mist-900bg-mist-900oklch(21.8% 0.008 223.9)#161B1D
950--color-mist-950bg-mist-950oklch(14.8% 0.004 228.8)#090B0C

Taupe

Warm neutral between stone and mauve, earthy with a pink nuance. Synthesized for Gremorie; the Claude theme uses it for muted text and chart fills.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-taupe-50bg-taupe-50oklch(98.6% 0.002 67.8)#FBFAF9
100--color-taupe-100bg-taupe-100oklch(96% 0.002 17.2)#F3F1F1
200--color-taupe-200bg-taupe-200oklch(92.2% 0.005 34.3)#E8E4E3
300--color-taupe-300bg-taupe-300oklch(86.8% 0.007 39.5)#D8D2D0
400--color-taupe-400bg-taupe-400oklch(71.4% 0.014 41.2)#ABA09C
500--color-taupe-500bg-taupe-500oklch(54.7% 0.021 43.1)#7C6D67
600--color-taupe-600bg-taupe-600oklch(43.8% 0.017 39.3)#5B4F4B
700--color-taupe-700bg-taupe-700oklch(36.7% 0.016 35.7)#473C39
800--color-taupe-800bg-taupe-800oklch(26.8% 0.011 36.5)#2B2422
900--color-taupe-900bg-taupe-900oklch(21.4% 0.009 43.1)#1D1816
950--color-taupe-950bg-taupe-950oklch(14.7% 0.004 49.3)#0C0A09

Brand

The one ramp that exists for a brand rather than a hue family. clay-500 is Claude's brand color, exactly, and the other ten stops are derived from it with smooth lightness and chroma that peaks mid-ramp.

Clay

Warm coral terracotta anchored on Claude's brand color: clay-500 is exactly #D97757 and the rest of the ramp is derived from it. The Claude theme binds its primary to clay-500 in light mode and clay-400 in dark mode.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-clay-50bg-clay-50oklch(0.971 0.013 44)#FEF3EE
100--color-clay-100bg-clay-100oklch(0.936 0.03 43)#FCE4DA
200--color-clay-200bg-clay-200oklch(0.882 0.058 42)#FBCCBB
300--color-clay-300bg-clay-300oklch(0.815 0.09 41)#F5AF96
400--color-clay-400bg-clay-400oklch(0.745 0.118 40)#EC9272
500--color-clay-500bg-clay-500oklch(0.672 0.131 38.76)#D97757
600--color-clay-600bg-clay-600oklch(0.57 0.135 38)#B85637
700--color-clay-700bg-clay-700oklch(0.5 0.118 36)#9A4730
800--color-clay-800bg-clay-800oklch(0.43 0.093 35)#7A3B2B
900--color-clay-900bg-clay-900oklch(0.365 0.067 34)#5D3026
950--color-clay-950bg-clay-950oklch(0.268 0.042 33)#381E18

Warm spectrum

Reds, oranges, ambers, yellows, limes, and greens. The range runs from critical (red, for destructive) to organic (green, lime). amber is one of the best warning hues without falling into pure-yellow cliche.

Red

Classic high-contrast red. Reserved for destruction, critical failures, and unambiguous error states. The default theme binds destructive to red-600 (light) and red-400 (dark).

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-red-50bg-red-50oklch(97.1% 0.013 17.38)#FEF2F2
100--color-red-100bg-red-100oklch(93.6% 0.032 17.717)#FFE2E2
200--color-red-200bg-red-200oklch(88.5% 0.062 18.334)#FFC9C9
300--color-red-300bg-red-300oklch(80.8% 0.114 19.571)#FFA2A2
400--color-red-400bg-red-400oklch(70.4% 0.191 22.216)#FF6467
500--color-red-500bg-red-500oklch(63.7% 0.237 25.331)#FB2C36
600--color-red-600bg-red-600oklch(57.7% 0.245 27.325)#E7000B
700--color-red-700bg-red-700oklch(50.5% 0.213 27.518)#C10007
800--color-red-800bg-red-800oklch(44.4% 0.177 26.899)#9F0712
900--color-red-900bg-red-900oklch(39.6% 0.141 25.723)#82181A
950--color-red-950bg-red-950oklch(25.8% 0.092 26.042)#460809

Orange

Warm and energetic, more approachable than red. Good for enthusiastic CTAs, non-critical alerts, and discovery elements.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-orange-50bg-orange-50oklch(98% 0.016 73.684)#FFF7ED
100--color-orange-100bg-orange-100oklch(95.4% 0.038 75.164)#FFEDD4
200--color-orange-200bg-orange-200oklch(90.1% 0.076 70.697)#FFD6A7
300--color-orange-300bg-orange-300oklch(83.7% 0.128 66.29)#FFB86A
400--color-orange-400bg-orange-400oklch(75% 0.183 55.934)#FF8904
500--color-orange-500bg-orange-500oklch(70.5% 0.213 47.604)#FF6900
600--color-orange-600bg-orange-600oklch(64.6% 0.222 41.116)#F54900
700--color-orange-700bg-orange-700oklch(55.3% 0.195 38.402)#CA3500
800--color-orange-800bg-orange-800oklch(47% 0.157 37.304)#9F2D00
900--color-orange-900bg-orange-900oklch(40.8% 0.123 38.172)#7E2A0C
950--color-orange-950bg-orange-950oklch(26.6% 0.079 36.259)#441306

Amber

Luminous gold. Works well for warnings, premium badges, and warm highlights.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-amber-50bg-amber-50oklch(98.7% 0.022 95.277)#FFFBEB
100--color-amber-100bg-amber-100oklch(96.2% 0.059 95.617)#FEF3C6
200--color-amber-200bg-amber-200oklch(92.4% 0.12 95.746)#FEE685
300--color-amber-300bg-amber-300oklch(87.9% 0.169 91.605)#FFD230
400--color-amber-400bg-amber-400oklch(82.8% 0.189 84.429)#FFB900
500--color-amber-500bg-amber-500oklch(76.9% 0.188 70.08)#FE9A00
600--color-amber-600bg-amber-600oklch(66.6% 0.179 58.318)#E17100
700--color-amber-700bg-amber-700oklch(55.5% 0.163 48.998)#BB4D00
800--color-amber-800bg-amber-800oklch(47.3% 0.137 46.201)#973C00
900--color-amber-900bg-amber-900oklch(41.4% 0.112 45.904)#7B3306
950--color-amber-950bg-amber-950oklch(27.9% 0.077 45.635)#461901

Yellow

Pure, high-value yellow. Use with care: contrast over white is treacherous, so prefer stops 600 and above for text.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-yellow-50bg-yellow-50oklch(98.7% 0.026 102.212)#FEFCE8
100--color-yellow-100bg-yellow-100oklch(97.3% 0.071 103.193)#FEF9C2
200--color-yellow-200bg-yellow-200oklch(94.5% 0.129 101.54)#FFF085
300--color-yellow-300bg-yellow-300oklch(90.5% 0.182 98.111)#FFDF20
400--color-yellow-400bg-yellow-400oklch(85.2% 0.199 91.936)#FDC700
500--color-yellow-500bg-yellow-500oklch(79.5% 0.184 86.047)#F0B100
600--color-yellow-600bg-yellow-600oklch(68.1% 0.162 75.834)#D08700
700--color-yellow-700bg-yellow-700oklch(55.4% 0.135 66.442)#A65F00
800--color-yellow-800bg-yellow-800oklch(47.6% 0.114 61.907)#894B00
900--color-yellow-900bg-yellow-900oklch(42.1% 0.095 57.708)#733E0A
950--color-yellow-950bg-yellow-950oklch(28.6% 0.066 53.813)#432004

Lime

Acid lime green with attitude. Works for tech-forward and fitness brands; hard to combine with conservative palettes.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-lime-50bg-lime-50oklch(98.6% 0.031 120.757)#F7FEE7
100--color-lime-100bg-lime-100oklch(96.7% 0.067 122.328)#ECFCCA
200--color-lime-200bg-lime-200oklch(93.8% 0.127 124.321)#D8F999
300--color-lime-300bg-lime-300oklch(89.7% 0.196 126.665)#BBF451
400--color-lime-400bg-lime-400oklch(84.1% 0.238 128.85)#9AE600
500--color-lime-500bg-lime-500oklch(76.8% 0.233 130.85)#7CCF00
600--color-lime-600bg-lime-600oklch(64.8% 0.2 131.684)#5EA500
700--color-lime-700bg-lime-700oklch(53.2% 0.157 131.589)#497D00
800--color-lime-800bg-lime-800oklch(45.3% 0.124 130.933)#3C6300
900--color-lime-900bg-lime-900oklch(40.5% 0.101 131.063)#35530E
950--color-lime-950bg-lime-950oklch(27.4% 0.072 132.109)#192E03

Green

The classic growth green. In UI it signals progress and generic approval.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-green-50bg-green-50oklch(98.2% 0.018 155.826)#F0FDF4
100--color-green-100bg-green-100oklch(96.2% 0.044 156.743)#DCFCE7
200--color-green-200bg-green-200oklch(92.5% 0.084 155.995)#B9F8CF
300--color-green-300bg-green-300oklch(87.1% 0.15 154.449)#7BF1A8
400--color-green-400bg-green-400oklch(79.2% 0.209 151.711)#05DF72
500--color-green-500bg-green-500oklch(72.3% 0.219 149.579)#00C950
600--color-green-600bg-green-600oklch(62.7% 0.194 149.214)#00A63E
700--color-green-700bg-green-700oklch(52.7% 0.154 150.069)#008236
800--color-green-800bg-green-800oklch(44.8% 0.119 151.328)#016630
900--color-green-900bg-green-900oklch(39.3% 0.095 152.535)#0D542B
950--color-green-950bg-green-950oklch(26.6% 0.065 152.934)#032E15

Cool spectrum

Blue-greens (emerald, teal), cyan, the blues, and the transition into violet. This is the most "digital product" range of the palette, where the defaults for links, primary actions, and categorical charts live. emerald is the usual success hue; sky is the usual info hue.

Emerald

A cooler, more sophisticated green and the usual success hue. Pairs well with slate and gray.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-emerald-50bg-emerald-50oklch(97.9% 0.021 166.113)#ECFDF5
100--color-emerald-100bg-emerald-100oklch(95% 0.052 163.051)#D0FAE5
200--color-emerald-200bg-emerald-200oklch(90.5% 0.093 164.15)#A4F4CF
300--color-emerald-300bg-emerald-300oklch(84.5% 0.143 164.978)#5EE9B5
400--color-emerald-400bg-emerald-400oklch(76.5% 0.177 163.223)#00D492
500--color-emerald-500bg-emerald-500oklch(69.6% 0.17 162.48)#00BC7D
600--color-emerald-600bg-emerald-600oklch(59.6% 0.145 163.225)#009966
700--color-emerald-700bg-emerald-700oklch(50.8% 0.118 165.612)#007A55
800--color-emerald-800bg-emerald-800oklch(43.2% 0.095 166.913)#006045
900--color-emerald-900bg-emerald-900oklch(37.8% 0.077 168.94)#004F3B
950--color-emerald-950bg-emerald-950oklch(26.2% 0.051 172.552)#002C22

Teal

The balance point between green and blue. Ideal for calm brands and health, finance, or wellness products.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-teal-50bg-teal-50oklch(98.4% 0.014 180.72)#F0FDFA
100--color-teal-100bg-teal-100oklch(95.3% 0.051 180.801)#CBFBF1
200--color-teal-200bg-teal-200oklch(91% 0.096 180.426)#96F7E4
300--color-teal-300bg-teal-300oklch(85.5% 0.138 181.071)#46ECD5
400--color-teal-400bg-teal-400oklch(77.7% 0.152 181.912)#00D5BE
500--color-teal-500bg-teal-500oklch(70.4% 0.14 182.503)#00BBA7
600--color-teal-600bg-teal-600oklch(60% 0.118 184.704)#009689
700--color-teal-700bg-teal-700oklch(51.1% 0.096 186.391)#00786F
800--color-teal-800bg-teal-800oklch(43.7% 0.078 188.216)#005F5A
900--color-teal-900bg-teal-900oklch(38.6% 0.063 188.416)#0B4F4A
950--color-teal-950bg-teal-950oklch(27.7% 0.046 192.524)#022F2E

Cyan

Vibrant light blue, almost electric. A tech accent without falling into corporate blue.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-cyan-50bg-cyan-50oklch(98.4% 0.019 200.873)#ECFEFF
100--color-cyan-100bg-cyan-100oklch(95.6% 0.045 203.388)#CEFAFE
200--color-cyan-200bg-cyan-200oklch(91.7% 0.08 205.041)#A2F4FD
300--color-cyan-300bg-cyan-300oklch(86.5% 0.127 207.078)#53EAFD
400--color-cyan-400bg-cyan-400oklch(78.9% 0.154 211.53)#00D3F2
500--color-cyan-500bg-cyan-500oklch(71.5% 0.143 215.221)#00B8DB
600--color-cyan-600bg-cyan-600oklch(60.9% 0.126 221.723)#0092B8
700--color-cyan-700bg-cyan-700oklch(52% 0.105 223.128)#007595
800--color-cyan-800bg-cyan-800oklch(45% 0.085 224.283)#005F78
900--color-cyan-900bg-cyan-900oklch(39.8% 0.07 227.392)#104E64
950--color-cyan-950bg-cyan-950oklch(30.2% 0.056 229.695)#053345

Sky

Light, airy blue and the usual info hue. Friendlier than blue while keeping the technical character.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-sky-50bg-sky-50oklch(97.7% 0.013 236.62)#F0F9FF
100--color-sky-100bg-sky-100oklch(95.1% 0.026 236.824)#DFF2FE
200--color-sky-200bg-sky-200oklch(90.1% 0.058 230.902)#B8E6FE
300--color-sky-300bg-sky-300oklch(82.8% 0.111 230.318)#74D4FF
400--color-sky-400bg-sky-400oklch(74.6% 0.16 232.661)#00BCFF
500--color-sky-500bg-sky-500oklch(68.5% 0.169 237.323)#00A6F4
600--color-sky-600bg-sky-600oklch(58.8% 0.158 241.966)#0084D1
700--color-sky-700bg-sky-700oklch(50% 0.134 242.749)#0069A8
800--color-sky-800bg-sky-800oklch(44.3% 0.11 240.79)#00598A
900--color-sky-900bg-sky-900oklch(39.1% 0.09 240.876)#024A70
950--color-sky-950bg-sky-950oklch(29.3% 0.066 243.157)#052F4A

Blue

The classic digital product blue. The safe, versatile default for links and primary actions.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-blue-50bg-blue-50oklch(97% 0.014 254.604)#EFF6FF
100--color-blue-100bg-blue-100oklch(93.2% 0.032 255.585)#DBEAFE
200--color-blue-200bg-blue-200oklch(88.2% 0.059 254.128)#BEDBFF
300--color-blue-300bg-blue-300oklch(80.9% 0.105 251.813)#8EC5FF
400--color-blue-400bg-blue-400oklch(70.7% 0.165 254.624)#51A2FF
500--color-blue-500bg-blue-500oklch(62.3% 0.214 259.815)#2B7FFF
600--color-blue-600bg-blue-600oklch(54.6% 0.245 262.881)#155DFC
700--color-blue-700bg-blue-700oklch(48.8% 0.243 264.376)#1447E6
800--color-blue-800bg-blue-800oklch(42.4% 0.199 265.638)#193CB8
900--color-blue-900bg-blue-900oklch(37.9% 0.146 265.522)#1C398E
950--color-blue-950bg-blue-950oklch(28.2% 0.091 267.935)#162456

Indigo

Deep blue with a violet pull. More editorial and premium than blue; suits nocturnal products and technical brands.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-indigo-50bg-indigo-50oklch(96.2% 0.018 272.314)#EEF2FF
100--color-indigo-100bg-indigo-100oklch(93% 0.034 272.788)#E0E7FF
200--color-indigo-200bg-indigo-200oklch(87% 0.065 274.039)#C6D2FF
300--color-indigo-300bg-indigo-300oklch(78.5% 0.115 274.713)#A3B3FF
400--color-indigo-400bg-indigo-400oklch(67.3% 0.182 276.935)#7C86FF
500--color-indigo-500bg-indigo-500oklch(58.5% 0.233 277.117)#615FFF
600--color-indigo-600bg-indigo-600oklch(51.1% 0.262 276.966)#4F39F6
700--color-indigo-700bg-indigo-700oklch(45.7% 0.24 277.023)#432DD7
800--color-indigo-800bg-indigo-800oklch(39.8% 0.195 277.366)#372AAC
900--color-indigo-900bg-indigo-900oklch(35.9% 0.144 278.697)#312C85
950--color-indigo-950bg-indigo-950oklch(25.7% 0.09 281.288)#1E1A4D

Violet

Balanced purple. Works as an accent without dominating the palette.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-violet-50bg-violet-50oklch(96.9% 0.016 293.756)#F5F3FF
100--color-violet-100bg-violet-100oklch(94.3% 0.029 294.588)#EDE9FE
200--color-violet-200bg-violet-200oklch(89.4% 0.057 293.283)#DDD6FF
300--color-violet-300bg-violet-300oklch(81.1% 0.111 293.571)#C4B4FF
400--color-violet-400bg-violet-400oklch(70.2% 0.183 293.541)#A684FF
500--color-violet-500bg-violet-500oklch(60.6% 0.25 292.717)#8E51FF
600--color-violet-600bg-violet-600oklch(54.1% 0.281 293.009)#7F22FE
700--color-violet-700bg-violet-700oklch(49.1% 0.27 292.581)#7008E7
800--color-violet-800bg-violet-800oklch(43.2% 0.232 292.759)#5D0EC0
900--color-violet-900bg-violet-900oklch(38% 0.189 293.745)#4D179A
950--color-violet-950bg-violet-950oklch(28.3% 0.141 291.089)#2F0D68

Purple

More saturated than violet, close to magenta at stop 500. Use for creativity, beta features, and differentiation.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-purple-50bg-purple-50oklch(97.7% 0.014 308.299)#FAF5FF
100--color-purple-100bg-purple-100oklch(94.6% 0.033 307.174)#F3E8FF
200--color-purple-200bg-purple-200oklch(90.2% 0.063 306.703)#E9D4FF
300--color-purple-300bg-purple-300oklch(82.7% 0.119 306.383)#DAB2FF
400--color-purple-400bg-purple-400oklch(71.4% 0.203 305.504)#C27AFF
500--color-purple-500bg-purple-500oklch(62.7% 0.265 303.9)#AD46FF
600--color-purple-600bg-purple-600oklch(55.8% 0.288 302.321)#9810FA
700--color-purple-700bg-purple-700oklch(49.6% 0.265 301.924)#8200DB
800--color-purple-800bg-purple-800oklch(43.8% 0.218 303.724)#6E11B0
900--color-purple-900bg-purple-900oklch(38.1% 0.176 304.987)#59168B
950--color-purple-950bg-purple-950oklch(29.1% 0.149 302.717)#3C0366

Accents

Magentas, pinks, and red-pinks for products that want more personality. rose pairs particularly well with stone and taupe.

Fuchsia

Vibrant magenta, almost neon. A discovery and novelty color; hard to combine with conservative palettes.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-fuchsia-50bg-fuchsia-50oklch(97.7% 0.017 320.058)#FDF4FF
100--color-fuchsia-100bg-fuchsia-100oklch(95.2% 0.037 318.852)#FAE8FF
200--color-fuchsia-200bg-fuchsia-200oklch(90.3% 0.076 319.62)#F6CFFF
300--color-fuchsia-300bg-fuchsia-300oklch(83.3% 0.145 321.434)#F4A8FF
400--color-fuchsia-400bg-fuchsia-400oklch(74% 0.238 322.16)#ED6AFF
500--color-fuchsia-500bg-fuchsia-500oklch(66.7% 0.295 322.15)#E12AFB
600--color-fuchsia-600bg-fuchsia-600oklch(59.1% 0.293 322.896)#C800DE
700--color-fuchsia-700bg-fuchsia-700oklch(51.8% 0.253 323.949)#A800B7
800--color-fuchsia-800bg-fuchsia-800oklch(45.2% 0.211 324.591)#8A0194
900--color-fuchsia-900bg-fuchsia-900oklch(40.1% 0.17 325.612)#721378
950--color-fuchsia-950bg-fuchsia-950oklch(29.3% 0.136 325.661)#4B004F

Pink

Warm, social pink. Suits interfaces that want warmth and closeness, like community and wellbeing products.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-pink-50bg-pink-50oklch(97.1% 0.014 343.198)#FDF2F8
100--color-pink-100bg-pink-100oklch(94.8% 0.028 342.258)#FCE7F3
200--color-pink-200bg-pink-200oklch(89.9% 0.061 343.231)#FCCEE8
300--color-pink-300bg-pink-300oklch(82.3% 0.12 346.018)#FDA5D5
400--color-pink-400bg-pink-400oklch(71.8% 0.202 349.761)#FB64B6
500--color-pink-500bg-pink-500oklch(65.6% 0.241 354.308)#F6339A
600--color-pink-600bg-pink-600oklch(59.2% 0.249 0.584)#E60076
700--color-pink-700bg-pink-700oklch(52.5% 0.223 3.958)#C6005C
800--color-pink-800bg-pink-800oklch(45.9% 0.187 3.815)#A3004C
900--color-pink-900bg-pink-900oklch(40.8% 0.153 2.432)#861043
950--color-pink-950bg-pink-950oklch(28.4% 0.109 3.907)#510424

Rose

Elegant red-leaning pink. Combines particularly well with stone and taupe.

SampleStepCSS TokenTailwind classOKLCHHEX
50--color-rose-50bg-rose-50oklch(96.9% 0.015 12.422)#FFF1F2
100--color-rose-100bg-rose-100oklch(94.1% 0.03 12.58)#FFE4E6
200--color-rose-200bg-rose-200oklch(89.2% 0.058 10.001)#FFCCD3
300--color-rose-300bg-rose-300oklch(81% 0.117 11.638)#FFA1AD
400--color-rose-400bg-rose-400oklch(71.2% 0.194 13.428)#FF637E
500--color-rose-500bg-rose-500oklch(64.5% 0.246 16.439)#FF2056
600--color-rose-600bg-rose-600oklch(58.6% 0.253 17.585)#EC003F
700--color-rose-700bg-rose-700oklch(51.4% 0.222 16.935)#C70036
800--color-rose-800bg-rose-800oklch(45.5% 0.188 13.697)#A50036
900--color-rose-900bg-rose-900oklch(41% 0.159 10.272)#8B0836
950--color-rose-950bg-rose-950oklch(27.1% 0.105 12.094)#4D0218

Good practices

  • Do not use stops 50 to 200 for text over white: the contrast is insufficient. Use them as surfaces.
  • Stop 400 is tricky: good as a visual divider between primary and secondary, dangerous for critical text (the ratio varies a lot between ramps).
  • Dark mode mirrors, it does not invert: 950 becomes the background and 50 the foreground. Do not swap the middle stops in logic; pick different primitives in the theme instead.
  • Five ramps are Gremorie specific (mauve, mist, olive, taupe, clay). If you export the system elsewhere, document that these are not stock Tailwind.

On this page