.shine {
    position: relative;
    display: inline-block;
    border-radius: 9999px;
    overflow: hidden;
}
.shine::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(
    120deg,
    transparent 40%,
    rgba(0, 255, 255, 0.35) 50%,
    transparent 60%
    );
    animation: shine-move 3s ease-in-out infinite;
    pointer-events: none;
}
@keyframes shine-move {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(50%); }
}
.glow {
    animation: glow 2.8s ease-in-out infinite;
}
@keyframes glow {
    0%, 100% {
    filter: drop-shadow(0 0 2px #00ffff)
            drop-shadow(0 0 4px #00ffff)
            drop-shadow(0 0 6px #00e6e6);
    }
    50% {
    filter: drop-shadow(0 0 6px #00ffff)
            drop-shadow(0 0 10px #00e6e6)
            drop-shadow(0 0 14px #00ccff);
    }
}
@keyframes zoomIn {
    0% { transform: scale(0.5); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.zoom-in {
    animation: zoomIn 1.2s ease-out forwards;
}