@keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(1.03);
        transform: scale(1.03);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(1.03);
        transform: scale(1.03);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes shake {
    0%   { -webkit-transform: translateX(0); }
    20%  { -webkit-transform: translateX(-5px); }
    40%  { -webkit-transform: translateX(5px); }
    60%  { -webkit-transform: translateX(-5px); }
    80%  { -webkit-transform: translateX(5px); }
    100% { -webkit-transform: translateX(0); }
}

@keyframes shake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-5px); }
    40%  { transform: translateX(5px); }
    60%  { transform: translateX(-5px); }
    80%  { transform: translateX(5px); }
    100% { transform: translateX(0); }
}

@-webkit-keyframes game-win-highlight {
    0%   { filter: drop-shadow(0 0 0px rgba(255, 230, 150, 0.6)); }
    50%  { filter: drop-shadow(0 0 14px rgba(255, 230, 150, 0.9)); }
    100% { filter: drop-shadow(0 0 0px rgba(255, 230, 150, 0.6)); }
}

@keyframes game-win-highlight {
    0%   { filter: drop-shadow(0 0 0px rgba(255, 230, 150, 0.6)); }
    50%  { filter: drop-shadow(0 0 14px rgba(255, 230, 150, 0.9)); }
    100% { filter: drop-shadow(0 0 0px rgba(255, 230, 150, 0.6)); }
}

@-webkit-keyframes lightning-flash {
    0%   { opacity: 0; filter: brightness(1); }
    12%  { opacity: 0; }
    18%  { opacity: 1; filter: brightness(1.6); }
    30%  { opacity: 1; filter: brightness(1.3); }
    33%  { opacity: 0.7; filter: brightness(1.2); }
    40%  { opacity: 0; filter: brightness(1); }
    100% { opacity: 0; filter: brightness(1); }
}

@keyframes lightning-flash {
    0%   { opacity: 0; filter: brightness(1); }
    12%  { opacity: 0; }
    18%  { opacity: 1; filter: brightness(1.6); }
    30%  { opacity: 1; filter: brightness(1.3); }
    33%  { opacity: 0.7; filter: brightness(1.2); }
    40%  { opacity: 0; filter: brightness(1); }
    100% { opacity: 0; filter: brightness(1); }
}
