* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
  width: 100%; height: 100%;
  overflow: hidden;
  background: #0a0e1a;
  font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}

#game-container { position: relative; width: 100%; height: 100%; }
canvas { display: block; width: 100%; height: 100%; }

.overlay {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  background: rgba(10,14,26,0.92);
  color: #e0e6f0; z-index: 10;
}
.overlay.hidden { display: none; }

.overlay h1 {
  font-size: clamp(28px,6vw,56px);
  font-weight: 800; letter-spacing: 2px;
  margin-bottom: 8px; color: #fff;
}
.sub {
  font-size: clamp(14px,2.5vw,20px);
  color: #8af0ff; margin-bottom: 24px;
}
.instructions {
  margin-bottom: 32px; text-align: center;
  line-height: 1.8; font-size: clamp(12px,2vw,16px);
  color: #9aa4b8;
}
.instructions p { margin: 2px 0; }
.powerup-hint { color: #a29bfe; margin-top: 6px; font-size: clamp(11px,1.8vw,14px) !important; }

#final-score {
  font-size: clamp(20px,4vw,36px);
  font-weight: 700; color: #ffd866;
  margin-bottom: 28px;
}

button {
  padding: 14px 48px;
  font-size: clamp(14px,2.5vw,20px);
  font-weight: 700; border: none;
  border-radius: 8px; cursor: pointer;
  background: linear-gradient(135deg,#00c6ff,#0072ff);
  color: #fff; letter-spacing: 1px;
  transition: transform 0.1s, box-shadow 0.2s;
  box-shadow: 0 4px 20px rgba(0,114,255,0.35);
}
button:hover { transform: translateY(-2px); box-shadow: 0 6px 28px rgba(0,114,255,0.5); }
button:active { transform: translateY(0); }
