This implementation uses CSS variables, and not CSS in JS. This is done so that we can support users who disable JS on their browsers. Fixes #20