/* 
 * 字体样式配置
 * 定义 OPPOSans 字体的加载和应用
 */

/* 引入 CDN 字体（字体文件过大，使用 CDN 优化加载） */
/* 注意：CDN 字体通过 HTML 中的 link 标签异步加载，避免 @import 阻塞渲染 */
/* result.css 中的字体家族名称是 "OPPO Sans 4.0" */

/* 字体映射：优先使用 CDN 字体，确保快速加载和覆盖所有字符 */
/* 本地字体文件作为备用（iOS Safari 兼容性更好） */
@font-face {
  font-family: "OPPOSans";
  src: url("../assets/fonts/OPPOSans4.0.ttf") format("truetype");
  /* 使用 fallback 策略：在短时间内（100ms）显示回退字体，然后切换到自定义字体 */
  /* 这样可以减少"豆腐块"显示时间，同时不阻塞首屏渲染 */
  font-display: fallback;
  font-weight: 400;
  font-style: normal;
  /* 针对高 DPR 设备优化 */
  font-feature-settings: "kern" 1, "liga" 1;
}

@font-face {
  font-family: "OPPOSans";
  src: url("../assets/fonts/OPPOSans4.0.ttf") format("truetype");
  font-display: fallback;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "kern" 1, "liga" 1;
}

@font-face {
  font-family: "OPPOSans";
  src: url("../assets/fonts/OPPOSans4.0.ttf") format("truetype");
  font-display: fallback;
  font-weight: 600;
  font-style: normal;
  font-feature-settings: "kern" 1, "liga" 1;
}

@font-face {
  font-family: "OPPOSans";
  src: url("../assets/fonts/OPPOSans4.0.ttf") format("truetype");
  font-display: fallback;
  font-weight: 700;
  font-style: normal;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* CDN 字体作为主要字体源（result.css 中已定义，这里不再重复） */
/* 注意：result.css 中的字体使用 font-display: swap，确保快速显示 */

/* 全局字体设置 - 优化字体回退策略，优先使用 CDN 的 "OPPO Sans 4.0" 字体 */
html, body, 
div, span, p, a, h1, h2, h3, h4, h5, h6,
input, textarea, button, select, label,
table, th, td, tr,
ul, ol, li {
  /* iOS Safari 需要明确指定字体，避免回退到系统字体 */
  /* 通用字体回退：优先使用 OPPO Sans 4.0，然后根据语言回退到合适的系统字体 */
  font-family: "OPPO Sans 4.0", "OPPOSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* 移动端高 DPR 设备字体渲染优化 */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* 针对高 DPR 设备的字体渲染优化 */
  -webkit-font-feature-settings: "kern" 1, "liga" 1;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* 中文（简体）字体优化 */
html:lang(zh), body:lang(zh),
[lang="zh"] {
  font-family: "OPPO Sans 4.0", "OPPOSans", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "WenQuanYi Micro Hei", "SimHei", "SimSun", sans-serif;
}

/* 中文（繁体）字体优化 */
html:lang(zh-TW), body:lang(zh-TW),
[lang="zh-TW"] {
  font-family: "OPPO Sans 4.0", "OPPOSans", "Microsoft JhengHei", "PingFang TC", "Hiragino Sans CNS", "WenQuanYi Zen Hei", "MingLiU", sans-serif;
}

/* 日文字体优化 */
html:lang(ja), body:lang(ja),
[lang="ja"] {
  font-family: "OPPO Sans 4.0", "OPPOSans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", "Meiryo", "MS PGothic", sans-serif;
}

/* 英文字体优化 */
html:lang(en), body:lang(en),
[lang="en"] {
  font-family: "OPPO Sans 4.0", "OPPOSans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Flutter 视图的字体平滑 - iOS Safari 优化 */
flutter-view {
  font-family: "OPPO Sans 4.0", "OPPOSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* 移动端高 DPR 设备优化 */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* 针对高 DPR 设备的字体渲染优化 */
  -webkit-font-feature-settings: "kern" 1, "liga" 1;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* Flutter 视图的多语言字体支持 */
flutter-view[lang="zh"],
flutter-view:lang(zh) {
  font-family: "OPPO Sans 4.0", "OPPOSans", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
}

flutter-view[lang="zh-TW"],
flutter-view:lang(zh-TW) {
  font-family: "OPPO Sans 4.0", "OPPOSans", "Microsoft JhengHei", "PingFang TC", "Hiragino Sans CNS", "WenQuanYi Zen Hei", sans-serif;
}

flutter-view[lang="ja"],
flutter-view:lang(ja) {
  font-family: "OPPO Sans 4.0", "OPPOSans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

flutter-view[lang="en"],
flutter-view:lang(en) {
  font-family: "OPPO Sans 4.0", "OPPOSans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* 移动端高 DPR 设备特定优化 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  html, body, flutter-view {
    /* 高 DPR 设备使用更精细的字体渲染 */
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    /* 确保文本清晰度 - 使用更精细的描边 */
    -webkit-text-stroke: 0.01em transparent;
    /* 强制使用硬件加速 */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: contents;
  }
  
  /* Canvas 元素的高 DPR 优化 */
  canvas {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    /* 确保 Canvas 在高 DPR 设备上清晰 */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
  
  /* 针对超高 DPR 设备（如 iPhone 14 Pro Max 的 3x） */
  @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 288dpi) {
    html, body, flutter-view {
      /* 使用最高质量的字体渲染 */
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
      /* 超高 DPR 设备的额外优化 - 更精细的描边 */
      -webkit-text-stroke: 0.003em transparent;
      /* 强制硬件加速 */
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      perspective: 1000px;
      -webkit-perspective: 1000px;
    }
    
    /* 超高 DPR 设备的 Canvas 优化 */
    canvas {
      image-rendering: -webkit-optimize-contrast;
      image-rendering: crisp-edges;
      /* 确保最高质量渲染 */
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
      will-change: contents;
    }
  }
}

