.mole-grid {
  width: min(420px, 92vw);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.hole {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, #362d4d, #171320 70%);
  border: 1px solid var(--panel-edge);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}

.mole {
  font-size: clamp(1.8rem, 8vw, 2.6rem);
  transform: translateY(100%);
  transition: transform 0.12s ease-out;
  user-select: none;
}

.hole.up .mole {
  transform: translateY(10%);
}

.hole.whacked .mole {
  transform: translateY(100%) scale(0.7);
}
