/* 
 * Shared Premium Styles
 */

/* Typography */
.font-outfit { font-family: 'Outfit', sans-serif; }
.font-pixel { font-family: 'Press Start 2P', cursive; font-size: 0.7rem !important; }
.font-cursive { font-family: 'Dancing Script', cursive; font-size: 1.2rem !important; }
.font-luxury { font-family: 'Cinzel', serif; letter-spacing: 1px; }
.font-tech { font-family: 'JetBrains Mono', monospace; }

/* Interactive Particles */
.premium-row { position: relative; }
.particle {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    animation: particle-fly 0.8s ease-out forwards;
    z-index: 50;
}

@keyframes particle-fly {
    0% { transform: translate(0, 0) scale(1); opacity: 1; }
    100% { transform: translate(var(--tw-tx), var(--tw-ty)) scale(0); opacity: 0; }
}

/* Premium Row Animations (Shared) */
@keyframes premium-glow-pulse {
    0%, 100% { box-shadow: 0 0 15px var(--premium-glow); }
    50% { box-shadow: 0 0 30px var(--premium-glow); }
}

@keyframes premium-neon {
    0%, 100% { border-color: var(--premium-border); box-shadow: 0 0 10px var(--premium-glow), inset 0 0 5px var(--premium-glow); }
    50% { border-color: #fff; box-shadow: 0 0 20px var(--premium-glow), 0 0 40px var(--premium-glow), inset 0 0 10px var(--premium-glow); }
    80% { border-color: var(--premium-border); box-shadow: 0 0 5px var(--premium-glow); }
}

@keyframes premium-ghost {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(0.99); filter: blur(1px); }
}

@keyframes premium-rainbow {
    0% { border-color: #ff0000; box-shadow: 0 0 15px rgba(255,0,0,0.5); }
    20% { border-color: #ffff00; box-shadow: 0 0 15px rgba(255,255,0,0.5); }
    40% { border-color: #00ff00; box-shadow: 0 0 15px rgba(0,255,0,0.5); }
    60% { border-color: #00ffff; box-shadow: 0 0 15px rgba(0,255,255,0.5); }
    80% { border-color: #0000ff; box-shadow: 0 0 15px rgba(0,0,255,0.5); }
    100% { border-color: #ff00ff; box-shadow: 0 0 15px rgba(255,0,255,0.5); }
}

@keyframes premium-fire {
    0%, 100% { box-shadow: 0 0 20px #ef4444, inset 0 0 10px #f97316; border-color: #ef4444; }
    50% { box-shadow: 0 0 40px #f97316, inset 0 0 20px #ef4444; border-color: #f97316; }
}

@keyframes scanline-move {
    0% { left: -100%; }
    100% { left: 100%; }
}

.premium-row-neon { animation: premium-neon 0.2s infinite; }
.premium-row-ghost { animation: premium-ghost 4s infinite ease-in-out; }
.premium-row-pulse { animation: premium-glow-pulse 2s infinite ease-in-out; }
.premium-row-rainbow { animation: premium-rainbow 5s infinite linear; }
.premium-row-fire { 
    animation: premium-fire 2s infinite ease-in-out;
    background: linear-gradient(to top, rgba(239, 68, 68, 0.1), transparent) !important;
}

.premium-row-scanline { position: relative; overflow: hidden; }
.premium-row-scanline::after {
    content: "";
    position: absolute;
    top: 0; left: -100%;
    width: 200%; height: 100%;
    background: linear-gradient(90deg, transparent, var(--premium-glow), transparent);
    animation: scanline-move 3s infinite linear;
    pointer-events: none;
    opacity: 0.3;
}

.premium-avatar-glow {
    box-shadow: 0 0 15px var(--premium-glow);
    border: 2px solid var(--premium-border) !important;
}

/* Harvesting / Farming Animation (Lava / Bubble Effect) */
@keyframes pol-harvest-float {
    0% { 
        transform: translate(0, 0) scale(0) rotate(0deg); 
        opacity: 0;
        filter: blur(2px) brightness(1);
    }
    15% { 
        opacity: 1; 
        transform: translate(-30px, -40px) scale(0.8) rotate(45deg); 
        filter: blur(0px) brightness(1.3);
    }
    45% { 
        transform: translate(20px, -100px) scale(1.5) rotate(180deg); 
        filter: brightness(2) drop-shadow(0 0 15px rgba(178, 73, 248, 0.9));
    }
    80% { 
        opacity: 1; 
        transform: translate(120px, 120px) scale(0.4) rotate(300deg); 
        filter: blur(1px) brightness(1.2);
    }
    100% { 
        transform: translate(150px, 150px) scale(0) rotate(360deg); 
        opacity: 0;
        filter: blur(4px);
    }
}

@keyframes farming-aura {
    0%, 100% { filter: drop-shadow(0 0 10px rgba(178, 73, 248, 0.3)); }
    50% { filter: drop-shadow(0 0 25px rgba(178, 73, 248, 0.6)); }
}

.harvest-token {
    position: absolute;
    width: 24px;
    height: 24px;
    background: url('../img/pol.webp');
    background-size: cover;
    border-radius: 50%;
    pointer-events: none;
    z-index: 50;
    box-shadow: 0 0 15px rgba(178, 73, 248, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.3);
    animation: pol-harvest-float 4s infinite ease-in-out both;
}

.farming-vibe {
    animation: farming-aura 3s infinite ease-in-out;
}

@keyframes bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

.animate-bounce-slow {
    animation: bounce-slow 2s infinite ease-in-out;
}
