0db5dd126c
Register the Esc keydown listener in capture phase (useCapture=true) and call stopPropagation() so App.vue's document-level handler never fires. Without this, both handlers ran: App.vue pushed "/" and the component pushed "/projects/:id", with non-deterministic winner. Also fixes the blur-then-navigate issue where App.vue blurring an input caused the component's handler to see body as the active element and navigate immediately instead of stopping at the blur step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>