/* ============================================================
   v6.2 顶部 HUD 三端通用收缩展开 —— 用户交互习惯优先
   问题：手机端 topbar(78px)+HUD(40px) 占顶部 130px；桌面/平板也想收
   方案：右上角浮动按钮 #hudToggleBtn，PC/平板/手机三端**都显示**
        点击时收起 topbar+HUD（body.ui-collapsed），再点展开
        状态存 localStorage
   ============================================================ */

/* ---- body.ui-collapsed（三端通用）：收起 topbar + HUD ---- */
body.ui-collapsed .topbar,
body.ui-collapsed .hud {
  transform: translateY(-140%);
  opacity: 0;
  pointer-events: none;
  transition: transform .28s ease, opacity .22s ease;
}
body:not(.ui-collapsed) .topbar,
body:not(.ui-collapsed) .hud {
  transform: translateY(0);
  opacity: 1;
  transition: transform .28s ease, opacity .22s ease;
}

@media (max-width: 720px) {
  /* topbar 更紧凑 */
  body.game-started .topbar {
    top: max(6px, env(safe-area-inset-top)) !important;
    padding: 6px 10px !important;
    min-height: 44px !important;
    border-radius: 16px !important;
  }
  body.game-started .topbar strong {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  body.game-started .topbar span {
    display: none !important;
  }

  /* HUD 更紧凑 */
  body.game-started .hud {
    top: calc(56px + env(safe-area-inset-top)) !important;
    padding: 0 !important;
  }
  body.game-started .hud > div {
    padding: 3px 8px !important;
    font-size: 11px !important;
    min-height: 28px !important;
    line-height: 1.3 !important;
  }
  body.game-started .hud > div strong {
    font-size: 12px !important;
  }
}

/* 极窄屏（<420px） */
@media (max-width: 420px) {
  body.game-started .topbar {
    top: max(4px, env(safe-area-inset-top)) !important;
    padding: 4px 8px !important;
  }
  body.game-started .topbar strong {
    font-size: 13px !important;
  }
  body.game-started .hud {
    top: calc(48px + env(safe-area-inset-top)) !important;
  }
  body.game-started .hud > div {
    padding: 2px 6px !important;
    font-size: 10px !important;
    min-height: 24px !important;
  }
}

/* ============================================================
   收起/展开按钮 —— 三端通用（PC/平板/手机都显示）
   v6.2.7：只在 body.game-started 状态显示（未进游戏时不显示）
   ============================================================ */
#hudToggleBtn {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  right: max(10px, env(safe-area-inset-right));
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(30, 41, 59, .82);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .15);
  font-size: 18px;
  line-height: 1;
  display: none;   /* 默认隐藏 */
  align-items: center;
  justify-content: center;
  z-index: 60;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
  transition: transform .2s ease, background .2s ease;
  user-select: none;
}
body.game-started #hudToggleBtn {
  display: flex;   /* 进入游戏才显示 */
}
#hudToggleBtn:hover {
  background: rgba(30, 41, 59, .95);
  transform: scale(1.05);
}
#hudToggleBtn::before {
  content: "▲";
  display: block;
  transition: transform .3s cubic-bezier(.2,.9,.3,1);
}
body.ui-collapsed #hudToggleBtn {
  background: rgba(59, 130, 246, .9);
}
body.ui-collapsed #hudToggleBtn::before {
  transform: rotate(180deg);
}

/* 桌面大屏（>=900px）按钮再大一点，紧贴 topbar 右侧不遮挡 */
@media (min-width: 901px) {
  #hudToggleBtn {
    top: 22px;
    right: 22px;
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
}

/* 折叠状态下按钮也稍下移，防止跟其它 UI 元素冲突 */
body.ui-collapsed #hudToggleBtn {
  top: max(10px, env(safe-area-inset-top));
}
