2 for text and background(primary & secondary colors). 1 accent color to highlight important elements(number 4 & buttons). And an optional tertiary color to add a bit of personality(the hue slider).
How it works? CodePenHue
:root {
--color-primary: hsl(0, 50%, 90%);
--color-secondary: hsl(0, 50%, 10%);
--color-tertiary: hsl(60, 80%, 20%);
--color-accent: hsl(300, 80%, 20%);
}
.dark {
--color-primary: hsl(0, 50%, 10%);
--color-secondary: hsl(0, 50%, 90%);
--color-tertiary: hsl(60, 80%, 80%);
--color-accent: hsl(300, 80%, 80%);
}