* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  background: #1a1a1a;
  color: #efefef;
  font-family: system-ui, Arial, sans-serif;
  overflow: hidden;
}

/* Canvas fills the viewport; JS updates intrinsic pixels */
#gameCanvas {
 display: block;
  width: 100%;
  height: 100%;
  background: #1a1a1a;
	position: fixed;
}

/* SONOZ Logo placeholder (top center) */
#logo {
  position: fixed;
  top: 10px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 5;
  font-weight: 800;
  letter-spacing: 2px;
  opacity: 0.9;
}

/* HUD: timer (left), score (right) */
#hud {
  position: fixed;
  top: 10px;
  left: 0;
  right: 0;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  padding: 0 16px;
  font-weight: 700;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}
#timer, #score {
  font-size: 30px;
	line-height: 1em;
}
.timer-wrapper p, .score-wrapper p{
	font-size:9px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
	color:#efefef;
	margin: 0;
}
.timer-wrapper{
	text-align: left
}
.score-wrapper{
	text-align:right;
}
/* Overlays */
.overlay {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
	padding-bottom:90px;
	padding-left: 20px;
    padding-right: 20px;
}
ul.blurb{
	margin: 0;
    text-align: left;
    padding-left: 15px;
}
ul.blurb li{
	margin-bottom:10px;
}
#playBtn{
	margin-top:20px;
}
.hidden {
  display: none !important;
}

#startScreen {
  background: rgba(26, 26, 26, 0.5);
}
#startScreen .start-inner {
  max-width: 720px;
  padding: 28px;
  text-align: center;
  backdrop-filter: blur(3px);
  border: 3px solid #efefef;
    border-radius: 20px;
}

/* ---------- Mobile Controls ---------- */
.controls {
  position: fixed;
  bottom: 20px;
  z-index: 15;
  display: flex;
  align-items: center;
  gap: 8px;
}

.controls-left {
  left: 20px;
}

.controls-right {
  right: 20px;
  flex-direction: column;
  align-items: center;
}

.controls-left .stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.controls-right .row {
  display: flex;
  gap: 8px;
}

.controlBtn, .fire {
  width: 56px;
  height: 56px;
  border: none;
  background: rgba(255,255,255,0.5);
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  border-radius: 50%;
  user-select: none;
  touch-action: none;
}

.fire {
  background: rgba(255,69,0,0.8);
}

button{
	border: none;
    background-color: #efefef;
    color: #1a1a1a;
    font-weight: bold;
    padding: 15px 20px;
    border-radius: 30px;
    font-size: 16px;
    cursor: pointer;
}

.controls button{
	padding:0;
	background: none;
}
.controls button img{
	width: 100%;
    height: auto;
}
#countdown{
	font-size:36px;
	font-weight:bold;
}
#endScreenContent{
	text-align: center;
}
#endScreenContent button{
	margin-top:30px;
}
#endMessage{
	font-size: 3em;
	margin-bottom:0;
}
.end-score{
	font-size:2em;
	font-weight:bold;
}

@media (min-width: 560px) {
  .controls {
    display: none !important;
  }
}