96274a6aa87d8aed4f6dba8e4873e0deb89c2bbd
Contrast auto-repair read only style.backgroundColor / bgColor, so white text on a gradient hero (style.background) was "repaired" against the white page colour. - Resolve style.background (solid shorthand, gradient, url), HeroSimple bgGradient*/ bgColor defaults, CallToAction bgValue, BackgroundSection bgColor, opaque image overlay. - Gradients: every stop is checked, worst stop decides; unparseable stops (color-mix, unresolved token, translucent, layered) = not checked. An unresolvable background no longer falls through to an outer/page colour. - A repair is applied only if it reaches the target and strictly beats the old colour against the worst stop. - clamp() font sizes use their minimum for the large-text test. - Patch path: ancestor background now comes from effectiveBackgroundOf (which learns style.background shorthand and section props) instead of a private walker. - Tests: real ttm-likes and ols-home responses as fixtures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Languages
TypeScript
75.9%
JavaScript
12.3%
HTML
8.6%
CSS
2.6%
PHP
0.4%
Other
0.2%