* {
    font-family: 'Inter', sans-serif;
}

code, pre, .mono {
    font-family: 'JetBrains Mono', monospace;
}

.warning-stripes {
    background: repeating-linear-gradient(
        45deg,
        #ffaa00,
        #ffaa00 10px,
        #0a0e27 10px,
        #0a0e27 20px
    );
}

.glitch {
    animation: glitch 1s infinite;
}

@keyframes glitch {
    0%, 100% { transform: translate(0); }
    20% { transform: translate(-2px, 2px); }
    40% { transform: translate(-2px, -2px); }
    60% { transform: translate(2px, 2px); }
    80% { transform: translate(2px, -2px); }
}

.pulse-danger {
    animation: pulse-danger 2s infinite;
}

@keyframes pulse-danger {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 0, 64, 0.7); }
    50% { box-shadow: 0 0 20px 10px rgba(255, 0, 64, 0); }
}

.confetti {
    animation: confetti-fall 3s ease-out forwards;
}

@keyframes confetti-fall {
    0% { transform: translateY(-100vh) rotate(0deg); opacity: 1; }
    100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}

.terminal-cursor {
    animation: blink 1s step-end infinite;
}

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

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

@keyframes slide-in {
    from { transform: translateX(-20px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

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

@keyframes scale-in {
    from { transform: scale(0.8); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}