@denisyagovkin насчет CSS. по идее можно динамически исполнять CSS-рулы через вот этот API https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet. там немножко криво, нельзя напрямую собственно создать этот CSSStyleSheet, но это вроде легко обходится