/* RUAY55 玩家端：iPhone 点输入框自动放大、之后缩不回去 — 2026-09-20
 *
 * 运营方录屏 20260920（iPhone，泰文注册页）：点「会员号」输入框 → 页面被放大 → 输入完、键盘收起后
 * 仍然停在放大状态，左边文字被切掉。
 *
 * 根因：iOS Safari 在输入框字号 < 16px 时会自动放大页面，好让文字达到 16px 的可读大小。
 * 这不是手势缩放（昨天已锁），是系统行为；而且 iOS 从 10 起无视 maximum-scale / user-scalable，
 * 网页既拦不住这次放大，也没法让它缩回去（昨天 zoom-lock 里那条复位在 iPhone 上因此无效）。
 * 唯一可靠的办法：让能打字的输入框字号 ≥ 16px，iOS 就根本不会放大。
 *
 * 线上实测（全部 145 个样式表）：注册/登录 13–15px、充值/提现/转账/银行/实名/好友等 11–15px，
 * 所以 iPhone 上点几乎任何输入框都会放大。
 *
 * 取舍（量过再定）：
 *   - 只改能打字的：input（排除勾选框、单选、滑块、颜色、文件）与 textarea。
 *     下拉 select 在 iOS 上打开的是滚轮选择器、不会放大，因此一律不动（币种/语言那种小字号下拉保持原样）。
 *   - 只读 / 禁用的输入框不会弹键盘、也不会放大，同样不动（推荐链接那种长文本保持现在的小字）。
 *   - 【占位提示保持小字】玩家没输入时显示的提示语最长：缅甸文「推荐人」在 16px 下要 347px，
 *     而注册页输入框内部只有约 300px —— 一起放大会被切掉。提示语本身不影响 iOS 的判断（它只看输入框字号），
 *     所以提示语维持 13px；注册页会员号/验证码两行原本是 12px，保留 12px。
 *   - 玩家真正输入的内容都很短（会员号、手机号、金额、验证码），16px 放得下。
 *
 * 【v2】不再带 #root 前缀：改昵称、转账确认、借额等弹窗是挂在 #root 之外的（见 portal-modals-outside-root-css-miss），
 *   v1 的 #root#root 选择器够不到它们，实测弹窗里的输入框仍是 14px、在 iPhone 上照样放大。
 *   代理网与后台用的是另一个壳、根本不加载本文件（实测两域名引用次数 0），所以去掉 #root 不会误伤它们。
 *
 * 只在手机宽度（≤760px）生效，电脑端不受影响。
 * 必须包在 @layer vip-source-lock 里（见 player-frontend-css-override-layer-trap）；v2 起不带 #root 前缀，
 * 靠 html body + 7 个 :not() 属性选择器拿到足够的优先级压过各页 11–15px 的规则。
 */
@layer vip-source-lock {
  @media (max-width: 760px) {
    html body :is(
      input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([readonly]):not([disabled]),
      textarea:not([readonly]):not([disabled])
    ) {
      /* 【v4】按实际渲染比例定字号：页面缩放 85% 或 375 屏按 390 排版时，16px 渲染出来不足 16，
         iOS 照样自动放大（运营方录屏实测 ≈1.22 倍）。scale 由 player-input-render-scale-v1 写入。 */
      font-size: clamp(16px, calc(16.5px / var(--ruay55-render-scale, 1)), 26px) !important;
    }

    /* 【v3 更正】提示语也必须 16px。
       v2 把提示语留在 12–13px，以为 iOS 只看输入框本身的字号 —— 实测不是：
       运营方录屏 20260920 量得放大倍数约 1.22 ≈ 16÷13，正是提示语的字号，
       说明 iOS 看的是框里当前真正显示的字（空框时就是提示语），于是照样自动放大。
       代价：个别语言的长提示会被切掉一截（缅甸文「推荐人」在 16px 下约超出 15px），
       但那句提示在输入框下方本来就有完整的一行说明，取舍上放大问题更严重。 */
    html body :is(input, textarea)::placeholder {
      font-size: clamp(16px, calc(16.5px / var(--ruay55-render-scale, 1)), 26px) !important;
    }
    /* 提示语放不下时收一点左右内边距，尽量少切 */
    html body :is(.register-id-row, .register-otp-row) > input {
      padding-left: 8px !important;
      padding-right: 8px !important;
    }
  }
}
