/* h5ap 对原站 app.css 的全部偏离，集中在这里。
   原则：能不改就不改；每一条都要写清"为什么必须偏离原站"。 */

/* ① 小屏兜底：原站有几页手机端也走 PC 布局（如认证），写死 min-width 会横向溢出 */
@media (max-width: 767px) {
  #root .pc-page { min-width: 0 !important; max-width: 100% !important; overflow-x: hidden !important; }
  #root .pc-page [class*="min-w-["] { min-width: 0 !important; }
  #root .pc-page [class*="w-["] { max-width: 100% !important; }
}

/* ② 输入框"框里套框"：.input-base 本身已是外层框，内层 input 没清浏览器默认边框 */
#root .input-base input,
#root .input-base textarea {
  border: 0 !important; background: transparent !important;
  box-shadow: none !important; outline: none !important;
}
#root .input-base > input,
#root .input-base > div > input { -webkit-appearance: none; appearance: none; }

/* ③ 勾选框看不见：原站用 accent-* 依赖原生外观，但这套 CSS 把它清掉了 */
#root input[type="checkbox"] {
  width: 16px; height: 16px; min-width: 16px; flex: 0 0 auto;
  -webkit-appearance: none; appearance: none;
  border: 1px solid #D8D8D8; border-radius: 4px; background: #fff;
  position: relative; margin: 0;
}
#root input[type="checkbox"]:checked { background: #A4DB16; border-color: #A4DB16; }
#root input[type="checkbox"]:checked::after {
  content: ''; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

/* ④ 滚动时文字漏绘：原站把 will-change:opacity,transform 写成了永久生效
   → 页面被拆成大量合成层，Chrome 滚动时漏绘文字。进场动画是一次性的，
   动画结束后本就不需要 will-change。 */
#root .page-motion *, #root .aster-page *, #root .aster-card *,
#root .aster-soft-card *, #root .card *, #root [class*="fade-in-"] {
  will-change: auto !important;
}

/* ⑤ 涨跌红/绿框里的文字"刷新后变纯色、过几秒才出来"：
   根因是 live.js 与 pages.js 两个写入者抢改同一个框（class 被反复重写）—— 已在 live.js 里禁掉。
   这里再加一道兜底：万一还有一瞬间为空，宁可显示 — 也不要出现"纯色空框"。 */
#root [data-f="chg"] {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: auto !important;
  -webkit-font-smoothing: antialiased;
}
#root [data-f="chg"]:empty::before { content: '—'; opacity: .7; }

/* ⑥ 输入框 focus 时内层多出一个矩形框：原站给 input 加了 focus 环(box-shadow)。
   用户嫌难看 —— 去掉焦点环（采集件画好的输入框本身保留不动）。
   注：上一版误删了 .pc-trade-form-panel / 输入行的 border，已还原。 */
#root input:focus, #root input:focus-visible,
#root textarea:focus, #root textarea:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ⑦ 首屏门禁：硬刷新时先隐藏 #root（app.js 挂 data-boot，数据就绪后摘），
   免得先露出视图里的参考站死内容/死值、再被运行时补丁换掉。
   visibility（而非 display）保留布局高度，摘下时不会重排跳动。 */
html[data-boot] #root { visibility: hidden; }
