/* 自动生成，勿手改 —— 重跑 python tools/subset-fonts.py */
/* 字表来源：docs/font-chars.txt（index.html 全量字符，含 JS 文案字面量） */
/* 字体许可：SIL OFL 1.1，见 assets/licenses/ */

@font-face {
  font-family: "Noto Serif SC";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("./noto-serif-sc-1.woff2") format("woff2");
  unicode-range: U+20-7d, U+b7, U+2014, U+2019, U+201c-201d, U+2026, U+2082, U+2192, U+25c6, U+2605, U+2713, U+2726, U+2728, U+2b50, U+3001-3002, U+3007, U+300a-300d, U+300f-3011, U+4e00, U+4e03, U+4e07, U+4e09-4e0b, U+4e0d-4e0e, U+4e13-4e14, U+4e1a, U+4e22, U+4e24, U+4e2a, U+4e2d, U+4e3a-4e3b, U+4e3e, U+4e48-4e49, U+4e4b, U+4e50, U+4e5d, U+4e5f-4e60, U+4e70-4e71, U+4e86, U+4e88-4e89, U+4e8b-4e8c, U+4e8e, U+4e91-4e92, U+4e94, U+4ea4, U+4ea7, U+4eab, U+4eae, U+4eb2, U+4eba, U+4ec0, U+4ec5, U+4eca, U+4ecd-4ece, U+4ed3, U+4ee3-4ee5, U+4eea, U+4eec, U+4ef6-4ef7, U+4efb, U+4efd, U+4f11, U+4f17-4f18, U+4f1a, U+4f20, U+4f24, U+4f30, U+4f38, U+4f3c, U+4f46, U+4f4d-4f4f, U+4f53, U+4f55, U+4f59, U+4f5c, U+4f60, U+4f83, U+4f8b, U+4f9b, U+4f9d, U+4fbf, U+4fdd, U+4fe1, U+4fee, U+5019, U+503a, U+503c, U+5047, U+504f, U+505a, U+505c, U+5065, U+507f, U+50a8, U+50cf, U+5141, U+5143, U+5145, U+5148-5149, U+5165, U+5168, U+516b-516d, U+5171, U+5173, U+5175-5178, U+5185, U+518d, U+5192, U+5199, U+51a5, U+51ac, U+51b0, U+51b2-51b3, U+51b5, U+51b7, U+51bb, U+51c6, U+51cc, U+51ed, U+51fa-51fb, U+5206-5207, U+5212, U+5217, U+521a-521b, U+5224, U+5229, U+522b, U+5230, U+5236-5238, U+523b, U+524d, U+5267, U+5269, U+526f, U+529b, U+529e, U+52a0-52a1, U+52a8, U+52b2, U+52ff, U+5305, U+5316, U+533a-533b, U+533f, U+5341, U+5343, U+5348, U+534f, U+5355-5356, U+535a, U+5360-5361, U+5370-5371, U+5373-5374, U+5377, U+5385, U+538b, U+539f, U+53bb, U+53c2, U+53c8-53cd, U+53d1, U+53d6-53d8, U+53e3-53e6, U+53ea, U+53ec, U+53ef-53f0, U+53f7, U+53f9, U+5403, U+5408, U+540c-540e, U+5411, U+5417, U+541e, U+5427, U+542b, U+542f, U+5448, U+544a, U+5458, U+5468, U+547d, U+548c, U+54c8, U+54cd, U+5524, U+552f, U+5584, U+559d, U+5634, U+5668, U+56db, U+56de, U+56e0, U+56f0, U+56fa, U+56fe, U+5708, U+571f, U+5723, U+5728, U+5730, U+573a, U+5747, U+575a, U+578b, U+57ab, U+57df, U+57fa, U+586b, U+5883, U+5899;
}

@font-face {
  font-family: "Noto Serif SC";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("./noto-serif-sc-2.woff2") format("woff2");
  unicode-range: U+589e, U+58f0, U+58f6, U+5904, U+5907, U+590d, U+5916, U+591a, U+591c, U+591f, U+5927, U+5929-592a, U+5931, U+5934, U+5939, U+5957, U+5976, U+597d, U+5982, U+59cb, U+59d4, U+5a31, U+5b50, U+5b57-5b58, U+5b63, U+5b66, U+5b83, U+5b89, U+5b8c, U+5b98, U+5b9a, U+5b9c, U+5b9e, U+5ba1, U+5ba4, U+5bb3, U+5bb6, U+5bb9, U+5bbd, U+5bdf, U+5bf9, U+5bfb-5bfc, U+5c01, U+5c04, U+5c06, U+5c0f, U+5c11, U+5c16, U+5c18, U+5c1a, U+5c1d, U+5c2c, U+5c31, U+5c34, U+5c40, U+5c42, U+5c4f, U+5c5e, U+5d29, U+5de5, U+5df1-5df2, U+5e01, U+5e03, U+5e08, U+5e26, U+5e2d, U+5e38, U+5e72-5e74, U+5e76, U+5e7b, U+5e8a, U+5e8f, U+5e94-5e95, U+5e9c, U+5ea6-5ea7, U+5ead, U+5efa, U+5f00, U+5f02, U+5f0f, U+5f20, U+5f31, U+5f39-5f3a, U+5f52-5f53, U+5f55, U+5f62, U+5f69, U+5f80-5f81, U+5f85, U+5f88, U+5f8b, U+5f97, U+5fa1, U+5faa, U+5fae, U+5fc3, U+5fc6, U+5fd7-5fd8, U+5feb, U+5ff5, U+5ffd, U+6000-6001, U+6025, U+6027, U+603b, U+604b, U+6062, U+606f, U+609f, U+60c5, U+60ca, U+60e0, U+60e6, U+60ef, U+60f3, U+610f, U+611f, U+613f, U+618b, U+620f-6211, U+6216, U+6218, U+6237, U+6240, U+624b, U+6251, U+6253, U+6258, U+626b, U+6270, U+6279, U+627e, U+6280, U+628a, U+6293, U+6295, U+62a2, U+62a5, U+62ab, U+62bd, U+62c6, U+62c9, U+62d2-62d3, U+62df, U+62e6, U+62e9, U+62ff, U+6301-6302, U+6307, U+6309, U+6311, U+6324, U+635f, U+6362, U+636e, U+6377, U+6389, U+6392, U+63a2, U+63a5, U+63a7-63a8, U+63aa, U+63cf-63d0, U+63d2, U+63e1, U+6444, U+64a4, U+64ad, U+64cd, U+652f, U+6536, U+6539, U+653b, U+653e, U+6545, U+6548, U+6563, U+6570, U+6572, U+6574, U+6577, U+6587, U+6599, U+65ad, U+65b0, U+65b9, U+65bd, U+65cb, U+65e0, U+65e5, U+65e7, U+65e9, U+65f6, U+660e, U+661f-6620, U+662f, U+663e, U+665a, U+6668, U+666e-666f, U+667a, U+6682, U+66b4, U+66f2, U+66f4, U+6700, U+6708-6709, U+670b, U+670d, U+671f, U+672a-672c, U+672f, U+673a, U+6742-6743, U+6750, U+675f, U+6761, U+6765, U+676f, U+677f, U+6784, U+6790, U+6795, U+679c, U+67d3, U+67e5, U+6807, U+680f, U+6811, U+6837-6839, U+683c, U+6846, U+6848, U+6863, U+68c0, U+6905, U+6982, U+6a21, U+6a2a, U+6b21, U+6b4c, U+6b63-6b65, U+6b6a, U+6b8b, U+6bb5, U+6bcf, U+6bd4, U+6c14, U+6c27, U+6c34, U+6c42, U+6c47, U+6c61, U+6c89, U+6c99, U+6ca1, U+6cbb, U+6cd5, U+6ce2, U+6ce8, U+6d3b, U+6d3e, U+6d41, U+6d4b, U+6d4f, U+6d88, U+6db2, U+6df1, U+6e05, U+6e0a, U+6e29, U+6e32, U+6e34, U+6e38, U+6e83, U+6e90, U+6ea2, U+6eaf, U+6eda, U+6ee1, U+6f14, U+6f20, U+6f2b, U+6f5c, U+704c, U+7070, U+7075, U+70b9, U+70c8, U+70e7, U+70ed, U+7126, U+7136, U+719f, U+71ac, U+7206, U+7231, U+7247-7248, U+725b, U+7269, U+7279, U+72b6, U+72b9, U+732e, U+7384, U+7387, U+73a9, U+73af-73b0, U+73ed, U+7406, U+74e6, U+751a, U+751c, U+751f, U+7528, U+7531, U+7533, U+7535, U+753b, U+7559, U+7565, U+7591, U+7597, U+75c5, U+75c7, U+7626, U+767b, U+767d, U+7684;
}

@font-face {
  font-family: "Noto Serif SC";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("./noto-serif-sc-3.woff2") format("woff2");
  unicode-range: U+76ae, U+76c6, U+76d1, U+76d6, U+76d8, U+76db, U+76ee, U+76f2, U+76f4, U+76f8, U+770b, U+771f-7720, U+773c, U+7740, U+7761, U+77b3, U+77e5, U+77ed, U+77f3, U+7801, U+7814, U+7840, U+786c, U+786e, U+78c1, U+793a, U+793e, U+7948, U+795e, U+7968, U+798f, U+79bb, U+79cb, U+79cd, U+79d1-79d2, U+79d8, U+79f0, U+79fb, U+7a0b, U+7a33, U+7a76-7a77, U+7a7a, U+7a7f, U+7a97, U+7acb, U+7ad9, U+7ae0, U+7aef, U+7b2c, U+7b49, U+7b54, U+7b7e, U+7b97, U+7ba1, U+7c73, U+7cb9, U+7cbe, U+7cd6, U+7cfb, U+7d0a, U+7d20, U+7d22, U+7d27, U+7d2f, U+7ea0, U+7ea2, U+7eaa, U+7eaf, U+7eb8-7eb9, U+7ebf, U+7ec3-7ec4, U+7ec8, U+7ecf, U+7ed3, U+7ed5, U+7ed8-7ed9, U+7edd, U+7edf, U+7ee7, U+7ee9-7eea, U+7eed-7eee, U+7ef4, U+7efc, U+7eff, U+7f13, U+7f16, U+7f18, U+7f20, U+7f29, U+7f3a, U+7f51, U+7f6e, U+7f72, U+7f8a, U+7f8e, U+7fa4, U+7ffb, U+8001, U+8003, U+8005, U+800c, U+8017, U+804a, U+804c, U+8054, U+8058, U+8089, U+808c, U+80cc, U+80da, U+80fd, U+8102, U+8111, U+8131, U+81ea, U+81f3-81f4, U+822a, U+8272, U+8282, U+82b1, U+8336, U+8352, U+836f, U+83b7, U+83dc, U+841d, U+843d, U+8457, U+8499, U+84b8, U+84c4, U+852c, U+853d, U+8584, U+85aa, U+85cf, U+8651, U+86cb, U+878d, U+87ba, U+8840, U+884c-884d, U+8863, U+8865, U+8868, U+88ab, U+88c1, U+88c5, U+8981, U+89c1-89c2, U+89c4, U+89c6, U+89c8-89c9, U+89d2, U+89e3, U+89e6, U+8a00, U+8b66, U+8ba1, U+8ba4, U+8ba9, U+8bad-8bae, U+8bb0, U+8bb8, U+8bba, U+8bbe, U+8bc1, U+8bc4, U+8bc6, U+8bc9-8bca, U+8bcd, U+8bd5, U+8bdd-8bde, U+8be5, U+8bed, U+8bf4, U+8bf7, U+8bfb, U+8c03, U+8c08, U+8c31, U+8c61, U+8c6b, U+8d1f, U+8d22-8d23, U+8d25-8d28, U+8d2d, U+8d35, U+8d39, U+8d44, U+8d4b, U+8d56, U+8d5b, U+8d70, U+8d77, U+8d85, U+8db3, U+8dd1, U+8ddd, U+8def, U+8df3, U+8e2a, U+8e72, U+8eab, U+8f66, U+8f6c, U+8f6e, U+8f74, U+8f7b, U+8f7d, U+8f91, U+8f93, U+8fa9, U+8fb0, U+8fb9, U+8fc7, U+8fd0-8fd1, U+8fd4, U+8fd8-8fd9, U+8fdb-8fdc, U+8fde, U+8ff0, U+8ffd, U+9000-9002, U+9006, U+9009, U+900f, U+901a, U+9020, U+903b-903c, U+9047, U+9053, U+9057, U+9080, U+90a3, U+90e8, U+90fd, U+914d, U+91c7, U+91ca, U+91cc-91cd, U+91cf, U+91d1, U+9274, U+949f, U+94ae, U+94b1, U+94fe, U+9501, U+9505, U+9519-951a, U+952e, U+957f, U+95e8, U+95ea, U+95ed-95ee, U+95f4, U+95f9, U+9608, U+9632, U+9645, U+9650, U+9662, U+9664, U+9669, U+968f-9690, U+9694, U+96be, U+96f7, U+9700, U+9759, U+975e, U+9760, U+9762, U+97f3, U+9875, U+9879-987a, U+9884, U+9891, U+9898, U+989d, U+98ce, U+98df, U+996d-996e, U+9970, U+9988, U+9996, U+9a73, U+9a7b, U+9a8c, U+9ad8, U+9b42, U+9e23, U+9ed8, U+ff01, U+ff08-ff09, U+ff0c, U+ff1a-ff1b, U+ff1f, U+1f30a, U+1f4a6-1f4a7;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("./jetbrains-mono-1.woff2") format("woff2");
  unicode-range: U+20-7d, U+b7, U+2014, U+2019, U+201c-201d, U+2026, U+2082, U+2192, U+25c6, U+2605, U+2713, U+2726, U+2728, U+2b50;
}
