Contrast is measured, not eyeballed
A script parses the stylesheet, computes every text and boundary pair in both themes, and writes the table into the docs. CI re-runs it on every push. A colour cannot be nudged without the numbers moving with it.
How it is enforced
