@keyframes lineAnim { 0% { left: -100%; } 100% { left: 100%; } }

@keyframes leafFloat {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(20px, -30px) rotate(45deg); }
}

@keyframes softPulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

.shine-text {
    color: var(--primary);
    display: inline-block;
    position: relative;
}

.grain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('https://www.transparenttextures.com/patterns/stardust.png');
    opacity: 0.04; /* Sangat tipis, hanya terasa teksturnya */
    z-index: 9998;
    pointer-events: none;
}

@keyframes rotateDisk { 
    from { transform: rotate(0deg); } 
    to { transform: rotate(360deg); } 
}

.rotating i { animation: rotateDisk 3s linear infinite; }
