/* Self-hosted latin subsets (latin + latin-ext).
   Spectral  - SIL Open Font License 1.1
   Inter     - SIL Open Font License 1.1
*/
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./sp-400-i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./sp-400-i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./sp-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./sp-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./sp-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./sp-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./sp-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./sp-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./in-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./in-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./in-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./in-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 思源宋体 / 思源黑体 —— 精确字符子集（SIL OFL 1.1）
   仅包含本站实际使用的 297 个非 ASCII 字符，故体积很小。 */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./cjk-serif-400.woff2) format('woff2');
  unicode-range: U+b7, U+d7, U+2013-2014, U+2018-2019, U+201c-201d, U+2026, U+2299, U+25c6, U+3001-3002, U+3007-3011, U+3014-3015, U+3053-3054, U+3092, U+3099, U+30fb-30fc, U+4e00, U+4e03, U+4e09-4e0b, U+4e0e, U+4e2d, U+4e3a, U+4e5d, U+4e88, U+4e8c, U+4e8e, U+4e92, U+4e94, U+4ea4, U+4eae, U+4eba, U+4ecb, U+4ece, U+4ef6, U+4f53, U+4f59, U+4f5c, U+4f60, U+4f9d, U+4fa7, U+4fe1, U+505c, U+50cf, U+5149, U+515c, U+5168, U+516b, U+516d, U+5171, U+5173, U+51ac, U+51e0, U+5206, U+5217, U+5230, U+5236, U+523b, U+524d, U+52a8, U+52ff, U+533a, U+5341, U+5361, U+5373, U+5377, U+53d1, U+53d6, U+53e5, U+53ef, U+53f7, U+540c-540d, U+5438, U+547c-547d, U+54c1, U+54ea, U+56db, U+56de, U+56fe, U+5728, U+5757, U+590f, U+592e, U+59cb, U+5a92, U+5b50, U+5b57, U+5b81, U+5b89, U+5b8b-5b8c, U+5b9a, U+5b9e, U+5bf9, U+5bfc, U+5c18, U+5c3a, U+5c42, U+5c4f, U+5c5e, U+5c71, U+5de1, U+5dee, U+5df1, U+5e03, U+5e0c, U+5e26-5e27, U+5e45, U+5e55, U+5e74, U+5e8f, U+5e94-5e95, U+5ea6, U+5eca, U+5efa, U+5f00, U+5f20, U+5f52, U+5f55, U+5f71, U+5f85, U+5f97, U+6001, U+601d, U+606f, U+60c5, U+6210, U+622a, U+6240, U+624b, U+6258, U+62c6, U+6309, U+6392, U+64a4, U+6539, U+653e, U+6570, U+6574, U+6587, U+65b0, U+65e0, U+65e5, U+65f6-65f7, U+6620, U+6625, U+662f, U+663e, U+6653, U+666f, U+6708-6709, U+671f, U+672a, U+6743, U+6761, U+6765, U+679c, U+67e5, U+6807, U+680f, U+6848, U+6863, U+6b21, U+6b3e, U+6b62, U+6bb5, U+6bcf, U+6bd4, U+6cea, U+6d3b, U+6d41, U+6e90, U+6eda, U+6f14, U+7011, U+706f, U+70b9, U+70ed, U+7247-7248, U+72b9, U+73b0, U+745e, U+751f, U+7531, U+753b, U+7559, U+767d, U+7684, U+770b, U+77f3, U+7801, U+786e, U+79cb, U+7a0b, U+7a3f, U+7a7a, U+7b14, U+7b2c, U+7b49, U+7b5b, U+7ba1, U+7bb1, U+7cbe, U+7cfb, U+7ea6, U+7ebf, U+7ec4, U+7ed3, U+7ed8, U+7edf, U+7f16, U+7f2a, U+8005, U+80cc, U+80f6, U+81ea, U+820d, U+822a, U+82b1, U+8349, U+843d, U+8599, U+8721, U+884c, U+897f, U+89a7, U+89c1-89c2, U+89c6, U+8a00, U+8ba1, U+8ba9, U+8bba, U+8bda, U+8be6, U+8bf7, U+8c6b, U+8d56, U+8d70, U+8dc3, U+8f68, U+8fc7, U+8fd9, U+8fdb, U+8fde, U+8ff9, U+9009, U+9010, U+90e8, U+91cd-91ce, U+949f, U+9500, U+957f, U+95ed, U+95f4, U+9644, U+9664, U+96c6, U+9876, U+9898, U+9970, U+9996, U+9ad8, U+9ed1, U+ff01, U+ff05, U+ff08-ff09, U+ff0c-ff0d, U+ff1a-ff1b, U+ff1f, U+ff5e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./cjk-serif-500.woff2) format('woff2');
  unicode-range: U+b7, U+d7, U+2013-2014, U+2018-2019, U+201c-201d, U+2026, U+2299, U+25c6, U+3001-3002, U+3007-3011, U+3014-3015, U+3053-3054, U+3092, U+3099, U+30fb-30fc, U+4e00, U+4e03, U+4e09-4e0b, U+4e0e, U+4e2d, U+4e3a, U+4e5d, U+4e88, U+4e8c, U+4e8e, U+4e92, U+4e94, U+4ea4, U+4eae, U+4eba, U+4ecb, U+4ece, U+4ef6, U+4f53, U+4f59, U+4f5c, U+4f60, U+4f9d, U+4fa7, U+4fe1, U+505c, U+50cf, U+5149, U+515c, U+5168, U+516b, U+516d, U+5171, U+5173, U+51ac, U+51e0, U+5206, U+5217, U+5230, U+5236, U+523b, U+524d, U+52a8, U+52ff, U+533a, U+5341, U+5361, U+5373, U+5377, U+53d1, U+53d6, U+53e5, U+53ef, U+53f7, U+540c-540d, U+5438, U+547c-547d, U+54c1, U+54ea, U+56db, U+56de, U+56fe, U+5728, U+5757, U+590f, U+592e, U+59cb, U+5a92, U+5b50, U+5b57, U+5b81, U+5b89, U+5b8b-5b8c, U+5b9a, U+5b9e, U+5bf9, U+5bfc, U+5c18, U+5c3a, U+5c42, U+5c4f, U+5c5e, U+5c71, U+5de1, U+5dee, U+5df1, U+5e03, U+5e0c, U+5e26-5e27, U+5e45, U+5e55, U+5e74, U+5e8f, U+5e94-5e95, U+5ea6, U+5eca, U+5efa, U+5f00, U+5f20, U+5f52, U+5f55, U+5f71, U+5f85, U+5f97, U+6001, U+601d, U+606f, U+60c5, U+6210, U+622a, U+6240, U+624b, U+6258, U+62c6, U+6309, U+6392, U+64a4, U+6539, U+653e, U+6570, U+6574, U+6587, U+65b0, U+65e0, U+65e5, U+65f6-65f7, U+6620, U+6625, U+662f, U+663e, U+6653, U+666f, U+6708-6709, U+671f, U+672a, U+6743, U+6761, U+6765, U+679c, U+67e5, U+6807, U+680f, U+6848, U+6863, U+6b21, U+6b3e, U+6b62, U+6bb5, U+6bcf, U+6bd4, U+6cea, U+6d3b, U+6d41, U+6e90, U+6eda, U+6f14, U+7011, U+706f, U+70b9, U+70ed, U+7247-7248, U+72b9, U+73b0, U+745e, U+751f, U+7531, U+753b, U+7559, U+767d, U+7684, U+770b, U+77f3, U+7801, U+786e, U+79cb, U+7a0b, U+7a3f, U+7a7a, U+7b14, U+7b2c, U+7b49, U+7b5b, U+7ba1, U+7bb1, U+7cbe, U+7cfb, U+7ea6, U+7ebf, U+7ec4, U+7ed3, U+7ed8, U+7edf, U+7f16, U+7f2a, U+8005, U+80cc, U+80f6, U+81ea, U+820d, U+822a, U+82b1, U+8349, U+843d, U+8599, U+8721, U+884c, U+897f, U+89a7, U+89c1-89c2, U+89c6, U+8a00, U+8ba1, U+8ba9, U+8bba, U+8bda, U+8be6, U+8bf7, U+8c6b, U+8d56, U+8d70, U+8dc3, U+8f68, U+8fc7, U+8fd9, U+8fdb, U+8fde, U+8ff9, U+9009, U+9010, U+90e8, U+91cd-91ce, U+949f, U+9500, U+957f, U+95ed, U+95f4, U+9644, U+9664, U+96c6, U+9876, U+9898, U+9970, U+9996, U+9ad8, U+9ed1, U+ff01, U+ff05, U+ff08-ff09, U+ff0c-ff0d, U+ff1a-ff1b, U+ff1f, U+ff5e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./cjk-sans-400.woff2) format('woff2');
  unicode-range: U+b7, U+d7, U+2013-2014, U+2018-2019, U+201c-201d, U+2026, U+2299, U+25c6, U+3001-3002, U+3007-3011, U+3014-3015, U+3053-3054, U+3092, U+3099, U+30fb-30fc, U+4e00, U+4e03, U+4e09-4e0b, U+4e0e, U+4e2d, U+4e3a, U+4e5d, U+4e88, U+4e8c, U+4e8e, U+4e92, U+4e94, U+4ea4, U+4eae, U+4eba, U+4ecb, U+4ece, U+4ef6, U+4f53, U+4f59, U+4f5c, U+4f60, U+4f9d, U+4fa7, U+4fe1, U+505c, U+50cf, U+5149, U+515c, U+5168, U+516b, U+516d, U+5171, U+5173, U+51ac, U+51e0, U+5206, U+5217, U+5230, U+5236, U+523b, U+524d, U+52a8, U+52ff, U+533a, U+5341, U+5361, U+5373, U+5377, U+53d1, U+53d6, U+53e5, U+53ef, U+53f7, U+540c-540d, U+5438, U+547c-547d, U+54c1, U+54ea, U+56db, U+56de, U+56fe, U+5728, U+5757, U+590f, U+592e, U+59cb, U+5a92, U+5b50, U+5b57, U+5b81, U+5b89, U+5b8b-5b8c, U+5b9a, U+5b9e, U+5bf9, U+5bfc, U+5c18, U+5c3a, U+5c42, U+5c4f, U+5c5e, U+5c71, U+5de1, U+5dee, U+5df1, U+5e03, U+5e0c, U+5e26-5e27, U+5e45, U+5e55, U+5e74, U+5e8f, U+5e94-5e95, U+5ea6, U+5eca, U+5efa, U+5f00, U+5f20, U+5f52, U+5f55, U+5f71, U+5f85, U+5f97, U+6001, U+601d, U+606f, U+60c5, U+6210, U+622a, U+6240, U+624b, U+6258, U+62c6, U+6309, U+6392, U+64a4, U+6539, U+653e, U+6570, U+6574, U+6587, U+65b0, U+65e0, U+65e5, U+65f6-65f7, U+6620, U+6625, U+662f, U+663e, U+6653, U+666f, U+6708-6709, U+671f, U+672a, U+6743, U+6761, U+6765, U+679c, U+67e5, U+6807, U+680f, U+6848, U+6863, U+6b21, U+6b3e, U+6b62, U+6bb5, U+6bcf, U+6bd4, U+6cea, U+6d3b, U+6d41, U+6e90, U+6eda, U+6f14, U+7011, U+706f, U+70b9, U+70ed, U+7247-7248, U+72b9, U+73b0, U+745e, U+751f, U+7531, U+753b, U+7559, U+767d, U+7684, U+770b, U+77f3, U+7801, U+786e, U+79cb, U+7a0b, U+7a3f, U+7a7a, U+7b14, U+7b2c, U+7b49, U+7b5b, U+7ba1, U+7bb1, U+7cbe, U+7cfb, U+7ea6, U+7ebf, U+7ec4, U+7ed3, U+7ed8, U+7edf, U+7f16, U+7f2a, U+8005, U+80cc, U+80f6, U+81ea, U+820d, U+822a, U+82b1, U+8349, U+843d, U+8599, U+8721, U+884c, U+897f, U+89a7, U+89c1-89c2, U+89c6, U+8a00, U+8ba1, U+8ba9, U+8bba, U+8bda, U+8be6, U+8bf7, U+8c6b, U+8d56, U+8d70, U+8dc3, U+8f68, U+8fc7, U+8fd9, U+8fdb, U+8fde, U+8ff9, U+9009, U+9010, U+90e8, U+91cd-91ce, U+949f, U+9500, U+957f, U+95ed, U+95f4, U+9644, U+9664, U+96c6, U+9876, U+9898, U+9970, U+9996, U+9ad8, U+9ed1, U+ff01, U+ff05, U+ff08-ff09, U+ff0c-ff0d, U+ff1a-ff1b, U+ff1f, U+ff5e;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./cjk-sans-500.woff2) format('woff2');
  unicode-range: U+b7, U+d7, U+2013-2014, U+2018-2019, U+201c-201d, U+2026, U+2299, U+25c6, U+3001-3002, U+3007-3011, U+3014-3015, U+3053-3054, U+3092, U+3099, U+30fb-30fc, U+4e00, U+4e03, U+4e09-4e0b, U+4e0e, U+4e2d, U+4e3a, U+4e5d, U+4e88, U+4e8c, U+4e8e, U+4e92, U+4e94, U+4ea4, U+4eae, U+4eba, U+4ecb, U+4ece, U+4ef6, U+4f53, U+4f59, U+4f5c, U+4f60, U+4f9d, U+4fa7, U+4fe1, U+505c, U+50cf, U+5149, U+515c, U+5168, U+516b, U+516d, U+5171, U+5173, U+51ac, U+51e0, U+5206, U+5217, U+5230, U+5236, U+523b, U+524d, U+52a8, U+52ff, U+533a, U+5341, U+5361, U+5373, U+5377, U+53d1, U+53d6, U+53e5, U+53ef, U+53f7, U+540c-540d, U+5438, U+547c-547d, U+54c1, U+54ea, U+56db, U+56de, U+56fe, U+5728, U+5757, U+590f, U+592e, U+59cb, U+5a92, U+5b50, U+5b57, U+5b81, U+5b89, U+5b8b-5b8c, U+5b9a, U+5b9e, U+5bf9, U+5bfc, U+5c18, U+5c3a, U+5c42, U+5c4f, U+5c5e, U+5c71, U+5de1, U+5dee, U+5df1, U+5e03, U+5e0c, U+5e26-5e27, U+5e45, U+5e55, U+5e74, U+5e8f, U+5e94-5e95, U+5ea6, U+5eca, U+5efa, U+5f00, U+5f20, U+5f52, U+5f55, U+5f71, U+5f85, U+5f97, U+6001, U+601d, U+606f, U+60c5, U+6210, U+622a, U+6240, U+624b, U+6258, U+62c6, U+6309, U+6392, U+64a4, U+6539, U+653e, U+6570, U+6574, U+6587, U+65b0, U+65e0, U+65e5, U+65f6-65f7, U+6620, U+6625, U+662f, U+663e, U+6653, U+666f, U+6708-6709, U+671f, U+672a, U+6743, U+6761, U+6765, U+679c, U+67e5, U+6807, U+680f, U+6848, U+6863, U+6b21, U+6b3e, U+6b62, U+6bb5, U+6bcf, U+6bd4, U+6cea, U+6d3b, U+6d41, U+6e90, U+6eda, U+6f14, U+7011, U+706f, U+70b9, U+70ed, U+7247-7248, U+72b9, U+73b0, U+745e, U+751f, U+7531, U+753b, U+7559, U+767d, U+7684, U+770b, U+77f3, U+7801, U+786e, U+79cb, U+7a0b, U+7a3f, U+7a7a, U+7b14, U+7b2c, U+7b49, U+7b5b, U+7ba1, U+7bb1, U+7cbe, U+7cfb, U+7ea6, U+7ebf, U+7ec4, U+7ed3, U+7ed8, U+7edf, U+7f16, U+7f2a, U+8005, U+80cc, U+80f6, U+81ea, U+820d, U+822a, U+82b1, U+8349, U+843d, U+8599, U+8721, U+884c, U+897f, U+89a7, U+89c1-89c2, U+89c6, U+8a00, U+8ba1, U+8ba9, U+8bba, U+8bda, U+8be6, U+8bf7, U+8c6b, U+8d56, U+8d70, U+8dc3, U+8f68, U+8fc7, U+8fd9, U+8fdb, U+8fde, U+8ff9, U+9009, U+9010, U+90e8, U+91cd-91ce, U+949f, U+9500, U+957f, U+95ed, U+95f4, U+9644, U+9664, U+96c6, U+9876, U+9898, U+9970, U+9996, U+9ad8, U+9ed1, U+ff01, U+ff05, U+ff08-ff09, U+ff0c-ff0d, U+ff1a-ff1b, U+ff1f, U+ff5e;
}
