Crepuscular as a scale

Eleven steps from #e7dcce, 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#fff3e597.0%0.0221.09:119.22:10—
100#f4e9db93.8%0.0221.20:117.48:1102.2
200#dfd4c687.4%0.0221.47:114.33:1224.7
300#cabfb181.0%0.0221.81:111.61:1345.0
400#b5ab9e74.6%0.0222.26:19.28:1455.5
500#a1978a68.2%0.0222.87:17.33:1556.0
600#8e847761.8%0.0223.68:15.71:1646.6
700#7b716555.4%0.0224.78:14.39:1737.3
800#685f5349.0%0.0226.28:13.34:1817.0
900#3f362b34.0%0.02211.79:11.78:19713.8
950#18100618.0%0.02218.83:11.12:110512.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 50 to100, at ΔE00 2.2.
  • No step had to give up chroma: sRGB has room for this hue at every lightness in the ramp.
  • 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 Crepuscular

complement

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

analogous

the two neighbours 30° either side. #ecdad2 (+-30°), #e0dfce (+30°)

split complement

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

triad

the circle divided in three. #cee3e2 (+120°), #e3dae8 (+240°)

tetrad

the circle divided in four. #d1e3da (+90°), #d4dfed (+180°), #e9d8e1 (+270°)

The ramp as CSS

:root {
  --crepuscular-50: #fff3e5;
  --crepuscular-100: #f4e9db;
  --crepuscular-200: #dfd4c6;
  --crepuscular-300: #cabfb1;
  --crepuscular-400: #b5ab9e;
  --crepuscular-500: #a1978a;
  --crepuscular-600: #8e8477;
  --crepuscular-700: #7b7165;
  --crepuscular-800: #685f53;
  --crepuscular-900: #3f362b;
  --crepuscular-950: #181006;
}

Build one from your own colour · More neutrals