How it works
Harmonies extract [L, C, H] with toOklch() then rebuild at fixed hue offsets. Equal L and C means every swatch is perceptually balanced.
ΔE is Euclidean distance in Oklab space — √(ΔL²+Δa²+Δb²). Below 0.02 is imperceptible; above 0.15 is clearly distinct.
Blackbody maps Kelvin to CIE xy via Kang's polynomial, converts through XYZ→linear sRGB, normalises to the brightest channel, then gamma-encodes.