Colors
Hummingbird provides a small set of semantic color variables, which makes it easy to apply and customize consistently across the project.
Overview
Instead of applying fixed Tailwind palette classes like:
text-red-500bg-green-600border-blue-700etc.
It is recommended to rely on semantic color classes. Semantic colors are mapped to design tokens and automatically adapt when themes change.
For example,
text-primarybg-subtleborder-subtleetc.
This approach prevents dependence on specific palette values (blue-500, green-600, etc.). Instead, components reference semantic roles (primary, secondary, warning), making the UI easier to maintain, brand, and theme.
Behind the scenes, each semantic color class points to a CSS variable. Updating or overriding that variable updates the color everywhere it’s used.
List of semantic colors
Here is the list of semantic colors that will be generated as Tailwind utilities and also available as CSS variables.
| Background colors | ||
|---|---|---|
| Class | CSS variable | |
| bg-subtle | --background-color-subtle | |
| bg-muted | --background-color-muted | |
| bg-default | --background-color-default | |
| bg-highlight | --background-color-highlight | |
| bg-emphasis | --background-color-emphasis | |
| Text colors | ||
| Subtle text | text-subtle | --text-color-subtle |
| Muted text | text-muted | --text-color-muted |
| Default text | text-default | --text-color-default |
| Highlight text | text-highlight | --text-color-highlight |
| Emphasis text | text-emphasis | --text-color-emphasis |
| Border colors | ||
| border-subtle | --border-color-subtle | |
| border-default | --border-color-default | |
| border-emphasis | --border-color-emphasis | |
| Actions colors (generate all color-related utilities) | ||
| Color name | Description | |
| Active color | --color-active | |
| Hover color | --color-hover | |
| Selected color | --color-selected | |
| Disabled text | Disabled text color | --color-disabled-color |
| Disabled Background | --color-disabled | |
| Focus color | --color-focus | |
| Theme colors (generate all color-related utilities) | ||
| Light color | --color-light | |
| Dark color | --color-dark | |
Contrast | Contrast text color | --color-contrast |
| Primary lighter color | --color-primary-lighter | |
| Primary light color | --color-primary-light | |
| Primary color | --color-primary | |
| Primary dark color | --color-primary-dark | |
| Primary darker color | --color-primary-darker | |
| Secondary lighter color | --color-secondary-lighter | |
| Secondary light color | --color-secondary-light | |
| Secondary color | --color-secondary | |
| Secondary dark color | --color-secondary-dark | |
| Secondary darker color | --color-secondary-darker | |
| Info lighter color | --color-info-lighter | |
| Info light color | --color-info-light | |
| Info color | --color-info | |
| Info dark color | --color-info-dark | |
| Info darker color | --color-info-darker | |
| Success lighter color | --color-success-lighter | |
| Success light color | --color-success-light | |
| Success color | --color-success | |
| Success dark color | --color-success-dark | |
| Success darker color | --color-success-darker | |
| Warning lighter color | --color-warning-lighter | |
| Warning light color | --color-warning-light | |
| Warning color | --color-warning | |
| Warning dark color | --color-warning-dark | |
| Warning darker color | --color-warning-darker | |
| Danger lighter color | --color-danger-lighter | |
| Danger light color | --color-danger-light | |
| Danger color | --color-danger | |
| Danger dark color | --color-danger-dark | |
| Danger darker color | --color-danger-darker | |
How to use
Use semantic color classes like:
bg-primarytext-mutedborder-default
These classes use theme’s color variables, so the UI stays consistent when customizing or switching themes.
<button class="bg-primary text-contrast hover:bg-primary-dark">
Button
</button>
<p class="text-muted">Muted paragraph text</p>
<div class="border border-default bg-default p-4">
Card with subtle border
</div>
Customize color
Override any theme color or palette color by redefining its CSS variable inside a @theme block after importing Hummingbird
@import "tailwindcss";
@import "@hummingbirdui/hummingbird";
@theme {
--color-blue-500: oklch(65.2% 0.19 253.205);
--color-purple-500: oklch(62.1% 0.253 305.351);
--background-color-subtle: oklch(98% 0.02 240);
--color-primary: oklch(65.2% 0.19 253.205);
--color-secondary: oklch(62.1% 0.253 305.351);
}Color palettes
Each Hummingbird theme includes its own complete color palette, carefully designed to maintain a consistent visual tone. Use these palettes to customize existing themes or create entirely new ones with confidence.
blue
sky
cyan
indigo
violet
purple
fuchsia
pink
red
rose
orange
amber
yellow
lime
teal
emerald
green
olive
slate
gray
zinc
neutral
stone
mist
mauve
taupe
brown
maroon
Default color palette reference
Here's a complete list of the default colors and their values for reference:
@theme {
--color-blue-50: oklch(96.6% 0.017 248.005);
--color-blue-100: oklch(92.1% 0.04 248.259);
--color-blue-200: oklch(84.6% 0.08 247.688);
--color-blue-300: oklch(78.2% 0.116 248.462);
--color-blue-400: oklch(71.3% 0.155 250.48);
--color-blue-500: oklch(65.2% 0.19 253.205);
--color-blue-600: oklch(57.2% 0.194 255.787);
--color-blue-700: oklch(46.7% 0.154 254.944);
--color-blue-800: oklch(34.6% 0.109 253.653);
--color-blue-900: oklch(22.4% 0.065 250.695);
--color-blue-950: oklch(16.7% 0.041 244.034);
--color-sky-50: oklch(96.7% 0.023 220.721);
--color-sky-100: oklch(92.8% 0.05 218.681);
--color-sky-200: oklch(86.4% 0.094 220.171);
--color-sky-300: oklch(81% 0.123 222.706);
--color-sky-400: oklch(76.9% 0.146 227.492);
--color-sky-500: oklch(67.6% 0.134 229.829);
--color-sky-600: oklch(56.1% 0.11 228.989);
--color-sky-700: oklch(46% 0.09 228.714);
--color-sky-800: oklch(34.3% 0.066 226.856);
--color-sky-900: oklch(22.6% 0.042 222.511);
--color-sky-950: oklch(16.4% 0.03 219.873);
--color-cyan-50: oklch(97.9% 0.026 199.659);
--color-cyan-100: oklch(95.6% 0.044 203.388);
--color-cyan-200: oklch(91.2% 0.08 205.688);
--color-cyan-300: oklch(86.5% 0.115 207.078);
--color-cyan-400: oklch(79.7% 0.134 211.53);
--color-cyan-500: oklch(71.5% 0.126 215.221);
--color-cyan-600: oklch(60.9% 0.111 221.723);
--color-cyan-700: oklch(52% 0.094 223.128);
--color-cyan-800: oklch(45% 0.077 224.283);
--color-cyan-900: oklch(29.3% 0.047 222.73);
--color-cyan-950: oklch(19.6% 0.028 220.777);
--color-indigo-50: oklch(95.2% 0.023 277.957);
--color-indigo-100: oklch(91.8% 0.039 272.953);
--color-indigo-200: oklch(86.1% 0.067 273.722);
--color-indigo-300: oklch(78.5% 0.104 274.713);
--color-indigo-400: oklch(68% 0.158 276.935);
--color-indigo-500: oklch(58.5% 0.204 277.117);
--color-indigo-600: oklch(51.1% 0.23 276.966);
--color-indigo-700: oklch(45.7% 0.215 277.023);
--color-indigo-800: oklch(35.9% 0.135 278.697);
--color-indigo-900: oklch(24.4% 0.085 279.9);
--color-indigo-950: oklch(17.2% 0.048 281.899);
--color-violet-50: oklch(94.9% 0.027 295.052);
--color-violet-100: oklch(91.2% 0.044 294.116);
--color-violet-200: oklch(85.9% 0.075 293.246);
--color-violet-300: oklch(79.9% 0.109 293.317);
--color-violet-400: oklch(70.9% 0.159 293.541);
--color-violet-500: oklch(60.6% 0.219 292.717);
--color-violet-600: oklch(54.1% 0.247 293.009);
--color-violet-700: oklch(49.1% 0.241 292.581);
--color-violet-800: oklch(38% 0.178 293.745);
--color-violet-900: oklch(25.3% 0.108 294.873);
--color-violet-950: oklch(17.3% 0.06 298.5);
--color-purple-50: oklch(96.4% 0.023 310.71);
--color-purple-100: oklch(91.6% 0.054 309.501);
--color-purple-200: oklch(83.3% 0.109 308.786);
--color-purple-300: oklch(76% 0.148 307.134);
--color-purple-400: oklch(68.7% 0.205 307.061);
--color-purple-500: oklch(62.1% 0.253 305.351);
--color-purple-600: oklch(52.1% 0.219 304.404);
--color-purple-700: oklch(43.1% 0.18 304.918);
--color-purple-800: oklch(31.9% 0.123 305.503);
--color-purple-900: oklch(21% 0.066 305.882);
--color-purple-950: oklch(16.1% 0.041 306.806);
--color-fuchsia-50: oklch(96% 0.033 322.762);
--color-fuchsia-100: oklch(93.5% 0.049 318.547);
--color-fuchsia-200: oklch(87.7% 0.094 319.339);
--color-fuchsia-300: oklch(83.3% 0.132 321.434);
--color-fuchsia-400: oklch(74.8% 0.207 322.16);
--color-fuchsia-500: oklch(66.7% 0.259 322.15);
--color-fuchsia-600: oklch(59.1% 0.257 322.896);
--color-fuchsia-700: oklch(51.8% 0.226 323.949);
--color-fuchsia-800: oklch(40.1% 0.16 325.612);
--color-fuchsia-900: oklch(26.1% 0.097 325.243);
--color-fuchsia-950: oklch(17.7% 0.059 324.505);
--color-pink-50: oklch(95.9% 0.025 348.503);
--color-pink-100: oklch(92.2% 0.041 342.16);
--color-pink-200: oklch(87.3% 0.076 343.53);
--color-pink-300: oklch(82.3% 0.11 346.018);
--color-pink-400: oklch(72.5% 0.175 349.761);
--color-pink-500: oklch(65.6% 0.212 354.308);
--color-pink-600: oklch(59.2% 0.218 0.584);
--color-pink-700: oklch(52.5% 0.199 3.958);
--color-pink-800: oklch(40.8% 0.144 2.432);
--color-pink-900: oklch(26.2% 0.086 0.878);
--color-pink-950: oklch(17.9% 0.051 358.5);
--color-red-50: oklch(96.3% 0.019 9.298);
--color-red-100: oklch(91.5% 0.039 12.027);
--color-red-200: oklch(83.5% 0.083 12.484);
--color-red-300: oklch(77.1% 0.131 14.681);
--color-red-400: oklch(70% 0.17 16.405);
--color-red-500: oklch(64.4% 0.209 20.184);
--color-red-600: oklch(55.8% 0.197 20.884);
--color-red-700: oklch(45.8% 0.16 20.389);
--color-red-800: oklch(35% 0.124 20.32);
--color-red-900: oklch(23.4% 0.082 21.558);
--color-red-950: oklch(17.3% 0.058 18.726);
--color-rose-50: oklch(96.9% 0.018 351.141);
--color-rose-100: oklch(93.2% 0.032 353.327);
--color-rose-200: oklch(86.5% 0.06 352.738);
--color-rose-300: oklch(78.8% 0.097 353.101);
--color-rose-400: oklch(66.9% 0.137 357.096);
--color-rose-500: oklch(56.4% 0.156 356.312);
--color-rose-600: oklch(47.2% 0.131 358.677);
--color-rose-700: oklch(41.2% 0.113 358.628);
--color-rose-800: oklch(35.8% 0.098 358.412);
--color-rose-900: oklch(25.3% 0.064 356.308);
--color-rose-950: oklch(20.2% 0.047 358.924);
--color-orange-50: oklch(97.2% 0.023 75.863);
--color-orange-100: oklch(94.6% 0.046 76.839);
--color-orange-200: oklch(89.7% 0.08 71.401);
--color-orange-300: oklch(84.8% 0.117 69.151);
--color-orange-400: oklch(77.6% 0.159 59.042);
--color-orange-500: oklch(70.5% 0.187 47.604);
--color-orange-600: oklch(63.2% 0.178 44.888);
--color-orange-700: oklch(54.3% 0.16 42.266);
--color-orange-800: oklch(40.4% 0.117 42.653);
--color-orange-900: oklch(26.8% 0.074 44.413);
--color-orange-950: oklch(19% 0.047 49.439);
--color-amber-50: oklch(97.4% 0.024 79.745);
--color-amber-100: oklch(95% 0.047 80.809);
--color-amber-200: oklch(90.8% 0.087 80.429);
--color-amber-300: oklch(86.4% 0.127 78.903);
--color-amber-400: oklch(82.7% 0.154 76.061);
--color-amber-500: oklch(79.1% 0.17 69.781);
--color-amber-600: oklch(68.8% 0.151 68.41);
--color-amber-700: oklch(55.2% 0.12 69.498);
--color-amber-800: oklch(41.9% 0.09 71.232);
--color-amber-900: oklch(26.1% 0.055 76.595);
--color-amber-950: oklch(18.2% 0.037 82.456);
--color-yellow-50: oklch(98.6% 0.037 102.035);
--color-yellow-100: oklch(97% 0.074 102.739);
--color-yellow-200: oklch(94.5% 0.124 101.54);
--color-yellow-300: oklch(90.5% 0.166 98.111);
--color-yellow-400: oklch(86.1% 0.173 91.936);
--color-yellow-500: oklch(79.5% 0.162 86.047);
--color-yellow-600: oklch(68.1% 0.142 75.834);
--color-yellow-700: oklch(55.4% 0.121 66.442);
--color-yellow-800: oklch(42.1% 0.09 57.708);
--color-yellow-900: oklch(28.7% 0.058 60.576);
--color-yellow-950: oklch(20.1% 0.037 62.099);
--color-lime-50: oklch(98.6% 0.031 120.757);
--color-lime-100: oklch(96.7% 0.066 122.328);
--color-lime-200: oklch(93.7% 0.125 124.383);
--color-lime-300: oklch(89.7% 0.179 126.665);
--color-lime-400: oklch(84.9% 0.207 128.85);
--color-lime-500: oklch(76.8% 0.204 130.85);
--color-lime-600: oklch(64.8% 0.175 131.684);
--color-lime-700: oklch(53.2% 0.141 131.589);
--color-lime-800: oklch(40.5% 0.096 131.063);
--color-lime-900: oklch(27.8% 0.062 129.748);
--color-lime-950: oklch(19.5% 0.038 127.727);
--color-teal-50: oklch(97.5% 0.022 179.213);
--color-teal-100: oklch(94.8% 0.056 179.647);
--color-teal-200: oklch(90.4% 0.097 180.186);
--color-teal-300: oklch(85.5% 0.125 181.071);
--color-teal-400: oklch(78.5% 0.133 181.912);
--color-teal-500: oklch(70.4% 0.123 182.503);
--color-teal-600: oklch(60% 0.104 184.704);
--color-teal-700: oklch(51.1% 0.086 186.391);
--color-teal-800: oklch(43.7% 0.071 188.216);
--color-teal-900: oklch(28.1% 0.043 187.709);
--color-teal-950: oklch(19.2% 0.027 190.861);
--color-emerald-50: oklch(97.2% 0.035 172.186);
--color-emerald-100: oklch(95% 0.064 171.399);
--color-emerald-200: oklch(88.7% 0.138 167.22);
--color-emerald-300: oklch(84% 0.162 164.117);
--color-emerald-400: oklch(76.1% 0.159 162.091);
--color-emerald-500: oklch(68.3% 0.154 159.852);
--color-emerald-600: oklch(56.5% 0.127 159.799);
--color-emerald-700: oklch(46.3% 0.104 159.959);
--color-emerald-800: oklch(34.5% 0.077 160.027);
--color-emerald-900: oklch(22.6% 0.05 160.876);
--color-emerald-950: oklch(17.3% 0.039 160.279);
--color-green-50: oklch(97.3% 0.027 157.389);
--color-green-100: oklch(94.6% 0.052 154.677);
--color-green-200: oklch(89.9% 0.096 153.251);
--color-green-300: oklch(84.2% 0.136 153.299);
--color-green-400: oklch(77.6% 0.168 152.127);
--color-green-500: oklch(72.3% 0.192 149.579);
--color-green-600: oklch(62.7% 0.17 149.214);
--color-green-700: oklch(52.7% 0.137 150.069);
--color-green-800: oklch(39.3% 0.09 152.535);
--color-green-900: oklch(26.9% 0.057 152.586);
--color-green-950: oklch(18.6% 0.033 154.206);
--color-olive-50: oklch(97.6% 0.017 117.285);
--color-olive-100: oklch(88% 0.078 118.284);
--color-olive-200: oklch(88.4% 0.075 117.78);
--color-olive-300: oklch(81.7% 0.113 119.679);
--color-olive-400: oklch(74.1% 0.141 122.254);
--color-olive-500: oklch(64.1% 0.139 124.506);
--color-olive-600: oklch(54.5% 0.119 123.815);
--color-olive-700: oklch(45.4% 0.098 124.004);
--color-olive-800: oklch(34.8% 0.073 123.963);
--color-olive-900: oklch(23.7% 0.047 123.741);
--color-olive-950: oklch(16.8% 0.031 121.202);
--color-slate-50: oklch(98.4% 0.003 247.858);
--color-slate-100: oklch(95.9% 0.009 247.915);
--color-slate-200: oklch(91.6% 0.016 257.199);
--color-slate-300: oklch(86.9% 0.02 252.894);
--color-slate-400: oklch(71.8% 0.034 258.372);
--color-slate-500: oklch(57.2% 0.042 258.362);
--color-slate-600: oklch(44.6% 0.037 257.281);
--color-slate-700: oklch(37.2% 0.039 257.287);
--color-slate-800: oklch(27.9% 0.037 260.031);
--color-slate-900: oklch(20.8% 0.04 265.755);
--color-slate-950: oklch(12.9% 0.041 264.695);
--color-gray-50: oklch(99.1% 0.003 264.542);
--color-gray-100: oklch(96.1% 0.009 264.522);
--color-gray-200: oklch(91.8% 0.013 262.378);
--color-gray-300: oklch(85.6% 0.021 264.458);
--color-gray-400: oklch(74% 0.022 264.434);
--color-gray-500: oklch(61.1% 0.022 260.158);
--color-gray-600: oklch(45.5% 0.022 261.275);
--color-gray-700: oklch(29.2% 0.012 258.372);
--color-gray-800: oklch(24.3% 0.011 260.691);
--color-gray-900: oklch(18.6% 0.009 264.337);
--color-gray-950: oklch(13.4% 0.005 262.316);
--color-zinc-50: oklch(98.5% 0 0);
--color-zinc-100: oklch(96.1% 0.001 286.375);
--color-zinc-200: oklch(91.1% 0.005 286.292);
--color-zinc-300: oklch(87.1% 0.005 286.286);
--color-zinc-400: oklch(71.2% 0.013 286.066);
--color-zinc-500: oklch(55.2% 0.014 285.938);
--color-zinc-600: oklch(44.2% 0.015 285.786);
--color-zinc-700: oklch(37% 0.012 285.805);
--color-zinc-800: oklch(27.4% 0.005 286.033);
--color-zinc-900: oklch(21% 0.006 285.885);
--color-zinc-950: oklch(14.1% 0.004 285.823);
--color-neutral-50: oklch(98.5% 0 0);
--color-neutral-100: oklch(96.1% 0 0);
--color-neutral-200: oklch(91.6% 0 0);
--color-neutral-300: oklch(86.1% 0 0);
--color-neutral-400: oklch(70.9% 0 0);
--color-neutral-500: oklch(55.6% 0 0);
--color-neutral-600: oklch(43.9% 0 0);
--color-neutral-700: oklch(37.1% 0 0);
--color-neutral-800: oklch(26.9% 0 0);
--color-neutral-900: oklch(20.5% 0 0);
--color-neutral-950: oklch(14.5% 0 0);
--color-stone-50: oklch(98.2% 0.003 84.559);
--color-stone-100: oklch(96.4% 0.001 106.424);
--color-stone-200: oklch(91.5% 0.004 39.482);
--color-stone-300: oklch(86.9% 0.004 56.366);
--color-stone-400: oklch(71.6% 0.009 56.259);
--color-stone-500: oklch(55.3% 0.012 58.071);
--color-stone-600: oklch(44.4% 0.01 73.639);
--color-stone-700: oklch(37.4% 0.009 67.558);
--color-stone-800: oklch(26.8% 0.006 34.297);
--color-stone-900: oklch(21.6% 0.006 56.043);
--color-stone-950: oklch(14.7% 0.004 49.25);
--color-mist-50: oklch(98.4% 0.003 247.858);
--color-mist-100: oklch(96.1% 0.007 233.641);
--color-mist-200: oklch(93.7% 0.009 242.842);
--color-mist-300: oklch(89.6% 0.016 248.003);
--color-mist-400: oklch(80.9% 0.026 251.939);
--color-mist-500: oklch(71.1% 0.036 249.693);
--color-mist-600: oklch(61.1% 0.038 248.454);
--color-mist-700: oklch(51% 0.032 248.456);
--color-mist-800: oklch(38.8% 0.022 245.849);
--color-mist-900: oklch(26.1% 0.014 248.371);
--color-mist-950: oklch(18.5% 0.008 248.247);
--color-mauve-50: oklch(97.3% 0.011 316.492);
--color-mauve-100: oklch(94.8% 0.02 315.668);
--color-mauve-200: oklch(89.6% 0.037 314.629);
--color-mauve-300: oklch(81.4% 0.064 316.696);
--color-mauve-400: oklch(70.9% 0.093 317.015);
--color-mauve-500: oklch(60.6% 0.098 317.116);
--color-mauve-600: oklch(51.5% 0.09 319.444);
--color-mauve-700: oklch(43.1% 0.073 322.074);
--color-mauve-800: oklch(34% 0.045 321.824);
--color-mauve-900: oklch(23.3% 0.029 321.174);
--color-mauve-950: oklch(16.6% 0.017 321.531);
--color-taupe-50: oklch(96.2% 0.013 86.83);
--color-taupe-100: oklch(91.3% 0.021 88.726);
--color-taupe-200: oklch(84.7% 0.03 87.556);
--color-taupe-300: oklch(78.4% 0.035 89.883);
--color-taupe-400: oklch(71% 0.034 89.181);
--color-taupe-500: oklch(60.6% 0.031 86.654);
--color-taupe-600: oklch(51.9% 0.029 86.885);
--color-taupe-700: oklch(43.3% 0.024 87.569);
--color-taupe-800: oklch(34.2% 0.018 88.807);
--color-taupe-900: oklch(23.2% 0.01 80.593);
--color-taupe-950: oklch(16.5% 0.007 78.101);
--color-brown-50: oklch(97.1% 0.018 86.146);
--color-brown-100: oklch(92.8% 0.041 86.731);
--color-brown-200: oklch(86.5% 0.064 84.911);
--color-brown-300: oklch(79% 0.087 82.923);
--color-brown-400: oklch(70.6% 0.104 80.205);
--color-brown-500: oklch(61.3% 0.106 74.84);
--color-brown-600: oklch(52.4% 0.092 73.324);
--color-brown-700: oklch(44.1% 0.077 71.873);
--color-brown-800: oklch(34.6% 0.059 72.823);
--color-brown-900: oklch(23.4% 0.036 73.391);
--color-brown-950: oklch(16.5% 0.023 76.496);
--color-maroon-50: oklch(95.7% 0.02 17.5);
--color-maroon-100: oklch(91% 0.033 17.782);
--color-maroon-200: oklch(84.4% 0.055 18.307);
--color-maroon-300: oklch(74.3% 0.09 19.41);
--color-maroon-400: oklch(62.3% 0.129 21.466);
--color-maroon-500: oklch(51.9% 0.141 23.369);
--color-maroon-600: oklch(42.7% 0.119 23.574);
--color-maroon-700: oklch(36.1% 0.099 23.49);
--color-maroon-800: oklch(28.5% 0.074 22.984);
--color-maroon-900: oklch(19.7% 0.044 21.953);
--color-maroon-950: oklch(14.4% 0.025 20.618);
}
src/palettes/default.css