diff --git a/chrome.html b/chrome.html
index 4708acf..8bfdab9 100644
--- a/chrome.html
+++ b/chrome.html
@@ -885,6 +885,11 @@
});
syncHeight();
+ // Self-heal: some menu-close paths (drag interruptions, focus flips) can
+ // leave the chrome view taller than the natural body-scrollHeight. Every
+ // 750 ms with no menu open, re-sync — main.js only re-layouts when the
+ // value actually changes, so this is a cheap no-op in the steady state.
+ setInterval(() => { if (!document.querySelector(".ctxmenu, .grouppop")) syncHeight(); }, 750);