* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: system-ui, sans-serif;

  /* テキスト選択完全無効 */
  user-select: none;
  -webkit-user-select: none;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  background: #0f1117;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ゲーム全体 */
#game {
  width: 100%;
  max-width: 420px;
  height: 100%;
  position: relative;
  overflow: hidden;
  touch-action: none;
}

/* HUD */
#hud {
  position: absolute;
  top: 16px;
  width: 100%;
  display: flex;
  justify-content: space-around;
  opacity: 0.9;
  pointer-events: none;
}

/* Circle */
#circle {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: #4f8cff;
  position: absolute;
  display: none;

  touch-action: none;
}

#circle::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.6);
}

#circle.pop {
  animation: pop 0.15s ease-out;
}

#circle:active {
  transform: scale(0.95);
}

/* メッセージ */
#message {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 32px;
  cursor: pointer;
  white-space: pre-line;

  touch-action: none;
}

/* アニメーション */
@keyframes pop {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
