Darkmode.js uses `mix-blend-mode` to invert the colors on the pages and offer a class based custom style system.
Here you also have the class based custom styles but also have a CSS variables based styling system.
You can chose what value will take a variable depending on the current state of the darkmode.
See the readme of the github page for more informations, ask again if you need additional informations.
https://github.com/sandoche/Darkmode.js