/* Custom animations and effects */
@keyframes fade-in {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-fade-in {
    animation: fade-in 0.3s ease-out;
}

/* Windows 95 style button effects */
button {
    border-style: outset;
    transition: all 0.1s;
}

button:active {
    border-style: inset;
    transform: translateY(1px);
}

/* Subtle screen effects */
body {
    background-image: 
        repeating-linear-gradient(
            0deg,
            rgba(255,255,255,0.03) 0px,
            rgba(255,255,255,0.03) 1px,
            transparent 1px,
            transparent 2px
        );
}

/* Clippy glow effect */
svg {
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.3));
}

/* Speech bubble enhancement */
.bg-clippy-yellow {
    background: linear-gradient(145deg, #ffff99, #ffffcc);
    border-color: #000;
}

/* Retro form styling */
select {
    border-style: inset;
    background: #ffffff;
}

/* History panel styling */
.max-h-64 {
    scrollbar-width: thin;
    scrollbar-color: #c0c0c0 #f0f0f0;
}

.max-h-64::-webkit-scrollbar {
    width: 16px;
}

.max-h-64::-webkit-scrollbar-track {
    background: #f0f0f0;
    border: 1px inset #c0c0c0;
}

.max-h-64::-webkit-scrollbar-thumb {
    background: #c0c0c0;
    border: 1px outset #c0c0c0;
}

/* Glitch effects for dark atmosphere */
@keyframes glitch {
    0% { transform: translateX(0); }
    10% { transform: translateX(-2px); }
    20% { transform: translateX(2px); }
    30% { transform: translateX(0); }
    100% { transform: translateX(0); }
}

.animate-glitch {
    animation: glitch 2s infinite;
}

/* Subtle pulsing for ominous effect */
@keyframes ominous-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

.text-ominous-red {
    color: #8b0000;
    animation: ominous-pulse 3s infinite;
}