Why it matters
Hover, press and focus feedback over ~300ms feels sluggish; above 500ms users perceive the interface as slow and repeated interactions queue up.
How to fix it
Keep interaction feedback at 100–200ms (--duration-fast), entrances at 200–400ms. Long durations are for ambient/decorative motion only.
Example
<a className="transition-colors duration-150 hover:text-fg" />More lint rules
void lint reports 67 rules in this category. Static source checks with no browser: Tailwind v4 silent failures, Next.js 16 API traps, React render-body bugs, accessibility markup, SEO files and motion hygiene.
outline-none-no-replacementFocus outline removed without a visible replacementscale-zero-entryElement enters from `scale(0)`scroll-timeline-no-fallbackBase rule hides an element; only an `@supports (animation-timeline: …)` block undoes itease-in-enter`ease-in` used for an entrance or hoverno-reduced-motionAnimations present but no `prefers-reduced-motion` handling anywhereoverflow-x-hidden-sticky`overflow-x: hidden` on html/body/root wrapper breaks `position: sticky`vh-heroHero sized with `100vh` / `h-screen`will-change-static`will-change` applied statically to many elements