/* ================================================
   ANIMATIONEN
   ================================================ */

/* Fade In */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Float */
@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

/* Rotate */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Pulse */
@keyframes pulse {
    0%, 100% {
        opacity: 0.15;
    }
    50% {
        opacity: 0.25;
    }
}

/* Drag Pulse */
@keyframes dragPulse {
    0% {
        box-shadow: 0 0 15px rgba(212, 175, 55, 0.6);
    }
    100% {
        box-shadow: 0 0 25px rgba(212, 175, 55, 0.8);
    }
}

/* Scroll Float */
@keyframes scrollFloat {
    0%, 100% {
        transform: translateY(0px) rotateY(10deg) rotateZ(-15deg);
    }
    50% {
        transform: translateY(-15px) rotateY(15deg) rotateZ(-12deg);
    }
}

/* Coin Spin */
@keyframes coinSpin {
    0% {
        transform: rotateY(0deg) rotateX(0deg);
    }
    25% {
        transform: rotateY(90deg) rotateX(10deg);
    }
    50% {
        transform: rotateY(180deg) rotateX(0deg);
    }
    75% {
        transform: rotateY(270deg) rotateX(-10deg);
    }
    100% {
        transform: rotateY(360deg) rotateX(0deg);
    }
}

/* Coin Float */
@keyframes coinFloat {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-10px) scale(1.05);
    }
}

/* Quill Sway */
@keyframes quillSway {
    0%, 100% {
        transform: rotate(25deg) rotateY(5deg) translateX(0px);
    }
    50% {
        transform: rotate(22deg) rotateY(8deg) translateX(-5px);
    }
}

/* Compass Rotate */
@keyframes compassRotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Compass Float */
@keyframes compassFloat {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-8px) scale(1.02);
    }
}

/* Key Swing */
@keyframes keySwing {
    0%, 100% {
        transform: rotate(25deg) rotateY(10deg) translateY(0px);
    }
    50% {
        transform: rotate(28deg) rotateY(15deg) translateY(-5px);
    }
}

/* Hourglass Float */
@keyframes hourglassFloat {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-12px) scale(1.03);
    }
}

/* Hourglass Tilt */
@keyframes hourglassTilt {
    0%, 100% {
        transform: rotateZ(0deg);
    }
    25% {
        transform: rotateZ(5deg);
    }
    75% {
        transform: rotateZ(-5deg);
    }
}

/* Shine */
@keyframes shine {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}
