/* Center screen alert overlay */
.test-database-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    pointer-events: none;
    /* Fade in/out animation controlled by .fade-out class */
    opacity: 1;
    transition: opacity 0.8s ease-in-out;
}

/* Fade out state */
.test-database-overlay.fade-out {
    opacity: 0;
}

.test-database-alert {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(0.5px);
    border: 3px solid rgba(255, 69, 0, 0.6);
    border-radius: 20px;
    padding: 40px 60px;
    box-shadow:
        0 0 80px rgba(255, 69, 0, 0.35),
        0 0 40px rgba(255, 69, 0, 0.25);
    text-align: center;
    /* Always animate scale/transform, never stop */
    animation: alert-pulse 4s ease-in-out infinite !important;
}

/* Gently fade out when mouse is near */
.test-database-overlay.mouse-over {
    opacity: 0 !important;
    transition: opacity 0.3s ease-in-out;
}

/* Gently fade back in when mouse leaves */
.test-database-overlay:not(.mouse-over):not(.fade-out) {
    opacity: 1 !important;
}

.alert-icon {
    font-size: 64px;
    margin-bottom: 20px;
    animation: icon-shake 2s ease-in-out infinite;
}

.alert-title {
    font-size: 32px;
    font-weight: 900;
    color: #ff6b6b;
    margin-bottom: 8px;
    letter-spacing: 2px;
    /* Soft contour for readability without harshness */
    text-shadow:
        -1px -1px 0 rgba(0, 0, 0, 0.6),
        1px -1px 0 rgba(0, 0, 0, 0.6),
        -1px 1px 0 rgba(0, 0, 0, 0.6),
        1px 1px 0 rgba(0, 0, 0, 0.6),
        0 0 25px rgba(255, 255, 255, 0.8),
        0 0 15px rgba(255, 107, 107, 0.6),
        0 2px 6px rgba(0, 0, 0, 0.4);
}

.alert-title-ka {
    font-size: 24px;
    font-weight: 900;
    color: #ff6b6b;
    margin-bottom: 16px;
    letter-spacing: 1px;
    text-shadow:
        -1px -1px 0 rgba(0, 0, 0, 0.6),
        1px -1px 0 rgba(0, 0, 0, 0.6),
        -1px 1px 0 rgba(0, 0, 0, 0.6),
        1px 1px 0 rgba(0, 0, 0, 0.6),
        0 0 25px rgba(255, 255, 255, 0.8),
        0 0 15px rgba(255, 107, 107, 0.6),
        0 2px 6px rgba(0, 0, 0, 0.4);
}

.alert-message {
    font-size: 18px;
    font-weight: 800;
    color: #ffa94d;
    margin-bottom: 6px;
    text-shadow:
        -1px -1px 0 rgba(0, 0, 0, 0.5),
        1px -1px 0 rgba(0, 0, 0, 0.5),
        -1px 1px 0 rgba(0, 0, 0, 0.5),
        1px 1px 0 rgba(0, 0, 0, 0.5),
        0 0 20px rgba(255, 255, 255, 0.7),
        0 0 10px rgba(255, 169, 77, 0.5),
        0 1px 4px rgba(0, 0, 0, 0.3);
}

.alert-message-ka {
    font-size: 16px;
    font-weight: 800;
    color: #ffa94d;
    text-shadow:
        -1px -1px 0 rgba(0, 0, 0, 0.5),
        1px -1px 0 rgba(0, 0, 0, 0.5),
        -1px 1px 0 rgba(0, 0, 0, 0.5),
        1px 1px 0 rgba(0, 0, 0, 0.5),
        0 0 20px rgba(255, 255, 255, 0.7),
        0 0 10px rgba(255, 169, 77, 0.5),
        0 1px 4px rgba(0, 0, 0, 0.3);
}

/* Animations */
@keyframes alert-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
}

@keyframes icon-shake {
    0%, 100% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-5deg);
    }
    75% {
        transform: rotate(5deg);
    }
}
