/** * Footnotes - Sistema de notas flutuantes (floater) */ let activeFloater = null; document.addEventListener('click', (e) => { const fn = e.target.closest('a[href^="#fn:"]'); const close = e.target.closest('.f-close'); if (close) { closeFloater(); return; } if (fn) { e.preventDefault(); e.stopPropagation(); closeFloater(); const el = document.getElementById(fn.getAttribute('href').slice(1)); if (!el) return; const clone = el.cloneNode(true); clone.querySelector('.footnote-backref')?.remove(); const parent = fn.closest('p, li'); const quote = parent ? parent.innerText.slice(0, 40) + '…' : 'Nota'; openFloater(fn, quote, clone.innerHTML); fn.classList.add('active'); } else if (activeFloater && !e.target.closest('.floater')) { closeFloater(); } }); function openFloater(target, quote, html) { const f = document.createElement('div'); f.className = 'floater'; f.innerHTML = `