Picker font-variable regexes only allowed [a-z-], so --font-exo2 was never parsed or stripped: picking another font left the old row behind and the selection showed wrong. Now digits are allowed, stripping is declaration-level (handles inline rows) and removes all font rows before inserting, and the picker re-parses on every CSS edit so manual changes update the selection live.