/* Chinese type for html[lang="zh-CN"] pages. Linked only on the -cn pages; English pages never load it.

   Headings (--font-display): 思源宋体 / Noto Serif SC, self-hosted so it renders the same on iPhone,
   Android, Mac and Windows and loads inside China (no Google Fonts). Latin inside Chinese headings
   ("AI", numbers) stays in Newsreader.
     1. 'Arena Serif SC': one 357 KB file holding every Chinese character the -cn pages use today
        plus all CJK punctuation, weights 300 to 600 (what the headings use). Preloaded on -cn pages.
     2. 'Noto Serif SC': Google's 101 unicode-range slices, self-hosted in zh-fallback.css (loaded
        without blocking render). Only downloaded for a character that 1. does not have, so new copy never falls back to a mismatched system font.
   Body (--font-body): Geist for Latin, then the platform's best Chinese sans (PingFang on Apple,
   Noto Sans CJK on Android, Microsoft YaHei on Windows). 'Arena Sans SC Punct' (2 KB) makes
   Chinese quotes “” ‘’ and … full width; Geist would otherwise draw them as narrow Latin marks.
   Rebuild the subset (fontTools) when -cn copy adds many new characters; until then 2. covers it. */

@font-face {
  font-family: 'Arena Serif SC';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/fonts/zh/arena-serif-sc.woff2?v=2) format('woff2');
  unicode-range: U+2018-2019, U+201C-201D, U+2026, U+3000-303F, U+4E00, U+4E03, U+4E07, U+4E09-4E0B, U+4E0D-4E0E, U+4E13-4E14, U+4E16, U+4E1A, U+4E1C, U+4E24, U+4E2A, U+4E2D, U+4E30, U+4E32, U+4E3A-4E3B, U+4E3E, U+4E45, U+4E48-4E49, U+4E4B, U+4E4E, U+4E50, U+4E58, U+4E5D, U+4E5F-4E60, U+4E66, U+4E86, U+4E8B-4E8C, U+4E8E, U+4E94, U+4E9A-4E9B, U+4EA4, U+4EA7, U+4EAB-4EAC, U+4EB2, U+4EBA, U+4EC0, U+4EC5, U+4ECA-4ECB, U+4ECD-4ECE, U+4ED6, U+4ED8, U+4EE3-4EE5, U+4EEC, U+4EF6-4EF7, U+4EFB, U+4EFD, U+4F01, U+4F11, U+4F17-4F1A, U+4F30, U+4F34, U+4F38, U+4F46, U+4F4D-4F4F, U+4F53, U+4F55, U+4F59, U+4F5B-4F5C, U+4F60, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FBF, U+4FDD, U+4FE1, U+4FEE, U+500D, U+5019-501A, U+501F, U+503C, U+5047, U+505A, U+505C, U+50CF, U+5143, U+5145, U+5148-5149, U+514D, U+5165, U+5168, U+516B-516D, U+5171, U+5173-5174, U+5176-5178, U+517B-517C, U+5185, U+518C-518D, U+5192, U+5199, U+51B3, U+51B5, U+51C0, U+51C6, U+51E0, U+51ED, U+51FA, U+5206, U+5212, U+5217, U+5219, U+521B, U+521D, U+5224, U+5229, U+522B, U+5230, U+5236-5237, U+523B, U+524D, U+526A, U+529B, U+529E-52A1, U+52A8-52A9, U+52B1, U+52E4, U+52FE, U+5305, U+5316-5317, U+5320, U+533A, U+5341, U+5343, U+5347-5348, U+534A, U+534E-534F, U+5355, U+5357, U+5360-5361, U+5373-5374, U+5386, U+539F, U+53BB, U+53C2, U+53CA-53CD, U+53D1, U+53D6-53D8, U+53E3, U+53E5, U+53EA, U+53EF-53F0, U+53F6-53F8, U+5404, U+5408, U+540C-540E, U+5411, U+5417, U+5426, U+542B-542C, U+542F, U+543B, U+544A, U+5458, U+5468, U+5473, U+547D, U+548C, U+5496, U+54A8, U+54C1, U+54C8, U+54CD, U+54EA, U+553E, U+5546, U+5561, U+5584, U+559C, U+5609, U+5668, U+56DB, U+56DE, U+56E0, U+56E2, U+56ED, U+56F4, U+56FA, U+56FD-56FE, U+5706, U+5708, U+5728, U+5730, U+573A, U+573E, U+5740, U+574A, U+574F-5750, U+5757, U+575A, U+5766, U+5783, U+578B, U+57CE, U+57F9-57FA, U+5802, U+5851, U+586B, U+5883, U+589E, U+58EB, U+58EE, U+58F0, U+5904, U+5907, U+590D, U+590F, U+5916, U+591A, U+591C, U+591F, U+5927, U+5929, U+592B, U+5931, U+5934, U+594F, U+5956-5957, U+5979, U+597D, U+5982, U+59B9, U+59CB, U+59D3-59D4, U+5A92, U+5B50, U+5B57-5B58, U+5B63, U+5B66, U+5B69, U+5B81, U+5B83, U+5B89, U+5B8C, U+5B9A, U+5B9C, U+5B9E, U+5BA1-5BA4, U+5BB6, U+5BB9, U+5BBE, U+5BCC, U+5BDF, U+5BF9, U+5BFC, U+5C01, U+5C06, U+5C0F, U+5C11, U+5C16, U+5C1D, U+5C31, U+5C3A, U+5C3D-5C3E, U+5C40, U+5C42, U+5C4B, U+5C4F, U+5C55, U+5C5E, U+5C81, U+5C97, U+5CB8, U+5CF0, U+5DDE, U+5DE5, U+5DEE, U+5DF1-5DF2, U+5E02-5E03, U+5E08, U+5E0C, U+5E26, U+5E2E, U+5E38, U+5E45, U+5E55, U+5E73-5E74, U+5E76, U+5E7B, U+5E7F, U+5E8F, U+5E94, U+5EA6-5EA7, U+5EAD, U+5EF6, U+5EFA, U+5F00, U+5F04, U+5F0A, U+5F0F, U+5F15, U+5F26, U+5F53, U+5F55, U+5F62, U+5F69, U+5F71, U+5F80, U+5F85, U+5F88, U+5F97, U+5FAA, U+5FAE, U+5FB7, U+5FC3, U+5FE7, U+5FEB, U+5FF5, U+600E, U+601D, U+6027, U+603B, U+606F-6070, U+6089, U+60A8, U+60AC, U+60C5, U+60EF, U+60F3, U+610F, U+613F, U+6162, U+61C2, U+6210-6211, U+6216, U+6218, U+622A, U+6237, U+623F-6240, U+624B, U+624D, U+6253, U+6258, U+6267, U+6269, U+626B, U+6279, U+627E-6280, U+6284, U+628A, U+6295, U+6298, U+62A4-62A5, U+62BC, U+62C5-62C6, U+62C9, U+62CD, U+62DB, U+62DF, U+62E9, U+62EC, U+62FF, U+6301, U+6307, U+6309, U+6311, U+6325, U+6362, U+636E, U+6388, U+638C, U+6392, U+63A2, U+63A5, U+63A7-63A8, U+63CF-63D0, U+63D2, U+63E1, U+642D, U+6458, U+64B0, U+64C5, U+64CD, U+652F, U+6536, U+6539, U+653B, U+653E-653F, U+6545, U+6548, U+6559, U+6563, U+6570, U+6574, U+6587, U+6599, U+65AD, U+65AF-65B0, U+65B9, U+65C1, U+65E0, U+65E2, U+65E5, U+65E9, U+65F6, U+660E, U+6613, U+6620, U+6625, U+662F, U+663E, U+665A, U+666F-6670, U+6682, U+6691, U+6697, U+66F2, U+66F4, U+66FC, U+66FE-6700, U+6708-6709, U+670D, U+6717, U+671B, U+671D, U+671F, U+672A-672C, U+672F, U+6734, U+673A, U+6743, U+6750, U+675F, U+6761, U+6765, U+677F, U+6784, U+6790, U+679C, U+67B6, U+67D0, U+67D3, U+67E5, U+67F1, U+6807, U+6821, U+6837-6839, U+683C, U+6846, U+6848, U+684C, U+68B3, U+68C0, U+690D, U+695A, U+6982, U+699C, U+6A21, U+6B21-6B22, U+6B3E, U+6B62-6B65, U+6BB5, U+6BCD, U+6BCF, U+6BD4-6BD5, U+6C11, U+6C34, U+6C42, U+6C47, U+6C50, U+6C61, U+6CA1, U+6CBF, U+6CD5, U+6CE8, U+6D0B, U+6D32, U+6D3B, U+6D41, U+6D4B, U+6D4E-6D4F, U+6D77, U+6D88-6D89, U+6DAF, U+6DB5, U+6DF1, U+6DF7, U+6DFB, U+6E05, U+6E2F, U+6E90, U+6EDA, U+6EE1, U+6EE9, U+6F14, U+6F5C, U+6F6E, U+706F, U+7075, U+7089, U+7092, U+70B9, U+70BC, U+70ED, U+7126, U+7136, U+7167, U+719F, U+7231, U+7236, U+7247-7248, U+724C, U+7269, U+72EC, U+7387, U+73AF-73B0, U+73CD, U+73ED, U+7406, U+7434, U+751F, U+7528, U+7531, U+7533, U+7535, U+753B, U+7545, U+754C, U+7559, U+767B, U+7684, U+76D6, U+76D8, U+76DB, U+76EE, U+76F4, U+76F8, U+770B, U+771F, U+773C, U+7740, U+77E5, U+77ED, U+7801, U+7814, U+7840, U+7855, U+786E, U+7891, U+78E8, U+793A, U+793E, U+7968, U+798F, U+79BB, U+79CD, U+79D1, U+79EF-79F0, U+79FB, U+7A00, U+7A0B, U+7A33, U+7A3F, U+7A76, U+7A7A, U+7A7F, U+7ACB, U+7AD9, U+7ADE, U+7AE0, U+7B14, U+7B26, U+7B2C, U+7B49, U+7B54, U+7B56, U+7B71, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BC7, U+7C73, U+7C7B, U+7C92, U+7CBE, U+7CFB, U+7D20, U+7D22, U+7D2F, U+7EA6-7EA7, U+7EB8, U+7EBF, U+7EC3-7EC4, U+7EC6, U+7EC8, U+7ECD, U+7ECF, U+7ED3, U+7ED5, U+7ED9, U+7EDD, U+7EDF, U+7EE7, U+7EE9, U+7EED, U+7EF4, U+7F13, U+7F16, U+7F3A, U+7F51, U+7F6E, U+7F72, U+7F8A, U+7F8E, U+7FA4, U+8001, U+8003, U+8005, U+800C, U+803D, U+804A, U+804C, U+8054, U+8058, U+80A9, U+80AF, U+80B2, U+80CC, U+80DC, U+80DE, U+80FD, U+8111, U+8131, U+81EA, U+81F3-81F4, U+820D, U+8282, U+82CF, U+82F1, U+82F9, U+8301, U+8303, U+8349, U+8350, U+8363, U+83B7, U+83DC, U+8425, U+843D, U+8463, U+8651, U+878D, U+884C, U+8861, U+8865, U+8868, U+88AB, U+897F, U+8981, U+89C1-89C2, U+89C4, U+89C6, U+89C8, U+89E3, U+89E6, U+8A00, U+8A89, U+8BA1, U+8BA4, U+8BA8-8BA9, U+8BAD-8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBA, U+8BBE-8BBF, U+8BC1, U+8BC4, U+8BC6, U+8BC9, U+8BCD, U+8BD5, U+8BDD, U+8BE2, U+8BE5-8BE6, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFA-8BFB, U+8BFE, U+8C01, U+8C03, U+8C08, U+8C22, U+8C31, U+8C37, U+8C46, U+8C61, U+8D1F, U+8D23, U+8D26, U+8D28, U+8D2F, U+8D34-8D35, U+8D39, U+8D44, U+8D5B, U+8D62, U+8D70, U+8D76-8D77, U+8D81, U+8D85, U+8D8A-8D8B, U+8DA3, U+8DB3, U+8DD1, U+8DDD, U+8DDF, U+8DEF, U+8DF3, U+8DF5, U+8EAB, U+8F66, U+8F6C, U+8F6F, U+8F7B, U+8F7D, U+8F85, U+8F93, U+8FA8-8FA9, U+8FB9, U+8FBE, U+8FC1, U+8FC7, U+8FCE, U+8FD0-8FD1, U+8FD8-8FD9, U+8FDB-8FDC, U+8FDE, U+8FED, U+8FF0, U+8FF7, U+8FFD, U+9001-9002, U+9009, U+9010, U+9014, U+901A, U+901F-9020, U+902E, U+904D, U+9053, U+9075, U+9080, U+90A3, U+90AE, U+90E8, U+90FD, U+914D, U+91C7, U+91CC-91CF, U+91D1, U+9488, U+949F, U+94A2, U+94AE, U+94F6, U+94FE, U+9500, U+9510, U+9519, U+9521, U+952E, U+953B, U+955C, U+957F, U+95E8, U+95ED-95EE, U+95F4, U+95FB, U+9605, U+961F, U+9636, U+9644-9645, U+9648, U+9650, U+9662, U+9669-966A, U+968F, U+96BE, U+96C6-96C7, U+96F6, U+9700, U+975E, U+9760, U+9762, U+97F3, U+9875, U+9879-987A, U+987E, U+9881, U+9884, U+9886, U+9891, U+9896-9898, U+9988, U+9996, U+9999, U+9A6C-9A6D, U+9A7E, U+9A8C, U+9AA4, U+9AD8, U+9C9C, U+9E93, U+9EA6, U+9F13, U+9F20, U+9F84, U+FF01-FF5E;
}
@font-face {
  font-family: 'Arena Sans SC Punct';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/zh/arena-sans-sc-punct.woff2?v=1) format('woff2');
  unicode-range: U+2018-2019, U+201C-201D, U+2026;
}

html[lang="zh-CN"] {
  --font-display: 'Arena Serif SC', 'Newsreader', 'Source Serif 4', 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', serif;
  --serif: var(--font-display);
  --font-body: 'Arena Sans SC Punct', 'Geist', 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans SC', 'Noto Sans CJK SC', 'Source Han Sans SC', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
  --font-typewriter: 'Arena Sans SC Punct', 'Geist Mono', 'JetBrains Mono', 'PingFang SC', 'Noto Sans SC', 'Noto Sans CJK SC', 'Microsoft YaHei', ui-monospace, monospace;
}

/* Labels styled as letter-spaced small caps for Latin (.08–.24em) spread Chinese characters apart
   ("联 合 创 始 人"). Chinese labels read best near-solid: .04em keeps a hint of label air. */
html[lang="zh-CN"] :is(
  .eyebrow, .hp-cf-lab, .hp-cf-r, .hp-cf-k, .hp-cred-lab, .pc-step-k, .wr-k, .sf-note-row-k, .sf-note-why-k,
  .sf-note-paper-k, .sf-dx-label, .ap-tl-time, .ap-impact-lab, .ap-foot-lab, .pl-lab, .pp-final-k, .pc-k, .pc-num,
  .ms-kicker, .pg-founder-role, .pg-k, .pg-next-h, .gm-k, .hc-k, .zl-hero-hosted-label, .zl-spec-label, .zt-cat,
  .footer-col h4, .pc-facts b, .form-row label, .gm-t span, .pc-sel-slide figcaption, .pp-glance b, .pc-stats small,
  .pg-step small, .pc-stat-logos small, .gc-more summary, .pg-route small, .cf-date span, .pg-side small,
  .pp-site-meta small, .td-stats div, .pg-gl b, .pg-inst-card dt, .pg-prog-body small, .pg-prog-body span,
  .pg-adult small, .pg-ef-steps li, .pp-finding span, .sf-award-quote small, .pp-now span, .sf-note-mini em,
  .tm-nav span, .tm-hero small, .td-mast span, .td-lead small
) { letter-spacing: .04em !important; }
html[lang="zh-CN"] #programs .prog-card .eyebrow { letter-spacing: .04em !important; }
