@keyframes flashbang {
    0% {
        opacity: 0;
        transform: scale(0.8) rotate(-10deg) translate(-50%, -50%);
        filter: brightness(1) blur(0);
    }
    10% {
        opacity: 1;
        transform: scale(1.5) rotate(15deg) translate(-30%, -30%);
        filter: brightness(30) blur(5px);
    }
    30% {
        transform: scale(0.9) rotate(-8deg) translate(-60%, -40%);
        filter: brightness(25) blur(3px);
    }
    50% {
        transform: scale(1.3) rotate(10deg) translate(-45%, -55%);
        filter: brightness(20) blur(4px);
    }
    70% {
        transform: scale(0.95) rotate(-5deg) translate(-55%, -45%);
        filter: brightness(15) blur(2px);
    }
    90% {
        transform: scale(1.1) rotate(3deg) translate(-48%, -52%);
        filter: brightness(10) blur(1px);
    }
    100% {
        opacity: 0;
        transform: scale(1) rotate(0) translate(-50%, -50%);
        filter: brightness(1) blur(0);
    }
}

.flashbang-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    pointer-events: none;
    display: none;
    font-family: 'Roboto Mono', monospace;
    color: #ff0000;
    text-shadow: 
        0 0 10px #ff0000,
        0 0 20px #ff0000,
        0 0 30px #ff0000,
        0 0 40px #ff8800,
        0 0 70px #ff8800;
    font-size: 64px;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 2px;
    perspective: 1000px;
}

.flashbang-container.active {
    display: block;
    animation: flashbang 1s cubic-bezier(0.36, 0, 0.66, -0.56) forwards;
}

/* Blast effect overlay */
.flashbang-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, 
        rgba(255,255,255,1) 0%, 
        rgba(255,255,255,0.95) 30%,
        rgba(255,255,255,0.9) 50%,
        rgba(255,220,180,0.8) 70%,
        rgba(255,200,150,0.6) 85%,
        rgba(255,255,255,0) 100%);
    pointer-events: none;
    opacity: 0;
    z-index: 9998;
    mix-blend-mode: screen;
}

.flashbang-overlay.active {
    animation: flash 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes flash {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
