The New CSS

Colors Extended

13 additional color palettes built with oklch() for perceptually uniform, vibrant colors. Each palette provides 11 shades (50-950), plus text, background, border, gradient, hover, and dark mode utility classes.

Installation

Install the addon via npm or load it from a CDN alongside the core library.

npm install @thenewcss/colors-extended

Color Palettes

Each palette defines 11 CSS custom properties on :root using the pattern --color-{palette}-{shade}. All values use the oklch() color space for perceptual uniformity.

Token Reference

Token PatternShadesExample
--color-indigo-*50-950var(--color-indigo-500)
--color-violet-*50-950var(--color-violet-500)
--color-slate-*50-950var(--color-slate-500)
--color-emerald-*50-950var(--color-emerald-500)
--color-cyan-*50-950var(--color-cyan-500)
--color-rose-*50-950var(--color-rose-500)
--color-amber-*50-950var(--color-amber-500)
--color-lime-*50-950var(--color-lime-500)
--color-fuchsia-*50-950var(--color-fuchsia-500)
--color-sky-*50-950var(--color-sky-500)
--color-stone-*50-950var(--color-stone-500)
--color-zinc-*50-950var(--color-zinc-500)
--color-neutral-*50-950var(--color-neutral-500)

Palette Swatches

indigo

violet

slate

emerald

cyan

rose

amber

lime

fuchsia

sky

stone

zinc

neutral

Text Color Utilities

Text utilities are available for shades 500, 600, and 700 across all 13 palettes (39 classes total). Use text-{color}-{shade} to set the text color.

Examples

Indigo 600Violet 600Emerald 600Cyan 600Rose 600Amber 600Lime 600Fuchsia 600Sky 600
<span class="text-indigo-600">Indigo text</span> <span class="text-rose-500">Rose text</span> <span class="text-emerald-700">Emerald text</span>

Class Reference

ClassCSS Property
text-indigo-500color: var(--color-indigo-500)
text-indigo-600color: var(--color-indigo-600)
text-indigo-700color: var(--color-indigo-700)
text-violet-500color: var(--color-violet-500)
text-violet-600color: var(--color-violet-600)
text-violet-700color: var(--color-violet-700)
text-slate-500color: var(--color-slate-500)
text-slate-600color: var(--color-slate-600)
text-slate-700color: var(--color-slate-700)
text-emerald-500color: var(--color-emerald-500)
text-emerald-600color: var(--color-emerald-600)
text-emerald-700color: var(--color-emerald-700)
text-cyan-500color: var(--color-cyan-500)
text-cyan-600color: var(--color-cyan-600)
text-cyan-700color: var(--color-cyan-700)
text-rose-500color: var(--color-rose-500)
text-rose-600color: var(--color-rose-600)
text-rose-700color: var(--color-rose-700)
text-amber-500color: var(--color-amber-500)
text-amber-600color: var(--color-amber-600)
text-amber-700color: var(--color-amber-700)
text-lime-500color: var(--color-lime-500)
text-lime-600color: var(--color-lime-600)
text-lime-700color: var(--color-lime-700)
text-fuchsia-500color: var(--color-fuchsia-500)
text-fuchsia-600color: var(--color-fuchsia-600)
text-fuchsia-700color: var(--color-fuchsia-700)
text-sky-500color: var(--color-sky-500)
text-sky-600color: var(--color-sky-600)
text-sky-700color: var(--color-sky-700)
text-stone-500color: var(--color-stone-500)
text-stone-600color: var(--color-stone-600)
text-stone-700color: var(--color-stone-700)
text-zinc-500color: var(--color-zinc-500)
text-zinc-600color: var(--color-zinc-600)
text-zinc-700color: var(--color-zinc-700)
text-neutral-500color: var(--color-neutral-500)
text-neutral-600color: var(--color-neutral-600)
text-neutral-700color: var(--color-neutral-700)

Background Color Utilities

Background utilities use bg-{color}-{shade}. Chromatic palettes include shades 50, 100, 500, 600, 700. Neutral palettes (slate, stone, zinc, neutral) include additional shades for UI surfaces: 200, 800, 900, 950.

Examples

indigo-50
indigo-500
indigo-700
rose-50
rose-500
rose-700
emerald-50
emerald-500
cyan-50
cyan-500
amber-50
amber-500
slate-100
slate-500
slate-800
slate-950
<div class="bg-indigo-500 text-white p-4 rounded-lg"> Indigo background </div> <div class="bg-slate-900 text-white p-4 rounded-lg"> Slate dark background </div>

Class Reference — Chromatic Palettes

Chromatic palettes provide shades 50, 100, 500, 600, and 700.

ClassCSS Property
bg-indigo-50background-color: var(--color-indigo-50)
bg-indigo-100background-color: var(--color-indigo-100)
bg-indigo-500background-color: var(--color-indigo-500)
bg-indigo-600background-color: var(--color-indigo-600)
bg-indigo-700background-color: var(--color-indigo-700)
bg-violet-50background-color: var(--color-violet-50)
bg-violet-100background-color: var(--color-violet-100)
bg-violet-500background-color: var(--color-violet-500)
bg-violet-600background-color: var(--color-violet-600)
bg-violet-700background-color: var(--color-violet-700)
bg-emerald-50background-color: var(--color-emerald-50)
bg-emerald-100background-color: var(--color-emerald-100)
bg-emerald-500background-color: var(--color-emerald-500)
bg-emerald-600background-color: var(--color-emerald-600)
bg-emerald-700background-color: var(--color-emerald-700)
bg-cyan-50background-color: var(--color-cyan-50)
bg-cyan-100background-color: var(--color-cyan-100)
bg-cyan-500background-color: var(--color-cyan-500)
bg-cyan-600background-color: var(--color-cyan-600)
bg-cyan-700background-color: var(--color-cyan-700)
bg-rose-50background-color: var(--color-rose-50)
bg-rose-100background-color: var(--color-rose-100)
bg-rose-500background-color: var(--color-rose-500)
bg-rose-600background-color: var(--color-rose-600)
bg-rose-700background-color: var(--color-rose-700)
bg-amber-50background-color: var(--color-amber-50)
bg-amber-100background-color: var(--color-amber-100)
bg-amber-500background-color: var(--color-amber-500)
bg-amber-600background-color: var(--color-amber-600)
bg-amber-700background-color: var(--color-amber-700)
bg-lime-50background-color: var(--color-lime-50)
bg-lime-100background-color: var(--color-lime-100)
bg-lime-500background-color: var(--color-lime-500)
bg-lime-600background-color: var(--color-lime-600)
bg-lime-700background-color: var(--color-lime-700)
bg-fuchsia-50background-color: var(--color-fuchsia-50)
bg-fuchsia-100background-color: var(--color-fuchsia-100)
bg-fuchsia-500background-color: var(--color-fuchsia-500)
bg-fuchsia-600background-color: var(--color-fuchsia-600)
bg-fuchsia-700background-color: var(--color-fuchsia-700)
bg-sky-50background-color: var(--color-sky-50)
bg-sky-100background-color: var(--color-sky-100)
bg-sky-500background-color: var(--color-sky-500)
bg-sky-600background-color: var(--color-sky-600)
bg-sky-700background-color: var(--color-sky-700)

Class Reference — Neutral Palettes

Neutral palettes (slate, stone, zinc, neutral) include extra shades for UI surfaces and dark backgrounds.

ClassCSS Property
bg-slate-50background-color: var(--color-slate-50)
bg-slate-100background-color: var(--color-slate-100)
bg-slate-200background-color: var(--color-slate-200)
bg-slate-500background-color: var(--color-slate-500)
bg-slate-600background-color: var(--color-slate-600)
bg-slate-700background-color: var(--color-slate-700)
bg-slate-800background-color: var(--color-slate-800)
bg-slate-900background-color: var(--color-slate-900)
bg-slate-950background-color: var(--color-slate-950)
bg-stone-50background-color: var(--color-stone-50)
bg-stone-100background-color: var(--color-stone-100)
bg-stone-200background-color: var(--color-stone-200)
bg-stone-500background-color: var(--color-stone-500)
bg-stone-600background-color: var(--color-stone-600)
bg-stone-700background-color: var(--color-stone-700)
bg-stone-800background-color: var(--color-stone-800)
bg-stone-900background-color: var(--color-stone-900)
bg-stone-950background-color: var(--color-stone-950)
bg-zinc-50background-color: var(--color-zinc-50)
bg-zinc-100background-color: var(--color-zinc-100)
bg-zinc-200background-color: var(--color-zinc-200)
bg-zinc-500background-color: var(--color-zinc-500)
bg-zinc-600background-color: var(--color-zinc-600)
bg-zinc-700background-color: var(--color-zinc-700)
bg-zinc-800background-color: var(--color-zinc-800)
bg-zinc-900background-color: var(--color-zinc-900)
bg-zinc-950background-color: var(--color-zinc-950)
bg-neutral-50background-color: var(--color-neutral-50)
bg-neutral-100background-color: var(--color-neutral-100)
bg-neutral-200background-color: var(--color-neutral-200)
bg-neutral-500background-color: var(--color-neutral-500)
bg-neutral-600background-color: var(--color-neutral-600)
bg-neutral-700background-color: var(--color-neutral-700)
bg-neutral-800background-color: var(--color-neutral-800)
bg-neutral-900background-color: var(--color-neutral-900)
bg-neutral-950background-color: var(--color-neutral-950)

Border Color Utilities

Border utilities are available for shades 200, 300, and 500 across all 13 palettes. Use border-{color}-{shade} to set the border color.

Examples

border-indigo-500
border-rose-300
border-emerald-500
border-slate-200
<div class="border-2 border-indigo-500 rounded p-4">Indigo border</div> <div class="border border-rose-300 rounded p-4">Rose border</div>

Class Reference

ClassCSS Property
border-indigo-200border-color: var(--color-indigo-200)
border-indigo-300border-color: var(--color-indigo-300)
border-indigo-500border-color: var(--color-indigo-500)
border-violet-200border-color: var(--color-violet-200)
border-violet-300border-color: var(--color-violet-300)
border-violet-500border-color: var(--color-violet-500)
border-slate-200border-color: var(--color-slate-200)
border-slate-300border-color: var(--color-slate-300)
border-slate-500border-color: var(--color-slate-500)
border-emerald-200border-color: var(--color-emerald-200)
border-emerald-300border-color: var(--color-emerald-300)
border-emerald-500border-color: var(--color-emerald-500)
border-cyan-200border-color: var(--color-cyan-200)
border-cyan-300border-color: var(--color-cyan-300)
border-cyan-500border-color: var(--color-cyan-500)
border-rose-200border-color: var(--color-rose-200)
border-rose-300border-color: var(--color-rose-300)
border-rose-500border-color: var(--color-rose-500)
border-amber-200border-color: var(--color-amber-200)
border-amber-300border-color: var(--color-amber-300)
border-amber-500border-color: var(--color-amber-500)
border-lime-200border-color: var(--color-lime-200)
border-lime-300border-color: var(--color-lime-300)
border-lime-500border-color: var(--color-lime-500)
border-fuchsia-200border-color: var(--color-fuchsia-200)
border-fuchsia-300border-color: var(--color-fuchsia-300)
border-fuchsia-500border-color: var(--color-fuchsia-500)
border-sky-200border-color: var(--color-sky-200)
border-sky-300border-color: var(--color-sky-300)
border-sky-500border-color: var(--color-sky-500)
border-stone-200border-color: var(--color-stone-200)
border-stone-300border-color: var(--color-stone-300)
border-stone-500border-color: var(--color-stone-500)
border-zinc-200border-color: var(--color-zinc-200)
border-zinc-300border-color: var(--color-zinc-300)
border-zinc-500border-color: var(--color-zinc-500)
border-neutral-200border-color: var(--color-neutral-200)
border-neutral-300border-color: var(--color-neutral-300)
border-neutral-500border-color: var(--color-neutral-500)

Gradient Utilities

Gradient stop utilities set the --gradient-from and --gradient-to custom properties at the 500 shade. Combine with the core library's bg-gradient-to-r (or other direction) class to create gradients.

Example

Indigo to Violet
Rose to Fuchsia
Emerald to Cyan
<div class="bg-gradient-to-r from-indigo-500 to-violet-500 text-white p-4 rounded-lg"> Indigo to Violet gradient </div>

Class Reference

ClassCSS Property
from-indigo-500--gradient-from: var(--color-indigo-500)
to-indigo-500--gradient-to: var(--color-indigo-500)
from-violet-500--gradient-from: var(--color-violet-500)
to-violet-500--gradient-to: var(--color-violet-500)
from-slate-500--gradient-from: var(--color-slate-500)
to-slate-500--gradient-to: var(--color-slate-500)
from-emerald-500--gradient-from: var(--color-emerald-500)
to-emerald-500--gradient-to: var(--color-emerald-500)
from-cyan-500--gradient-from: var(--color-cyan-500)
to-cyan-500--gradient-to: var(--color-cyan-500)
from-rose-500--gradient-from: var(--color-rose-500)
to-rose-500--gradient-to: var(--color-rose-500)
from-amber-500--gradient-from: var(--color-amber-500)
to-amber-500--gradient-to: var(--color-amber-500)
from-lime-500--gradient-from: var(--color-lime-500)
to-lime-500--gradient-to: var(--color-lime-500)
from-fuchsia-500--gradient-from: var(--color-fuchsia-500)
to-fuchsia-500--gradient-to: var(--color-fuchsia-500)
from-sky-500--gradient-from: var(--color-sky-500)
to-sky-500--gradient-to: var(--color-sky-500)
from-stone-500--gradient-from: var(--color-stone-500)
to-stone-500--gradient-to: var(--color-stone-500)
from-zinc-500--gradient-from: var(--color-zinc-500)
to-zinc-500--gradient-to: var(--color-zinc-500)
from-neutral-500--gradient-from: var(--color-neutral-500)
to-neutral-500--gradient-to: var(--color-neutral-500)

Hover Variants

Hover variants allow color changes on hover for text and background colors at shades 600 and 700. Use the escaped colon syntax: hover\:text-{color}-{shade} and hover\:bg-{color}-{shade}.

Example

<button class="bg-indigo-600 hover:bg-indigo-700 text-white px-4 py-2 rounded-lg"> Hover me </button> <a class="text-rose-600 hover:text-rose-700" href="#">Link text</a>

Class Reference — Hover Text

ClassCSS Property
hover\:text-indigo-600color: var(--color-indigo-600) on :hover
hover\:text-indigo-700color: var(--color-indigo-700) on :hover
hover\:text-violet-600color: var(--color-violet-600) on :hover
hover\:text-violet-700color: var(--color-violet-700) on :hover
hover\:text-slate-600color: var(--color-slate-600) on :hover
hover\:text-slate-700color: var(--color-slate-700) on :hover
hover\:text-emerald-600color: var(--color-emerald-600) on :hover
hover\:text-emerald-700color: var(--color-emerald-700) on :hover
hover\:text-cyan-600color: var(--color-cyan-600) on :hover
hover\:text-cyan-700color: var(--color-cyan-700) on :hover
hover\:text-rose-600color: var(--color-rose-600) on :hover
hover\:text-rose-700color: var(--color-rose-700) on :hover
hover\:text-amber-600color: var(--color-amber-600) on :hover
hover\:text-amber-700color: var(--color-amber-700) on :hover
hover\:text-lime-600color: var(--color-lime-600) on :hover
hover\:text-lime-700color: var(--color-lime-700) on :hover
hover\:text-fuchsia-600color: var(--color-fuchsia-600) on :hover
hover\:text-fuchsia-700color: var(--color-fuchsia-700) on :hover
hover\:text-sky-600color: var(--color-sky-600) on :hover
hover\:text-sky-700color: var(--color-sky-700) on :hover
hover\:text-stone-600color: var(--color-stone-600) on :hover
hover\:text-stone-700color: var(--color-stone-700) on :hover
hover\:text-zinc-600color: var(--color-zinc-600) on :hover
hover\:text-zinc-700color: var(--color-zinc-700) on :hover
hover\:text-neutral-600color: var(--color-neutral-600) on :hover
hover\:text-neutral-700color: var(--color-neutral-700) on :hover

Class Reference — Hover Background

ClassCSS Property
hover\:bg-indigo-600background-color: var(--color-indigo-600) on :hover
hover\:bg-indigo-700background-color: var(--color-indigo-700) on :hover
hover\:bg-violet-600background-color: var(--color-violet-600) on :hover
hover\:bg-violet-700background-color: var(--color-violet-700) on :hover
hover\:bg-slate-600background-color: var(--color-slate-600) on :hover
hover\:bg-slate-700background-color: var(--color-slate-700) on :hover
hover\:bg-emerald-600background-color: var(--color-emerald-600) on :hover
hover\:bg-emerald-700background-color: var(--color-emerald-700) on :hover
hover\:bg-cyan-600background-color: var(--color-cyan-600) on :hover
hover\:bg-cyan-700background-color: var(--color-cyan-700) on :hover
hover\:bg-rose-600background-color: var(--color-rose-600) on :hover
hover\:bg-rose-700background-color: var(--color-rose-700) on :hover
hover\:bg-amber-600background-color: var(--color-amber-600) on :hover
hover\:bg-amber-700background-color: var(--color-amber-700) on :hover
hover\:bg-lime-600background-color: var(--color-lime-600) on :hover
hover\:bg-lime-700background-color: var(--color-lime-700) on :hover
hover\:bg-fuchsia-600background-color: var(--color-fuchsia-600) on :hover
hover\:bg-fuchsia-700background-color: var(--color-fuchsia-700) on :hover
hover\:bg-sky-600background-color: var(--color-sky-600) on :hover
hover\:bg-sky-700background-color: var(--color-sky-700) on :hover
hover\:bg-stone-600background-color: var(--color-stone-600) on :hover
hover\:bg-stone-700background-color: var(--color-stone-700) on :hover
hover\:bg-zinc-600background-color: var(--color-zinc-600) on :hover
hover\:bg-zinc-700background-color: var(--color-zinc-700) on :hover
hover\:bg-neutral-600background-color: var(--color-neutral-600) on :hover
hover\:bg-neutral-700background-color: var(--color-neutral-700) on :hover

Dark Mode

The neutral palettes (slate, stone, zinc, neutral) include automatic dark mode support. Shades are inverted so that light surfaces become dark and dark surfaces become light. Dark mode activates via prefers-color-scheme: dark or the [data-theme="dark"] attribute for manual toggle.

Chromatic palettes (indigo, violet, emerald, cyan, rose, amber, lime, fuchsia, sky) do not include shade inversion in dark mode. Only the four neutral palettes remap their shades.

Shade Inversion

In dark mode, neutral palette shades are inverted. For example, bg-slate-50 (nearly white in light mode) becomes dark, while bg-slate-950 (nearly black in light mode) becomes light.

/* Dark mode shade inversion (applied automatically) */ @media (prefers-color-scheme: dark) { :root { --color-slate-50: /* dark value */; --color-slate-950: /* light value */; /* ...all shades remapped */ } } /* Also works with manual toggle */ [data-theme="dark"] { --color-slate-50: /* dark value */; /* ... */ }

Dark Mode Palettes

PaletteDark Mode SupportBehavior
slateYesShade inversion (50 swaps with 950, 100 with 900, etc.)
stoneYesShade inversion (50 swaps with 950, 100 with 900, etc.)
zincYesShade inversion (50 swaps with 950, 100 with 900, etc.)
neutralYesShade inversion (50 swaps with 950, 100 with 900, etc.)
indigoNoColors remain unchanged in dark mode
violetNoColors remain unchanged in dark mode
emeraldNoColors remain unchanged in dark mode
cyanNoColors remain unchanged in dark mode
roseNoColors remain unchanged in dark mode
amberNoColors remain unchanged in dark mode
limeNoColors remain unchanged in dark mode
fuchsiaNoColors remain unchanged in dark mode
skyNoColors remain unchanged in dark mode

Summary

CategoryPatternShadesCount
Tokens--color-{palette}-{shade}50-950143
Texttext-{color}-{shade}500, 600, 70039
Background (chromatic)bg-{color}-{shade}50, 100, 500, 600, 70045
Background (neutral)bg-{color}-{shade}50, 100, 200, 500, 600, 700, 800, 900, 95036
Borderborder-{color}-{shade}200, 300, 50039
Gradient fromfrom-{color}-50050013
Gradient toto-{color}-50050013
Hover texthover\:text-{color}-{shade}600, 70026
Hover backgroundhover\:bg-{color}-{shade}600, 70026