/* -----------------------------
   GLOBAL TRANSITIONS
----------------------------- */
a, .btn {
    transition: all 0.3s ease-in-out;
}

.btn:hover, a:hover {
    transform: scale(1.05);
}

/* -----------------------------
   NEON TEXT ANIMATION
----------------------------- */
.neon-text {
    color: #00ff41;
    text-shadow:
        0 0 5px #00ff41,
        0 0 10px #00ff41,
        0 0 20px #00ff41,
        0 0 40px #00ff41;
    animation: flicker 1.5s infinite alternate;
}

@keyframes flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
        opacity: 1;
    }
    20%, 22%, 24%, 55% {
        opacity: 0.4;
    }
}

/* -----------------------------
   BUTTON NEON HOVER
----------------------------- */
.btn-primary, .btn-secondary {
    border: 2px solid #00ff41;
    color: #00ff41;
    text-transform: uppercase;
}

.btn-primary:hover, .btn-secondary:hover {
    background-color: #00ff41;
    color: #0b0b0b;
    box-shadow: 0 0 20px #00ff41, 0 0 40px #00ff41;
}

/* -----------------------------
   CARD HOVER ANIMATION
----------------------------- */
.lab-card:hover, .service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 15px #00ff41, 0 0 30px #00ff41;
}

/* -----------------------------
   TERMINAL CURSOR BLINK
----------------------------- */
.terminal-input::after {
    content: '|';
    display: inline-block;
    margin-left: 2px;
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 50%, 100% {
        opacity: 1;
    }
    25%, 75% {
        opacity: 0;
    }
}

/* -----------------------------
   CODE RAIN EFFECT
   Optional for hero or background
----------------------------- */
@keyframes codeRain {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateY(100%);
        opacity: 0;
    }
}

.code-rain span {
    display: block;
    color: #00ff41;
    animation: codeRain linear infinite;
    font-family: 'Fira Code', monospace;
    font-size: 14px;
    line-height: 14px;
    opacity: 0;
}

/* -----------------------------
   SMOOTH FADE IN ANIMATION
----------------------------- */
.fade-in {
    animation: fadeIn 1.5s ease-in-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
