/* ===========================
   GLOBAL STYLES
=========================== */

body {
    background: #050505;
    color: #00ff9d;
    font-family: "JetBrains Mono", monospace;
    padding: 40px;
    letter-spacing: 0.5px;
}

/* Neon glow effect */
.neon {
    text-shadow: 0 0 5px #00ff9d, 0 0 10px #00ff9d, 0 0 20px #00ff9d;
}

/* Cyber borders */
.cyber-box {
    border: 1px solid #00ff9d;
    padding: 20px;
    border-radius: 8px;
    background: rgba(0, 255, 157, 0.05);
    box-shadow: 0 0 10px rgba(0, 255, 157, 0.2);
    animation: fadeIn 0.4s ease-in-out;
}

/* Fade-in animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Buttons */
button {
    background: #0a0a0a;
    border: 1px solid #00ff9d;
    padding: 10px 20px;
    color: #00ff9d;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.2s;
}

button:hover {
    background: #00ff9d;
    color: #000;
    box-shadow: 0 0 10px #00ff9d;
}

/* Difficulty dropdown */
select {
    background: #0a0a0a;
    border: 1px solid #00ff9d;
    padding: 8px;
    color: #00ff9d;
    border-radius: 6px;
}

/* Alert box */
#alertBox {
    margin-top: 20px;
}

/* Investigation panel */
#investigationPanel {
    margin-top: 20px;
}

/* Result box */
#resultBox {
    margin-top: 20px;
}

/* Score + Timer */
#timer, #score {
    font-size: 1.4rem;
    margin-top: 10px;
    font-weight: bold;
}

/* Correct / Incorrect animations */
.correct {
    animation: correctFlash 0.4s ease-in-out;
}

@keyframes correctFlash {
    0% { background: rgba(0,255,157,0.1); }
    100% { background: rgba(0,255,157,0.3); }
}

.incorrect {
    animation: wrongShake 0.4s ease-in-out;
}

@keyframes wrongShake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
    75% { transform: translateX(-5px); }
    100% { transform: translateX(0); }
}

/* Cyber grid background */
body::before {
    content: "";
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-image: linear-gradient(#0f0f0f 1px, transparent 1px),
                      linear-gradient(90deg, #0f0f0f 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.15;
    z-index: -1;
}
