Flirt as a scale
Eleven steps from #7a2e4d, built by moving lightness in OKLCh and keeping the hue where it is. Every step is gamut-mapped by giving up chroma, never by clipping channels — clipping is what turns a light blue purple.
| Stop | Hex | OKLCh L | Chroma | On white | On black | APCA on white | ΔE00 from the step above |
|---|---|---|---|---|---|---|---|
| 50 | #fff1f5 | 97.0% | 0.016 ·capped | 1.10:1 | 19.14:1 | 0 | — |
| 100 | #ffe2ea | 93.8% | 0.034 ·capped | 1.22:1 | 17.28:1 | 11 | 6.2 |
| 200 | #ffc2d6 | 87.4% | 0.074 ·capped | 1.51:1 | 13.92:1 | 24 | 9.8 |
| 300 | #fba2c1 | 81.0% | 0.111 | 1.90:1 | 11.07:1 | 36 | 7.5 |
| 400 | #e58ead | 74.6% | 0.111 | 2.38:1 | 8.83:1 | 47 | 5.6 |
| 500 | #d07b99 | 68.2% | 0.111 | 3.02:1 | 6.95:1 | 57 | 6.1 |
| 600 | #ba6886 | 61.8% | 0.111 | 3.89:1 | 5.40:1 | 66 | 6.7 |
| 700 | #a55573 | 55.4% | 0.111 | 5.07:1 | 4.14:1 | 75 | 7.4 |
| 800 | #914261 | 49.0% | 0.111 | 6.66:1 | 3.15:1 | 82 | 6.8 |
| 900 | #611738 | 34.0% | 0.111 | 12.43:1 | 1.69:1 | 97 | 13.6 |
| 950 | #280012 | 18.0% | 0.073 ·capped | 19.11:1 | 1.10:1 | 105 | 13.2 |
What is true of this ramp
- 10 of the 10 adjacent pairs differ by ΔE00 2 or more. Every step here is a step a reader can see.
- The tightest pair is 300 to400, at ΔE00 5.6.
- 4 steps had to give up chroma to stay inside sRGB — 50, 100, 200, 950. A wider display would show them more vividly.
- 4 steps clear 4.5:1 on white (700, 800, 900, 950), and 7 on black (50, 100, 200, 300, 400, 500, 600).
Harmonies from Flirt
complement
the hue directly opposite, at the same lightness. #005a4c (+180°) — chroma capped by sRGB.
analogous
the two neighbours 30° either side. #6c346b (+-30°), #7e3029 (+30°)
split complement
the two hues either side of the opposite, 30° apart from it. #135c26 (+150°), #005761 (+210°) — chroma capped by sRGB.
triad
the circle divided in three. #495300 (+120°), #005379 (+240°) — chroma capped by sRGB.
tetrad
the circle divided in four. #614900 (+90°), #005a4c (+180°), #324889 (+270°) — chroma capped by sRGB.
The ramp as CSS
:root {
--flirt-50: #fff1f5;
--flirt-100: #ffe2ea;
--flirt-200: #ffc2d6;
--flirt-300: #fba2c1;
--flirt-400: #e58ead;
--flirt-500: #d07b99;
--flirt-600: #ba6886;
--flirt-700: #a55573;
--flirt-800: #914261;
--flirt-900: #611738;
--flirt-950: #280012;
}