/* Native details/summary provides keyboard activation and expanded state. */ (() => { const selector = '.language-switch, .header-controls .user-menu'; document.addEventListener('toggle', event => { if (!event.target.matches(selector) || !event.target.open) return; document.querySelectorAll(selector).forEach(menu => { if (menu !== event.target) menu.open = false; }); }, true); document.addEventListener('click', event => { document.querySelectorAll(selector).forEach(menu => { if (menu.open && !menu.contains(event.target)) menu.open = false; }); }); document.addEventListener('keydown', event => { if (event.key !== 'Escape') return; document.querySelectorAll(selector).forEach(menu => { if (!menu.open) return; menu.open = false; menu.querySelector('summary').focus(); event.preventDefault(); }); }); })();