body {
  font-family: Arial, sans-serif;
  text-align: center;
  background-color: #f4f4f4;
  margin: 0;
  padding: 0;
}
.logo {
  margin-top: 20px;
  max-width: 300px;
  width: 100%;
  height: auto;
}
.grid-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
}
.grid {
  display: grid;
  grid-template-columns: repeat(5, 50px);
  gap: 5px;
}
.row {
  display: flex;
}
.cell {
  width: 50px;
  height: 50px;
  border: 2px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
  background-color: white;
  color: black;
}
/* En la grilla, si la letra no está en la palabra se muestra en gris #808080,
       si está en la palabra pero en posición incorrecta se muestra en #ffa500,
       y si es correcta se muestra en verde */
.cell.correct {
  background-color: green;
  color: white;
}
.cell.present {
  background-color: #ffa500;
  color: white;
}
.cell.absent {
  background-color: #808080;
  color: white;
}

/* Contenedor del teclado centrado y adaptado */
.keyboard {
  width: calc(100% - 20px);
  max-width: 300px;
  margin: 20px auto;
  box-sizing: border-box;
}
.keyboard-row {
  display: flex;
  justify-content: center;
  margin-bottom: 5px;
}
.key {
  flex: 1;
  margin: 2px;
  padding: 10px;
  border: 2px solid #ccc;
  background-color: lightgray;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
  text-align: center;
  white-space: normal;
  word-break: break-word;
}
/* En el teclado, la tecla correcta se muestra en verde,
       la que está en la palabra pero en mala posición en #ffa500,
       y la que no está en la palabra en gris (#808080), bloqueada y con opacidad reducida */
.key.correct {
  background-color: green;
  color: white;
}
.key.present {
  background-color: #ffa500;
  color: black;
}
.key.absent {
  background-color: #808080;
  color: white;
  pointer-events: none;
  opacity: 0.5;
}

.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
  border: 2px solid black;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
}
.example-grid {
  display: flex;
  justify-content: center;
  margin: 10px 0;
}
.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
  border: 2px solid black;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  width: 90%; /* Ancho de 90% del viewport */
  max-width: 300px; /* Máximo ancho de 300px */
  max-height: 80vh; /* Máximo alto: 80% de la altura del viewport */
  overflow-y: auto; /* Agrega scroll vertical si el contenido es muy alto */
}
