/* Advanced Features Styles */

/* Wrapped Modal Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInRight {
    from {
        transform: translateX(400px);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(400px);
        opacity: 0;
    }
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* Wrapped Container */
.wrapped-container {
    position: relative;
    min-height: 600px;
}

.wrapped-slide {
    display: none;
}

.wrapped-slide.active {
    display: block;
}

/* Badge Notification */
.badge-notification {
    animation: slideInRight 0.5s ease, pulse 0.5s ease 0.5s;
}

/* Badge Card Hover */
.badge-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Lazy Loading Images */
img[data-src] {
    opacity: 0;
    transition: opacity 0.3s ease;
}

img[data-src].loaded {
    opacity: 1;
}

/* Performance Stats */
.performance-stat {
    padding: 15px;
    background: var(--bg-secondary);
    border-radius: 8px;
    text-align: center;
}

.performance-stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 5px;
}

.performance-stat-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

/* Rarity Glow Effects */
.badge-card[data-rarity="legendary"] {
    box-shadow: 0 0 20px rgba(245, 158, 11, 0.3);
}

.badge-card[data-rarity="epic"] {
    box-shadow: 0 0 15px rgba(168, 85, 247, 0.3);
}

.badge-card[data-rarity="rare"] {
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.3);
}

/* Loading Skeleton */
.skeleton {
    background: linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-card) 50%, var(--bg-secondary) 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
}

/* Optimize Font Loading */
@font-face {
    font-family: 'Inter';
    font-display: swap;
}