@keyframes super-bounce {
    0%, 100% { transform: translateY(0) scale(1); }
    25% { transform: translateY(-20px) scale(1.1); }
    50% { transform: translateY(-10px) scale(1.05); }
    75% { transform: translateY(-15px) scale(1.08); }
}

@keyframes wiggle {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    75% { transform: rotate(5deg); }
}

@keyframes glow-pulse {
    0%, 100% {
        box-shadow: 0 0 10px rgba(255, 31, 142, 0.5),
                    0 0 20px rgba(155, 77, 255, 0.3);
    }
    50% {
        box-shadow: 0 0 20px rgba(255, 31, 142, 0.8),
                    0 0 40px rgba(155, 77, 255, 0.6);
    }
}

.kids-view {
    background: linear-gradient(135deg, #FFF5FC 0%, #E8F5FF 100%);
}

.kids-view .navbar {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 5px solid #FF1F8E;
}

.btn-switch {
    background: linear-gradient(135deg, #00E5A0, #00D4FF) !important;
    color: white !important;
    animation: glow-pulse 2s infinite;
}

.rainbow-text {
    background: linear-gradient(135deg, #FF1F8E 0%, #9B4DFF 25%, #00D4FF 50%, #00E5A0 75%, #FFD41F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.super-bounce {
    animation: super-bounce 1.5s infinite;
}

.wiggle {
    animation: wiggle 2s ease-in-out infinite;
}

.stat-icon {
    font-size: 3rem;
    margin-bottom: 10px;
    animation: bounce 2s infinite;
}

.btn-glow {
    animation: glow-pulse 2s infinite;
    font-weight: 900;
}

.confetti-container {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}

/* HTTN Magic Section */
.httn-magic-section {
    background: linear-gradient(135deg, #FFD41F 0%, #FF6B3D 100%);
    padding: 100px 50px;
    position: relative;
    overflow: hidden;
}

.httn-magic-section .section-title {
    color: white;
    font-size: 3.5rem;
    text-shadow: 4px 4px 0 rgba(0,0,0,0.2);
}

.httn-magic-section .section-subtitle {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
}

.httn-intro {
    display: flex;
    align-items: center;
    gap: 40px;
    background: white;
    padding: 40px;
    border-radius: 30px;
    margin: 40px auto;
    max-width: 900px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    border: 5px solid #FF1F8E;
}

.httn-mascot {
    animation: float 3s infinite ease-in-out;
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.httn-text h3 {
    color: #FF1F8E;
    font-family: 'Fredoka One', cursive;
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.httn-text p {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.subsection-title {
    font-family: 'Fredoka One', cursive;
    font-size: 2.5rem;
    text-align: center;
    color: white;
    margin: 60px 0 40px;
    text-shadow: 3px 3px 0 rgba(0,0,0,0.2);
}

.distribution-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.gallery-card {
    background: white;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    transition: all 0.4s;
    border: 5px solid #9B4DFF;
}

.gallery-card:hover {
    transform: translateY(-15px) rotate(2deg) scale(1.05);
    box-shadow: 0 20px 50px rgba(155, 77, 255, 0.4);
}

.gallery-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

.gallery-label {
    padding: 20px;
    background: linear-gradient(135deg, #FF1F8E, #9B4DFF);
    color: white;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.label-icon {
    font-size: 2rem;
    animation: bounce 2s infinite;
}

.label-text {
    font-weight: 800;
    font-size: 1.1rem;
}

.httn-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 60px auto 0;
}

.action-card {
    background: white;
    padding: 40px;
    border-radius: 25px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    border: 5px solid;
    transition: all 0.3s;
}

.action-card:nth-child(1) { border-color: #00D4FF; }
.action-card:nth-child(2) { border-color: #FF1F8E; }
.action-card:nth-child(3) { border-color: #00E5A0; }

.action-card:hover {
    transform: scale(1.05) rotate(-2deg);
}

.action-icon {
    font-size: 4rem;
    margin-bottom: 20px;
    animation: bounce 2s infinite;
}

.action-card h4 {
    font-family: 'Fredoka One', cursive;
    font-size: 1.8rem;
    color: #9B4DFF;
    margin-bottom: 15px;
}

.fun-footer {
    background: linear-gradient(135deg, #FF1F8E, #9B4DFF);
    text-align: center;
    color: white;
    padding: 60px 20px;
}

.footer-mascot {
    margin-bottom: 20px;
    animation: float 3s infinite ease-in-out;
}

.fun-footer h3 {
    font-family: 'Fredoka One', cursive;
    font-size: 2.5rem;
    margin-bottom: 15px;
}

@media (max-width: 768px) {
    .httn-intro {
        flex-direction: column;
        padding: 30px 20px;
    }
    
    .distribution-gallery {
        grid-template-columns: 1fr;
    }
}