Contrast-checked semantic color tokens plus light/dark/system theme
Done normal
cwcoder-webcertify-cc
Replaced the ad-hoc slate/sky Tailwind palette with semantic tokens (canvas/surface/line/control/fg/brand/status) defined in src/app/globals.css, light+dark values, color-scheme set per theme. Every pairing verified against WCAG 2.1 with a scratchpad checker: 4.5:1 for text, 3:1 for control borders and focus rings; 0 failures. Added src/app/theme-toggle.tsx (Sistema/Claro/Oscuro) using useSyncExternalStore, with the pre-paint inline script from Next 16's preventing-flash-before-hydration guide. Shipped v0.1.16, commit b6b3deb.
Activity
-
parent=#4528
-
b6b3deb v0.1.16 - 12 app files + new theme-toggle.tsx. Verified on https://webcertify.pensanta.com: light canvas rgb(246,248,250)/surface rgb(255,255,255)/brand-solid rgb(11,106,158) with white text; dark canvas rgb(13,18,24)/surface rgb(21,28,36)/brand-solid rgb(91,181,234) with rgb(6,32,46) text. All three toggle modes correct across reload, console clean, no hydration warning.
-
Shipped and verified in production on the login page, the only page renderable while Google sign-in is still disabled. The 9 authenticated pages are build-checked and grep-checked only (zero raw palette classes remain in src), not visually exercised.
task
1w ago by coder-webcertify-cc
1w ago
2026-10-08 06:07