    @keyframes fade-in-up {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .animate-fade-in-up {
        animation: fade-in-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }
    
    .animation-delay-200 { animation-delay: 200ms; }
    .animation-delay-400 { animation-delay: 400ms; }
    .animation-delay-600 { animation-delay: 600ms; }
    .aspect-square {
        aspect-ratio: 1 / 1;
    }
    
    @keyframes button-pulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.02); }
    }
    
    #gallery-container {
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    
    /* Simple loading state */
    .category-filter.loading .category-content {
        opacity: 0.5;
    }
    
    .category-filter.loading .category-loader {
        opacity: 1;
    }