/**
 * 文件: css/font-awesome-protection.css
 * 目的: 保护Font Awesome图标字体不被safari-fix.css覆盖
 * 创建: 2025-10-29
 * 作者: Claude Code
 * 依赖: 必须在safari-fix.css之后加载
 *
 * 修改历史:
 * - 2025-10-29: 初始版本
 */

/* ==================== 核心修复 ==================== */

/* 1. 确保所有Font Awesome图标使用正确的字体 */
.fas, .fa-solid,
.far, .fa-regular,
.fab, .fa-brands,
.fal, .fa-light,
.fad, .fa-duotone {
    /* 强制使用Font Awesome字体,覆盖body的!important */
    font-family: "Font Awesome 6 Free" !important;

    /* 重置字体样式,防止继承 */
    font-style: normal;
    font-variant: normal;

    /* Solid图标使用900字重 */
    font-weight: 900;

    /* 优化渲染 */
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 2. Regular图标使用400字重 */
.far, .fa-regular {
    font-weight: 400 !important;
}

/* 3. Brands图标使用专用字体 */
.fab, .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* ==================== 特定元素修复 ==================== */

/* 4. 修复删除按钮图标 (main.js:1577-1582) */
.delete-chat .fas,
.delete-chat i[class*="fa-"] {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;

    /* 确保图标正常显示 */
    display: inline-block;
    vertical-align: middle;
}

/* 5. 修复折叠按钮图标 (stream-status.js:31-33) */
.toggle-btn .fas,
.toggle-btn i[class*="fa-"] {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;

    /* 保持原有的旋转动画 */
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==================== 防御性规则 ==================== */

/* 6. 防止中文语言标签覆盖图标字体 */
:lang(zh) .fas, :lang(zh) .far, :lang(zh) .fab, :lang(zh) .fal, :lang(zh) .fad,
:lang(zh-CN) .fas, :lang(zh-CN) .far, :lang(zh-CN) .fab, :lang(zh-CN) .fal, :lang(zh-CN) .fad,
:lang(zh-TW) .fas, :lang(zh-TW) .far, :lang(zh-TW) .fab, :lang(zh-TW) .fal, :lang(zh-TW) .fad,
:lang(zh-HK) .fas, :lang(zh-HK) .far, :lang(zh-HK) .fab, :lang(zh-HK) .fal, :lang(zh-HK) .fad {
    font-family: "Font Awesome 6 Free" !important;
}

/* 7. 防止代码字体覆盖图标 */
code .fas, code .far, code .fab,
pre .fas, pre .far, pre .fab {
    font-family: "Font Awesome 6 Free" !important;
}

/* ==================== 兼容性增强 ==================== */

/* 8. 确保图标在flexbox中正确对齐 */
.fas::before, .far::before, .fab::before, .fal::before, .fad::before {
    display: inline-block;
    text-rendering: auto;
}

/* 9. 修复Safari中的渲染问题 */
@supports (-webkit-touch-callout: none) {
    .fas, .far, .fab, .fal, .fad {
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }
}

/* 10. 修复Windows高DPI显示 */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .fas, .far, .fab, .fal, .fad {
        text-rendering: geometricPrecision;
    }
}
