* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; background: #0b0b1e; color: #e8e8f0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-user-select: none; user-select: none; touch-action: manipulation; }
.s-game { max-width: 520px; margin: 0 auto; padding: 12px; display: flex; flex-direction: column; gap: 12px; }
.s-game__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.s-game__title { font-size: 20px; font-weight: 700; color: #8be9fd; line-height: 1.2; }
.s-game__controls { display: flex; gap: 8px; }
.s-game__btn { width: 40px; height: 40px; border: none; border-radius: 10px;
  background: #2a2a44; color: #e8e8f0; font-size: 18px; cursor: pointer; }
.s-game__btn:hover { background: #3a3a60; }
.s-game__btn:active { transform: scale(0.94); }
.s-game__btn.is-off { opacity: 0.5; }
.s-game__bar { display: flex; gap: 16px; justify-content: center; font-size: 15px; font-weight: 700; color: #ffd166; }
.s-game__stage { position: relative; display: flex; justify-content: center; }
#game-canvas { background: #10102a; border-radius: 14px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.45); max-width: 100%; height: auto; touch-action: none; }
.s-game__message { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%);
  background: rgba(10,10,25,0.82); color: #fff; padding: 8px 16px;
  border-radius: 20px; font-size: 14px; white-space: nowrap; pointer-events: none; }
.s-game__hint { font-size: 13px; color: #9a9ab8; text-align: center; line-height: 1.5; }
