/* -----------------------------------------
   HOOK + LINE
----------------------------------------- */

/* Hook bobbing animation (slower, smoother) */
@keyframes tem-hook-bob {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(10px); }
}

/* Line swaying */
@keyframes tem-line-sway {
    0%, 100% { transform: translateX(0px); }
    50% { transform: translateX(4px); }
}

/* -----------------------------------------
   FISH MOVEMENT
----------------------------------------- */

/* Fish swimming toward bait */
@keyframes tem-swim-to-bait {
    0% { 
        transform: translate(0, 0) scaleX(1); 
        opacity: 0.85;
    }
    40% { 
        transform: translate(var(--swim-distance, 180px), var(--swim-height, -80px)) scaleX(1);
        opacity: 1;
    }
    50% {
        transform: translate(var(--swim-distance, 180px), var(--swim-height, -80px)) scaleX(1);
        opacity: 1;
    }
    60% {
        transform: translate(var(--swim-distance, 180px), var(--swim-height, -80px)) scaleX(-1);
        opacity: 0.95;
    }
    100% { 
        transform: translate(0, 0) scaleX(-1);
        opacity: 0.75;
    }
}

/* Subtle depth drift for fish group */
@keyframes tem-depth-drift {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(14px); }
}

/* -----------------------------------------
   SPARKLES
----------------------------------------- */

.tem-sparkle {
    width: 5px;
    height: 5px;
    background: white;
    border-radius: 50%;
    box-shadow:
        0 0 8px rgba(255,255,255,0.9),
        0 0 16px rgba(255,215,0,0.5);
}

@keyframes tem-twinkle {
    0%, 100% { 
        opacity: 0.25;
        transform: scale(0.7);
    }
    50% { 
        opacity: 1;
        transform: scale(1.3);
    }
}

/* -----------------------------------------
   WATER SHIMMER
----------------------------------------- */

@keyframes tem-underwater-shimmer {
    0%, 100% {
        opacity: 0.25;
        transform: translateY(0);
    }
    50% {
        opacity: 0.55;
        transform: translateY(-14px);
    }
}
