

/* Neon Theme */
@keyframes flash-neon {
    0%, 100% { box-shadow: 0 0 0px #0ff; }
    50% { box-shadow: 0 0 20px 5px #0ff; }
}
.pet-card.theme-neon.flash {
    animation: flash-neon 0.5s ease-in-out;
}
.page-section.theme-neon.flash {
    animation: flash-neon 0.5s ease-in-out;
}

@keyframes shock-neon {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #0ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #0ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #0ff; }
}
.pet-card.theme-neon.shock-received {
    animation: shock-neon 0.3s ease-in-out;
}
.page-section.theme-neon.shock-received {
    animation: shock-neon 0.3s ease-in-out;
}

/* Midnight Theme */
@keyframes flash-midnight {
    0%, 100% { box-shadow: 0 0 0px #c3a9ff; }
    50% { box-shadow: 0 0 20px 5px #c3a9ff; }
}
.pet-card.theme-midnight.flash {
    animation: flash-midnight 0.5s ease-in-out;
}
.page-section.theme-midnight.flash {
    animation: flash-midnight 0.5s ease-in-out;
}

@keyframes shock-midnight {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #c3a9ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #c3a9ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #c3a9ff; }
}
.pet-card.theme-midnight.shock-received {
    animation: shock-midnight 0.3s ease-in-out;
}
.page-section.theme-midnight.shock-received {
    animation: shock-midnight 0.3s ease-in-out;
}

/* Ember Theme */
@keyframes flash-ember {
    0%, 100% { box-shadow: 0 0 0px #ff7878; }
    50% { box-shadow: 0 0 20px 5px #ff7878; }
}
.pet-card.theme-ember.flash {
    animation: flash-ember 0.5s ease-in-out;
}
.page-section.theme-ember.flash {
    animation: flash-ember 0.5s ease-in-out;
}

@keyframes shock-ember {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #ff7878; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #ff7878; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #ff7878; }
}
.pet-card.theme-ember.shock-received {
    animation: shock-ember 0.3s ease-in-out;
}
.page-section.theme-ember.shock-received {
    animation: shock-ember 0.3s ease-in-out;
}

/* Legacy Themes */
@keyframes flash-default {
    0%, 100% { box-shadow: 0 0 0px #ecf0f1; }
    50% { box-shadow: 0 0 20px 5px #ecf0f1; }
}
.pet-card.theme-default.flash {
    animation: flash-default 0.5s ease-in-out;
}
.page-section.theme-default.flash {
    animation: flash-default 0.5s ease-in-out;
}

@keyframes shock-default {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #ecf0f1; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #ecf0f1; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #ecf0f1; }
}
.pet-card.theme-default.shock-received {
    animation: shock-default 0.3s ease-in-out;
}
.page-section.theme-default.shock-received {
    animation: shock-default 0.3s ease-in-out;
}

@keyframes flash-voidwalker {
    0%, 100% { box-shadow: 0 0 0px #c3a9ff; }
    50% { box-shadow: 0 0 20px 5px #c3a9ff; }
}
.pet-card.theme-voidwalker.flash {
    animation: flash-voidwalker 0.5s ease-in-out;
}
.page-section.theme-voidwalker.flash {
    animation: flash-voidwalker 0.5s ease-in-out;
}

@keyframes shock-voidwalker {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #c3a9ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #c3a9ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #c3a9ff; }
}
.pet-card.theme-voidwalker.shock-received {
    animation: shock-voidwalker 0.3s ease-in-out;
}
.page-section.theme-voidwalker.shock-received {
    animation: shock-voidwalker 0.3s ease-in-out;
}

/* Toxic Theme */
@keyframes flash-toxic {
    0%, 100% { box-shadow: 0 0 0px #39ff14; }
    50% { box-shadow: 0 0 20px 5px #39ff14; }
}
.pet-card.theme-toxic.flash {
    animation: flash-toxic 0.5s ease-in-out;
}
.page-section.theme-toxic.flash {
    animation: flash-toxic 0.5s ease-in-out;
}

@keyframes shock-toxic {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #39ff14; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #39ff14; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #39ff14; }
}
.pet-card.theme-toxic.shock-received {
    animation: shock-toxic 0.3s ease-in-out;
}
.page-section.theme-toxic.shock-received {
    animation: shock-toxic 0.3s ease-in-out;
}

/* Frost Theme */
@keyframes flash-frost {
    0%, 100% { box-shadow: 0 0 0px #a8e6ff; }
    50% { box-shadow: 0 0 20px 5px #a8e6ff; }
}
.pet-card.theme-frost.flash {
    animation: flash-frost 0.5s ease-in-out;
}
.page-section.theme-frost.flash {
    animation: flash-frost 0.5s ease-in-out;
}

@keyframes shock-frost {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #a8e6ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #a8e6ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #a8e6ff; }
}
.pet-card.theme-frost.shock-received {
    animation: shock-frost 0.3s ease-in-out;
}
.page-section.theme-frost.shock-received {
    animation: shock-frost 0.3s ease-in-out;
}

/* Legacy Theme - Cyberpunk */
@keyframes flash-cyberpunk {
    0%, 100% { box-shadow: 0 0 0px #00ffff; }
    50% { box-shadow: 0 0 20px 5px #00ffff; }
}
.pet-card.theme-cyberpunk.flash {
    animation: flash-cyberpunk 0.5s ease-in-out;
}
.page-section.theme-cyberpunk.flash {
    animation: flash-cyberpunk 0.5s ease-in-out;
}

@keyframes shock-cyberpunk {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #00ffff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #00ffff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #00ffff; }
}
.pet-card.theme-cyberpunk.shock-received {
    animation: shock-cyberpunk 0.3s ease-in-out;
}
.page-section.theme-cyberpunk.shock-received {
    animation: shock-cyberpunk 0.3s ease-in-out;
}

@keyframes flash-dragonscale {
    0%, 100% { box-shadow: 0 0 0px #b08d57; }
    50% { box-shadow: 0 0 20px 5px #b08d57; }
}
.pet-card.theme-dragonscale.flash {
    animation: flash-dragonscale 0.5s ease-in-out;
}
.page-section.theme-dragonscale.flash {
    animation: flash-dragonscale 0.5s ease-in-out;
}

@keyframes shock-dragonscale {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #b08d57; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #b08d57; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #b08d57; }
}
.pet-card.theme-dragonscale.shock-received {
    animation: shock-dragonscale 0.3s ease-in-out;
}
.page-section.theme-dragonscale.shock-received {
    animation: shock-dragonscale 0.3s ease-in-out;
}

@keyframes flash-bloodmoon {
    0%, 100% { box-shadow: 0 0 0px #ff7878; }
    50% { box-shadow: 0 0 20px 5px #ff7878; }
}
.pet-card.theme-bloodmoon.flash {
    animation: flash-bloodmoon 0.5s ease-in-out;
}
.page-section.theme-bloodmoon.flash {
    animation: flash-bloodmoon 0.5s ease-in-out;
}

@keyframes shock-bloodmoon {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #ff7878; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #ff7878; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #ff7878; }
}
.pet-card.theme-bloodmoon.shock-received {
    animation: shock-bloodmoon 0.3s ease-in-out;
}
.page-section.theme-bloodmoon.shock-received {
    animation: shock-bloodmoon 0.3s ease-in-out;
}

@keyframes flash-starlight {
    0%, 100% { box-shadow: 0 0 0px #e0e8ff; }
    50% { box-shadow: 0 0 20px 5px #e0e8ff; }
}
.pet-card.theme-starlight.flash {
    animation: flash-starlight 0.5s ease-in-out;
}
.page-section.theme-starlight.flash {
    animation: flash-starlight 0.5s ease-in-out;
}

@keyframes shock-starlight {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #e0e8ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #e0e8ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #e0e8ff; }
}
.pet-card.theme-starlight.shock-received {
    animation: shock-starlight 0.3s ease-in-out;
}
.page-section.theme-starlight.shock-received {
    animation: shock-starlight 0.3s ease-in-out;
}

@keyframes flash-shadowfen {
    0%, 100% { box-shadow: 0 0 0px #78ab87; }
    50% { box-shadow: 0 0 20px 5px #78ab87; }
}
.pet-card.theme-shadowfen.flash {
    animation: flash-shadowfen 0.5s ease-in-out;
}
.page-section.theme-shadowfen.flash {
    animation: flash-shadowfen 0.5s ease-in-out;
}

@keyframes shock-shadowfen {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #78ab87; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #78ab87; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #78ab87; }
}
.pet-card.theme-shadowfen.shock-received {
    animation: shock-shadowfen 0.3s ease-in-out;
}
.page-section.theme-shadowfen.shock-received {
    animation: shock-shadowfen 0.3s ease-in-out;
}

/* Phantom Theme */
@keyframes flash-phantom {
    0%, 100% { box-shadow: 0 0 0px #cc99ff; }
    50% { box-shadow: 0 0 20px 5px #cc99ff; }
}
.pet-card.theme-phantom.flash {
    animation: flash-phantom 0.5s ease-in-out;
}
.page-section.theme-phantom.flash {
    animation: flash-phantom 0.5s ease-in-out;
}

@keyframes shock-phantom {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #cc99ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #cc99ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #cc99ff; }
}
.pet-card.theme-phantom.shock-received {
    animation: shock-phantom 0.3s ease-in-out;
}
.page-section.theme-phantom.shock-received {
    animation: shock-phantom 0.3s ease-in-out;
}

/* Sunset Theme */
@keyframes flash-sunset {
    0%, 100% { box-shadow: 0 0 0px #ffccf2; }
    50% { box-shadow: 0 0 20px 5px #ffccf2; }
}
.pet-card.theme-sunset.flash {
    animation: flash-sunset 0.5s ease-in-out;
}
.page-section.theme-sunset.flash {
    animation: flash-sunset 0.5s ease-in-out;
}

@keyframes shock-sunset {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #ffccf2; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #ffccf2; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #ffccf2; }
}
.pet-card.theme-sunset.shock-received {
    animation: shock-sunset 0.3s ease-in-out;
}
.page-section.theme-sunset.shock-received {
    animation: shock-sunset 0.3s ease-in-out;
}

/* Galaxy Theme */
@keyframes flash-galaxy {
    0%, 100% { box-shadow: 0 0 0px #d8a0ff; }
    50% { box-shadow: 0 0 20px 5px #d8a0ff; }
}
.pet-card.theme-galaxy.flash {
    animation: flash-galaxy 0.5s ease-in-out;
}
.page-section.theme-galaxy.flash {
    animation: flash-galaxy 0.5s ease-in-out;
}

@keyframes shock-galaxy {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #d8a0ff; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #d8a0ff; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #d8a0ff; }
}
.pet-card.theme-galaxy.shock-received {
    animation: shock-galaxy 0.3s ease-in-out;
}
.page-section.theme-galaxy.shock-received {
    animation: shock-galaxy 0.3s ease-in-out;
}

/* Legacy Theme - Ironclad */
@keyframes flash-ironclad {
    0%, 100% { box-shadow: 0 0 0px #b2bec3; }
    50% { box-shadow: 0 0 20px 5px #b2bec3; }
}
.pet-card.theme-ironclad.flash {
    animation: flash-ironclad 0.5s ease-in-out;
}
.page-section.theme-ironclad.flash {
    animation: flash-ironclad 0.5s ease-in-out;
}

@keyframes shock-ironclad {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0px #b2bec3; }
    25% { transform: scale(1.02) rotate(-1deg); box-shadow: 0 0 15px 3px #b2bec3; }
    50% { transform: scale(0.98) rotate(1deg); }
    75% { transform: scale(1.01) rotate(0deg); box-shadow: 0 0 10px 2px #b2bec3; }
}
.pet-card.theme-ironclad.shock-received {
    animation: shock-ironclad 0.3s ease-in-out;
}
.page-section.theme-ironclad.shock-received {
    animation: shock-ironclad 0.3s ease-in-out;
}
