window.projectCompass = function () { return { init() { const filter = document.querySelector('[data-live-filter]'); if (!filter) { return; } filter.addEventListener('input', () => { const query = filter.value.trim().toLowerCase(); document.querySelectorAll('[data-filter-item]').forEach((item) => { const text = item.textContent?.toLowerCase() ?? ''; item.style.display = text.includes(query) ? '' : 'none'; }); }); }, }; };