/**
 * Chrome vs Edge 字体渲染一致性修复
 * 针对 Windows 系统上 Chrome 字体比 Edge 大的问题
 * 版本: 2026-06-12
 */

/* ===== 核心修复: 禁用 Chrome 字体增强 ===== */

/* 1. 完全禁用 text-size-adjust */
html {
  -webkit-text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
  -ms-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* 2. 强制所有元素使用相同的字体平滑 */
*,
*::before,
*::after {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  
  /* 关键: 禁止 Chrome 的字体提升/增强 */
  -webkit-text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
  -ms-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* 3. Body 级别强制设置 */
body {
  font-size: 16px !important; /* 强制固定基准字号 */
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  
  /* 防止 Chrome 自动缩放 */
  -webkit-text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
  -ms-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  
  /* 禁用字体提升的关键属性 */
  max-height: 999999px;
}

/* 4. 所有文本元素强制统一 */
h1, h2, h3, h4, h5, h6,
p, span, div, li, a, strong, em,
small, big, sub, sup,
input, button, textarea, select,
label, blockquote, pre, code {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  
  /* 关键: 防止 Chrome 增强 */
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  
  /* 防止字体提升 */
  max-height: 999999px;
}

/* ===== Windows Chromium 浏览器特定修复 ===== */

/* 针对 Chrome 和 Edge 的渲染差异 */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  
  /* Chrome 特有: 强制使用标准抗锯齿 */
  @supports (-webkit-appearance:none) {
    html, body,
    h1, h2, h3, h4, h5, h6,
    p, span, div, li, a {
      -webkit-font-smoothing: subpixel-antialiased !important;
      text-rendering: geometricPrecision !important;
    }
  }
  
  /* Edge 特定修复 (如果检测到) */
  @supports (-ms-ime-align:auto) {
    html, body {
      -webkit-font-smoothing: antialiased !important;
    }
  }
}

/* ===== 高 DPI 屏幕优化 ===== */

@media 
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 120dpi) {
  
  html {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
  
  body,
  h1, h2, h3, h4, h5, h6,
  p, span, div, li, a {
    -webkit-font-smoothing: subpixel-antialiased !important;
  }
}

@media 
  (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 192dpi) {
  
  html, body,
  h1, h2, h3, h4, h5, h6,
  p, span, div, li, a {
    -webkit-font-smoothing: antialiased !important;
  }
}

/* ===== 禁用移动设备字体提升 ===== */

@media screen and (max-width: 991px) {
  * {
    -webkit-text-size-adjust: 100% !important;
    -moz-text-size-adjust: 100% !important;
    -ms-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    max-height: 999999px;
    
    /* 防止 Chrome 移动端字体提升 */
    -webkit-text-fill-color: currentColor;
  }
}

/* ===== 自定义字体渲染优化 ===== */

@font-face {
  font-family: 'HelveticaNeueLTPro-Bd';
  src: url('../fonts/HelveticaNeueLTPro-Bd.woff2') format('woff2'),
       url('../fonts/HelveticaNeueLTPro-Bd.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-variation-settings: normal;
}

@font-face {
  font-family: 'HelveticaNeueLTPro-Roman';
  src: url('../fonts/HelveticaNeueLTPro-Roman.woff2') format('woff2'),
       url('../fonts/HelveticaNeueLTPro-Roman.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  font-variation-settings: normal;
}

@font-face {
  font-family: 'HelveticaNeueLTPro-Md';
  src: url('../fonts/HelveticaNeueLTPro-Md.woff2') format('woff2'),
       url('../fonts/HelveticaNeueLTPro-Md.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  font-variation-settings: normal;
}
