Design system generator
Dusty Cobalt #647EA6
Dusty Cobalt sits at step 600 of its scale. UIX builds a full design system around it: 11-step scales, light and dark tokens, 40 contrast-checked text pairs, type and radius. It is close to Tailwind’s blue (#3B82F6).
Color scales
| Dusty Cobalt | 50#F3F6F9 | 100#E6EAF1 | 200#D1DAE7 | 300#B3C1D7 | 400#8EA2C0 | 500#718AAF | 600#647EA6 | 700#4A6286 | 800#3D516F | 900#36445B | 950#1E2735 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Dusty Amber | 50#F7F5F2 | 100#EEE9E2 | 200#E1D8CB | 300#CDBEA8 | 400#B29D7E | 500#9D845C | 600#93784D | 700#755C34 | 800#614C2B | 900#504129 | 950#2E2516 |
| Neutral | 50#F9FAFB | 100#F2F4F6 | 200#E4E7EC | 300#D0D5DC | 400#9AA1AB | 500#6B737C | 600#4E555E | 700#3A414A | 800#232931 | 900#14191F | 950#080A0E |
| Error | 50#FFF2F3 | 300#FFA2AD | 500#DE295B | 800#970036 | 950#4A081A | ||||||
| Warning | 50#FFF3EB | 300#FF9543 | 500#CD6900 | 800#7B3D00 | 950#3E1C00 | ||||||
| Success | 50#EFF8F5 | 300#8FD0BF | 500#00B79C | 800#005E4F | 950#002E26 |
What each step is for
50Page and card backgrounds100Page and card backgrounds200Hover and selected backgrounds300Borders and dividers400Strong borders, focus rings, icons on dark500Solid fills, charts600Buttons and links700Hover on buttons, brand text800Pressed states, text on light tints900Headings and text on light backgrounds950Headings and text on light backgrounds
Why these choices
- Your color sits at step 600. Its lightness (59% in OKLCH) matches step 600 of the scale, so the other ten steps are built around it instead of forcing it to 500.
- Buttons use step 700, not your exact color. White text on #647EA6 is only 4.1:1. Step 700 is the closest one that passes AA, so it looks like your brand and stays readable.
- Brand text starts at step 700. Links and brand-colored text need 4.5:1 on white. Step 700 is the lightest that gets there; anything lighter is for large headings and icons only.
- 1 token moved for contrast. bg/secondary (Light): secondary 600 → secondary 700, because text/on-secondary on bg/secondary was 4.17:1
- Every text pair passes AA. 40 foreground and background pairs checked in light and dark.
Contrast receipt
| Pair | Mode | Colors | WCAG 2 | Level | APCA |
|---|---|---|---|---|---|
| text/primary on bg/surface | Light | 17.67:1 | AAA | Lc 104 | |
| text/secondary on bg/surface | Light | 7.54:1 | AAA | Lc 86 | |
| text/tertiary on bg/surface | Light | 4.81:1 | AA | Lc 73 | |
| text/brand on bg/surface | Light | 6.21:1 | AA | Lc 81 | |
| text/danger on bg/surface | Light | 8.86:1 | AAA | Lc 88 | |
| text/warning on bg/surface | Light | 8.37:1 | AAA | Lc 88 | |
| text/success on bg/surface | Light | 7.74:1 | AAA | Lc 86 | |
| text/primary on bg/canvas | Light | 16.91:1 | AAA | Lc 101 | |
| text/secondary on bg/canvas | Light | 7.22:1 | AAA | Lc 83 | |
| text/tertiary on bg/canvas | Light | 4.60:1 | AA | Lc 70 | |
| text/secondary on bg/subtle | Light | 6.84:1 | AA | Lc 80 | |
| text/on-brand on bg/brand | Light | 6.21:1 | AA | Lc 86 | |
| text/on-brand on bg/brand-hover | Light | 8.06:1 | AAA | Lc 93 | |
| text/on-danger on bg/danger | Light | 4.59:1 | AA | Lc 76 | |
| text/on-secondary on bg/secondary | Light | 6.29:1 | AA | Lc 86 | |
| text/inverse on bg/inverse | Light | 17.67:1 | AAA | Lc 107 | |
| text/brand on bg/brand-subtle | Light | 5.72:1 | AA | Lc 75 | |
| text/danger on bg/danger-subtle | Light | 8.12:1 | AAA | Lc 82 | |
| text/success on bg/success-subtle | Light | 7.15:1 | AAA | Lc 81 | |
| text/warning on bg/warning-subtle | Light | 7.68:1 | AAA | Lc 82 | |
| text/primary on bg/surface | Dark | 16.91:1 | AAA | Lc 103 | |
| text/secondary on bg/surface | Dark | 11.97:1 | AAA | Lc 80 | |
| text/tertiary on bg/surface | Dark | 6.78:1 | AA | Lc 50 | |
| text/brand on bg/surface | Dark | 6.80:1 | AA | Lc 50 | |
| text/danger on bg/surface | Dark | 9.27:1 | AAA | Lc 65 | |
| text/warning on bg/surface | Dark | 8.10:1 | AAA | Lc 59 | |
| text/success on bg/surface | Dark | 10.05:1 | AAA | Lc 69 | |
| text/primary on bg/canvas | Dark | 18.96:1 | AAA | Lc 104 | |
| text/secondary on bg/canvas | Dark | 13.43:1 | AAA | Lc 81 | |
| text/tertiary on bg/canvas | Dark | 7.60:1 | AAA | Lc 51 | |
| text/secondary on bg/subtle | Dark | 9.93:1 | AAA | Lc 77 | |
| text/on-brand on bg/brand | Dark | 6.21:1 | AA | Lc 86 | |
| text/on-brand on bg/brand-hover | Dark | 8.06:1 | AAA | Lc 93 | |
| text/on-danger on bg/danger | Dark | 4.59:1 | AA | Lc 76 | |
| text/on-secondary on bg/secondary | Dark | 7.56:1 | AAA | Lc 53 | |
| text/inverse on bg/inverse | Dark | 16.91:1 | AAA | Lc 101 | |
| text/brand on bg/brand-subtle | Dark | 5.78:1 | AA | Lc 48 | |
| text/danger on bg/danger-subtle | Dark | 8.22:1 | AAA | Lc 63 | |
| text/success on bg/success-subtle | Dark | 8.42:1 | AAA | Lc 67 | |
| text/warning on bg/warning-subtle | Dark | 7.03:1 | AAA | Lc 57 |