/* Languages (assets/i18n.js): the fallback faces for scripts IM Fell doesn't have, and the language picker.
   The faces are cut down to exactly the letters the translations use (tools/i18n-fonts.py rebuilds them and the block
   below whenever a dictionary changes), and each one only downloads on a page that shows its letters. */
/* fonts:start (generated by tools/i18n-fonts.py) */
@font-face { font-family: 'CR Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/cr-cyr.woff2) format('woff2'); unicode-range: U+410-418, U+41A-428, U+42D, U+42F-44F, U+451; }
@font-face { font-family: 'CR Text'; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/cr-cyr-italic.woff2) format('woff2'); unicode-range: U+410-418, U+41A-428, U+42D, U+42F-44F, U+451; }
@font-face { font-family: 'CR Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/cr-deva.woff2) format('woff2'); unicode-range: U+901-902, U+905-90A, U+90F-911, U+913-918, U+91A-928, U+92A-930, U+932, U+935-939, U+93C, U+93E-943, U+947-949, U+94B-94D, U+964, U+200C-200D; }
@font-face { font-family: 'CR Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/cr-arab.woff2) format('woff2'); unicode-range: U+60C, U+61B, U+61F, U+621-63A, U+640-651, U+200C-200D; }
@font-face { font-family: 'CR SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/cr-sc.woff2) format('woff2'); unicode-range: U+201C-201D, U+203A, U+3001-3002, U+4E00, U+4E09-4E0B, U+4E0D-4E0E, U+4E13-4E14, U+4E1C-4E1D, U+4E24, U+4E2A, U+4E2D, U+4E3A-4E3B, U+4E45, U+4E48-4E49, U+4E4B, U+4E4E, U+4E50, U+4E5F-4E60, U+4E66, U+4E71, U+4E86, U+4E8B-4E8C, U+4E8E, U+4E9A-4E9B, U+4EA4, U+4EA7, U+4EAB, U+4EAE, U+4EBA, U+4EC0, U+4EC5, U+4ECA, U+4ECD-4ECE, U+4ED6, U+4EE3-4EE5, U+4EEA, U+4EEC, U+4EF6, U+4EFB, U+4EFD, U+4EFF, U+4F18, U+4F1A, U+4F24, U+4F2A, U+4F46, U+4F4E-4F4F, U+4F53, U+4F55, U+4F5C, U+4F60, U+4F9B, U+4F9D, U+4FA6, U+4FBF, U+4FDD, U+4FE1, U+503C, U+5047, U+504F, U+505A, U+5065, U+50CF, U+5141, U+5143, U+5148-5149, U+514D, U+5165, U+5168, U+516C, U+5170, U+5173, U+5176-5177, U+517B, U+5185, U+518C-518D, U+5199, U+51B3, U+51B5, U+51B7, U+51C0, U+51C6, U+51C9, U+51E0, U+51ED, U+51FA, U+5206, U+5212, U+5217, U+521D, U+5229, U+522B, U+5230, U+5236, U+523B, U+5242, U+524D, U+526A, U+529B, U+52A0-52A1, U+52A8-52A9, U+52D8, U+5316, U+533A, U+5341, U+5343, U+5355, U+5357, U+5361, U+5373, U+5377, U+5386, U+538B, U+539F, U+53CA, U+53CD, U+53D1, U+53D7-53D8, U+53E0, U+53E3-53E4, U+53EA-53EB, U+53EF-53F0, U+53F2-53F3, U+53F6-53F8, U+5403-5404, U+5408, U+540C-540E, U+5411, U+5427, U+542B-542C, U+542F, U+5438, U+5448, U+544A, U+5468, U+547C-547D, U+548C, U+54C1, U+54EA, U+54F2, U+5524, U+5531, U+5546, U+559C, U+55B7, U+5668, U+56DB, U+56DE, U+56E0, U+56E2, U+56FA, U+56FE, U+5728, U+5730, U+5740, U+5747, U+575E, U+578B, U+57CB, U+57DF, U+57F9, U+58A8, U+58F0, U+5904, U+5907, U+590D, U+5916, U+591A, U+5927, U+5929-592A, U+5931, U+594F, U+5957, U+597D, U+5982, U+59C6, U+59CB, U+5A01, U+5B50, U+5B57-5B58, U+5B66, U+5B83, U+5B89, U+5B8C, U+5B9A, U+5B9E, U+5BA1-5BA2, U+5BB6, U+5BB9, U+5BBD, U+5BC6, U+5BDF, U+5BF9, U+5BFB-5BFC, U+5C06, U+5C0F, U+5C11, U+5C14, U+5C1A, U+5C31, U+5C3A, U+5C3C, U+5C4F, U+5C55, U+5C5E, U+5C71, U+5CB8, U+5DE5-5DE6, U+5DF1-5DF2, U+5E03, U+5E08, U+5E26, U+5E2E, U+5E38, U+5E55, U+5E72-5E74, U+5E76, U+5E78, U+5E7B, U+5E7F, U+5E8F, U+5E93-5E95, U+5E9F, U+5EA6-5EA7, U+5EB7, U+5EFA, U+5F00, U+5F03, U+5F0F, U+5F20, U+5F39, U+5F52-5F53, U+5F55, U+5F62, U+5F80-5F81, U+5F88, U+5F92, U+5F97, U+5FAA, U+5FC3, U+5FD9, U+5FEB, U+6000, U+600E, U+603B, U+60C5, U+60F3, U+6108, U+610F, U+611F, U+6170, U+61C2, U+6210-6211, U+6216, U+622A, U+6234, U+6240, U+624B, U+6253, U+6258, U+626B-626C, U+6279, U+627E, U+628A, U+62A4-62A5, U+62C5, U+62C9, U+62CD, U+62D6, U+62DF, U+62E9, U+62FF, U+6301, U+6307, U+6309, U+6321, U+6362, U+636E, U+6392, U+6398, U+63A5, U+63A7-63A9, U+63CF-63D0, U+63D2, U+641C, U+642D, U+6479, U+64A4, U+64AD, U+64CD, U+652F, U+6536, U+6539, U+653E, U+6545, U+6548, U+6563, U+6570, U+6574, U+6587, U+6599, U+65B0, U+65B9, U+65E0, U+65E5, U+65E9, U+65F6, U+660E, U+661F, U+662F, U+663E, U+667A, U+6682, U+6697, U+66F4, U+66FF-6700, U+6708-6709, U+670D, U+671F, U+672A, U+672C, U+672F, U+673A, U+6743, U+6750, U+6761, U+6765, U+677F, U+6784, U+679C, U+67AF, U+67D0, U+67D3, U+67E5, U+6807, U+680F, U+6811, U+6837, U+6839, U+683C, U+6846, U+6848, U+68C0, U+6A21, U+6B21, U+6B63-6B65, U+6B7B, U+6BB5, U+6BCD, U+6BCF, U+6BD4, U+6C34, U+6C38, U+6C42, U+6C50, U+6C70, U+6C89, U+6CA1, U+6CBB, U+6CC4, U+6CD5, U+6CDB, U+6CE8, U+6D01, U+6D3B, U+6D3E, U+6D41, U+6D4B, U+6D4F, U+6DD8, U+6DF1, U+6DFB, U+6E05, U+6E32, U+6E38, U+6E90, U+6ED1, U+6EE1, U+6F0F, U+6F14, U+6F2B, U+6F6E, U+706B, U+7070, U+7075, U+70AD, U+70B9, U+70E7, U+70ED, U+7136, U+7231, U+723D, U+7247-7248, U+7269, U+7279, U+72B6, U+72EC, U+73AF-73B0, U+73BB, U+7403, U+7406, U+7434, U+7483, U+751F, U+7528, U+7531, U+7535, U+753B, U+7559, U+7591, U+7597, U+767D, U+7684, U+76AE, U+76BF, U+76D8, U+76EE, U+76F4, U+76F8, U+770B, U+771F-7720, U+773C, U+7740, U+7761, U+77E5, U+77ED, U+7801, U+7814, U+786C, U+786E, U+788E, U+78B3, U+78C1, U+793A, U+795E, U+79BB, U+79C1, U+79CD, U+79D1, U+79F0, U+79FB, U+7A0B, U+7A76, U+7A7A, U+7A7F, U+7A97, U+7ACB, U+7AD6, U+7AD9, U+7B14, U+7B2C, U+7B5B, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BC7, U+7BD3, U+7C7B, U+7C98, U+7D22, U+7EA6, U+7EB8-7EB9, U+7EBF, U+7EC3, U+7EC8, U+7ECF, U+7ED3, U+7ED8-7ED9, U+7EDC, U+7EDF, U+7EE7, U+7EEA, U+7EED, U+7EF4, U+7F16, U+7F18, U+7F51, U+7F6E, U+8005, U+800C, U+8033, U+804A, U+8054, U+80A4, U+80C1, U+80CC, U+80FD, U+8111, U+81EA, U+81F3, U+822A, U+8239, U+8272, U+827A, U+8282, U+82AF, U+82B1, U+82CF, U+82F1, U+8349, U+8377, U+838E, U+83B7, U+83CC, U+83DC, U+85CF, U+86FE, U+884C, U+8868, U+888B, U+889C, U+88AB, U+88C1, U+88C5, U+897F, U+8981, U+89C6, U+89C8-89C9, U+89D2, U+89E3, U+8A00, U+8B66, U+8BA1-8BA2, U+8BA4, U+8BA9, U+8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBA, U+8BBE-8BBF, U+8BC1, U+8BC6, U+8BC9, U+8BCD, U+8BD5, U+8BDD, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8C03, U+8C61, U+8D26, U+8D2F, U+8D34, U+8D39, U+8D6B, U+8D77, U+8D85, U+8DD1, U+8E2A, U+8EAB, U+8F6C, U+8F7D, U+8F88, U+8F93, U+8FB9, U+8FBE, U+8FC7, U+8FD0-8FD1, U+8FD4, U+8FD8-8FD9, U+8FDB-8FDC, U+8FDE, U+8FF0, U+8FF7, U+8FF9, U+8FFD, U+9002, U+9009, U+901A, U+901F-9020, U+904D, U+9065, U+90A3, U+90AE, U+90E8, U+90FD, U+914D, U+9192, U+91CC-91CF, U+91D1, U+949B, U+94A2, U+94AE, U+94FE, U+9500, U+9519, U+955C, U+957F, U+95E8, U+95ED-95EE, U+95F4, U+9605, U+961F, U+9633, U+9636, U+9644, U+9650, U+9664, U+968F, U+96F7, U+9700, U+9759, U+975E, U+9760, U+9762, U+97F3, U+9875, U+9879, U+9891, U+9898, U+9986, U+9A8C, U+9AD8, U+9ED1, U+FF08-FF09, U+FF0C, U+FF1A-FF1B, U+FF1F; }
@font-face { font-family: 'CR JP'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/cr-jp.woff2) format('woff2'); unicode-range: U+203A, U+3001-3002, U+300C-300D, U+3042, U+3044, U+3046, U+3048, U+304A-304D, U+304F-3055, U+3057-305B, U+305D-3061, U+3063-306B, U+306D-3070, U+3072-3073, U+3075-3079, U+307B, U+307E-3082, U+3084, U+3088-308D, U+308F, U+3092-3093, U+30A1-30A8, U+30AA-30BB, U+30BD, U+30BF-30C1, U+30C3-30C4, U+30C6-30CB, U+30CD, U+30CF-30D1, U+30D3-30E5, U+30E7, U+30E9-30ED, U+30EF, U+30F3-30F4, U+30FC, U+4E00, U+4E08, U+4E0A-4E0B, U+4E0D, U+4E21, U+4E2D, U+4E3B, U+4E8B-4E8C, U+4EA4, U+4EBA, U+4ECA, U+4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EEE, U+4EFB, U+4F01, U+4F1D, U+4F4D-4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4FDD, U+504F, U+5065, U+5074-5075, U+5099, U+50CD, U+50CF, U+512A, U+5148-5149, U+5165, U+5168, U+516C, U+5171, U+5177-5178, U+5185, U+518D, U+51B7, U+51CD, U+51FA, U+5206, U+521D, U+5225, U+524D, U+5272, U+529B, U+52A0, U+52A9, U+52D5, U+5316, U+5343, U+5358, U+5374, U+53BB, U+53CD, U+53D6-53D7, U+53F0, U+53F2-53F3, U+5404, U+5408, U+540C-540D, U+5411, U+5438, U+544A, U+5473, U+547C, U+54C1, U+54F2, U+5531, U+5546, U+554F, U+55B6, U+5668, U+5674, U+56DB, U+56DE, U+56F3, U+571F, U+5728, U+5730, U+57CB, U+57DF, U+57F9, U+5831, U+5834, U+58F0, U+5909, U+5916, U+591A, U+5927, U+592A-592B, U+5931, U+594F, U+597D, U+59CB, U+5B57-5B58, U+5B66, U+5B88-5B89, U+5B8C, U+5B9F, U+5BB6, U+5BB9, U+5BC6, U+5BDF, U+5BFE, U+5C02, U+5C04, U+5C0F, U+5C11, U+5C3D, U+5C4A, U+5C5E, U+5C71, U+5D29, U+5DFB, U+5E30, U+5E73-5E74, U+5E7B, U+5E83, U+5EA6, U+5EB7, U+5F0F, U+5F35, U+5F53, U+5F62, U+5F6B, U+5F79, U+5F7C, U+5F8C, U+5FA9, U+5FC3, U+5FC5, U+5FDC, U+6027, U+60F3, U+610F, U+611F, U+614B, U+61D0, U+6210, U+623B, U+6240, U+624B, U+6271, U+627F, U+629E, U+62B1, U+62FE, U+6301, U+6368, U+6398, U+63A2, U+63A5, U+63CF-63D0, U+63DB, U+642D, U+643A, U+6557, U+6563, U+6570, U+6587, U+6599, U+65B0, U+65B9, U+65E2, U+65E5, U+660E, U+6620, U+6642, U+66A6, U+66AE, U+66F8, U+6700, U+6708-6709, U+671F, U+672A-672C, U+6750, U+6765, U+679C, U+67AF, U+67FB, U+6848, U+68B0, U+691C, U+696D, U+697D, U+69CB, U+6A19, U+6A2A, U+6A5F, U+6B63, U+6B69, U+6B74, U+6B8B, U+6BB5, U+6BCE, U+6C17, U+6C34, U+6C42, U+6C7A, U+6CD5, U+6CE8, U+6D5C, U+6D74, U+6D88, U+6DAF, U+6DBC, U+6DF1, U+6DFB, U+6E08, U+6E21, U+6E29, U+6E2C, U+6E96, U+6F14, U+6F6E, U+706B, U+70AD, U+70B9, U+7121, U+7136, U+71B1, U+7248, U+7269, U+72B6, U+72EC, U+73FE, U+7403, U+7406, U+751F, U+7528, U+7531, U+753B, U+756A, U+7591, U+7652, U+767A, U+767D, U+76EE, U+76F4, U+77E5, U+77ED, U+7814, U+78BA, U+78C1, U+793A, U+795E, U+79C1, U+79D1, U+79F0, U+7A0B, U+7A2E, U+7A4F, U+7A76, U+7A7A, U+7ACB, U+7B46, U+7B56, U+7B97, U+7BB1, U+7C21, U+7CF8, U+7D04, U+7D19, U+7D22, U+7D44, U+7D50, U+7D5E, U+7D61, U+7D71, U+7D75, U+7D99-7D9A, U+7DDA, U+7DE0, U+7DE8, U+7F6E, U+7F72, U+7FD2, U+8005, U+805E, U+8074, U+808C, U+80B2, U+81EA, U+822A, U+8272, U+82B8, U+82F1, U+83CC, U+8449, U+86FE, U+884C, U+8853, U+8868, U+88CF, U+88FD, U+897F, U+8981, U+898B, U+899A, U+89A7, U+89E3, U+8A00, U+8A08, U+8A0E, U+8A18, U+8A3C, U+8A71, U+8A8D, U+8A9E, U+8AA4, U+8AAC-8AAD, U+8AB0, U+8ABF, U+8B58, U+8B66, U+8C46, U+8CA0, U+8CAB, U+8CBC, U+8CEA, U+8EAB, U+8F09, U+8FBC, U+8FD1, U+8FF7, U+8FFD, U+9001, U+9003, U+9023, U+9031, U+904B, U+9053, U+9078, U+90E8, U+91CD-91CF, U+9332, U+9577, U+9580, U+9589, U+958B, U+9593, U+95C7, U+964D, U+9650, U+9678, U+967D, U+968E, U+9759, U+975E, U+9762, U+97F3, U+9805-9806, U+9818, U+984C, U+985E, U+98DB, U+98DF, U+990A, U+9928, U+FF06, U+FF08-FF09, U+FF1A, U+FF1F; }
@font-face { font-family: 'CR KR'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/cr-kr.woff2) format('woff2'); unicode-range: U+203A, U+AC00-AC01, U+AC04, U+AC10, U+AC12, U+AC16, U+AC19, U+AC1C, U+AC70, U+AC74, U+AC78, U+AC80, U+AC83, U+AC8C, U+ACA8-ACA9, U+ACB0, U+ACB9, U+ACBD, U+ACC4, U+ACE0, U+ACE7-ACE8, U+ACF3, U+ACF5, U+ACFC, U+AD00, U+AD11, U+AD50, U+AD6C-AD6D, U+AD70, U+AD74, U+AD8C, U+ADE0, U+ADF8, U+ADFC, U+AE00, U+AE08, U+AE30, U+AE34, U+AE38, U+AE43, U+AE4C, U+AE68, U+AEBC, U+AED8, U+AFB8, U+AFC0, U+AFE8, U+B044, U+B04C, U+B057, U+B07C, U+B098, U+B0A0, U+B0A8, U+B0B4, U+B0C9, U+B0E5, U+B108, U+B110, U+B123-B124, U+B144, U+B178-B179, U+B192-B193, U+B204, U+B208, U+B20C, U+B274, U+B284, U+B294, U+B298, U+B2A5, U+B2C8, U+B2CC, U+B2DD, U+B2E4-B2E5, U+B2E8, U+B2EB, U+B2F4, U+B2F9, U+B300, U+B308, U+B354, U+B370, U+B378, U+B3C4-B3C5, U+B3CC, U+B3D5, U+B3D9, U+B3FC, U+B410, U+B418, U+B41C, U+B420, U+B428, U+B450, U+B458, U+B460, U+B46C, U+B4A4, U+B4B7, U+B4DC-B4DD, U+B4E0, U+B4E4, U+B514, U+B529, U+B530, U+B54C, U+B5A4, U+B610, U+B728, U+B73B, U+B77C-B77D, U+B78C, U+B798-B799, U+B79C, U+B7A8, U+B7EC, U+B7F0, U+B7FC, U+B807-B808, U+B80C, U+B824-B825, U+B828, U+B838-B839, U+B85C-B85D, U+B860, U+B86C, U+B8CC, U+B8E8, U+B958, U+B968, U+B974, U+B978, U+B97C, U+B984, U+B9AC-B9AD, U+B9B0, U+B9B4, U+B9BC-B9BD, U+B9C1, U+B9C8-B9C9, U+B9CC, U+B9CE, U+B9D0, U+B9DE, U+B9E1, U+B9E4, U+B9E8, U+BA38-BA39, U+BA3C, U+BA54, U+BA70, U+BA74, U+BA85, U+BA87, U+BAA8-BAA9, U+BAB8, U+BABB, U+BB34, U+BB38, U+BB3B-BB3C, U+BBAC, U+BBF8, U+BBFC, U+BC00, U+BC14, U+BC16, U+BC18, U+BC1B-BC1D, U+BC29, U+BC30-BC31, U+BC84, U+BC88, U+BC95, U+BCA0, U+BCC0, U+BCC4, U+BCD1, U+BCF4-BCF5, U+BCFC, U+BD10, U+BD80, U+BD84, U+BD88, U+BD99, U+BE0C, U+BE14, U+BE44, U+BE48, U+BE5B, U+BE60, U+C0AC, U+C0B0, U+C0B4, U+C0B6, U+C0C1, U+C0C8-C0C9, U+C0DD, U+C0F7, U+C11C, U+C11E, U+C120, U+C124, U+C131, U+C138, U+C13C, U+C158, U+C168, U+C18C-C18D, U+C190, U+C218, U+C21C, U+C220, U+C2A4, U+C2B5, U+C2B9, U+C2DC-C2DD, U+C2E0, U+C2E4, U+C2EC, U+C2F6, U+C2FC, U+C368, U+C4F0, U+C4F4, U+C4F8, U+C544-C545, U+C548, U+C54A, U+C54C, U+C555, U+C558, U+C560, U+C564, U+C571, U+C57C-C57D, U+C591, U+C5B4-C5B5, U+C5B8, U+C5BB-C5BC, U+C5C5-C5C8, U+C5D0, U+C5D4, U+C5EC-C5ED, U+C5F0, U+C5F4, U+C601, U+C606, U+C608, U+C624, U+C628, U+C62C, U+C62E, U+C640, U+C644, U+C694, U+C6A9, U+C6B0, U+C6B4, U+C6B8, U+C6C0, U+C6CC, U+C6D0, U+C6D4, U+C704, U+C715, U+C720, U+C73C, U+C740, U+C744, U+C74C, U+C751, U+C758, U+C774, U+C778, U+C77C-C77D, U+C783, U+C785, U+C787-C789, U+C78E, U+C790-C791, U+C798, U+C7A0, U+C7A5, U+C7AC, U+C800-C801, U+C804, U+C808, U+C810-C811, U+C815, U+C81C-C81D, U+C838, U+C84C, U+C870, U+C874, U+C885, U+C88B, U+C8FC, U+C900, U+C904, U+C911, U+C918, U+C990, U+C998, U+C99D, U+C9C0-C9C1, U+C9C4, U+C9C8, U+C9D0, U+C9E7, U+C9F8, U+CABD, U+CC28, U+CC30, U+CC3D-CC3E, U+CC44-CC45, U+CC98, U+CC9C, U+CCA0, U+CCA8, U+CCAB, U+CCB4, U+CD08, U+CD5C, U+CD94-CD95, U+CD98, U+CD9C, U+CDB0, U+CDE8, U+CE58, U+CE60, U+CE68, U+CE74, U+CE90, U+CE94, U+CEE4, U+CEE8, U+CEEC, U+CEF4, U+CF1C, U+CF54, U+CF58, U+CFE8, U+D06C, U+D074, U+D07C, U+D0A4, U+D0C0, U+D0C4, U+D0C8, U+D0D0, U+D0D5, U+D0DC-D0DD, U+D0ED, U+D130, U+D14C, U+D1A0, U+D1B5, U+D22C, U+D2B8, U+D2BC, U+D2F0, U+D300, U+D305, U+D30C, U+D310, U+D31F, U+D328, U+D398, U+D39C, U+D3B4, U+D3B8, U+D3BC, U+D3C9, U+D3ED, U+D3F0, U+D45C, U+D480, U+D488, U+D4E8, U+D504, U+D53C, U+D544, U+D551, U+D558-D559, U+D55C, U+D560, U+D568-D569, U+D56D, U+D574, U+D588-D589, U+D5A5, U+D5E4, U+D600, U+D604, U+D611, U+D615, U+D638, U+D63C, U+D648, U+D654-D655, U+D658, U+D68C-D68D, U+D6A8, U+D6C4, U+D6D1, U+D734, U+D761, U+D788, U+D78C; }
/* fonts:end */

/* every stack gets the fallback faces after IM Fell / JetBrains Mono and before the system serif, so a Cyrillic, Han or
   Devanagari letter comes from a book face, not Georgia or the system default. Japanese, Korean and Chinese each take
   their own Han shapes. */
:root { --f-fb: "CR Text"; }
:root:lang(zh) { --f-fb: "CR SC", "CR Text"; }
:root:lang(ja) { --f-fb: "CR JP", "CR Text"; }
:root:lang(ko) { --f-fb: "CR KR", "CR Text"; }
:root:not(:lang(en)) {
  --f-text: "IM Fell English", var(--f-fb), Georgia, serif;
  --f-sc: "IM Fell English SC", var(--f-fb), Georgia, serif;
  --f-mono: "JetBrains Mono", var(--f-fb), ui-monospace, Menlo, monospace;
}
/* scripts with no italic and no small caps: set upright, and never letter-space joined or stacked letters */
:root:is(:lang(zh), :lang(ja), :lang(ko), :lang(hi), :lang(ar)) body :not(svg, svg *) { font-style: normal !important; }
:root:is(:lang(hi), :lang(ar)) body :not(svg, svg *) { letter-spacing: 0 !important; }
:root:is(:lang(zh), :lang(ja), :lang(ko)) body :not(svg, svg *) { letter-spacing: min(.04em, 1px) !important; }
:root:is(:lang(hi), :lang(ar)) body { line-height: 1.6; }
/* Arabic on the homepage: the layout stays put (it is a picture), the words run right to left */
:root:lang(ar):not([dir=rtl]) :is(.read, .ink-read, .ink-peek, .snd-hint, .play-tip, .whisper, .pin small, .ink-list small, .bn-list .tag) { direction: rtl; unicode-bidi: plaintext; }
/* inner pages wait (briefly) for their words so the English never flashes */
html.cr-wait body > main { visibility: hidden; }

/* ── the picker ── */
.cr-lang { position: relative; display: flex; }
.cr-lang .cr-face { font: 400 11px/1 var(--f-mono, ui-monospace, monospace); letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
.cr-lang .cr-face:lang(zh), .cr-lang .cr-face:lang(ja), .cr-lang .cr-face:lang(ko), .cr-lang .cr-face:lang(hi), .cr-lang .cr-face:lang(ar) { font-size: 14px; letter-spacing: 0 !important; }
.cr-lang .cr-face:lang(zh) { font-family: "CR SC", "CR Text", sans-serif; } .cr-lang .cr-face:lang(ja) { font-family: "CR JP", "CR Text", sans-serif; }
.cr-lang .cr-face:lang(ko) { font-family: "CR KR", "CR Text", sans-serif; } .cr-lang .cr-face:is(:lang(hi), :lang(ar)) { font-family: "CR Text", serif; }
.top .cr-lang .glyph.lang { opacity: .5; }
.cr-lang.open .glyph.lang { opacity: .95; }
.cr-lang-menu { position: absolute; z-index: 95; top: calc(100% + 6px); right: -4px; display: grid; min-width: 150px; padding: 6px; box-sizing: border-box;
  max-height: calc(100dvh - 80px); overflow: auto; overscroll-behavior: contain;
  border-radius: 12px; background: rgba(8, 8, 10, .86); border: 1px solid rgba(239, 230, 214, .16); color: var(--bone, #efe6d6);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 8px 30px rgba(0, 0, 0, .5); pointer-events: auto;
  animation: cr-lang-in .22s ease both; }
.cr-lang-menu[hidden] { display: none; }
@keyframes cr-lang-in { from { opacity: 0; transform: translateY(-4px); } }
.cr-lang-menu button { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 10px; padding: 8px 12px 8px 10px; border-radius: 8px; cursor: pointer;
  font: 400 17px/1.15 "IM Fell English", "CR Text", Georgia, serif; letter-spacing: .01em !important; font-style: normal !important; color: rgba(239, 230, 214, .78); white-space: nowrap; text-align: start; text-transform: none; font-variant: normal; }
.cr-lang-menu button::before { content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: 0; }
.cr-lang-menu button[aria-checked="true"] { color: var(--bone, #efe6d6); }
.cr-lang-menu button[aria-checked="true"]::before { opacity: .9; box-shadow: 0 0 8px currentColor; }
.cr-lang-menu button:hover, .cr-lang-menu button:focus-visible { background: rgba(239, 230, 214, .08); color: var(--bone, #efe6d6); }
.cr-lang-menu button:lang(zh) { font-family: "CR SC", "CR Text", serif; font-size: 16px; } .cr-lang-menu button:lang(ja) { font-family: "CR JP", "CR Text", serif; font-size: 16px; }
.cr-lang-menu button:lang(ko) { font-family: "CR KR", "CR Text", serif; font-size: 16px; } .cr-lang-menu button:is(:lang(hi), :lang(ar)) { font-size: 17px; letter-spacing: 0 !important; }
.cr-lang-menu button[dir=rtl] { flex-direction: row; justify-content: flex-start; }
/* theme accents: Mycelium spore teal, Ink bone, the burning paper ember */
body.t-myc .cr-lang-menu button[aria-checked="true"] { color: var(--spore, #8fe3d4); }
body.fire .cr-lang-menu { background: rgba(14, 10, 8, .9); border-color: rgba(255, 190, 140, .18); }
body.fire .cr-lang-menu button[aria-checked="true"] { color: #ffcf96; }

html.cr-menu-open :is(.snd-hint, .play-tip) { visibility: hidden; }

/* the inner pages: a small button in the top corner, the same look as the homepage's */
.cr-lang-fixed { position: absolute; z-index: 20; top: calc(10px + env(safe-area-inset-top, 0px)); right: max(10px, env(safe-area-inset-right, 0px)); }
html[dir=rtl] .cr-lang-fixed { right: auto; left: max(10px, env(safe-area-inset-left, 0px)); }
html[dir=rtl] .cr-lang-fixed .cr-lang-menu { right: auto; left: -4px; }
.cr-lang-fixed .lang { all: unset; box-sizing: border-box; display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border-radius: 999px; cursor: pointer;
  color: var(--bone, #efe6d6); opacity: .55; transition: opacity .3s; }
.cr-lang-fixed .lang:hover, .cr-lang-fixed .lang:focus-visible, .cr-lang-fixed.open .lang { opacity: 1; }
.cr-lang-fixed .lang:focus-visible { outline: 1px dashed var(--bone, #efe6d6); outline-offset: 2px; }
/* a long line in another language wraps instead of running off a phone */
.ink-list a { max-width: calc(100vw - 20px); box-sizing: border-box; }
/* phones: room for one more button up top; the address and the buttons give a little */
@media (max-width: 430px) {
  .top .ctl .glyph { width: 34px; }
  .top .ctl .glyph.lang { width: 30px; }
  .top .mail a { letter-spacing: .04em; }
}
@media (max-width: 359px) { .top .ctl .glyph { width: 31px; } .top .ctl .glyph.lang { width: 27px; } .top .mail a { font-size: 9.5px; letter-spacing: 0; } }
/* the mono labels: JetBrains Mono's wide space pulls Hindi, Arabic and Korean words apart */
:root:is(:lang(hi), :lang(ar), :lang(ko)) :is(.mono, .pin small, .ink-read .t, .ink-peek .t, .ink-list li.kin a small, .ink-list li.person a small, .snd-hint b, .warn .mono) { word-spacing: -.35em; }
/* exact strings (prompts, menu paths) stay left to right inside Arabic pages */
html[dir=rtl] :is(code, .prompt, .path) { direction: ltr; unicode-bidi: isolate; }
html[dir=rtl] .prompt { text-align: left; }
@media (prefers-reduced-motion: reduce) { .cr-lang-menu { animation: none; } }
