KDS
Primitive

Colors

26 paletas × 11 stops — Tailwind v4 estendido com 4 paletas customizadas (mauve, mist, olive, taupe) sintetizadas para suportar os temas KDS.

A KDS herda as paletas do Tailwind v4 e estende com quatro paletas customizadas (mauve, mist, olive, taupe) — necessárias para suportar os temas Amber Minimal, Amethyst Haze e Claude com primitivos consistentes em vez de OKLCH literal.

São 26 paletas × 11 stops = 286 cores. Cada stop é intencionalmente espaçado em claridade (perceptualmente uniforme no espaço OKLCH), garantindo que slate-200 e blue-200 se comportam de forma similar quando usados como surface, mesmo sendo hues completamente diferentes.

Como ler a escala

Os stops vão de 50 (mais claro) a 950 (mais escuro). Não existe regra rígida de uso — mas há padrões fortes:

FaixaUso típico
50, 100Backgrounds, hover de itens, surfaces sutis
200, 300Borders, separadores, surfaces secundárias
400, 500Texto secundário, ícones, placeholders
600, 700Texto principal, primary actions, ícones de UI ativa
800, 900, 950Headings, dark mode surfaces

Esses stops também são stable: Tailwind v4 não muda OKLCH quando você atualiza versão minor. Se quiser mudar o tom de algum, edite o primitivo na KDS — a mudança cascateia.

Como consumir

Três formas, todas equivalentes:

// 1. CSS variable
<div style={{ background: "var(--color-blue-600)" }} />

// 2. Utilitário Tailwind (gerado automaticamente)
<div className="bg-blue-600" />

// 3. JS via design tokens (no consumo programático)
import tokens from "@kalvner/kds/tokens";
const blue600 = tokens.color.blue[600];

Se você está dentro de um componente que respeita o tema, a quase totalidade dos casos é consumir um token semântico (bg-primary, text-foreground) em vez de um primitivo.

HEX é aproximação. Os valores HEX nas tabelas abaixo são a conversão sRGB-clamped do OKLCH. Para stops saturados em fuchsia, lime, etc., o OKLCH descreve cores fora do gamut sRGB — o HEX é o ponto mais próximo dentro do gamut, não o valor exato. A fonte da verdade é sempre OKLCH.

Neutros

Nove paletas neutras cobrem o espectro de "cinza puro" (neutral) até variações com viés de temperatura (slate frio, stone quente, mauve violeta-rosado). Use-as para chrome, surfaces, texto e backgrounds. Cinco delas são padrão Tailwind, quatro são customizações KDS (mauve, mist, olive, taupe) sintetizadas para permitir mapeamento fiel dos temas tweakcn-importados.

Slate

Neutro frio com leve viés azulado. Ideal para chrome de UI sério, dashboards corporativos e produtos onde a credibilidade pesa mais que a personalidade.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Gray

Neutro próximo ao perfeito, com micro-temperatura cinza-azul. O default seguro quando nenhum dos outros neutros se justifica.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
50--color-gray-50bg-gray-50oklch(98.5% 0.002 247.839)#F9FAFB
100--color-gray-100bg-gray-100oklch(96.7% 0.003 264.542)#F3F4F6
200--color-gray-200bg-gray-200oklch(92.8% 0.006 264.531)#E5E7EB
300--color-gray-300bg-gray-300oklch(87.2% 0.01 258.338)#D1D5DC
400--color-gray-400bg-gray-400oklch(70.7% 0.022 261.325)#99A1AF
500--color-gray-500bg-gray-500oklch(55.1% 0.027 264.364)#6A7282
600--color-gray-600bg-gray-600oklch(44.6% 0.03 256.802)#4A5565
700--color-gray-700bg-gray-700oklch(37.3% 0.034 259.733)#364153
800--color-gray-800bg-gray-800oklch(27.8% 0.033 256.848)#1E2939
900--color-gray-900bg-gray-900oklch(21% 0.034 264.665)#101828
950--color-gray-950bg-gray-950oklch(13% 0.028 261.692)#030712

Zinc

Neutro levemente roxo, mais técnico. Bom em superfícies de produto onde queremos um cinza com caráter sem cair em uma cor declarada.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Cinzas puros — chroma zero. É o neutro do shadcn baseColor, e o ponto de partida quando tema e marca ainda não foram definidos.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Neutro quente terra. Mistura bem com paletas amber/orange e tons editoriais. Aparece como base do tema Claude.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Neutro com viés violeta-rosado bem sutil. Sintetizado para o tema Amethyst Haze — adiciona sofisticação sem sair do território neutro.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Neutro verde-amarelado, terroso. Complementa amber e stone em layouts editoriais e em interfaces com pegada orgânica.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Neutro com micro-viés ciano. Útil quando o produto pede um cinza mais frio que slate sem tombar para o azul.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Neutro morno entre stone e mauve — terroso mas com nuance rosada. Sintetizado para o tema Claude.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Espectro quente

Vermelhos, laranjas, âmbares, amarelos, limas e verdes. A amplitude vai do crítico (red, para destrutivo) até o orgânico (green, lime). Amber define o tema Amber Minimal e é uma das melhores cores para warning sem cair na clichê do amarelo puro.

Red

Vermelho clássico, alto contraste. Reservado para destruição, falhas críticas e estados de erro inequívocos.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Quente e energético, mais aproximável que vermelho. Bom para CTAs entusiastas, alertas não-críticos e elementos de descoberta.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Dourado luminoso. Define o tema Amber Minimal e funciona bem em warnings, badges premium e highlights afetuosos.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Amarelo puro, alto valor. Use com cuidado: contraste sobre branco é traiçoeiro — prefira stops 600+ para texto.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Verde-limão ácido, jovem. Funciona em marcas tech-forward, fitness e produtos com atitude. Difícil de combinar com paletas conservadoras.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Verde clássico de crescimento. Em UI, sinaliza progresso e aprovação genérica — em charts, prefira `emerald` no token de status para evitar ruído.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Espectro frio

Verdes-azulados (emerald, teal), ciano, azuis e a transição para violeta (indigo, violet, purple). É a faixa mais "produto digital" da paleta — onde caem os defaults para links, primary actions e charts categóricos. Emerald é o token de sucesso em charts; sky é o token de info.

Emerald

Verde mais frio e sofisticado. É o token de sucesso em charts da KDS. Combina bem com slate e gray.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Equilíbrio entre verde e azul, ideal para marcas calmas e produtos de saúde, finanças ou bem-estar.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Azul-claro vibrante, quase elétrico. Funciona em interfaces que precisam de um toque tech sem ir para o azul corporativo.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Azul céu, leve e arejado. Token de info em charts. Mais acolhedor que blue, sem perder o caráter técnico.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Azul clássico de produto digital. Default para links, primary actions e charts categóricos. O tom mais seguro e versátil.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Azul profundo com puxada violeta. Mais editorial e premium que blue. Funciona em produtos noturnos e marcas técnicas.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Roxo equilibrado. Token categórico em charts. Funciona como acento sem dominar a paleta.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Roxo mais saturado que violet — quase magenta no stop 500. Use para elementos de criatividade, beta features e diferenciação.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Acentos

Magentas, rosas e rosa-vermelhos para casos onde o produto pede mais personalidade. Rose define o lado quente do esquema Divergent (Red-Blue) e combina particularmente bem com stone e taupe.

Fuchsia

Magenta vibrante, quase neon. Cor de descoberta e novidade. Difícil de combinar com paletas conservadoras.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Rosa quente, social. Funciona em interfaces que querem carinho e proximidade — comunidade, dating, bem-estar feminino.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Rosa-vermelho, elegante. O lado quente do esquema Divergent. Combina bem com stone e taupe.

AmostraPassoCSS TokenClasse TailwindOKLCHHEX
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

Boas práticas

  • Não use stops 50-200 para texto sobre branco — contraste insuficiente. Use-os como surfaces.
  • Stops 400 são tricky: bons como divisor visual entre primário e secundário, mas perigosos para texto crítico (ratio varia muito entre paletas).
  • Dark mode espelha, não inverte: 950 é o background, 50 é o foreground. Não troque os tons do meio na lógica — escolha primitivos diferentes.
  • Quatro paletas customizadas (mauve, mist, olive, taupe) são específicas da KDS. Se você está exportando o sistema para fora, documente que essas não são padrão Tailwind.

On this page