OVERSCAN / AUDIT

This tests the kit against its own stated rules, not against a generic checklist. Every row below is a claim made somewhere in TOKENS.md or REFUSAL.md, checked on the real rendered pages.

Contrast here is measured, not named: both colours read off the live element, and the background composited up the ancestor chain until something opaque is found. A measurement that names its own colours is a claim, not a measurement. ⚠ It is still blind to the finish, which is painted by pseudo-elements over the top; that is what tools/finish.py models separately, and the two together are the whole answer.

Frames render on screen at 1 percent opacity, because an offscreen iframe does not render and an audit of an unrendered page passes everything.

pagerulenresult