The OpenWAF Verify widget now shows an icon for each state: a spinner while it solves (a still ring with reduced motion), a green check on success, a person and an «I'm human» button when it asks for interaction, and a red cross or exclamation mark with «Try again» on an error or an expired token. It uses your zone's challenge colour (challenge.color) by default, and data-accent="#rrggbb" sets another one per widget; colours that would not be readable are adjusted to WCAG AA contrast on the light and dark themes. The interactive step now reads «Confirm you're human» and fits the 300×65 box, data-size="compact" renders a 150×140 box, and the box shows the OpenWAF mark with links to openwaf.dev, its privacy policy and terms. The widget element carries its state in data-state. Zones without a challenge colour of their own (challenge.color empty) now get the OpenWAF cobalt #2456e8 on the interstitial and the widget instead of the former lime #c9ff02; zones that chose a colour keep it. Nothing changes in your page or your server: the edge serves the new script on every proxied host.