.felo-public-poll{max-width:900px;margin:22px auto;font-family:Inter,system-ui,Arial,sans-serif}
.felo-pair{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;padding:18px;border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,0.04)}
.felo-side{flex:1;cursor:pointer;padding:6px;text-align:center;transition:transform .18s}
.felo-side:hover{transform:translateY(-4px)}
.felo-side img{width:100%;height:360px;object-fit:cover;border-radius:8px}
.felo-vs{font-weight:700;color:#333;padding:0 12px}
.felo-caption{margin-top:8px;font-weight:600}
.felo-msg{margin-top:12px;text-align:center;font-weight:600;color:#2271b1}
.felo-leaderboard-live{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.felo-leaderboard-live .card{background:#fff;padding:8px;border-radius:10px;text-align:center;box-shadow:0 6px 20px rgba(3,10,34,0.04)}

/* Core Blink-182 / music themed animations */
.felo-side.felo-anim-guitar img{
    animation:felo-guitar-riff .6s ease-out;
}
@keyframes felo-guitar-riff{
    0%{transform:rotate(0deg) scale(1);}
    25%{transform:rotate(-4deg) scale(1.04);}
    50%{transform:rotate(4deg) scale(1.06);}
    75%{transform:rotate(-2deg) scale(1.03);}
    100%{transform:rotate(0deg) scale(1);}
}

.felo-side.felo-anim-smiley::after{
    content:'☺';
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%) scale(0);
    font-size:80px;
    color:#facc15;
    text-shadow:0 0 12px rgba(250,204,21,.8);
    animation:felo-smiley-pop .7s ease-out;
    pointer-events:none;
}
@keyframes felo-smiley-pop{
    0%{opacity:0;transform:translate(-50%,-50%) scale(0);}
    40%{opacity:1;transform:translate(-50%,-50%) scale(1.1);}
    100%{opacity:0;transform:translate(-50%,-50%) scale(0.4);}
}

.felo-side.felo-anim-albumflip img{
    transform-origin:center center;
    animation:felo-album-flip .6s ease-out;
}
@keyframes felo-album-flip{
    0%{transform:rotateY(0deg) scale(1);}
    40%{transform:rotateY(90deg) scale(.9);}
    80%{transform:rotateY(0deg) scale(1.03);}
    100%{transform:rotateY(0deg) scale(1);}
}

.felo-side.felo-anim-beatbounce img{
    animation:felo-beat-bounce .5s ease-out;
}
@keyframes felo-beat-bounce{
    0%{transform:translateY(0) scale(1);}
    30%{transform:translateY(-12px) scale(1.04);}
    60%{transform:translateY(4px) scale(0.98);}
    100%{transform:translateY(0) scale(1);}
}

.felo-side.felo-anim-neonburst::before{
    content:'';
    position:absolute;
    inset:-6px;
    border-radius:16px;
    border:2px solid rgba(244,63,94,.8);
    box-shadow:0 0 18px rgba(244,63,94,.8);
    animation:felo-neon-pulse .5s ease-out;
    pointer-events:none;
}
@keyframes felo-neon-pulse{
    0%{opacity:0;transform:scale(.8);}
    40%{opacity:1;transform:scale(1);}
    100%{opacity:0;transform:scale(1.1);}
}

.felo-side.felo-anim-vinyl img{
    border-radius:50%;
    animation:felo-vinyl-spin .7s ease-out;
}
@keyframes felo-vinyl-spin{
    0%{transform:scale(.9) rotate(0deg);}
    60%{transform:scale(1.05) rotate(360deg);}
    100%{transform:scale(1) rotate(360deg);}
}

.felo-side.felo-anim-wave img{
    animation:felo-wave-ripple .7s ease-out;
}
@keyframes felo-wave-ripple{
    0%{transform:skewX(0deg);}
    25%{transform:skewX(8deg);}
    50%{transform:skewX(-8deg);}
    75%{transform:skewX(4deg);}
    100%{transform:skewX(0deg);}
}

.felo-side.felo-anim-strobe::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,rgba(59,130,246,.7),rgba(236,72,153,.7));
    mix-blend-mode:screen;
    opacity:0;
    animation:felo-strobe .4s ease-out;
    pointer-events:none;
}
@keyframes felo-strobe{
    0%{opacity:0;}
    20%{opacity:.9;}
    40%{opacity:0;}
    60%{opacity:.7;}
    100%{opacity:0;}
}

.felo-side.felo-anim-eqbars::after{
    content:'';
    position:absolute;
    bottom:6px;left:50%;
    width:50px;height:26px;
    transform:translateX(-50%);
    background:repeating-linear-gradient(to right,#22c55e 0 6px,transparent 6px 8px);
    animation:felo-eq-bounce .6s ease-out;
    pointer-events:none;
}
@keyframes felo-eq-bounce{
    0%{transform:translateX(-50%) scaleY(.4);opacity:0;}
    40%{transform:translateX(-50%) scaleY(1);opacity:1;}
    100%{transform:translateX(-50%) scaleY(.2);opacity:0;}
}

.felo-side.felo-anim-emoji::after{
    content:'🎸 🎧 💥';
    position:absolute;
    top:8px;right:8px;
    font-size:20px;
    animation:felo-emoji-fall .7s ease-out;
}
@keyframes felo-emoji-fall{
    0%{opacity:0;transform:translateY(-10px);}
    40%{opacity:1;transform:translateY(0);}
    100%{opacity:0;transform:translateY(10px);}
}

.felo-side.felo-anim-sticker::after{
    content:'POP PUNK';
    position:absolute;
    bottom:10px;left:10px;
    padding:3px 6px;
    font-size:11px;
    background:#111827;
    color:#f9fafb;
    transform:rotate(-8deg) scale(0);
    transform-origin:left bottom;
    animation:felo-sticker .5s ease-out;
}
@keyframes felo-sticker{
    0%{transform:rotate(-12deg) scale(0);opacity:0;}
    50%{transform:rotate(-6deg) scale(1.05);opacity:1;}
    100%{transform:rotate(-8deg) scale(1);opacity:1;}
}

.felo-side.felo-anim-heartbeat::before{
    content:'';
    position:absolute;
    inset:10px;
    border-radius:999px;
    border:2px solid rgba(248,113,113,.9);
    animation:felo-heartbeat .7s ease-out;
}
@keyframes felo-heartbeat{
    0%{opacity:0;transform:scale(.7);}
    30%{opacity:1;transform:scale(1);}
    60%{opacity:1;transform:scale(.9);}
    100%{opacity:0;transform:scale(1.1);}
}

/* Ensure .felo-side is positioned for pseudo-elements */
.felo-side{position:relative;}
