Svelte 4 dialog global outro transition remains active after navigation blocking clicks
When a <dialog> element with a Svelte 4 outro transition marked |global appears in a sheet or modal component, and the user navigates away (via View Transitions or normal SvelteKit navigation), the dialog's :modal pseudo-class remains active on the destination page. The element is no longer in the DOM, but the browser still treats the page as having an active modal, blocking all clicks and interaction with the new page. This happens silently with no console error.
Svelte 4's |global transition modifier defers the transition group's completion so animations can finish after the element unmounts. During View Transitions navigation, this deferred group is never released because the old page transitions away before the outro completes, leaving the :modal state orphaned. The fix is to remove |global from the dialog's outro transitions — use local transitions (e.g., out:fade instead of out:fade|global) so they complete synchronously before the page unmounts. This ensures the dialog's :modal state is fully cleaned up before the page disappears and the destination page loads.