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

@keyframes profileAppear {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8);
        filter: blur(4px);
    }
    50% {
        opacity: 0.5;
        filter: blur(2px);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
        filter: blur(0);
    }
}

@keyframes slideInUp {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes glitch {
    0%, 100% { transform: translate(0); }
    20% { transform: translate(-1px, 1px); }
    40% { transform: translate(1px, -1px); }
    60% { transform: translate(-1px, -1px); }
    80% { transform: translate(1px, 1px); }
}

@keyframes bootProgress {
    0% { width: 0%; }
    100% { width: 100%; }
}

@keyframes humBar {
    0%, 100% { height: 2px; opacity: 0.3; }
    50% { height: 4px; opacity: 0.6; }
}

@keyframes textGlow {
    0%, 100% {
        text-shadow: 0 0 4px rgba(0, 255, 102, 0.3);
    }
    50% {
        text-shadow: 0 0 8px rgba(0, 255, 102, 0.5), 0 0 15px rgba(0, 255, 102, 0.2);
    }
}

@keyframes noiseFrames {
    0% { transform: translate(0, 0); }
    10% { transform: translate(-5px, 5px); }
    20% { transform: translate(5px, -5px); }
    30% { transform: translate(-5px, -5px); }
    40% { transform: translate(5px, 5px); }
    50% { transform: translate(-3px, 3px); }
    60% { transform: translate(3px, -3px); }
    70% { transform: translate(-3px, -3px); }
    80% { transform: translate(3px, 3px); }
    90% { transform: translate(-2px, 2px); }
    100% { transform: translate(0, 0); }
}

/* Apply text glow to important elements */
#terminal-prompt,
.terminal-line.header {
    animation: textGlow 3s ease-in-out infinite;
}

/* Fade-in utility */
.fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}

.slide-in {
    animation: slideInUp 0.3s ease-out forwards;
}
