/* --- CONFIGURACIÓN GLOBAL --- */
:root {
    /* Paleta de colores UNSC */
    --color-fondo: #0a0c10; /* Azul muy oscuro/casi negro */
    --color-fondo-secundario: #0f121a; /* Para la barra lateral */
    --color-borde: #2a3d52; /* Gris azulado */
    --color-texto-principal: #c0c8d0; /* Gris claro */
    --color-texto-secundario: #8899a6;
    --color-acento-principal: #00aaff; /* Azul brillante UNSC */
    --color-acento-peligro: #ff4444; /* Rojo para botones de "acusar" */
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* --- ESTILOS GLOBALES --- */
body {
    font-family: 'Share Tech Mono', monospace;
    color: var(--color-texto-principal);
    background-color: var(--color-fondo-principal); /* Color de respaldo si la imagen no carga */
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* Asegura que ocupe al menos toda la altura de la ventana */
    overflow: hidden; /* Evita barras de desplazamiento si la imagen es muy grande */

    /* --- PROPIEDADES PARA LA IMAGEN DE FONDO --- */
    background-image: url('images/fondo_nave.jpg'); /* ¡CAMBIA 'fondo_nave.jpg' por el nombre de tu archivo! */
    background-size: cover; /* Cubre todo el área sin dejar espacios, recortando si es necesario */
    background-position: center center; /* Centra la imagen */
    background-repeat: no-repeat; /* Evita que la imagen se repita */
    background-attachment: fixed; /* Mantiene la imagen fija al hacer scroll (opcional, pero se ve bien) */
    /* --- FIN PROPIEDADES IMAGEN DE FONDO --- */
}
/* --- CONTENEDOR PRINCIPAL --- */
.game-container {
    max-width: 1400px;
    margin: 0 auto;
    border: 1px solid var(--color-borde);
    background-color: rgba(15, 18, 26, 0.8); /* Fondo semi-transparente */
    backdrop-filter: blur(5px);
    box-shadow: 0 0 20px rgba(0, 170, 255, 0.1);
}

/* --- ENCABEZADO --- */
header {
    text-align: center;
    padding: 20px;
    border-bottom: 1px solid var(--color-borde);
    background-color: var(--color-fondo-secundario);
}

header h1 {
    color: var(--color-acento-principal);
    font-size: 1.8em;
    letter-spacing: 2px;
}

.status-report {
    font-size: 1.2em;
    color: #ffffff;
}

#game-message {
    color: var(--color-texto-secundario);
    font-style: italic;
    margin-top: 10px;
}

/* --- ESTRUCTURA DE CONTENIDO (FLEXBOX) --- */
.content-wrapper {
    display: flex;
    flex-wrap: wrap; /* Para responsividad */
}

/* --- SECCIÓN 1: CONTENIDO PRINCIPAL --- */
.main-content {
    flex: 3; /* Ocupa 3/4 partes del espacio */
    padding: 20px;
    border-right: 1px solid var(--color-borde);
}

/* --- Navegación de Pestañas --- */
.tab-nav {
    display: flex;
    border-bottom: 1px solid var(--color-borde);
}

.tab-link {
    font-family: 'Share Tech Mono', monospace;
    padding: 12px 20px;
    cursor: pointer;
    background: none;
    border: none;
    color: var(--color-texto-secundario);
    font-size: 1.1em;
    transition: all 0.2s;
}

.tab-link:hover {
    color: #ffffff;
}

.tab-link.active {
    color: var(--color-acento-principal);
    border-bottom: 2px solid var(--color-acento-principal);
    background-color: rgba(0, 170, 255, 0.1);
}

/* --- Contenido de Pestañas --- */
.tab-pane {
    display: none; /* Ocultas por defecto */
    padding-top: 20px;
}

.tab-pane.active {
    display: block; /* Visible la activa */
}

.tab-pane h2 {
    color: #ffffff;
    margin-bottom: 20px;
}

/* --- Rejilla de Tarjetas (para items) --- */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 15px;
}

.card {
    background-color: var(--color-fondo-secundario);
    border: 1px solid var(--color-borde);
    padding: 25px 20px;
    text-align: center;
    font-size: 1.2em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.card:hover {
    background-color: var(--color-acento-principal);
    color: var(--color-fondo);
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 170, 255, 0.3);
}

/* --- SECCIÓN 2: CUADERNO (BARRA LATERAL) --- */
.notebook {
    flex: 1; /* Ocupa 1/4 parte del espacio */
    min-width: 300px; /* Ancho mínimo */
    padding: 20px;
    background-color: var(--color-fondo-secundario);
}

.notebook h2 {
    color: var(--color-acento-principal);
    border-bottom: 1px solid var(--color-borde);
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.notebook-section {
    margin-top: 20px;
}

.notebook-section h3 {
    color: #ffffff;
    margin-bottom: 10px;
}

.notebook-section ul {
    list-style: none;
}

.notebook-section li {
    margin-bottom: 8px;
}

.notebook-section label {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: color 0.2s;
}

.notebook-section label:hover {
    color: #ffffff;
}

.notebook-section input[type="checkbox"] {
    margin-right: 10px;
    accent-color: var(--color-acento-principal);
}

/* --- BARRA DE ACCIÓN FINAL --- */
.action-bar {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--color-borde);
}

.btn-final {
    font-family: 'Share Tech Mono', monospace;
    background-color: var(--color-acento-peligro);
    color: #ffffff;
    border: none;
    padding: 15px 30px;
    font-size: 1.2em;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-final:hover {
    background-color: #ffffff;
    color: var(--color-acento-peligro);
    box-shadow: 0 0 15px var(--color-acento-peligro);
}

/* --- ESTILOS ETAPA 3: ESTADOS DE LAS TARJETAS --- */

.card.card-discarded {
    background-color: #1a2029; /* Color de fondo oscuro/apagado */
    color: var(--color-texto-secundario);
    cursor: not-allowed; /* Cambia el cursor a "no permitido" */
    opacity: 0.6;
    text-decoration: line-through; /* Tacha el texto */
}

.card.card-discarded:hover {
    /* Cancela el efecto hover si está descartada */
    transform: none;
    background-color: #1a2029;
    color: var(--color-texto-secundario);
    box-shadow: none;
}

.card.card-suspicious {
    /* Un borde brillante para marcarlo como sospechoso */
    border: 1px solid var(--color-acento-peligro);
    box-shadow: 0 0 10px var(--color-acento-peligro);
}

.card.card-suspicious:hover {
    /* Mantenemos el efecto hover normal, pero con el color de peligro */
    background-color: var(--color-acento-peligro);
    color: #ffffff;
}

/* --- ESTILOS ETAPA 4: VENTANA MODAL DE ACUSACIÓN --- */

.modal-overlay {
    display: none; /* Oculto por defecto */
    position: fixed; /* Se superpone a todo */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10, 12, 16, 0.85); /* Fondo oscuro semi-transparente */
    backdrop-filter: blur(5px);
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-overlay.active {
    display: flex; /* Se muestra cuando tiene la clase 'active' */
}

.modal-content {
    background-color: var(--color-fondo-secundario);
    border: 1px solid var(--color-acento-principal);
    box-shadow: 0 0 30px rgba(0, 170, 255, 0.4);
    padding: 30px;
    width: 90%;
    max-width: 600px;
    text-align: center;
}

.modal-content h2 {
    color: var(--color-acento-principal);
    margin-bottom: 15px;
}

.modal-form {
    margin: 25px 0;
    text-align: left;
}

.modal-form label {
    display: block;
    margin-top: 15px;
    margin-bottom: 5px;
    color: #ffffff;
}

.modal-form select {
    width: 100%;
    padding: 12px;
    background-color: var(--color-fondo);
    border: 1px solid var(--color-borde);
    color: var(--color-texto-principal);
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.1em;
    cursor: pointer;
}

.modal-actions {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

/* Botones genéricos para el modal */
.modal-actions button {
    font-family: 'Share Tech Mono', monospace;
    border: none;
    padding: 12px 25px;
    font-size: 1em;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-confirm {
    background-color: var(--color-acento-principal);
    color: #000;
}
.btn-confirm:hover {
    background-color: #ffffff;
    box-shadow: 0 0 15px var(--color-acento-principal);
}

.btn-cancel {
    background-color: var(--color-borde);
    color: var(--color-texto-principal);
}
.btn-cancel:hover {
    background-color: #ffffff;
    color: #000;
}

/* --- ESTILOS ETAPA 4: PANTALLA FINAL --- */

.final-narrative {
    padding: 40px;
    text-align: center;
}

.final-narrative h2 {
    font-size: 2.5em;
    color: var(--color-acento-principal);
}

.final-narrative p {
    font-size: 1.2em;
    color: var(--color-texto-secundario);
    margin-top: 10px;
}

.narrative-box {
    text-align: left;
    max-width: 800px;
    margin: 30px auto;
    padding: 25px;
    background-color: var(--color-fondo-secundario);
    border: 1px solid var(--color-borde);
}

.narrative-box p {
    font-size: 1.1em;
    color: var(--color-texto-principal);
    line-height: 1.6;
}

.narrative-box hr {
    border: 0;
    border-top: 1px solid var(--color-borde);
    margin: 15px 0;
}

/* --- ESTILOS ETAPA 5: MODAL DE PISTAS --- */

.modal-clue {
    /* Un poco más pequeño que el modal de acusación */
    max-width: 550px; 
    border-color: var(--color-borde); /* Borde neutral, no de alerta */
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}

.modal-clue h2 {
    color: #ffffff; /* Título blanco, menos alarmante */
}

#clue-modal-body {
    text-align: left;
    margin: 20px 0;
    padding: 15px;
    background-color: var(--color-fondo);
    border: 1px solid var(--color-borde);
    max-height: 300px;
    overflow-y: auto; /* Añade scroll si el texto es muy largo */
}

#clue-modal-body p {
    font-size: 1.1em;
    line-height: 1.6;
    color: var(--color-texto-principal);
}
/* --- ESTILOS DEL MOTOR DE ELIMINACIÓN --- */

/* Esta clase se aplica a un item que SÍ es parte de la solución */
/* Se queda "iluminado" pero no se tacha */
.card.card-investigated {
    border-color: var(--color-acento-principal);
    box-shadow: 0 0 10px var(--color-acento-principal);
    cursor: not-allowed;
}

.card.card-investigated:hover {
    /* Cancela el hover normal */
    transform: none;
    background-color: var(--color-fondo-secundario);
    color: var(--color-texto-principal);
}
/* --- ESTILOS PANTALLA DE BIENVENIDA --- */

.modal-welcome {
    /* Más grande, para que quepan las reglas */
    max-width: 800px; 
    border-color: var(--color-acento-principal);
    box-shadow: 0 0 30px rgba(0, 170, 255, 0.4);
}

.modal-welcome h2 {
    color: var(--color-acento-principal);
}

.modal-welcome p {
    font-size: 1.1em;
    color: var(--color-texto-secundario);
    margin-bottom: 20px;
}

/* Estilos para la lista de reglas */
.rules-list {
    text-align: left;
    background-color: var(--color-fondo);
    border: 1px solid var(--color-borde);
    padding: 20px;
    margin: 20px 0;
}

.rules-list h3 {
    color: #ffffff;
    border-bottom: 1px solid var(--color-borde);
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.rules-list ol {
    padding-left: 20px; /* Espacio para los números */
}

.rules-list li {
    margin-bottom: 15px;
    line-height: 1.6;
}

.rules-list li ul {
    list-style-type: disc; /* Viñetas redondas */
    padding-left: 25px;
    margin-top: 10px;
}

.rules-list li ul li {
    margin-bottom: 5px;
}

/* Botón de Empezar */
.modal-welcome .btn-final {
    /* Reutilizamos la clase 'btn-final' pero le damos un color más "positivo" */
    background-color: var(--color-acento-principal);
    color: #000;
}
.modal-welcome .btn-final:hover {
    background-color: #ffffff;
    color: #000;
    box-shadow: 0 0 15px var(--color-acento-principal);
}