#2D55FF
#FF3D7F
#121212
#F2D50F
Ramps
Every shade you will need.
Eleven steps per colour, from 50 (almost white) to 950 (almost black). The hue is held in OKLCH; where a step cannot hold the colour's full strength on screen, it is softened, never shifted. The ring marks the step nearest your own colour.
#2D55FF
#F3F7FF#E2EBFF#C6D7FF#A0BCFF#769DFF#4D7AFF#2A51FB#1B32DE#1200C0#0A008A#04005E
#FF3D7F
#FFF3F5#FFE3E8#FFC6D1#FF9CB2#FF638F#ED2671#C60059#9E0046#790033#560022#390014
#121212
#F7F7F7#EBEBEB#D7D7D7#BEBEBE#A1A1A1#868686#6C6C6C#555555#404040#2B2B2B#1B1B1B
#F2D50F
#FFF8D1#FFED8B#F5D81A#D9BE00#B9A200#9A8600#7C6C00#625500#4A4000#332B00#201B00
Ramps are a starting point, not a rule: check text-on-background pairs from your ramps in the contrast grid before you use them. Screens differ, and printed colour differs from screen colour. RiotPad works in screen colour (sRGB); it does not match paint, ink or fabric colours.