The fade restarted an animation id at each rest and wake, and gpui hands that id to every descendant: the scrubber's drag, hover and focus handle and the buttons' focus were rebuilt under it. The bar's opacity now reads the time since the last change through motion::since_change. The stage tracks focus even without key handlers, so a focused bar button keeps the bar up. The player's tests move to their own file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>