// Update search function with fallback animation
function handleSearch() {
    const searchTerm = document.getElementById('searchInput').value.toLowerCase();
    const topicCards = document.querySelectorAll('.topic-card');

    topicCards.forEach(card => {
        const title = card.querySelector('.topic-title')?.textContent.toLowerCase() || '';
        const description = card.querySelector('.topic-description')?.textContent.toLowerCase() || '';
        const relatedTopics = Array.from(card.querySelectorAll('.related-topics li'))
            .map(li => li.textContent.toLowerCase())
            .join(' ');

        const content = `${title} ${description} ${relatedTopics}`;

        if (content.includes(searchTerm)) {
            card.style.display = 'block';
            if (window.gsap) {
                gsap.to(card, {
                    opacity: 1,
                    y: 0,
                    duration: 0.3
                });
            } else {
                card.style.opacity = 1;
                card.style.transform = 'translateY(0)';
            }
        } else {
            card.style.display = 'none';
        }
    });
}