/* The click game. The button fills whatever space the header and footer
   leave, which is the whole point of the page. */

body.page-click {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.page-click h1 {
  margin: 20px 0 0;
  font-size: clamp(2rem, 10vw, 7em);
  color: #1a1a1a;
}

body.page-click h2 {
  margin: 10px 0 0;
  font-size: clamp(1.5rem, 8vw, 5em);
  color: #1a1a1a;
}

body.page-click p {
  font-size: 1.2em;
  margin-bottom: 0;
  color: #555;
}

body.page-click header,
body.page-click footer {
  padding: 0;
  text-align: center;
}

.button-container {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  min-height: 160px;
  padding: 0 12px 12px;
  box-sizing: border-box;
}

.click-button {
  flex: 1;
  padding: 0;
  font-size: clamp(1.5rem, 5vw, 3rem);
  background: linear-gradient(145deg, #ffffff, #e6f0ff);
  border: none;
  border-radius: 20px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  color: #1a1a1a;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.04s, box-shadow 0.3s, background 0.3s;
  box-sizing: border-box;
  /* Holding the button down would otherwise fire key auto-repeat. */
  touch-action: manipulation;
  user-select: none;
}

.click-button:hover {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  background: linear-gradient(145deg, #d0e0ff, #ffffff);
}

.click-button:active { transform: scale(0.95); }

.disabled-link {
  pointer-events: none;
  color: gray;
  text-decoration: none;
  cursor: default;
}

/* Was <a href="javascript:resetcps()">, which a strict CSP rejects. */
.reset-cps {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: #3355ff;
  text-decoration: underline;
  cursor: pointer;
}

.reset-cps[disabled] {
  color: gray;
  text-decoration: none;
  cursor: default;
}

@media (max-width: 768px) {
  .button-container { min-height: 120px; }
}
