body {
  margin: 0;
  background: #0f172a;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  font-family: sans-serif;
  overflow: hidden;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

#game {
  display: flex;
  gap: 18vw;
}

/* deck */
.deck {
  position: relative;
  width: 25vw;
  aspect-ratio: 1 / 1.4;
  cursor: pointer;
}

/* card container */
.card {
  position: absolute;
  width: 25vw;
  aspect-ratio: 1 / 1.4;
  perspective: 1000px;
}

/* inner for 3D */
.card-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.5s ease;
}

/* flip */
.card.flip .card-inner {
  transform: rotateY(180deg);
}

/* faces */
.face {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  backface-visibility: hidden;
  font-size: clamp(14px, 2vw, 28px); /* text scales too */
}

/* back */
.back {
  background: url("/assets/card-back.jpg") no-repeat center/cover;
  border: 1px solid #ffffff;
}

/* front */
.front {
  background: url("/assets/card-front.jpg") no-repeat center/cover;
  color: black;
  font-weight: bold;
  transform: rotateY(180deg);
}

/* zoom */
.card.zoom {
  transform: scale(1.4);
  transition: transform 0.3s ease;
}

