Dark mode is not an inverted light mode. Colours that sing on white can vibrate on black, and neutral greys can turn muddy.
Pick roles, not just colours
Define surface, content, accent and signal colours, then choose a light and dark value for each. Contrast is checked per pairing, not per colour.
- Soften pure white text on dark backgrounds
- Keep brand colour for actions and status
- Test every pairing against the 4.5:1 text contrast minimum