Ballet as a scale

Eleven steps from #f7d5d4, 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.

StopHexOKLCh LChromaOn whiteOn blackAPCA on whiteΔE00 from the step above
50#fff1f197.0%0.015 ·capped1.10:119.16:10—
100#ffe3e293.8%0.031 ·capped1.21:117.32:1105.9
200#eecccb87.4%0.0381.48:114.15:1235.1
300#d9b8b781.0%0.0381.83:111.46:1345.1
400#c4a4a374.6%0.0382.29:19.16:1455.5
500#af908f68.2%0.0382.91:17.22:1556.0
600#9b7d7c61.8%0.0383.74:15.62:1656.6
700#886a6955.4%0.0384.86:14.32:1747.4
800#75585749.0%0.0386.38:13.29:1826.9
900#4a303034.0%0.03811.96:11.76:19713.7
950#200a0a18.0%0.03818.95:11.11:110511.9

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 200 to300, at ΔE00 5.1.
  • 2 steps had to give up chroma to stay inside sRGB — 50, 100. 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 Ballet

complement

the hue directly opposite, at the same lightness. #c2e7e8 (+180°)

analogous

the two neighbours 30° either side. #f3d5e2 (+-30°), #f4d8c8 (+30°)

split complement

the two hues either side of the opposite, 30° apart from it. #c7e7da (+150°), #c6e4f3 (+210°)

triad

the circle divided in three. #d2e5cd (+120°), #d0dff8 (+240°)

tetrad

the circle divided in four. #dfe1c4 (+90°), #c2e7e8 (+180°), #dddbf7 (+270°)

The ramp as CSS

:root {
  --ballet-50: #fff1f1;
  --ballet-100: #ffe3e2;
  --ballet-200: #eecccb;
  --ballet-300: #d9b8b7;
  --ballet-400: #c4a4a3;
  --ballet-500: #af908f;
  --ballet-600: #9b7d7c;
  --ballet-700: #886a69;
  --ballet-800: #755857;
  --ballet-900: #4a3030;
  --ballet-950: #200a0a;
}

Build one from your own colour · More reds