html,
body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  font-family: "Orbitron", sans-serif;
  background: linear-gradient(135deg, #0c0c1c, #1a001a);
  color: #fff;
  user-select: none;
  touch-action: manipulation;
}

#custom-cursor {
  position: fixed;
  width: 30px;
  height: 30px;
  border: 2px solid #ff00cc;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 0 10px #ff00cc, 0 0 20px #ff00cc;
  transition: transform 0.08s ease;
}

.cursor-particle {
  position: fixed;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(45deg, #ff00cc, #00ffff);
  opacity: 0.8;
  pointer-events: none;
  z-index: 9998;
  animation: flyOut 0.6s ease-out forwards;
}

@keyframes flyOut {
  to {
    transform: translate(var(--dx), var(--dy));
    opacity: 0;
  }
}

.circle {
  position: absolute;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: radial-gradient(circle, #00ffff 0%, #ff00cc 100%);
  box-shadow: 0 0 15px #0ff, 0 0 30px #f0f;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: pulse 1s infinite ease-in-out;
  overflow: visible;
  cursor: pointer;
  transition: transform 0.2s ease;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
  }
}

.countdown-ring {
  position: absolute;
  width: 60px;
  height: 60px;
  z-index: 2;
  pointer-events: none;
}

.countdown-ring circle {
  stroke: white;
  stroke-dasharray: 176;
  stroke-width: 3;
  fill: none;
  animation: countdown 3s linear forwards;
  transform: rotate(-90deg);
  transform-origin: center;
  stroke-linecap: round;
  filter: drop-shadow(0 0 4px #fff);
}

@keyframes countdown {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: 176;
  }
}
#line-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
}
#game-area {
  position: relative;
  width: 100vw;
  height: 100vh;
  z-index: 1;
}
#scoreboard {
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 24px;
  color: #00ffff;
  z-index: 10000;
  text-shadow: 0 0 10px #00ffff;
}
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  color: #fff;
}
.popup div {
  text-align: center;
}
.popup button {
  padding: 10px 20px;
  font-size: 18px;
  background: #00ffff;
  color: #000;
  border: none;
  border-radius: 5px;
  box-shadow: 0 0 10px #00ffff;
  cursor: pointer;
}
