export function initObsGuide(): void { const stageEl = document.querySelector('.stage'); if (!stageEl) throw new Error('initObsGuide: .stage not in DOM yet'); stageEl.insertAdjacentHTML( 'beforeend', ` `, ); const overlay = document.querySelector('#obsOverlay')!; const closeBtn = document.querySelector('#obsClose')!; function open() { overlay.hidden = false; } function close() { overlay.hidden = true; } closeBtn.addEventListener('click', close); overlay.addEventListener('click', (e) => { if (e.target === overlay) close(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && !overlay.hidden) close(); }); const triggerBtn = document.querySelector('#obsGuideBtn'); triggerBtn?.addEventListener('click', open); }