Replaces 16 setTimeout(350ms / 30ms / 50ms) sleeps with vi.waitFor on the actual signal — popup listbox appearance/disappearance, option aria-selected state — so the test no longer races the 200ms internal debounce against the real clock under CI load. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>