I made a CSS (pre?)processor that runs client-side. It is very efficient, because rather than duplicating rules, it updates selectors using the CSSOM. It probably has bad error handling, so please try to break it so I can make it better.
This page's CSS:
[--mixin="blue-italic"]{ font-style: italic; color: #373fff; } [--mixin="round-border"]{ border:1px black solid; border-radius:0.5rem; padding:0.5rem; } h1 { --mixins:blue-italic; } pre{ --mixins:blue-italic round-border; } body{ --mixins:round-border; }
Made on Glitch!
Some more blue-italic stuff.