/* =========================================
   ESTILOS GENERALES
   ========================================= */
body {
    font-family: 'Arial', sans-serif;
    text-align: center;
    background-color: #f0f0f0;
    
    /* Centrado vertical y horizontal */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    overflow: hidden; /* Evita barras de desplazamiento */
    
    /* IMPORTANTE: Hemos quitado 'touch-action: none' de aquí 
       para que el móvil permita tocar el input del nombre */
}

.contenedor {
    display: flex;
    flex-direction: column; /* Alinea Título, Marcador y Juego verticalmente */
    align-items: center;
    width: 100%;
    position: relative;
}

h1 { margin-bottom: 10px; color: #333; font-size: 24px; }
p { color: #555; margin-top: 10px; font-size: 14px; }

/* =========================================
   MARCADOR (Barra Negra Superior)
   ========================================= */
.marcador {
    width: 800px;
    background-color: #222;
    color: white;
    display: flex;
    justify-content: space-between; /* Nombre a la izq, Puntos a la der */
    padding: 10px 20px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 18px;
    border-radius: 10px 10px 0 0; /* Redondeado solo arriba */
}

/* =========================================
   JUEGO (CANVAS)
   ========================================= */
canvas {
    *border: 4px solid #333;
    *border-top: none; /* Quitamos borde arriba para unirlo al marcador */
    background-color: #fff;
    *border-radius: 0 0 10px 10px; /* Redondeado solo abajo */
    border: none;
    
    /* MÓVIL RESPONSIVE */
    width: 95%;          
    max-width: 800px;     
    height: auto;        
    display: block;

    /* AQUÍ SÍ bloqueamos los gestos para que al jugar no se mueva la pantalla */
    touch-action: none; 
}

/* Si la pantalla es pequeña, el marcador se ajusta al canvas */
@media (max-width: 800px) {
    .marcador { width: 95%; }
}

/* =========================================
   VENTANAS FLOTANTES (Inicio y Game Over)
   ========================================= */
.overlay {
    position: absolute;
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%); /* Centrado perfecto */
    
    background-color: white;
    padding: 25px;
    border: 4px solid #333;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    
    /* Aseguramos que esté MUY por encima */
    z-index: 1000; 
    
    /* Tamaño para móvil */
    width: 85%;
    max-width: 400px;
}

/* =========================================
   FORMULARIOS Y BOTONES
   ========================================= */
input {
    padding: 10px;
    font-size: 16px;
    border: 2px solid #ccc;
    border-radius: 5px;
    margin-bottom: 15px;
    display: block;
    width: 80%;
    margin: 10px auto;
    
    /* --- LÍNEAS MÁGICAS PARA EL TECLADO MÓVIL --- */
    touch-action: manipulation !important; /* Permite tocar y hacer clic */
    user-select: text !important;          /* Permite seleccionar el texto */
    pointer-events: auto !important;       /* Asegura que recibe el toque */
    z-index: 99999;                        /* Asegura que está encima de todo */
}

button {
    background-color: #4CAF50;
    color: white;
    padding: 12px 25px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    touch-action: manipulation; /* Permite clic en móvil */
}

button:hover { background-color: #45a049; }

/* =========================================
   ESTILOS DEL RANKING (GAME OVER)
   ========================================= */
#lista-records {
    list-style: none; /* Quitamos los puntos de la lista */
    padding: 0;
    margin: 15px 0;
    text-align: left;
    max-height: 200px;
    overflow-y: auto; /* Scroll si hay muchos récords */
    border: 1px solid #eee;
}

#lista-records li {
    background-color: #f9f9f9;
    border-bottom: 1px solid #ddd;
    padding: 8px 15px;
    font-size: 15px;
    display: flex;
    justify-content: space-between; /* Nombre izquierda, Puntos derecha */
}

/* Colores para el podio */
#lista-records li:nth-child(1) { background-color: #fff8c4; color: #b8860b; font-weight: bold; } /* Oro */
#lista-records li:nth-child(2) { background-color: #f0f0f0; color: #555; font-weight: bold; }   /* Plata */
#lista-records li:nth-child(3) { background-color: #fff0e6; color: #cd7f32; font-weight: bold; } /* Bronce */

/* Texto de Puntuación Final Grande */
#puntuacion-final {
    font-size: 30px;
    font-weight: bold;
    color: #333;
    display: block;
    margin: 10px 0;
}

/* Clase para ocultar elementos */
/* Asegura que la ventana flote POR ENCIMA del juego */
.overlay {
    position: fixed; /* CAMBIO IMPORTANTE: Fixed en vez de Absolute */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 20px;
    border: 4px solid #333;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 10px 1000px rgba(0,0,0,0.8); /* Sombra muy oscura para tapar el fondo */
    z-index: 9999; /* Por encima de TODO */
    width: 85%;
    max-width: 400px;
}

/* Esta es la clase que usamos para esconder y mostrar */
.oculto {
    display: none !important; /* El !important es CLAVE */
}