body {
  margin: 0;
  overflow: hidden;
  background: #87ceeb;
  font-family: Arial, sans-serif;
}
#gameCanvas {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #1e90ff;
}
#ui {
  position: absolute;
  left: 18px;
  bottom: 18px;
  color: #fff;
  background: rgba(0,0,0,0.3);
  padding: 10px 20px;
  border-radius: 8px;
  z-index: 10;
  user-select: none;
  max-width: 85vw;
}
@media (max-width: 600px) {
  #ui {
    display: none;
  }
}



#leaderboard {
  position: absolute;
  top: 90px;
  right: 18px;
  background: rgba(0,0,0,0.35);
  color: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  z-index: 10;
  min-width: 120px;
  max-width: 38vw;
  font-size: 1em;
}
#leaderboard-modal.show {
  display: flex;
}
.leaderboard-content {
  background: #fff;
  color: #222;
  max-width: 350px;
  width: 90vw;
  margin: 0 auto;
  border-radius: 12px;
  padding: 28px 22px 18px 22px;
  box-shadow: 0 4px 32px rgba(0,0,0,0.25);
  text-align: left;
}
.leaderboard-content h2 {
  font-size: 1em;
  margin: 0 0 3px 0;
  font-weight: 500;
}
.leaderboard-content ol {
  margin: 0 0 5px 18px;
  padding: 0;
  font-size: 0.98em;
}
.leaderboard-content b {
  display: block;
  margin-top: 2px;
  font-weight: 400;
}
@media (max-width: 600px) {
  .leaderboard-content {
    max-width: 98vw;
    padding: 12px 5vw 10px 5vw;
  }
}

#restartBtn {
  background: #388e3c;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 7px 18px;
  font-size: 1em;
  margin-top: 10px;
  cursor: pointer;
  transition: background 0.2s;
}
#restartBtn:hover {
  background: #43a047;
}
#mobile-controls {
  display: none;
}
@media (max-width: 600px) {
  #mobile-controls {
    display: block;
    position: fixed;
    left: 0; top: 0; width: 100vw; height: 100vh;
    z-index: 100;
    pointer-events: none;
  }
  .mobile-btn-group {
    position: absolute;
    top: 82%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 18px;
    pointer-events: auto;
  }
  .mobile-btn-group.left {
    left: 8vw;
    align-items: flex-start;
  }
  .mobile-btn-group.right {
    right: 8vw;
    align-items: flex-end;
  }
  #mobile-controls button {
    min-width: 68px;
    min-height: 68px;
    font-size: 1.1em;
    background: rgba(30,30,30,0.55);
    color: #fff;
    border: none;
    border-radius: 16px;
    margin: 0;
    padding: 8px 0 8px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
    pointer-events: auto;
    touch-action: manipulation;
  }
  #mobile-controls button:active {
    background: rgba(60,160,80,0.75);
  }
  #leaderboard { font-size: 0.95em; min-width: 80px; max-width: 90vw; padding: 7px 7px; right: 5px; top: 70px; }
  #restartBtn { font-size: 0.95em; padding: 6px 12px; }
}
