@keyframes pixelBounce {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    25% {
        transform: translateX(-10px) translateY(-2px);
    }
    75% {
        transform: translateX(10px) translateY(-2px);
    }
}

.pixel-bounce {
    animation: pixelBounce 2s infinite ease-in-out;
}

@keyframes fadeHighlight {
    0%   { background-color: #e0f2fe; }
    100% { background-color: white; }
}

.highlight {
    animation: fadeHighlight 2s ease-out;
}
body {
    font-family: 'Fira Code', monospace;
    background: radial-gradient(circle at top left, #0f0f0f 20%, #1a1a1a 100%);
    color: #00ff88;
}

.matrix-bg::before {
    content: "";
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: radial-gradient(#00ff88 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.03;
    pointer-events: none;
    z-index: -1;
}

.glow-link {
    color: #00ff88;
    transition: all 0.3s ease-in-out;
}

.glow-link:hover {
    text-shadow: 0 0 5px #00ff88, 0 0 10px #00ff88;
}

.typewriter h1 {
    overflow: hidden;
    border-right: .15em solid #00ff88;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: .1em;
    animation:
        typing 3s steps(30, end),
        blink-caret 0.75s step-end infinite;
}

@keyframes typing {
    from { width: 0 }
    to { width: 100% }
}

@keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color: #00ff88 }
}

.footer-console {
    font-size: 0.75rem;
    color: #00ff88;
    background: #111;
    padding: 0.5rem;
    font-family: monospace;
}
.typewriter-small p {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    border-right: 0.1em solid #00ff88;
    letter-spacing: 0.1em;
    animation: typing-small 2.5s steps(30, end), blink-small 0.75s step-end infinite;
}

@keyframes typing-small {
    from { width: 0 }
    to { width: 100% }
}

@keyframes blink-small {
    from, to { border-color: transparent }
    50% { border-color: #00ff88 }
}
.contact-form input,
.contact-form textarea,
.contact-form label,
.contact-form p {
    color: #111;
}
