cd8a3696e2
Root cause: pointerup/pointercancel bound only on the viewport element; press on a photo then release outside the 195x280 window (or gesture interruption) never cleared the 'pointer' pause reason -> auto-scroll stopped permanently until page refresh. - pointerdown now setPointerCapture (release guaranteed to return) - window-level pointerup/pointercancel + blur fallbacks clear the reason - rAF frame wrapped in try/catch so a single bad frame can no longer break the animation chain Co-Authored-By: Claude Code <noreply@anthropic.com>