/* 思源黑体 Regular 分片 */ 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-4E00-53FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+4E00-53FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-5400-59FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+5400-59FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-5A00-5FFF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+5A00-5FFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-6000-65FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+6000-65FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-6600-6BFF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+6600-6BFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-6C00-71FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+6C00-71FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-7200-77FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+7200-77FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-7800-7DFF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+7800-7DFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-7E00-83FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+7E00-83FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-8400-89FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+8400-89FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-8A00-8FFF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+8A00-8FFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-9000-95FF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+9000-95FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Core-9600-9FFF.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+9600-9FFF; 
} 
 
/* 思源黑体 Bold 分片 */ 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-4E00-53FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+4E00-53FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-5400-59FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+5400-59FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-5A00-5FFF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+5A00-5FFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-6000-65FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+6000-65FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-6600-6BFF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+6600-6BFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-6C00-71FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+6C00-71FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-7200-77FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+7200-77FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-7800-7DFF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+7800-7DFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-7E00-83FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+7E00-83FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-8400-89FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+8400-89FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-8A00-8FFF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+8A00-8FFF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-9000-95FF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+9000-95FF; 
} 
 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Core-9600-9FFF.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+9600-9FFF; 
} 
 
/* 拉丁字母数字区块 */ 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Regular-Latin.woff2') format('woff2'); 
    font-weight: 400; 
    unicode-range: U+0000-007F; 
} 
@font-face { 
    font-family: 'Source Han Sans CN'; 
    src: url('/fonts/SourceHanSansCN-Bold-Latin.woff2') format('woff2'); 
    font-weight: 700; 
    unicode-range: U+0000-007F; 
} 

/* ========== 遍黑体（Plangothic）生僻字全部分片（开源可商用） ========== */
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-20000.woff2') format('woff2'); unicode-range: U+20000-208FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-20900.woff2') format('woff2'); unicode-range: U+20900-211FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-21200.woff2') format('woff2'); unicode-range: U+21200-21AFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-21B00.woff2') format('woff2'); unicode-range: U+21B00-223FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-22400.woff2') format('woff2'); unicode-range: U+22400-22CFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-22D00.woff2') format('woff2'); unicode-range: U+22D00-235FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-23600.woff2') format('woff2'); unicode-range: U+23600-23EFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-23F00.woff2') format('woff2'); unicode-range: U+23F00-247FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-24800.woff2') format('woff2'); unicode-range: U+24800-250FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-25100.woff2') format('woff2'); unicode-range: U+25100-259FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-25A00.woff2') format('woff2'); unicode-range: U+25A00-262FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-26300.woff2') format('woff2'); unicode-range: U+26300-26BFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-26C00.woff2') format('woff2'); unicode-range: U+26C00-274FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-27500.woff2') format('woff2'); unicode-range: U+27500-27DFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-27E00.woff2') format('woff2'); unicode-range: U+27E00-286FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-28700.woff2') format('woff2'); unicode-range: U+28700-28FFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-29000.woff2') format('woff2'); unicode-range: U+29000-298FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-29900.woff2') format('woff2'); unicode-range: U+29900-2A1FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-B-2A200.woff2') format('woff2'); unicode-range: U+2A200-2A6DF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-C-2A700.woff2') format('woff2'); unicode-range: U+2A700-2AEFF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-C-2AF00.woff2') format('woff2'); unicode-range: U+2AF00-2B6FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-C-2B700.woff2') format('woff2'); unicode-range: U+2B700-2B73F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-D.woff2') format('woff2'); unicode-range: U+2B740-2B81F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-E-2B820.woff2') format('woff2'); unicode-range: U+2B820-2C01F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-E-2C020.woff2') format('woff2'); unicode-range: U+2C020-2C81F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-E-2C820.woff2') format('woff2'); unicode-range: U+2C820-2CEAF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-F-2CEB0.woff2') format('woff2'); unicode-range: U+2CEB0-2D7AF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-F-2D7B0.woff2') format('woff2'); unicode-range: U+2D7B0-2E0AF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-F-2E0B0.woff2') format('woff2'); unicode-range: U+2E0B0-2E9AF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/PlangothicP1-F-2E9B0.woff2') format('woff2'); unicode-range: U+2E9B0-2EBEF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/Plangothic-G-30000.woff2') format('woff2'); unicode-range: U+30000-309FF; }
@font-face { font-family: 'RareFont'; src: url('/fonts/Plangothic-G-30A00.woff2') format('woff2'); unicode-range: U+30A00-3134F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/Plangothic-H-31350.woff2') format('woff2'); unicode-range: U+31350-3194F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/Plangothic-H-31950.woff2') format('woff2'); unicode-range: U+31950-31F4F; }
@font-face { font-family: 'RareFont'; src: url('/fonts/Plangothic-H-31F50.woff2') format('woff2'); unicode-range: U+31F50-323AF; }

/* ========== 全局字体栈（前台 + 后台通用） ========== */
body,
input,
textarea,
select,
button,
.dict-word,
.tianzige-char,
.dict-item p,
.content-text,
.tongyin-list,
.kangxi-card,
.kangxi-card *,
.kangxi-detail-card,
.kangxi-detail-card *,
.base-card .text,
.search-input,
.search-btn,
#divNavBar li a {
    font-family: 'Source Han Sans CN', 'RareFont', system-ui, sans-serif !important;
}

/* 卡片内部继承字体（避免强制覆盖导致特殊图标异常） */
.kangxi-card,
.kangxi-detail-card {
    font-family: inherit !important;
}
