* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  height: 100%;
  font-family: "Comic Sans MS", "Chalkboard SE", "Baloo 2", system-ui, sans-serif;
  background: linear-gradient(#bfe3ff, #d9f0e0 60%, #cfe8c0);
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}
.stage { display: flex; flex-direction: column; height: 100%; padding: 10px; gap: 8px; }
.topbar { display: flex; align-items: center; gap: 12px; padding: 2px 6px; }
.topbar h1 {
  flex: 1; text-align: center; font-size: 26px; color: #2c6e4a;
  text-shadow: 0 2px 0 #ffffffcc; letter-spacing: 0.5px;
}
.round-btn, .home, .game-menu {
  width: 46px; height: 46px; border: none; border-radius: 50%;
  background: #ffffffcc; box-shadow: 0 3px 0 #a9c9b0; font-size: 22px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; text-decoration: none; color: #2c6e4a; user-select: none;
}
.game-menu { width: auto; min-width: 88px; padding: 0 12px; border-radius: 16px; font-family: inherit; font-size: 15px; }
.round-btn:active, .home:active, .game-menu:active { transform: translateY(2px); box-shadow: 0 1px 0 #a9c9b0; }
.canvas-wrap { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; }
canvas {
  width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  border-radius: 22px; box-shadow: 0 10px 30px #0000002e;
  touch-action: none; cursor: pointer; background: #eaf6ea;
}
