/* Custom SCP-294 Styles */
.font-orbitron {
    font-family: 'Orbitron', monospace;
}

.lcd-glow {
    text-shadow: 0 0 10px currentColor;
    animation: lcd-flicker 3s infinite;
}

.button-glow {
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.5);
}

.button-glow:hover {
    box-shadow: 0 0 25px rgba(34, 197, 94, 0.7);
}

.emergency-button {
    animation: emergency-pulse 2s infinite;
}

@keyframes lcd-flicker {
    0%, 100% { opacity: 1; }
    98% { opacity: 1; }
    99% { opacity: 0.8; }
}

@keyframes emergency-pulse {
    0%, 100% { 
        background-color: rgb(220, 38, 38);
        box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7);
    }
    50% { 
        background-color: rgb(239, 68, 68);
        box-shadow: 0 0 0 10px rgba(220, 38, 38, 0);
    }
}

/* Scanline effect for LCD displays */
.bg-black {
    background-image: 
        linear-gradient(
            90deg,
            transparent 98%,
            rgba(0, 255, 0, 0.03) 100%
        ),
        linear-gradient(
            0deg,
            transparent 98%,
            rgba(0, 255, 0, 0.03) 100%
        );
    background-size: 3px 3px;
}

/* Retro terminal styling */
input[type="text"] {
    background-image: 
        linear-gradient(
            0deg,
            transparent 50%,
            rgba(0, 255, 0, 0.03) 50%
        );
    background-size: 100% 2px;
}

/* Hover effects for interactive elements */
button:not(:disabled):hover {
    transform: translateY(-1px);
    transition: all 0.2s ease;
}

/* Smooth transitions for dispensing animation */
.transition-all {
    transition: all 0.3s ease-in-out;
}

/* Custom scrollbar for history log */
.overflow-y-auto::-webkit-scrollbar {
    width: 6px;
}

.overflow-y-auto::-webkit-scrollbar-track {
    background: rgb(55, 65, 81);
    border-radius: 3px;
}

.overflow-y-auto::-webkit-scrollbar-thumb {
    background: rgb(75, 85, 99);
    border-radius: 3px;
}

.overflow-y-auto::-webkit-scrollbar-thumb:hover {
    background: rgb(107, 114, 128);
}

/* Loading animation for dispensing */
@keyframes dispense-flow {
    0% { height: 0%; }
    100% { height: 70%; }
}

.dispensing-animation {
    animation: dispense-flow 2s ease-in-out;
}