:root {
    /* 基础字号 - 超过1920px时固定，小于1920px时等比缩放 */
    --f14: 14px;
    --f15: 15px;
    --f16: 16px;
    --f17: 17px;
    --f18: 18px;
    --f20: 20px;
    --f22: 22px;
    --f24: 24px;
    --f26: 26px;
    --f28: 28px;
    --f30: 30px;
    --f32: 32px;
    --f36: 36px;
    --f38: 38px;
    --f40: 40px;
    --f42: 42px;
    --f44: 44px;
    --f46: 46px;
    --f48: 48px;
    --f50: 50px;
    --f52: 52px;
    --f54: 54px;
    --f56: 56px;
    --f60: 60px;
    --f64: 64px;
    --f66: 66px;
    --f70: 70px;
    --f72: 72px;
    --f76: 76px;
    --f80: 80px;
    --f90: 90px;
}
@media (max-width: 1920px) {
:root {
    /* 基础字号 - 超大屏等比放大，无上限 */
    --f14: max(12px, calc(14px + (100vw - 1920px) * 0.005));
    --f15: max(12.2px, calc(15px + (100vw - 1920px) * 0.0052));
    --f16: max(12.5px, calc(16px + (100vw - 1920px) * 0.0055));
    --f17: max(13px, calc(17px + (100vw - 1920px) * 0.0059));
    --f18: max(14px, calc(18px + (100vw - 1920px) * 0.0063));
    --f20: max(16px, calc(20px + (100vw - 1920px) * 0.007));
    --f22: max(17px, calc(22px + (100vw - 1920px) * 0.0077));
    --f24: max(17.5px, calc(24px + (100vw - 1920px) * 0.0083));
    --f26: max(18px, calc(26px + (100vw - 1920px) * 0.009));
    --f28: max(19px, calc(28px + (100vw - 1920px) * 0.0097));
    --f30: max(20px, calc(30px + (100vw - 1920px) * 0.0104));
    --f32: max(21px, calc(32px + (100vw - 1920px) * 0.0111));
    --f36: max(22px, calc(36px + (100vw - 1920px) * 0.0125));
    --f38: max(22.5px, calc(38px + (100vw - 1920px) * 0.0132));
    --f40: max(23px, calc(40px + (100vw - 1920px) * 0.0139));
    --f42: max(23.5px, calc(42px + (100vw - 1920px) * 0.0146));
    --f44: max(24px, calc(44px + (100vw - 1920px) * 0.0153));
    --f46: max(24.2px, calc(46px + (100vw - 1920px) * 0.016));
    --f48: max(24.5px, calc(48px + (100vw - 1920px) * 0.0167));
    --f50: max(25px, calc(50px + (100vw - 1920px) * 0.0174));
    --f52: max(25.1px, calc(52px + (100vw - 1920px) * 0.0181));
    --f54: max(25.2px, calc(54px + (100vw - 1920px) * 0.0188));
    --f56: max(25.3px, calc(56px + (100vw - 1920px) * 0.0195));
    --f60: max(25.5px, calc(60px + (100vw - 1920px) * 0.0208));
    --f64: max(25.6px, calc(64px + (100vw - 1920px) * 0.0222));
    --f66: max(25.8px, calc(66px + (100vw - 1920px) * 0.0229));
    --f70: max(26px, calc(70px + (100vw - 1920px) * 0.0243));
    --f72: max(26.2px, calc(72px + (100vw - 1920px) * 0.025));
    --f76: max(26.4px, calc(76px + (100vw - 1920px) * 0.0264));
    --f80: max(26.8px, calc(80px + (100vw - 1920px) * 0.0278));
    --f90: max(28px, calc(90px + (100vw - 1920px) * 0.0313));
}
}

/* 工具类（保持不变） */
.f14 { font-size: var(--f14) !important; }
.f15 { font-size: var(--f15) !important; }
.f16 { font-size: var(--f16) !important; }
.f17 { font-size: var(--f17) !important; }
.f18 { font-size: var(--f18) !important; }
.f20 { font-size: var(--f20) !important; }
.f22 { font-size: var(--f22) !important; }
.f24 { font-size: var(--f24) !important; }
.f26 { font-size: var(--f26) !important; }
.f28 { font-size: var(--f28) !important; }
.f30 { font-size: var(--f30) !important; }
.f32 { font-size: var(--f32) !important; }
.f36 { font-size: var(--f36) !important; }
.f38 { font-size: var(--f38) !important; }
.f40 { font-size: var(--f40) !important; }
.f42 { font-size: var(--f42) !important; }
.f44 { font-size: var(--f44) !important; }
.f46 { font-size: var(--f46) !important; }
.f48 { font-size: var(--f48) !important; }
.f50 { font-size: var(--f50) !important; }
.f52 { font-size: var(--f52) !important; }
.f54 { font-size: var(--f54) !important; }
.f56 { font-size: var(--f56) !important; }
.f60 { font-size: var(--f60) !important; }
.f64 { font-size: var(--f64) !important; }
.f66 { font-size: var(--f66) !important; }
.f70 { font-size: var(--f70) !important; }
.f72 { font-size: var(--f72) !important; }
.f76 { font-size: var(--f76) !important; }
.f80 { font-size: var(--f80) !important; }
.f90 { font-size: var(--f90) !important; }

/* 小屏固定值 */
@media (max-width: 992px) {
    :root {
        --f14: 12px;    --f15: 12.2px;  --f16: 12.5px;  --f17: 13px;
        --f18: 14px;    --f20: 16px;    --f22: 17px;    --f24: 17.5px;
        --f26: 18px;    --f28: 19px;    --f30: 20px;    --f32: 21px;
        --f36: 22px;    --f38: 22.5px;  --f40: 23px;    --f42: 23.5px;
        --f44: 24px;    --f46: 24.2px;  --f48: 24.5px;  --f50: 25px;
        --f52: 25.1px;  --f54: 25.2px;  --f56: 25.3px;  --f60: 25.5px;
        --f64: 25.6px;  --f66: 25.8px;  --f70: 26px;    --f72: 26.2px;
        --f76: 26.4px;  --f80: 26.8px;  --f90: 28px;
    }
}
@media (max-width: 468px) {
    :root {
        --f14: 12px;    --f15: 12.2px;  --f16: 12.5px;  --f17: 13px;
        --f18: 14px;    --f20: 16.2px;  --f22: 16.3px;  --f24: 16.4px;
        --f26: 16.5px;  --f28: 16.6px;  --f30: 16.7px;  --f32: 16.8px;
        --f36: 17px;    --f38: 17.5px;  --f40: 18px;    --f42: 18.1px;
        --f44: 18.2px;  --f46: 18.4px;  --f48: 18.8px;  --f50: 19px;
        --f52: 19.5px;  --f54: 20px;    --f56: 21.2px;  --f60: 21px;
        --f64: 21.2px;  --f66: 21.4px;  --f70: 22px;    --f72: 23px;
        --f76: 23.5px;  --f80: 24px;    --f90: 25px;
    }
}