/* --- MOBILE OPTIMIZATION FOR DOMAINKHAN GAME --- */

/* Mobile reset: html/body */
@media (max-width: 700px), (pointer: coarse) {
  html, body {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #f9f9f9 !important;
    font-size: 15px !important;
    touch-action: manipulation !important;
  }

  
#hud {
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 98vw !important;
  max-width: 98vw !important;
  z-index: 999 !important;
  background: #fff !important;
  box-shadow: 0 4px 24px #29416725 !important;
  border-bottom-left-radius: 15px !important;
  border-bottom-right-radius: 15px !important;
  padding: 10px 0 6px 0 !important;
  min-height: 38px !important;
  max-height: 60px !important;
  overflow: hidden !important;
  height: auto !important;
  /* ADDED: Prevent growing too tall */
}


  /* Container layout below HUD */
  #container {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    /* Instead of height: 100vh, use min-height and margin-top to allow HUD! */
    min-height: 100vh !important;
    height: auto !important;
    margin-top: 65px !important; /* Height of fixed HUD */
    overflow: hidden !important;
    z-index: 10 !important;
    background: #f9f9f9 !important;
  }

  /* Make sure the game canvas fits the available screen space under HUD */
  canvas#game {
    display: block !important;
    margin: 0 auto !important;
    width: 99vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 80px) !important; /* 80px = HUD height + margin */
    max-height: 90vh !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 10px #29416725 !important;
  }

  /* Overlays: intro/gameover */
  #intro, #gameover {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    z-index: 9999 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 1rem !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  #gameover {
    position: fixed !important;
    z-index: 10000 !important;
    width: 100vw !important;
    height: 100vh !important;
    left: 0 !important;
    top: 0 !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }




.playerinfo,
.playerinfo input,
.playerinfo select {
    width: 92vw !important;
    max-width: 330px !important;
    font-size: 1em !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

.intro-title {
  font-size: 2rem;
  font-weight: 800;
  margin: 8px 0 10px 0;
  text-align: center;
}


#startBtn, .restart-btn {
  width: 92% !important;
  max-width: 180px !important;
  font-size: 1.11em !important;
  padding: 11px 0 !important;
  margin: 14px auto 10px 0 !important;
}

.quote {
  font-size: 1em !important;
  margin: 8px 0 10px 0 !important;
  width: 98% !important;
  max-width: 95% !important;
}

  /* Hide copyright and concept links */
  .copyright, .concept-link {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Gameover specifics */
  #gameover {
    max-width: 97vw !important;
    left: 0 !important;
    transform: none !important;
    padding: 0 4vw 24px 4vw !important;
    top: 0 !important;
    min-height: 60vh !important;
  }

  /* HUD row inside gameover, collapse for mobile */
  .go-inline {
    flex-direction: column !important;
    gap: 6px !important;
    font-size: 1em !important;
    text-align: center !important;
  }

  /* Remove scrollbars for cleaner look */
  ::-webkit-scrollbar {
    width: 0 !important;
    background: transparent !important;
  }
}

/* Tiny devices: reduce font/input padding further */
@media (max-width: 400px) {
  html, body, #container, #intro, #gameover {
    font-size: 14px !important;
    padding: 0 !important;
  }
  .playerinfo input, .playerinfo select {
    font-size: 1em !important;
    padding: 10px 4px !important;
  }
}

/* --- Ensure overlays truly hide on mobile too! --- */
#gameover.hide-overlay,
#intro.hide-overlay {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

@media (max-width: 700px), (pointer: coarse) {
  #streakBox {
    position: fixed !important;
    top: 18px !important;
    left: 8vw !important;
    z-index: 1010 !important;
    margin: 0 !important;
    background: #fff8;
    border-radius: 8px;
    padding: 2px 12px;
    font-size: 1.05rem !important;
  }
  /* Add a margin-top to #container so streakBox doesn't overlap the HUD if needed */
  #container { margin-top: 20px !important; }
}

@media (max-width: 700px), (pointer: coarse) {
  .hud-scorebar {
    font-size: 0.97em;
    gap: 6px;
    border-radius: 13px;
    padding: 6px 1vw;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px #25408918;
    backdrop-filter: blur(0.9px) saturate(1.01);
  }
  .hud-score-pill {
    font-size: 0.96em;
    padding: 4.5px 8px 4.5px 6px;
    margin-bottom: 2.5px;
  }
}


@media (max-height: 700px) {
  .copyright {
    position: fixed !important;
    bottom: 0;
    left: 0;
    width: 100vw;
    background: #fff;
    z-index: 2000;
    margin: 0;
    padding: 10px 0;
  }
  #container {
    padding-bottom: 64px !important; /* Make space for fixed copyright */
  }
}


@media (max-width: 700px), (pointer: coarse) {
.intro-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  height: 340px !important; /* Set for landscape mobile, adjust if needed */
}

.intro-img-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;    /* <--- Aligns image to the top */
  width: 50vw !important;
  min-width: 0 !important;
  max-width: 50vw !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding-top: 0 !important;                 /* Make sure there's no unwanted gap */
}


.intro-img {
  max-width: 75% !important;
  max-height: 280px !important;
  min-width: 100px !important;
  object-fit: contain !important;

  margin: 0 auto !important;
  display: block !important;

}
.intro-col-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 95% !important;
  min-width: 0 !important;
  max-width: 340px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding-left: 12px !important;
}

.form-group label {
  font-size: 1em !important;
  min-width: 65px !important;
}
.form-group input,
.form-group select {
  width: 98% !important;
  max-width: 95% !important;
  font-size: 1em !important;
  padding: 10px 10px !important;
  border-radius: 8px !important;
}

.intro-col-form input,
.intro-col-form select {
  width: 92% !important;
  max-width: 320px !important;
  min-width: 80px !important;
  font-size: 1em !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
}

.choices__inner {
  width: 95% !important;
  max-width: 210px !important;
  min-width: 80px !important;
}


}




/* MOBILE: Start Game bigger, Leaderboard 30% smaller, same row, both up by 10px */
@media (max-width: 700px), (pointer: coarse) {
  .intro-btn-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 8px !important;  /* move up by 10px */
    width: 100% !important;
  }

  #startBtn {
    min-width: 100px !important;
    max-width: 45% !important;
    font-size: 1.35rem !important;
    padding: 15px 0 !important;
    font-weight: 800 !important;
    border-radius: 17px !important;
    box-shadow: 0 2px 12px #2563d82a !important;
    flex: none !important;
  }

  #leaderboardIntroBtn {
    min-width: 80px !important;       /* 30% smaller than Start */
    max-width: 45% !important;
    font-size: 0.8rem !important;
    padding: 8px 8px !important;
    border-radius: 14px !important;
    margin: 0 !important;
    font-weight: 400 !important;
    height: auto !important;
    box-shadow: 0 2px 10px #1d2e5630 !important;
    flex: none !important;
  }
}
 