/* JuicyBet — motion: keyframes + scroll-reveal + glitch. */

@keyframes drift { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(4vw,3vh,0) scale(1.15); } }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes blink { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes chipflash { 0% { box-shadow: 0 0 0 0 var(--accent); } 100% { box-shadow: var(--glow-mag); } }
@keyframes glitch {
    0%,100% { clip-path: inset(0 0 0 0); transform: translate(0); }
    20% { clip-path: inset(20% 0 30% 0); transform: translate(-2px, 1px); }
    40% { clip-path: inset(60% 0 5% 0); transform: translate(2px, -1px); }
    60% { clip-path: inset(10% 0 55% 0); transform: translate(-1px, 0); }
}

/* scroll reveal */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
[data-reveal].is-in { opacity: 1; transform: none; }

/* glitch hover on wordmark / text */
[data-glitch]:hover .wordmark__text { position: relative; }
[data-glitch-text] { position: relative; display: inline-block; }
[data-glitch-text].glitching::before,
[data-glitch-text].glitching::after { content: attr(data-glitch-text); position: absolute; left: 0; top: 0; width: 100%; }
[data-glitch-text].glitching::before { color: var(--accent-2); animation: glitch .4s steps(2) 1; }
[data-glitch-text].glitching::after { color: var(--accent); animation: glitch .4s steps(2) reverse 1; }

@media (prefers-reduced-motion: reduce) {
    .aurora span, .ticker__track, .pulse, .live-dot::before { animation: none !important; }
    [data-reveal] { opacity: 1; transform: none; transition: none; }
}
