/* 老浏览器兼容层（Chrome 104 及以下、各类基于老内核的国产浏览器），新浏览器不受影响。
   1. 不支持 :has()：含 :has() 的规则在这里改用 legacy-compat.js 补上的 class 重写（html.ax-no-has 下才生效）。
   2. 不支持 dvh：补上 vh 兜底。 */

/* 笔记本缩放（laptopFit）的 zoom 规则含 :has()，老浏览器里整条失效，而按缩放比例换算的宽高仍在生效，
   导致页面变宽、弹窗跑偏；老浏览器统一按 100% 显示。 */
@supports not selector(:has(a)) {
  :root { --ax-fit: 1 !important; }
}

/* dvh 兜底：弹窗视口高度变量缺省时用 100vh（脚本写入的实际值仍然优先） */
@supports not (height: 1dvh) {
  :root { --ax-dialog-viewport-height: 100vh; }
  html .ax-avatar-dialog .el-dialog__body { max-height: calc(100vh - 180px); }
  html .xly-captcha-panel { max-height: calc(100vh - 32px); }
}

/* color-mix() 兜底（标签下划线光晕） */
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
  html .el-main .el-tabs__active-bar { box-shadow: 0 2px 7px rgba(64, 158, 255, .26); }
}

/* ===== 账户中心弹窗居中（accountDialogs.css / accountAvatar.css） ===== */
@media (min-width: 701px) {
  html.ax-no-has.ax-account-center body .el-dialog__wrapper.ax-has-account-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
  }
}
@media (max-width: 700px) {
  html.ax-no-has.ax-account-center body .el-dialog__wrapper.ax-has-account-dialog {
    --ad-edge-top: max(16px, env(safe-area-inset-top));
    --ad-edge-bottom: max(16px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    justify-content: center;
    top: var(--ax-dialog-viewport-top, 0px);
    left: var(--ax-dialog-viewport-left, 0px);
    bottom: auto;
    right: auto;
    width: var(--ax-dialog-viewport-width, 100vw);
    height: var(--ax-dialog-viewport-height, 100vh);
    padding: var(--ad-edge-top) 16px var(--ad-edge-bottom);
    box-sizing: border-box;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.ax-no-has.ax-account-center body .el-dialog__wrapper.ax-has-account-dialog { animation: none !important; transition: none !important; }
}
html.ax-no-has .el-dialog__wrapper.ax-has-avatar-dialog { display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; }

/* ===== 账户中心可复制的行（accountRows.css） ===== */
@media (max-width: 700px) {
  html.ax-no-has .ax-account-center .ax-setting-row.ax-has-copy { grid-template-columns: minmax(0, 1fr) 40px; gap: 6px 12px; padding: 16px 0; }
  html.ax-no-has .ax-account-center .ax-setting-row.ax-has-copy > .ax-setting-name { grid-column: 1; grid-row: 1; }
  html.ax-no-has .ax-account-center .ax-setting-row.ax-has-copy > .ax-copy-value { grid-column: 1; grid-row: 2; }
  html.ax-no-has .ax-account-center .ax-setting-row.ax-has-copy > .ax-text-button { grid-column: 2; grid-row: 1 / span 2; }
}

/* ===== 控制台：弹窗打开时锁定页面滚动、平时由页面滚动（consoleShell.css） ===== */
html.ax-no-has.ax-console:not(.ax-nav-open):not(.ax-popup-open) { overflow-x: clip !important; overflow-y: auto !important; }
html.ax-no-has.ax-console.ax-popup-open { overflow: hidden !important; }

/* ===== 切换页面时的骨架屏（appRuntime.css） ===== */
html.ax-no-has .el-main.ax-has-skeleton > :not(#ax-route-skeleton) { display: none !important; }

/* ===== 手机号区号下拉（auth-country-picker.css / auth-mobile.css / regist-exact-reference.css） ===== */
/* 页面样式里有 #login .login .el-input--large .el-input__wrapper { overflow: hidden }，需要带 ID 才能覆盖 */
html.ax-no-has :is(#login, #regist, #forget, #oauth).exact-auth .el-input__wrapper.ax-has-country,
html.ax-no-has .exact-auth .el-input__wrapper.ax-has-country { overflow: visible; }
html.ax-no-has[data-ax-auth] :is(#login, #regist).exact-auth .el-input__wrapper.ax-has-country input.el-input__inner { padding-left: 14px !important; }
html.ax-no-has #regist.exact-auth .sms-register .sms-main > .el-form-item:first-child .el-input__wrapper:not(.ax-has-country) input { padding-left: 16px; }

/* ===== 验证码弹层（accountCaptcha.css）：加载中只显示小胶囊；极验时外壳透明 ===== */
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) { background: transparent; }
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) .xly-captcha-panel { width: auto; min-height: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; }
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) .xly-captcha-close,
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) .xly-captcha-status h3 { display: none; }
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) .xly-captcha-status { position: static; padding: 0; }
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) .xly-captcha-loading { height: auto; gap: 10px; padding: 12px 20px; border-radius: 999px; background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); box-shadow: 0 0 0 .5px rgba(0, 0, 0, .06), 0 10px 36px rgba(0, 0, 0, .14); color: #1d1d1f; font: 500 14px/20px -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
html.ax-no-has .xly-captcha-layer:not(.ax-has-settled) .xly-captcha-spinner { width: 16px; height: 16px; border-color: rgba(0, 0, 0, .1); border-top-color: #0071e3; }
html.ax-no-has .xly-captcha-layer.ax-has-geetest { background: transparent !important; animation: none !important; opacity: 1 !important; }
html.ax-no-has .xly-captcha-layer.ax-has-geetest .xly-captcha-panel { width: auto; min-height: 0; padding: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; transform: none !important; }
html.ax-no-has .xly-captcha-layer.ax-has-geetest .xly-captcha-close,
html.ax-no-has .xly-captcha-layer.ax-has-geetest .xly-captcha-status { display: none !important; }
