#gameContainer {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(var(--cols), 1fr);
  max-width: 90vw;
  margin: 0 auto;
}

.card {
  width: 100%;
  aspect-ratio: 1 / 1;
  /* Keeps the card square */
  max-width: 80px;
  /* Optional: sets a max size so they don't get too big */
  background-color: #ddd;
  border-radius: 8px;
  font-size: clamp(12px, 5vw, 24px);
  /* font scales with screen */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  transition: transform 0.2s;
}

.card.flipped {
  background-color: #fff;
  border: 2px solid #333;
}

.card.matched {
  background-color: #a5d6a7;
  pointer-events: none;
}