body {
  font-family: "Press Start 2P", "Courier new", monospace;
  text-align: center;
  font-display: swap;
  background: #111;
  color: #fff;
  margin: 0;
  overflow-x: hidden;
}

.title {
  font-size: 40px;
  letter-spacing: 10px;
  margin-top: 25px;
  color: #00eaff;
  text-shadow:
    0 0 5px #00eaff,
    0 0 10px #00eaff,
    0 0 20px #0088ff;
}

.info {
  margin: 20px;
  display: flex;
  justify-content: center;
  gap: 25px;
  align-items: center;
  font-size: 18px;
}

button {
  padding: 8px 14px;
  cursor: pointer;
  background: #222;
  color: white;
  border: 2px solid #00eaff;
}

button:hover {
  background: #00eaff;
  color: black;
}

.board {
  max-width: 600px;
  margin: 20px auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}

.card {
  aspect-ratio: 1/1;
  perspective: 1000px;
}

.card-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.card.flipped .card-inner {
  transform: rotateY(180deg);
}

.card-front,
.card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  border-radius: 8px;
}

.card-front {
  background: #333;
}

.card-back {
  background: #00aaff;
  transform: rotateY(180deg);
}

#fireworks {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.scoreboard {
  margin: 50px auto;
  width: 320px;
  background: #222;
  padding: 20px;
  border-radius: 8px;
}

.scoreboard h2 {
  font-size: 16px;
  margin-top: 0;
}

.scoreboard ol {
  text-align: left;
  padding-left: 20px;
}

.scoreboard li {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
}

.footer {
  margin: 40px 0 20px 0;
  font-size: 10px;
  color: #aaa;
}

.footer a {
  color: #00eaff;
}

/* -------- RESPONSIVE -------- */

@media (max-width: 700px) {
  .board {
    width: 95%;
    max-width: 420px;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }

  .card-front,
  .card-back {
    font-size: 1.6rem;
  }

  .title {
    font-size: 22px;
  }

  .scoreboard {
    width: 90%;
  }
}
