/* =================================================
   Retro Alert Modal — arcade theme (matches base.html)
   ================================================= */

.retro-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    /* above the scanline body::before which is at 9999 */
    z-index: 10000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease-in-out;
}

.retro-modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}

/* Main window */
.retro-modal-window {
    background: #121212;          /* arcade-dark */
    border: 2px solid #FF8A00;    /* arcade-lime */
    box-shadow: 6px 6px 0px 0px #FF8A00; /* brutal-lime */
    width: 90%;
    max-width: 480px;
    font-family: 'Space Mono', 'Courier New', monospace;
    color: #EAEAEA;               /* arcade-white */
    overflow: hidden;
}

/* Title bar */
.retro-modal-header {
    background: #FF8A00;          /* arcade-lime */
    color: #0a0a0a;               /* arcade-black */
    padding: 6px 12px;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Message area */
.retro-modal-content {
    padding: 28px 24px;
    font-size: 0.9rem;
    line-height: 1.7;
    border-top: none;
    white-space: pre-line;        /* respects \n in messages */
    color: #EAEAEA;
}

/* Footer with button */
.retro-modal-footer {
    padding: 0 24px 20px;
    display: flex;
    justify-content: flex-end;
}

/* OK button — same style as the page's action buttons */
.retro-btn {
    background: transparent;
    border: 2px solid #FF8A00;
    padding: 8px 28px;
    color: #FF8A00;
    font-weight: 700;
    font-family: 'Space Mono', 'Courier New', monospace;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.1s, color 0.1s, box-shadow 0.1s, transform 0.1s;
    box-shadow: 4px 4px 0px 0px #FF8A00;
}

.retro-btn:hover {
    background: #FF8A00;
    color: #0a0a0a;
}

.retro-btn:active {
    box-shadow: 2px 2px 0px 0px #FF8A00;
    transform: translate(2px, 2px);
}

.retro-btn:focus {
    outline: 2px solid #00F0FF;   /* arcade-cyan */
    outline-offset: 2px;
}

/* Blinking cursor inside the message */
.retro-cursor {
    display: inline-block;
    width: 9px;
    height: 1em;
    background: #FF8A00;
    margin-left: 4px;
    vertical-align: text-bottom;
    animation: retro-blink 0.8s step-end infinite;
}

@keyframes retro-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}
