Perceptually consistent hover states across all hues
Standard practice (adjust hex or HSL lightness by a fixed amount) produces inconsistent perceived hover contrast across hues because HSL lightness is not perceptually uniform. A +10 HSL lightness step reads as very large for blue but very small for yellow. Solution: design hover states in OKLCH. Step L (perceptual lightness) by +8 for light-mode hover, -8 for dark-mode hover. Chroma (C) and hue (H) stay constant. This produces visually equal contrast steps regardless of starting hue. Implement with: `oklch(calc(l + 0.08) c h)` where l, c, h are the OKLCH values of the base color.
