/* styles for the terminal window and animations */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Link underline animation */
.link-underline {
    position: relative;
}

.link-underline::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 2px;
    background: linear-gradient(to right, #60a5fa, #38bdf8);
    transition: width 200ms ease-out;
}

.link-underline:hover::after {
    width: 100%;
}

/* Focus ring helper */
.focus-ring:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Blinking cursor for terminal */
.cursor {
    display: inline-block;
    width: 0.6ch;
    height: 1em;
    background-color: #4ade80; /* matches text-green-400 */
    animation: blink 1s steps(1, start) infinite;
    margin-left: 2px;
    vertical-align: -0.1em;
}

@keyframes blink {
    50% {
        opacity: 0;
    }
}