/* Animations */
@keyframes fade-up {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes scale-up {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes blob {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

@keyframes pulse-slow {
    0%, 100% { opacity: 0.1; }
    50% { opacity: 0.2; }
}

.vs-text {
    font-family: 'Space Grotesk', sans-serif;
    font-style: italic;
    font-weight: 900;
    -webkit-text-stroke: 1px rgba(255,255,255,0.2);
    color: transparent;
}

.card-gradient {
    background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.01) 100%);
    border: 1px solid rgba(255,255,255,0.1);
}

.neon-glow-pink:hover { box-shadow: 0 0 40px rgba(255, 0, 122, 0.3); border-color: #FF007A; }
.neon-glow-blue:hover { box-shadow: 0 0 40px rgba(0, 240, 255, 0.3); border-color: #00F0FF; }
.neon-glow-yellow:hover { box-shadow: 0 0 40px rgba(255, 214, 0, 0.3); border-color: #FFD600; }

.matchup-item { transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); }

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    display: flex;
    width: 150%;
    animation: marquee 20s linear infinite;
}

.animate-blob {
    animation: blob 7s infinite;
}

.animate-pulse-slow {
    animation: pulse-slow 5s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.reveal-fade-up { opacity: 0; }
.reveal-fade-up.active { animation: fade-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

.reveal-scale-up { opacity: 0; }
.reveal-scale-up.active { animation: scale-up 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }

/* Custom Styles */
.vs-text {
    font-family: 'Space Grotesk', sans-serif;
    font-style: italic;
    font-weight: 900;
    -webkit-text-stroke: 1.5px rgba(255,255,255,0.8);
    color: transparent;
    text-shadow: 0 0 30px rgba(255, 255, 255, 0.2);
}

/* Bento/Matchup Cards Redesign */
.matchup-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 2rem;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.matchup-card:hover {
    transform: translateY(-12px);
    border-color: rgba(255,255,255,0.3);
    box-shadow: 0 40px 80px -20px rgba(0,0,0,0.5);
}

.card-image-container {
    position: relative;
    aspect-ratio: 21 / 9;
    overflow: hidden;
    background: #000;
}

/* Diagonal Split */
.split-left, .split-right {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.split-left {
    left: 0;
    clip-path: polygon(0 0, 55% 0, 45% 100%, 0 100%);
    z-index: 1;
}

.split-right {
    left: 0;
    clip-path: polygon(55% 0, 100% 0, 100% 100%, 45% 100%);
    z-index: 1;
}

.split-left img, .split-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Hover Zoom effect */
.matchup-card:hover .split-left { transform: scale(1.05) translateX(-2%); }
.matchup-card:hover .split-right { transform: scale(1.05) translateX(2%); }

/* Diagonal Divider Line */
.diagonal-divider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 150%;
    background: rgba(255,255,255,0.2);
    transform: translate(-50%, -20%) rotate(5.7deg);
    z-index: 2;
    pointer-events: none;
}

.card-vs-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    background: #000;
    color: #fff;
    padding: 0.5rem 1rem;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 900;
    font-style: italic;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 0.75rem;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    font-size: 1.25rem;
}

.card-badge {
    position: absolute;
    top: 1rem;
    left: 1rem; /* Combined from right to left to avoid clash with divider */
    padding: 0.5rem 1rem;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(8px);
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: white;
    z-index: 10;
}

/* Matchup Item (Hero) */
.matchup-item {
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.matchup-item:hover {
    transform: translateY(-10px);
}

/* Text Glows */
.text-glow {
    text-shadow: 0 0 20px rgba(255, 0, 122, 0.5);
}

/* Marquee Adjustment */
.animate-marquee {
    will-change: transform;
}

/* Header dynamic adjustment */
header.scrolled {
    background: rgba(5, 5, 5, 0.8);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #050505; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--vivid-pink); }

/* Mobile Optimization */
@media (max-width: 768px) {
    .vs-text {
        -webkit-text-stroke: 1px rgba(255,255,255,0.6);
        text-shadow: 0 0 15px rgba(255, 255, 255, 0.1);
    }

    .card-image-container {
        aspect-ratio: 16 / 9;
    }

    .diagonal-divider {
        transform: translate(-50%, -20%) rotate(7deg);
    }

    .matchup-card:hover {
        transform: translateY(-5px);
    }

    /* Reduce vertical padding for mobile */
    section {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .py-32, .py-48 {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }

    .mb-20, .mb-24 {
        margin-bottom: 2.5rem !important;
    }
}
