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

@keyframes glitch {
    0% { text-shadow: 2px 2px #00ff00, -2px -2px #00ff00; }
    25% { text-shadow: -2px 2px #00ff00, 2px -2px #00ff00; }
    50% { text-shadow: 2px -2px #00ff00, -2px 2px #00ff00; }
    75% { text-shadow: -2px -2px #00ff00, 2px 2px #00ff00; }
    100% { text-shadow: 2px 2px #00ff00, -2px -2px #00ff00; }
}

@keyframes fly {
    0% { transform: translateX(-50px) translateY(0) rotate(-10deg); }
    50% { transform: translateX(50px) translateY(-30px) rotate(10deg); }
    100% { transform: translateX(-50px) translateY(0) rotate(-10deg); }
}

.glitch {
    animation: glitch 1s infinite;
}

.pigeon-fly {
    animation: fly 2s ease-in-out infinite;
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

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

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #000;
}

::-webkit-scrollbar-thumb {
    background: #00ff00;
    border: 1px solid #000;
}

::-webkit-scrollbar-thumb:hover {
    background: #00dd00;
}

/* Custom range slider */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
}

input[type="range"]::-webkit-slider-track {
    background: #1a1a1a;
    height: 8px;
    border: 1px solid #00ff00;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #00ff00;
    cursor: pointer;
    margin-top: -6px;
}

input[type="range"]::-moz-range-track {
    background: #1a1a1a;
    height: 8px;
    border: 1px solid #00ff00;
}

input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #00ff00;
    cursor: pointer;
    border: none;
}

/* Select dropdown */
select {
    cursor: pointer;
}

select:focus {
    outline: none;
    border-color: #00dd00;
}

/* Button hover effects */
button {
    transition: all 0.2s ease;
}

button:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 4px 0 #00dd00;
}

button:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: none;
}

/* Responsive text */
@media (max-width: 768px) {
    .text-6xl { font-size: 2.5rem; }
    .text-4xl { font-size: 2rem; }
    .text-2xl { font-size: 1.5rem; }
}