The modal was rendered inside <main> which is a sibling of the fixed header. Browser compositing didn't apply backdrop-blur across the header's separate GPU layer. Using createPortal to render at document.body matches how the delete account modal works (rendered as sibling to header via SettingsModalWrapper).