/* MAJAPP_XIAOMI_PLAYER_INPUT_COMPAT_V425
 * 目标：降低 Android / Xiaomi HyperOS 浮窗、侧边小窗口中
 *       “开始对局”雀士名输入框偶发无法获得/保持焦点的问题。
 *
 * 保守原则：
 *   - 不改 autocomplete / name / inputmode 等 HTML 输入属性；保留浏览器自动填充。
 *   - 不改 app.js、WebSocket、API、PHP、计分逻辑。
 *   - 只在触摸型粗指针设备上覆盖 #startMask 与 #mp0~#mp3 的视觉合成行为。
 *   - 分数输入框、桌面端不受影响。
 */

@media (hover: none) and (pointer: coarse) {
  /*
   * 原弹窗动画使用 animation-fill-mode: both，并在结束态保留 transform 层。
   * Android 浮窗 + 软键盘切换时，这类 transformed fixed/scroll 容器可能触发输入焦点异常。
   * 仅触摸设备取消开始弹窗自身的缩放合成层；业务结构和点击逻辑不变。
   */
  html body #startMask.show .mmModal {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
  }

  /*
   * 现有全局 focus 样式会让 input translateY(-1px)。
   * 雀士名输入框在浮窗 IME 场景下不做 transform，只保留原来的颜色/阴影等 focus 样式。
   */
  html body #startMask #mp0:focus,
  html body #startMask #mp1:focus,
  html body #startMask #mp2:focus,
  html body #startMask #mp3:focus,
  html body #startMask #mp0:focus-visible,
  html body #startMask #mp1:focus-visible,
  html body #startMask #mp2:focus-visible,
  html body #startMask #mp3:focus-visible {
    transform: none !important;
    transition-property: box-shadow, background-color, color !important;
  }
}

/* 小窗口/软键盘下优先使用动态视口高度；只影响触摸设备。 */
@supports (height: 100dvh) {
  @media (hover: none) and (pointer: coarse) {
    html body #startMask .mmModal {
      max-height: 94dvh !important;
    }
  }
}
