html, body {
  margin: 0; padding: 0; width: 100%; height: 100%;
  background: #050508; overflow: hidden;
  touch-action: none; -webkit-user-select: none; user-select: none;
  overscroll-behavior: none;
  font-family: "Segoe UI", system-ui, sans-serif;
}
#game {
  display: block; width: 100vw; height: 100vh;
  touch-action: none;
  background: #050508;
}
.overlay {
  position: fixed; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at center, #10101a 0%, #030305 100%);
  z-index: 10;
}
.hidden { display: none !important; }
.panel {
  background: rgba(15, 15, 25, 0.9);
  border: 1px solid #ff2fd6;
  box-shadow: 0 0 40px #ff2fd680, 0 0 90px #2fe0ff30 inset;
  border-radius: 16px;
  padding: 28px 34px;
  max-width: 460px;
  width: 90%;
  color: #eafcff;
  text-align: center;
}
h1 {
  margin: 0 0 8px;
  font-size: 2.1em;
  letter-spacing: 3px;
  color: #ff3df0;
  text-shadow: 0 0 12px #ff3df0, 0 0 30px #ff3df0aa;
}
.catface {
  font-family: monospace;
  color: #7be8ff;
  text-shadow: 0 0 8px #7be8ff;
  line-height: 1.2;
  margin-bottom: 14px;
  white-space: pre;
}
.bigbtn {
  font-size: 1.3em;
  padding: 14px 34px;
  margin: 10px 0;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  background: linear-gradient(180deg, #ff58e8, #b400a0);
  color: white;
  font-weight: bold;
  box-shadow: 0 0 20px #ff58e8aa;
  transition: transform 0.1s;
}
.bigbtn:active { transform: scale(0.96); }
.bigbtn.small { font-size: 1em; padding: 10px 20px; display: inline-block; margin: 6px; }
.row { margin: 6px 0; color: #cfefff; }
.row b { color: #ffe98a; text-shadow: 0 0 6px #ffe98a; }
.hint { font-size: 0.78em; color: #9fb3c8; margin-top: 16px; line-height: 1.4; }
#settingsPanel { margin: 14px 0; text-align: left; color: #cfefff; }
#settingsPanel summary { cursor: pointer; color: #7be8ff; margin-bottom: 8px; }
.settingsBody label {
  display: block; margin: 8px 0; font-size: 0.9em;
}
.settingsBody select, .settingsBody input[type=range] { width: 100%; margin-top: 4px; }
.checkline { display: flex; align-items: center; gap: 8px; }
.checkline input { width: auto !important; }
