At 1.7kB, parse.js can parse CSS as component values and mutate the tree with visitors:
var source = ':nth-child(5) {\n\tcolor: var(--foo, var(--bar, var(--cat, blue)));\n}';
var cssast = parse(source);
cssast.visit({
CSSFunction: {
exit: function(node) {
if (node.name === 'var') {
node.replaceSelf(node.last);