/* ===== Game ===== */
.lyrics-song p { font-size: 2rem; letter-spacing: 8px; margin-bottom: 20px; font-weight: bold; font-family:'Orbitron', sans-serif; }
#user-answer { padding: 10px; font-size: 1rem; width: 60%; max-width: 300px; margin-bottom: 10px; }
.buttons button { padding: 10px 20px; margin: 5px; font-size: 1rem; cursor: pointer; border-radius:10px; font-family:'Orbitron', sans-serif; }
#feedback { margin-top: 10px; font-weight: bold; }
.score-board { margin-top: 20px; font-weight: bold; }

/* ===== Leaderboard ===== */
.leaderboard-section {
  width: 100%;
  max-width: 500px;
  margin: 40px auto 0 auto; /* top margin 40px, centered horizontally */
  background: rgba(255,255,255,0.9);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.2);
  text-align: center;
  z-index: 2;
  position: relative; /* ensure stacking context */
}

.leaderboard-section h2 {
  font-family:'Orbitron', sans-serif;
  color:#a855f7;
  font-size:2rem;
  margin-bottom:15px;
  text-shadow:0 2px 8px rgba(0,0,0,0.1);
}

#leaderboard {
  list-style:none;
  padding:0;
  margin:0;
}

#leaderboard li {
  background: rgba(255,255,255,0.95);
  padding:10px 15px;
  margin:8px 0;
  border-radius:12px;
  box-shadow:0 5px 15px rgba(0,0,0,0.1);
  font-weight:600;
  font-family:'Orbitron', sans-serif;
  font-size:1rem;
  color: #000;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition: transform 0.3s, box-shadow 0.3s;
}

#leaderboard li:hover {
  transform: translateY(-3px);
  box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

#leaderboard li:nth-child(1){ background:#ffe082; border:2px solid gold; }
#leaderboard li:nth-child(2){ background:#e0e0e0; border:2px solid silver; }
#leaderboard li:nth-child(3){ background:#ffd7b5; border:2px solid #cd7f32; }

/* ===== Score Popup ===== */
#score-popup {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.3); /* slightly dark overlay */
  display: none;  
  justify-content: center;
  align-items: center;
  z-index: 10; /* always on top when active */
  pointer-events: none;
}

#score-popup.active {
  display: flex;  
  pointer-events: auto;
}

#score-popup .popup-content {
  background: rgba(255,255,255,0.95);
  padding: 30px;
  border-radius: 25px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  box-shadow: 0 15px 50px rgba(0,0,0,0.3);
  animation: popupFade 0.5s ease;
}

@keyframes popupFade {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

#score-popup h2 {
  font-family: 'Orbitron', sans-serif;
  color: #a855f7;
  font-size: 2rem;
  margin-bottom: 15px;
}

#score-popup input {
  padding: 10px 15px;
  width: 80%;
  margin-top: 10px;
  font-size: 1rem;
  border-radius: 8px;
  border: 1px solid #d1b3ff;
  outline: none;
}

#score-popup button {
  margin: 10px 5px;
  padding: 10px 20px;
  font-size: 1rem;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #6a11cb, #b983ff);
  color: #fff;
  cursor: pointer;
}

#score-popup button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(106,17,203,0.4);
}

#post-game-menu button {
  background:#6a11cb; color:#fff; border:none; border-radius:10px; padding:10px 15px; margin:5px; cursor:pointer;
}
#post-game-menu button:hover {
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(106,17,203,0.4);
}

/* ===== Tablet ===== */
@media (max-width: 1024px) {
  .game-container {
    width: 90%;
    padding: 15px;
  }

  .lyrics-song p {
    font-size: 1.8rem;
    letter-spacing: 6px;
  }

  #user-answer {
    width: 70%;
    font-size: 0.95rem;
  }

  .buttons button {
    padding: 8px 16px;
    font-size: 0.9rem;
  }

  .score-board p {
    font-size: 0.95rem;
  }

  .leaderboard-section {
    max-width: 400px;
    padding: 15px;
  }

  #leaderboard li {
    font-size: 0.95rem;
    padding: 8px 12px;
  }
}

/* ===== Mobile ===== */
@media (max-width: 768px) {
  .game-container {
    width: 95%;
    padding: 10px;
  }

  .lyrics-song p {
    font-size: 1.5rem;
    letter-spacing: 4px;
  }

  #user-answer {
    width: 90%;
    font-size: 0.9rem;
  }

  .buttons button {
    padding: 6px 12px;
    font-size: 0.85rem;
  }

  .score-board p {
    font-size: 0.9rem;
  }

  .leaderboard-section {
    max-width: 300px;
    padding: 10px;
  }

  #leaderboard li {
    font-size: 0.7rem;
    padding: 6px 10px;
  }

  /* Popup content smaller on mobile */
  #score-popup .popup-content {
    padding: 20px;
    border-radius: 20px;
    max-width: 90%;
  }

  #score-popup h2 {
    font-size: 1.7rem;
  }

  #score-popup input {
    width: 90%;
    font-size: 0.9rem;
    padding: 8px 12px;
  }

  #score-popup button, #post-game-menu button {
    padding: 8px 12px;
    font-size: 0.85rem;
  }
}