15860dfe9f
Both sides fixed the swallowed-click class on the onboarding picker. Hers is the root cause: persistent 100% zoom through the app's own setting, verified from both the renderer IPC and the BrowserWindow, and re-applied before the dismiss loop — scale drift is what moved real click points onto the wrapping container. The dispatchEvent fallback is dropped: it bypassed hit-testing, so a leg could pass where a real user's click would fail. Comment-only conflicts in managed_uv.py and main_install_repair.py resolved by keeping the fuller mechanism text (import-order reach and the legacy hand-off scope).