@layer utilities {
    .text-shadow {
        text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    .transition-all-300 {
        transition: all 300ms ease-in-out;
    }
    .card-hover:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
    }
    .gradient-bg {
        background: linear-gradient(135deg, #4CAF50 0%, #81C784 100%);
    }
    .gradient-text {
        background: linear-gradient(135deg, #4CAF50 0%, #81C784 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .screenshot-card {
        transition: all 0.3s ease;
        height: auto;
    }
    .screenshot-card:hover {
        transform: scale(1.05);
        box-shadow: 0 15px 30px -5px rgba(0,0,0,0.15), 0 10px 10px -5px rgba(0,0,0,0.05);
    }
    .splide__slide {
        opacity: 0.6;
        transform: scale(0.9);
        transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .splide__slide.is-active {
        opacity: 1;
        transform: scale(1);
        z-index: 10;
    }
    .splide__slide.is-active .screenshot-card {
        box-shadow: 0 20px 40px -5px rgba(0,0,0,0.2), 0 15px 15px -5px rgba(0,0,0,0.1);
    }
    .splide__pagination__page {
        background: #4CAF50;
        opacity: 0.5;
        transition: all 0.3s ease;
    }
    .splide__pagination__page.is-active {
        opacity: 1;
        transform: scale(1.3);
        box-shadow: 0 0 10px rgba(76, 175, 80, 0.5);
    }
    .gallery-container {
        position: relative;
        overflow: hidden;
        margin-bottom: 40px;
    }
    .gallery-title {
        position: absolute;
        top: 20px;
        left: 20px;
        z-index: 10;
        background: rgba(255, 255, 255, 0.95);
        padding: 12px 24px;
        border-radius: 25px;
        box-shadow: 0 6px 12px rgba(0,0,0,0.15);
        font-size: 1.1rem;
        font-weight: 600;
        animation: slideIn 0.5s ease-out;
    }
    .image-container {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        background: #f5f5f5;
        padding: 16px;
        border-radius: 16px;
        overflow: visible;
        height: auto;
        min-height: 300px;
    }
    .image-container img {
        max-width: 100%;
        max-height: 600px;
        object-fit: contain;
        border-radius: 8px;
        transition: all 0.3s ease;
    }
    .image-container img:hover {
        transform: scale(1.02);
    }
    @keyframes slideIn {
        from {
            opacity: 0;
            transform: translateX(-20px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}