/* Juego de clasificar tarjetas a izquierda y derecha (ver assets/js/juego-clasificar.js) */
.envoltorio.ancho { max-width: 1400px; }
.instrucciones { text-align: center; color: var(--suave); }

.tablero {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  gap: clamp(8px, 2vw, 20px);
  align-items: start;
}

.zona, #centro {
  min-height: 420px;
  padding: 12px;
  border-radius: 20px;
}
.zona {
  border: 4px dashed var(--color-zona);
  background: var(--fondo-zona);
}
.zona.oviparos  { --color-zona: #e0a526; --fondo-zona: #fff3d1; }
.zona.viviparos { --color-zona: #3b7dd8; --fondo-zona: #e3eefc; }
.zona.error { border-color: #d9443b; background: #fde2df; animation: temblar .35s; }

.zona h2 { margin: 4px 0 2px; color: var(--color-zona); font-size: clamp(1.1rem, 2.6vw, 1.8rem); }
.zona .pista { margin: 0 0 12px; text-align: center; color: var(--suave); font-size: .85rem; }

#centro {
  background: #fff;
  border: 3px solid var(--borde);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(80px, 11vw, 150px), 1fr));
  gap: clamp(6px, 1vw, 12px);
  align-content: start;
}

.zona .huecos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(64px, 8vw, 110px), 1fr));
  gap: 8px;
}

.animal {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 3px solid var(--acento);
  border-radius: 14px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, .15);
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.animal img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.nombre-animal {
  padding: 4px 2px;
  text-align: center;
  font-weight: bold;
  font-size: clamp(.7rem, 1.6vw, 1.1rem);
  overflow-wrap: anywhere;
}
.animal.usada { visibility: hidden; }
.animal.colocada { cursor: default; border-color: var(--color-zona); box-shadow: none; }
.animal.colocada .nombre-animal { font-size: clamp(.6rem, 1.2vw, .9rem); }
.animal.fantasma {
  position: fixed;
  z-index: 10;
  pointer-events: none;
  cursor: grabbing;
  transform: scale(1.08) rotate(-2deg);
}
.animal.volviendo { transition: left .25s, top .25s, transform .25s; transform: none; }

/* Al terminar, el centro vacío desaparece sin mover las zonas */
#centro:empty { visibility: hidden; }

/* Tarjetas solo de texto */
.animal.frase { justify-content: center; min-height: 64px; padding: 8px; }
.animal.frase .nombre-animal { font-size: clamp(.8rem, 1.5vw, 1.05rem); }
.animal.colocada.frase { min-height: 0; padding: 4px 6px; }
.animal.colocada.frase .nombre-animal { font-size: clamp(.7rem, 1.2vw, .9rem); }

/* Variante con varias zonas pequeñas apiladas a cada lado (.lado) */
.lado { display: grid; gap: clamp(8px, 1.5vw, 14px); }
.lado .zona { min-height: 0; padding: 8px; }
.lado .zona h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: clamp(.8rem, 1.7vw, 1.25rem); }
.lado .zona h2 img { width: clamp(56px, 7vw, 90px); height: auto; flex: none; }
.lado .zona .huecos { grid-template-columns: 1fr; gap: 6px; min-height: 40px; }
.tablero.seis #centro { min-height: 0; grid-template-columns: repeat(auto-fill, minmax(clamp(110px, 14vw, 180px), 1fr)); }

.creditos { text-align: center; color: var(--suave); font-size: .8rem; margin-top: 32px; }

.final { text-align: center; font-size: 1.4rem; }

@keyframes temblar {
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}
