/* ========== 页面基础：铺满视口，禁止滚动与双击缩放 ========== */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body {
  width: 100%; height: 100%;
  background: #1b2430;
  overflow: hidden;
  touch-action: none;               /* 关闭浏览器手势，避免滑动时页面跟着动 */
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none; user-select: none;
  font-family: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
/* 视口容器：负责居中 */
#viewport {
  position: fixed; inset: 0;
  display: block;
  background: radial-gradient(circle at 50% 30%, #24384a 0%, #131a24 100%);
}
/* 舞台：固定逻辑分辨率 400x600，靠 JS 用 transform 等比缩放 */
#stage {
  position: absolute;
  top: 0; left: 0;
  width: 400px; height: 600px;
  transform-origin: 0 0;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .55);
  overflow: hidden;
  border-radius: 2px;
}
#stage, #game { touch-action: none; }
#game {
  display: block;
  width: 400px; height: 600px;      /* CSS 尺寸恒为逻辑分辨率，内部按 DPR 提高清晰度 */
  background: #4ec0ca;
}
/* 横屏提示（手机横过来时给个提示，不阻塞游戏） */
#rotateTip {
  position: fixed; left: 50%; bottom: 12px; transform: translateX(-50%);
  color: #cfe6ea; font-size: 12px; letter-spacing: 1px; opacity: .75;
  pointer-events: none;
}
