@font-face {
  font-family: 'QuanWen Noto Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/static/vendor/fonts/i18n/noto-sans-arabic-0.ttf) format('truetype');
}
@font-face {
  font-family: 'QuanWen Noto Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/static/vendor/fonts/i18n/noto-sans-arabic-1.ttf) format('truetype');
}
@font-face {
  font-family: 'QuanWen Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/static/vendor/fonts/i18n/noto-serif-devanagari-0.ttf) format('truetype');
}
@font-face {
  font-family: 'QuanWen Noto Serif Devanagari';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/static/vendor/fonts/i18n/noto-serif-devanagari-1.ttf) format('truetype');
}
/* Locale-only font fallback. Upstream OFL and immutable sources: vendor/fonts/i18n/. */

@font-face {
  font-family: 'QuanWen Noto Serif JP';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifjp/catalog-01.woff2') format('woff2');
  unicode-range: U+3001, U+3002, U+3005, U+300C, U+300D, U+3042, U+3044, U+3046, U+3048, U+304A, U+304B, U+304C, U+304D, U+304E, U+304F, U+3050, U+3051, U+3052, U+3053, U+3054, U+3055, U+3057, U+3058, U+3059, U+305A, U+305B, U+305C, U+305D, U+305F, U+3060, U+3061, U+3063, U+3064, U+3065, U+3066, U+3067, U+3068, U+3069, U+306A, U+306B, U+306D, U+306E, U+306F, U+3070, U+3072, U+3073, U+3076, U+3078, U+3079, U+307B, U+307C, U+307E, U+307F, U+3080, U+3081, U+3082, U+3084, U+3086, U+3087, U+3088, U+3089, U+308A, U+308B, U+308C, U+308D, U+308F, U+3092, U+3093, U+30A1, U+30A2, U+30A3, U+30A4, U+30A6, U+30A7, U+30A8, U+30A9, U+30AA, U+30AB, U+30AC, U+30AD, U+30AE, U+30AF, U+30B0, U+30B1, U+30B2, U+30B3, U+30B4, U+30B5, U+30B6, U+30B7, U+30B8, U+30B9, U+30BA, U+30BB, U+30BC, U+30BD, U+30BF, U+30C0, U+30C1, U+30C3, U+30C4, U+30C6, U+30C7, U+30C8, U+30C9, U+30CA, U+30CB, U+30CD, U+30CE, U+30CF, U+30D0, U+30D1, U+30D2, U+30D3, U+30D4, U+30D5, U+30D6, U+30D7, U+30D9, U+30DA, U+30DB, U+30DC, U+30DD, U+30DE, U+30DF, U+30E0, U+30E1, U+30E2, U+30E3, U+30E5, U+30E6, U+30E7, U+30E9, U+30EA, U+30EB, U+30EC, U+30ED, U+30EF, U+30F3, U+30FB, U+30FC, U+4E00, U+4E01, U+4E07, U+4E09, U+4E0A, U+4E0B, U+4E0D, U+4E0E, U+4E16, U+4E21, U+4E26, U+4E2D, U+4E38, U+4E3B, U+4E57, U+4E71, U+4E86, U+4E88, U+4E89, U+4E8B, U+4E8C, U+4E92, U+4EA4, U+4EBA, U+4ECA, U+4ECB, U+4ED5, U+4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EEE, U+4EF6, U+4EFB, U+4F01, U+4F1A, U+4F1D, U+4F3C, U+4F4D, U+4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA1, U+4FBF, U+4FC2, U+4FC3, U+4FDD, U+4FE1, U+4FEE, U+500B, U+5019, U+5024, U+504F;
}

@font-face {
  font-family: 'QuanWen Noto Serif JP';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifjp/catalog-02.woff2') format('woff2');
  unicode-range: U+505C, U+5065, U+5074, U+507D, U+5099, U+50BE, U+50CD, U+50CF, U+512A, U+5143, U+5148, U+5165, U+5168, U+516C, U+5171, U+5177, U+5178, U+517C, U+5185, U+5186, U+518A, U+518D, U+5199, U+51E6, U+51FA, U+5200, U+5206, U+5207, U+5217, U+521D, U+5224, U+5225, U+5229, U+5236, U+5237, U+523B, U+5247, U+524A, U+524D, U+5263, U+5270, U+5272, U+5275, U+529B, U+529F, U+52A0, U+52A3, U+52A9, U+52B1, U+52B9, U+52D5, U+52D9, U+52DF, U+5305, U+5316, U+533A, U+533F, U+534A, U+5352, U+5354, U+5357, U+5358, U+5360, U+5370, U+5373, U+539A, U+539F, U+53B3, U+53BB, U+53C2, U+53CA, U+53CB, U+53CC, U+53CD, U+53CE, U+53D6, U+53D7, U+53E3, U+53E9, U+53EF, U+53F0, U+53F3, U+53F7, U+5404, U+5408, U+540C, U+540D, U+5411, U+5426, U+542B, U+5438, U+544A, U+5468, U+5473, U+547C, U+547D, U+54B2, U+54C1, U+54E1, U+5506, U+5531, U+5546, U+554F, U+5584, U+55B6, U+5668, U+56DE, U+56E0, U+56E3, U+56F2, U+56F3, U+56FA, U+56FD, U+5727, U+5728, U+5730, U+5747, U+578B, U+57DF, U+57F7, U+57FA, U+5831, U+5834, U+5883, U+5897, U+58C1, U+58CA, U+58EB, U+58F2, U+5909, U+590F, U+5916, U+591A, U+5927, U+5931, U+5951, U+59A8, U+59CB, U+59FF, U+5B50, U+5B57, U+5B58, U+5B66, U+5B88, U+5B89, U+5B8C, U+5B9A, U+5B9F, U+5BA2, U+5BA3, U+5BB9, U+5BC4, U+5BC6, U+5BDF, U+5BE7, U+5BE9, U+5BFE, U+5C02, U+5C04, U+5C06, U+5C0E, U+5C0F, U+5C11, U+5C24, U+5C4A, U+5C4B, U+5C55, U+5C5E, U+5C64, U+5C65, U+5C71, U+5C90, U+5CB8, U+5DDE, U+5DE5, U+5DE6, U+5DEE, U+5DF1, U+5E02, U+5E03, U+5E06, U+5E2F, U+5E30, U+5E33, U+5E38, U+5E45, U+5E72, U+5E74, U+5E78, U+5E83, U+5E8F, U+5E97, U+5EA6, U+5EA7, U+5EAB, U+5EC3, U+5EF6, U+5F0F, U+5F15;
}

@font-face {
  font-family: 'QuanWen Noto Serif JP';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifjp/catalog-03.woff2') format('woff2');
  unicode-range: U+5F31, U+5F35, U+5F37, U+5F3E, U+5F53, U+5F62, U+5F69, U+5F71, U+5F79, U+5F7C, U+5F85, U+5F8C, U+5F90, U+5F93, U+5F97, U+5FA1, U+5FA9, U+5FAA, U+5FAE, U+5FB4, U+5FC3, U+5FC5, U+5FDC, U+5FE0, U+5FF5, U+601D, U+6027, U+6069, U+6075, U+60C5, U+60DC, U+60F3, U+610F, U+611F, U+614B, U+614E, U+61B6, U+6210, U+6226, U+623B, U+623F, U+6240, U+624B, U+6271, U+627F, U+6280, U+628A, U+6291, U+6295, U+6298, U+629C, U+629E, U+62BD, U+62C5, U+62D2, U+62E0, U+62E1, U+62EC, U+6301, U+6307, U+6319, U+631F, U+632F, U+633F, U+6357, U+6368, U+636E, U+6388, U+6392, U+6398, U+63A2, U+63A5, U+63A8, U+63B2, U+63C3, U+63CF, U+63D0, U+63DB, U+63E1, U+63F4, U+63FA, U+640D, U+643A, U+64A4, U+64CD, U+64EC, U+652F, U+6539, U+653E, U+653F, U+6557, U+6559, U+6563, U+6570, U+6572, U+6574, U+6587, U+6599, U+65AD, U+65B0, U+65B9, U+65BD, U+65C5, U+65E2, U+65E5, U+65E7, U+65E8, U+65E9, U+660E, U+6613, U+661F, U+6620, U+6625, U+6627, U+6642, U+666E, U+666F, U+6674, U+667A, U+6697, U+66AB, U+66AE, U+66C7, U+66D6, U+66F4, U+66F8, U+66FF, U+6700, U+6708, U+6709, U+671F, U+6728, U+672A, U+672C, U+6750, U+6761, U+6765, U+676F, U+6771, U+6790, U+679A, U+679C, U+67A0, U+67D4, U+67FB, U+6821, U+6838, U+6839, U+683C, U+6842, U+6848, U+68B0, U+68B1, U+690D, U+691C, U+696D, U+6975, U+6982, U+69CB, U+69D8, U+6A19, U+6A21, U+6A29, U+6A2A, U+6A4B, U+6A5F, U+6B04, U+6B20, U+6B21, U+6B53, U+6B62, U+6B63, U+6B69, U+6B74, U+6B8B, U+6BB5, U+6BCD, U+6BCE, U+6BD4, U+6BDB, U+6C17, U+6C34, U+6C38, U+6C42, U+6C4E, U+6C60, U+6C7A, U+6CB9, U+6CBF, U+6CD5, U+6CE2, U+6CE8, U+6D17, U+6D1E, U+6D29, U+6D3B, U+6D3E, U+6D41, U+6D44, U+6D77;
}

@font-face {
  font-family: 'QuanWen Noto Serif JP';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifjp/catalog-04.woff2') format('woff2');
  unicode-range: U+6D88, U+6DF1, U+6DF7, U+6DFB, U+6E08, U+6E09, U+6E1B, U+6E29, U+6E2C, U+6E2F, U+6E56, U+6E90, U+6E96, U+6ED1, U+6EDE, U+6F0F, U+6F14, U+6F5C, U+6F84, U+706F, U+70B9, U+7121, U+7136, U+7167, U+7247, U+7248, U+725B, U+7269, U+7279, U+72B6, U+72EC, U+72ED, U+732B, U+732E, U+7387, U+738B, U+73FE, U+7406, U+74B0, U+751F, U+7523, U+7528, U+7531, U+7533, U+753B, U+754C, U+7554, U+7565, U+756A, U+7570, U+7591, U+75B2, U+767A, U+767B, U+767D, U+7684, U+76CA, U+76DB, U+76E3, U+76E4, U+76EE, U+76F4, U+76F8, U+771F, U+7740, U+77AC, U+77E5, U+77ED, U+7814, U+7834, U+78BA, U+78E8, U+790E, U+793A, U+7981, U+79C1, U+79D1, U+79D2, U+79D8, U+79FB, U+7A0B, U+7A2E, U+7A3C, U+7A3F, U+7A4D, U+7A4F, U+7A76, U+7A7A, U+7A81, U+7ACB, U+7AE0, U+7AEF, U+7AF6, U+7B2C, U+7B46, U+7B54, U+7B56, U+7B8B, U+7B97, U+7BA1, U+7BC4, U+7BC9, U+7C73, U+7CBE, U+7CFB, U+7D04, U+7D0B, U+7D0D, U+7D14, U+7D19, U+7D1A, U+7D20, U+7D22, U+7D30, U+7D39, U+7D42, U+7D44, U+7D4C, U+7D50, U+7D5E, U+7D61, U+7D71, U+7D76, U+7D99, U+7D9A, U+7DAD, U+7DB2, U+7DCF, U+7DDA, U+7DE8, U+7DF4, U+7DFB, U+7E1B, U+7E26, U+7E2E, U+7E3E, U+7E41, U+7E70, U+7F6E, U+7F72, U+7F85, U+7F8E, U+7FA4, U+7FA9, U+7FD2, U+7FFB, U+8003, U+8005, U+8077, U+80B2, U+80CC, U+80FD, U+8108, U+81E8, U+81EA, U+81F4, U+8217, U+822C, U+8239, U+826F, U+8272, U+82B1, U+82B8, U+82E5, U+82E6, U+82F1, U+8336, U+8349, U+8377, U+83EF, U+843D, U+8449, U+84C4, U+85A6, U+878D, U+884C, U+8853, U+8857, U+8861, U+8868, U+88C5, U+88CF, U+88DC, U+88FD, U+8907, U+8981, U+898B, U+898F, U+8996, U+899A, U+89A7, U+89B3, U+89D2, U+89E3, U+89E6, U+8A00, U+8A02, U+8A08, U+8A0E, U+8A18;
}

@font-face {
  font-family: 'QuanWen Noto Serif JP';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifjp/catalog-05.woff2') format('woff2');
  unicode-range: U+8A2A, U+8A2D, U+8A31, U+8A33, U+8A34, U+8A3C, U+8A55, U+8A66, U+8A69, U+8A71, U+8A73, U+8A87, U+8A8D, U+8A98, U+8A9E, U+8AA4, U+8AAC, U+8AAD, U+8AB0, U+8AB2, U+8ABF, U+8AC7, U+8AD6, U+8AFE, U+8B1D, U+8B58, U+8B5C, U+8B70, U+8B77, U+8C61, U+8CA0, U+8CA1, U+8CA9, U+8CAB, U+8CAC, U+8CBB, U+8CBC, U+8CBF, U+8CC7, U+8CE2, U+8CEA, U+8CFC, U+8D08, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DB3, U+8DDD, U+8DE1, U+8DEF, U+8DF5, U+8E0F, U+8EAB, U+8ECC, U+8EE2, U+8EF8, U+8EFD, U+8F03, U+8F09, U+8FBA, U+8FBC, U+8FC5, U+8FCE, U+8FD1, U+8FD4, U+8FF0, U+8FFD, U+9000, U+9001, U+9006, U+9014, U+901A, U+901F, U+9020, U+9023, U+9032, U+9045, U+904A, U+904B, U+904D, U+904E, U+9053, U+9055, U+9060, U+9069, U+906E, U+9077, U+9078, U+907F, U+90E8, U+912D, U+914D, U+91C8, U+91CD, U+91CE, U+91CF, U+91D1, U+91DD, U+91E3, U+9332, U+936E, U+9375, U+9396, U+9577, U+9580, U+9589, U+958B, U+9593, U+95A2, U+95B2, U+9632, U+964D, U+9650, U+9664, U+9670, U+967D, U+9685, U+968E, U+968F, U+9694, U+969B, U+969C, U+96A0, U+96C6, U+96D1, U+96E2, U+96FB, U+9732, U+9752, U+9759, U+975E, U+9762, U+9769, U+97FF, U+9805, U+9806, U+9808, U+9811, U+9818, U+982D, U+983B, U+983C, U+984C, U+985E, U+9867, U+98A8, U+98DB, U+98FE, U+99C4, U+99C6, U+9A13, U+9AD8, U+9BAE, U+9CE5, U+9ED9, U+FF01, U+FF06, U+FF08, U+FF09, U+FF0B, U+FF1A, U+FF1F;
}

@font-face {
  font-family: 'QuanWen Noto Serif KR';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifkr/catalog-01.woff2') format('woff2');
  unicode-range: U+5168, U+53F7, U+6842, U+AC00, U+AC01, U+AC04, U+AC08, U+AC10, U+AC11, U+AC12, U+AC15, U+AC16, U+AC19, U+AC1C, U+AC1D, U+AC24, U+AC31, U+AC70, U+AC74, U+AC78, U+AC80, U+AC81, U+AC83, U+AC8C, U+ACA8, U+ACA9, U+ACAC, U+ACB0, U+ACBC, U+ACBD, U+ACC1, U+ACC4, U+ACE0, U+ACE7, U+ACF3, U+ACF5, U+ACFC, U+AD00, U+AD04, U+AD11, U+AD34, U+AD50, U+AD6C, U+AD6D, U+AD70, U+AD74, U+AD8C, U+ADA4, U+ADC0, U+ADDC, U+ADE0, U+ADF8, U+ADFC, U+AE00, U+AE08, U+AE09, U+AE30, U+AE34, U+AE38, U+AE41, U+AE45, U+AE4A, U+AE4C, U+AE50, U+AE54, U+AE5C, U+AE65, U+AE68, U+AECF, U+AED8, U+AF08, U+AF2D, U+AF43, U+AFB8, U+AFD4, U+B044, U+B04A, U+B04C, U+B054, U+B05D, U+B098, U+B09C, U+B0A0, U+B0A8, U+B0A9, U+B0AC, U+B0AD, U+B0AE, U+B0B4, U+B0C5, U+B0C8, U+B108, U+B10C, U+B110, U+B118, U+B123, U+B124, U+B144, U+B155, U+B178, U+B179, U+B17C, U+B192, U+B204, U+B208, U+B20C, U+B220, U+B234, U+B274, U+B290, U+B294, U+B298, U+B2A5, U+B2C8, U+B2CC, U+B2D9, U+B2DD, U+B2E4, U+B2E8, U+B2EB, U+B2EC, U+B2F4, U+B2F5, U+B2F9, U+B2FF, U+B300, U+B313, U+B354, U+B358, U+B364, U+B36E, U+B370, U+B371, U+B378, U+B3C4, U+B3C5, U+B3CC, U+B3D5, U+B3D9, U+B418, U+B41C, U+B428, U+B429, U+B450, U+B458, U+B465, U+B4A4, U+B4B7, U+B4C8, U+B4DC, U+B4DD, U+B4E0, U+B4E4, U+B4EC, U+B4ED, U+B4EF, U+B4F1, U+B514, U+B529, U+B530, U+B54C, U+B5A0, U+B5A4, U+B610, U+B6F0, U+B728, U+B73B, U+B77C, U+B77D, U+B78C, U+B78D, U+B791, U+B798, U+B799, U+B79C, U+B7A8, U+B7AB, U+B7B5, U+B7C9, U+B7EC, U+B7F0, U+B7FC, U+B7FD, U+B807, U+B808, U+B809, U+B80C, U+B824, U+B825, U+B828, U+B82C, U+B835, U+B838, U+B839, U+B840, U+B85C, U+B85D;
}

@font-face {
  font-family: 'QuanWen Noto Serif KR';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifkr/catalog-02.woff2') format('woff2');
  unicode-range: U+B860, U+B864, U+B86C, U+B86D, U+B8B0, U+B8CC, U+B8E8, U+B8F9, U+B958, U+B960, U+B974, U+B978, U+B97C, U+B984, U+B985, U+B9AC, U+B9AD, U+B9B0, U+B9B4, U+B9BC, U+B9BD, U+B9BF, U+B9C1, U+B9C8, U+B9C9, U+B9CC, U+B9CE, U+B9D0, U+B9D1, U+B9DE, U+B9E1, U+B9E4, U+B9E8, U+B9F5, U+B9FA, U+BA38, U+BA3C, U+BA40, U+BA54, U+BA55, U+BA70, U+BA74, U+BA85, U+BAA8, U+BAA9, U+BABB, U+BB18, U+BB34, U+BB35, U+BB36, U+BB38, U+BB3C, U+BB47, U+BBA4, U+BBAC, U+BBC0, U+BBF8, U+BBFF, U+BC00, U+BC0D, U+BC0F, U+BC14, U+BC15, U+BC16, U+BC18, U+BC1B, U+BC1C, U+BC29, U+BC30, U+BC31, U+BC84, U+BC88, U+BC8C, U+BC94, U+BC95, U+BCA0, U+BCA1, U+BCA4, U+BCBC, U+BCBD, U+BCC0, U+BCC4, U+BCD1, U+BCF4, U+BCF5, U+BCF8, U+BCFC, U+BD05, U+BD80, U+BD84, U+BD88, U+BD99, U+BDF0, U+BE0C, U+BE14, U+BE44, U+BE48, U+BE4C, U+BE59, U+BE5B, U+BE60, U+BFD0, U+C0AC, U+C0AD, U+C0B0, U+C0B4, U+C0BC, U+C0C1, U+C0C8, U+C0C9, U+C0CC, U+C0D8, U+C0DD, U+C0F7, U+C11C, U+C11D, U+C11E, U+C120, U+C124, U+C12D, U+C12F, U+C131, U+C138, U+C139, U+C140, U+C14B, U+C158, U+C170, U+C18C, U+C18D, U+C190, U+C194, U+C1A1, U+C1C4, U+C218, U+C219, U+C21C, U+C220, U+C228, U+C22B, U+C26C, U+C27C, U+C27D, U+C2A4, U+C2A8, U+C2AC, U+C2AD, U+C2B5, U+C2B9, U+C2DC, U+C2DD, U+C2E0, U+C2E4, U+C2EC, U+C2ED, U+C2F1, U+C2F6, U+C2F8, U+C309, U+C313, U+C4F0, U+C4F8, U+C529, U+C544, U+C545, U+C548, U+C549, U+C54A, U+C54C, U+C554, U+C555, U+C558, U+C560, U+C564, U+C571, U+C575, U+C57C, U+C57D, U+C591, U+C5B4, U+C5B5, U+C5B8, U+C5BC, U+C5C5, U+C5C6, U+C5C7, U+C5C8, U+C5D0, U+C5D4, U+C5EC, U+C5ED, U+C5F0, U+C5F4, U+C600, U+C601, U+C608, U+C624, U+C628, U+C62C, U+C62E;
}

@font-face {
  font-family: 'QuanWen Noto Serif KR';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifkr/catalog-03.woff2') format('woff2');
  unicode-range: U+C635, U+C640, U+C644, U+C654, U+C678, U+C67C, U+C694, U+C6A9, U+C6B0, U+C6B4, U+C6B8, U+C6C0, U+C6C5, U+C6CC, U+C6D0, U+C6D4, U+C6E0, U+C6E8, U+C6F9, U+C704, U+C708, U+C720, U+C721, U+C728, U+C733, U+C735, U+C73C, U+C740, U+C744, U+C74C, U+C74D, U+C751, U+C758, U+C774, U+C775, U+C778, U+C77C, U+C77D, U+C784, U+C785, U+C788, U+C78E, U+C790, U+C791, U+C794, U+C798, U+C7A0, U+C7A1, U+C7A5, U+C7A6, U+C7AC, U+C7C1, U+C800, U+C801, U+C804, U+C808, U+C80A, U+C810, U+C811, U+C815, U+C81C, U+C81D, U+C838, U+C84C, U+C870, U+C871, U+C874, U+C878, U+C881, U+C885, U+C88B, U+C8FC, U+C8FD, U+C900, U+C904, U+C90D, U+C911, U+C988, U+C989, U+C998, U+C99D, U+C9C0, U+C9C1, U+C9C4, U+C9C8, U+C9D1, U+C9D5, U+C9DC, U+C9DD, U+C9F8, U+CABD, U+CC0D, U+CC28, U+CC29, U+CC30, U+CC38, U+CC3D, U+CC3E, U+CC44, U+CC45, U+CC98, U+CC9C, U+CCA8, U+CCAB, U+CCAD, U+CCB4, U+CCD0, U+CCE4, U+CD08, U+CD09, U+CD1B, U+CD1D, U+CD5C, U+CD94, U+CD95, U+CD98, U+CD9C, U+CDA4, U+CDA5, U+CDA9, U+CDB0, U+CDC4, U+CDE8, U+CE20, U+CE21, U+CE35, U+CE58, U+CE59, U+CE5C, U+CE68, U+CE69, U+CE6D, U+CE74, U+CE90, U+CE94, U+CEA0, U+CEE4, U+CEE8, U+CEEC, U+CEF4, U+CF00, U+CF1C, U+CF30, U+CF54, U+CF58, U+CF5C, U+CFE0, U+CFFC, U+D050, U+D06C, U+D070, U+D074, U+D0A4, U+D0B5, U+D0C0, U+D0C4, U+D0C8, U+D0D0, U+D0D5, U+D0DC, U+D0DD, U+D0ED, U+D130, U+D131, U+D134, U+D138, U+D14C, U+D14D, U+D150, U+D15C, U+D1A0, U+D1A4, U+D1B1, U+D1B5, U+D22C, U+D280, U+D29C, U+D2B8, U+D2B9, U+D2BC, U+D2C0, U+D2F0, U+D2F1, U+D300, U+D305, U+D30C, U+D310, U+D31D, U+D328, U+D329, U+D37C, U+D398, U+D3B4, U+D3B8, U+D3BC, U+D3C9, U+D3D0, U+D3EC, U+D3ED, U+D3F0;
}

@font-face {
  font-family: 'QuanWen Noto Serif KR';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notoserifkr/catalog-04.woff2') format('woff2');
  unicode-range: U+D3F4, U+D3FC, U+D45C, U+D480, U+D488, U+D48B, U+D48D, U+D4E8, U+D504, U+D508, U+D50C, U+D53C, U+D53D, U+D544, U+D551, U+D558, U+D559, U+D55C, U+D560, U+D568, U+D569, U+D56B, U+D56D, U+D574, U+D575, U+D578, U+D587, U+D588, U+D589, U+D5A5, U+D5C8, U+D5CC, U+D5D8, U+D601, U+D604, U+D611, U+D615, U+D61C, U+D638, U+D648, U+D64D, U+D654, U+D655, U+D658, U+D65C, U+D669, U+D68C, U+D68D, U+D6A8, U+D6C4, U+D6C5, U+D6C8, U+D734, U+D750, U+D754, U+D769, U+D770, U+D788, U+D798, U+D799, U+FF08, U+FF09;
}

@font-face {
  font-family: 'QuanWen Noto Sans KR';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notosanskr/catalog-01.woff2') format('woff2');
  unicode-range: U+5168, U+53F7, U+6842, U+AC00, U+AC01, U+AC04, U+AC08, U+AC10, U+AC11, U+AC12, U+AC15, U+AC16, U+AC19, U+AC1C, U+AC1D, U+AC24, U+AC31, U+AC70, U+AC74, U+AC78, U+AC80, U+AC81, U+AC83, U+AC8C, U+ACA8, U+ACA9, U+ACAC, U+ACB0, U+ACBC, U+ACBD, U+ACC1, U+ACC4, U+ACE0, U+ACE7, U+ACF3, U+ACF5, U+ACFC, U+AD00, U+AD04, U+AD11, U+AD34, U+AD50, U+AD6C, U+AD6D, U+AD70, U+AD74, U+AD8C, U+ADA4, U+ADC0, U+ADDC, U+ADE0, U+ADF8, U+ADFC, U+AE00, U+AE08, U+AE09, U+AE30, U+AE34, U+AE38, U+AE41, U+AE45, U+AE4A, U+AE4C, U+AE50, U+AE54, U+AE5C, U+AE65, U+AE68, U+AECF, U+AED8, U+AF08, U+AF2D, U+AF43, U+AFB8, U+AFD4, U+B044, U+B04A, U+B04C, U+B054, U+B05D, U+B098, U+B09C, U+B0A0, U+B0A8, U+B0A9, U+B0AC, U+B0AD, U+B0AE, U+B0B4, U+B0C5, U+B0C8, U+B108, U+B10C, U+B110, U+B118, U+B123, U+B124, U+B144, U+B155, U+B178, U+B179, U+B17C, U+B192, U+B204, U+B208, U+B20C, U+B220, U+B234, U+B274, U+B290, U+B294, U+B298, U+B2A5, U+B2C8, U+B2CC, U+B2D9, U+B2DD, U+B2E4, U+B2E8, U+B2EB, U+B2EC, U+B2F4, U+B2F5, U+B2F9, U+B2FF, U+B300, U+B313, U+B354, U+B358, U+B364, U+B36E, U+B370, U+B371, U+B378, U+B3C4, U+B3C5, U+B3CC, U+B3D5, U+B3D9, U+B418, U+B41C, U+B428, U+B429, U+B450, U+B458, U+B465, U+B4A4, U+B4B7, U+B4C8, U+B4DC, U+B4DD, U+B4E0, U+B4E4, U+B4EC, U+B4ED, U+B4EF, U+B4F1, U+B514, U+B529, U+B530, U+B54C, U+B5A0, U+B5A4, U+B610, U+B6F0, U+B728, U+B73B, U+B77C, U+B77D, U+B78C, U+B78D, U+B791, U+B798, U+B799, U+B79C, U+B7A8, U+B7AB, U+B7B5, U+B7C9, U+B7EC, U+B7F0, U+B7FC, U+B7FD, U+B807, U+B808, U+B809, U+B80C, U+B824, U+B825, U+B828, U+B82C, U+B835, U+B838, U+B839, U+B840, U+B85C, U+B85D;
}

@font-face {
  font-family: 'QuanWen Noto Sans KR';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notosanskr/catalog-02.woff2') format('woff2');
  unicode-range: U+B860, U+B864, U+B86C, U+B86D, U+B8B0, U+B8CC, U+B8E8, U+B8F9, U+B958, U+B960, U+B974, U+B978, U+B97C, U+B984, U+B985, U+B9AC, U+B9AD, U+B9B0, U+B9B4, U+B9BC, U+B9BD, U+B9BF, U+B9C1, U+B9C8, U+B9C9, U+B9CC, U+B9CE, U+B9D0, U+B9D1, U+B9DE, U+B9E1, U+B9E4, U+B9E8, U+B9F5, U+B9FA, U+BA38, U+BA3C, U+BA40, U+BA54, U+BA55, U+BA70, U+BA74, U+BA85, U+BAA8, U+BAA9, U+BABB, U+BB18, U+BB34, U+BB35, U+BB36, U+BB38, U+BB3C, U+BB47, U+BBA4, U+BBAC, U+BBC0, U+BBF8, U+BBFF, U+BC00, U+BC0D, U+BC0F, U+BC14, U+BC15, U+BC16, U+BC18, U+BC1B, U+BC1C, U+BC29, U+BC30, U+BC31, U+BC84, U+BC88, U+BC8C, U+BC94, U+BC95, U+BCA0, U+BCA1, U+BCA4, U+BCBC, U+BCBD, U+BCC0, U+BCC4, U+BCD1, U+BCF4, U+BCF5, U+BCF8, U+BCFC, U+BD05, U+BD80, U+BD84, U+BD88, U+BD99, U+BDF0, U+BE0C, U+BE14, U+BE44, U+BE48, U+BE4C, U+BE59, U+BE5B, U+BE60, U+BFD0, U+C0AC, U+C0AD, U+C0B0, U+C0B4, U+C0BC, U+C0C1, U+C0C8, U+C0C9, U+C0CC, U+C0D8, U+C0DD, U+C0F7, U+C11C, U+C11D, U+C11E, U+C120, U+C124, U+C12D, U+C12F, U+C131, U+C138, U+C139, U+C140, U+C14B, U+C158, U+C170, U+C18C, U+C18D, U+C190, U+C194, U+C1A1, U+C1C4, U+C218, U+C219, U+C21C, U+C220, U+C228, U+C22B, U+C26C, U+C27C, U+C27D, U+C2A4, U+C2A8, U+C2AC, U+C2AD, U+C2B5, U+C2B9, U+C2DC, U+C2DD, U+C2E0, U+C2E4, U+C2EC, U+C2ED, U+C2F1, U+C2F6, U+C2F8, U+C309, U+C313, U+C4F0, U+C4F8, U+C529, U+C544, U+C545, U+C548, U+C549, U+C54A, U+C54C, U+C554, U+C555, U+C558, U+C560, U+C564, U+C571, U+C575, U+C57C, U+C57D, U+C591, U+C5B4, U+C5B5, U+C5B8, U+C5BC, U+C5C5, U+C5C6, U+C5C7, U+C5C8, U+C5D0, U+C5D4, U+C5EC, U+C5ED, U+C5F0, U+C5F4, U+C600, U+C601, U+C608, U+C624, U+C628, U+C62C, U+C62E;
}

@font-face {
  font-family: 'QuanWen Noto Sans KR';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notosanskr/catalog-03.woff2') format('woff2');
  unicode-range: U+C635, U+C640, U+C644, U+C654, U+C678, U+C67C, U+C694, U+C6A9, U+C6B0, U+C6B4, U+C6B8, U+C6C0, U+C6C5, U+C6CC, U+C6D0, U+C6D4, U+C6E0, U+C6E8, U+C6F9, U+C704, U+C708, U+C720, U+C721, U+C728, U+C733, U+C735, U+C73C, U+C740, U+C744, U+C74C, U+C74D, U+C751, U+C758, U+C774, U+C775, U+C778, U+C77C, U+C77D, U+C784, U+C785, U+C788, U+C78E, U+C790, U+C791, U+C794, U+C798, U+C7A0, U+C7A1, U+C7A5, U+C7A6, U+C7AC, U+C7C1, U+C800, U+C801, U+C804, U+C808, U+C80A, U+C810, U+C811, U+C815, U+C81C, U+C81D, U+C838, U+C84C, U+C870, U+C871, U+C874, U+C878, U+C881, U+C885, U+C88B, U+C8FC, U+C8FD, U+C900, U+C904, U+C90D, U+C911, U+C988, U+C989, U+C998, U+C99D, U+C9C0, U+C9C1, U+C9C4, U+C9C8, U+C9D1, U+C9D5, U+C9DC, U+C9DD, U+C9F8, U+CABD, U+CC0D, U+CC28, U+CC29, U+CC30, U+CC38, U+CC3D, U+CC3E, U+CC44, U+CC45, U+CC98, U+CC9C, U+CCA8, U+CCAB, U+CCAD, U+CCB4, U+CCD0, U+CCE4, U+CD08, U+CD09, U+CD1B, U+CD1D, U+CD5C, U+CD94, U+CD95, U+CD98, U+CD9C, U+CDA4, U+CDA5, U+CDA9, U+CDB0, U+CDC4, U+CDE8, U+CE20, U+CE21, U+CE35, U+CE58, U+CE59, U+CE5C, U+CE68, U+CE69, U+CE6D, U+CE74, U+CE90, U+CE94, U+CEA0, U+CEE4, U+CEE8, U+CEEC, U+CEF4, U+CF00, U+CF1C, U+CF30, U+CF54, U+CF58, U+CF5C, U+CFE0, U+CFFC, U+D050, U+D06C, U+D070, U+D074, U+D0A4, U+D0B5, U+D0C0, U+D0C4, U+D0C8, U+D0D0, U+D0D5, U+D0DC, U+D0DD, U+D0ED, U+D130, U+D131, U+D134, U+D138, U+D14C, U+D14D, U+D150, U+D15C, U+D1A0, U+D1A4, U+D1B1, U+D1B5, U+D22C, U+D280, U+D29C, U+D2B8, U+D2B9, U+D2BC, U+D2C0, U+D2F0, U+D2F1, U+D300, U+D305, U+D30C, U+D310, U+D31D, U+D328, U+D329, U+D37C, U+D398, U+D3B4, U+D3B8, U+D3BC, U+D3C9, U+D3D0, U+D3EC, U+D3ED, U+D3F0;
}

@font-face {
  font-family: 'QuanWen Noto Sans KR';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/vendor/fonts/i18n/notosanskr/catalog-04.woff2') format('woff2');
  unicode-range: U+D3F4, U+D3FC, U+D45C, U+D480, U+D488, U+D48B, U+D48D, U+D4E8, U+D504, U+D508, U+D50C, U+D53C, U+D53D, U+D544, U+D551, U+D558, U+D559, U+D55C, U+D560, U+D568, U+D569, U+D56B, U+D56D, U+D574, U+D575, U+D578, U+D587, U+D588, U+D589, U+D5A5, U+D5C8, U+D5CC, U+D5D8, U+D601, U+D604, U+D611, U+D615, U+D61C, U+D638, U+D648, U+D64D, U+D654, U+D655, U+D658, U+D65C, U+D669, U+D68C, U+D68D, U+D6A8, U+D6C4, U+D6C5, U+D6C8, U+D734, U+D750, U+D754, U+D769, U+D770, U+D788, U+D798, U+D799, U+FF08, U+FF09;
}

/* Cormorant remains the Latin face. Noto JP/KR supplies the native CJK serif
   shapes; the existing SC face covers unchanged Chinese proper names/ICP IDs.
   Font faces above have catalog-only Unicode ranges and never affect zh-CN. */
html[lang="ja"] {
  --font-serif: "Cormorant Garamond", "QuanWen Noto Serif JP", "Noto Serif SC", Georgia, serif;
}

html[lang="ko"] {
  --font-serif: "Cormorant Garamond", "QuanWen Noto Serif KR", "Noto Serif SC", Georgia, serif;
  --font-sans: "Inter", "QuanWen Noto Sans KR", "Noto Sans SC", sans-serif;
  font-family: var(--font-sans);
}

/* Include hand-authored editorial headings as well as Tailwind's utility.
   Demo pages also inherit the locale-aware --font-serif / --font-sans tokens. */
html[lang="ja"] .font-serif,
html[lang="ja"] .section-header-title,
html[lang="ja"] .markdown-prose :is(h1, h2, h3),
html[lang="ko"] .font-serif,
html[lang="ko"] .section-header-title,
html[lang="ko"] .markdown-prose :is(h1, h2, h3) {
  font-family: var(--font-serif);
}

html[lang="ko"] .font-sans {
  font-family: var(--font-sans);
}

/* Korean words stay together; emergency wrapping still protects narrow screens. */
html[lang="ko"] body { word-break: keep-all; overflow-wrap: anywhere; }

/* Long localized hero text must not impose its min-content width on the photo. */
html:is([lang="hu"], [lang="pl"], [lang="cs"], [lang="el"], [lang="sv"], [lang="it"], [lang="pt-PT"], [lang="tr"], [lang="vi"], [lang="ru"], [lang="sw"], [lang="ar"], [lang="hi"]) #about > .flex-1 {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Keep the original stacked mobile composition until translated copy has room. */
@media (min-width: 768px) and (max-width: 1023px) {
  html:is([lang="hu"], [lang="pl"], [lang="cs"], [lang="el"], [lang="sv"], [lang="it"], [lang="pt-PT"], [lang="tr"], [lang="vi"], [lang="ru"], [lang="sw"], [lang="ar"], [lang="hi"]) #about {
    flex-direction: column-reverse;
  }
}

/* New native scripts: vendored fonts, no remote font requests. */
html[lang="ar"] {
  --font-serif: "QuanWen Noto Sans Arabic", "Noto Sans SC", serif;
  --font-sans: "QuanWen Noto Sans Arabic", "Inter", "Noto Sans SC", sans-serif;
  font-family: var(--font-sans);
}
html[lang="hi"] {
  --font-serif: "QuanWen Noto Serif Devanagari", "Cormorant Garamond", "Noto Serif SC", serif;
  --font-sans: "QuanWen Noto Serif Devanagari", "Inter", "Noto Sans SC", sans-serif;
  font-family: var(--font-sans);
}
html:is([lang="ar"],[lang="hi"]) :is(.font-serif,.section-header-title,.markdown-prose h1,.markdown-prose h2,.markdown-prose h3) { font-family: var(--font-serif); }
html:is([lang="ar"],[lang="hi"]) .font-sans { font-family: var(--font-sans); }
html[dir="rtl"] body { text-align: start; }
html[dir="rtl"] :is(input[type="email"],input[type="url"],code,pre,.font-mono) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] :is(textarea,#messagesContainer,#aiChatBody) { unicode-bidi: plaintext; }
html[dir="rtl"] :is(.pl-4,.pl-5,.pl-6) { padding-left: 0; padding-inline-start: 1.5rem; }
html[dir="rtl"] :is(.border-l,.border-l-2) { border-left-width: 0; border-inline-start-width: 2px; }
html[dir="rtl"] .text-left { text-align: start; }
html[dir="rtl"] .text-right { text-align: end; }
html[dir="rtl"] .qw-language-menu { direction: ltr; }
