:root {
  --fg: #1f2328;
  --muted: #656d76;
  --line: #d8dee4;
  --bg: #f6f8fa;
  --card: #ffffff;
  --accent: #0b6e4f;
  --accent-soft: #e6f4ee;
  --mark: #fff1b8;
  --warn: #9a6700;
  font-size: 19px;
}

/* 豆腐烏完整字形依 unicode-range 分片；OFL 修改版本另名，授權見 fonts/TauhuOo-LICENSE.txt。 */
/* font-subset:begin（scripts/build_font_subset.py 產生，不要手改） */
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-latin-f76699661fbc.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20-7E, U+B7, U+C0-C2, U+C8-CA, U+CC-CE, U+D2-D4, U+D9-DB, U+E0-E2, U+E8-EA, U+EC-EE, U+F2-F4, U+F9-FB, U+100-103, U+112-115, U+11A-11B, U+12A-12D, U+143-144, U+14C-151, U+16A-16D, U+170-171, U+197, U+1CD-1D4, U+1F8-1F9, U+244, U+268, U+289, U+2C6-2C7, U+2CA-2CB, U+2D9, U+300, U+302, U+304, U+306, U+30B-30D, U+358, U+1E3E-1E3F, U+1E5E-1E5F, U+2011-2014, U+2018-2019, U+201C-201D, U+2026-2027, U+207A, U+207F, U+22EF, U+2500, U+2E3A;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-common-bb9c97d960d1.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+3001-3002, U+300A-300D, U+3010-3011, U+30FB, U+4180, U+4E00, U+4E03, U+4E09-4E0B, U+4E0D, U+4E14, U+4E16, U+4E26, U+4E2A, U+4E2D, U+4E32, U+4E3B, U+4E45, U+4E4B, U+4E5D, U+4E5F, U+4E73, U+4E7E, U+4E82, U+4E86, U+4E88, U+4E8B-4E8C, U+4E92, U+4E94, U+4E9B, U+4E9E, U+4EA4, U+4EAE, U+4EBA, U+4EC0-4EC1, U+4ECA, U+4ECD, U+4ED4, U+4ED6, U+4ED9, U+4EDD, U+4EE3, U+4EE5, U+4EF6, U+4EFB, U+4EFD, U+4F0A, U+4F19, U+4F2F, U+4F38, U+4F46-4F47, U+4F4D-4F4F, U+4F54-4F55, U+4F57, U+4F5B-4F5C, U+4F60, U+4F6E, U+4F75, U+4F7F, U+4F86, U+4F8B, U+4F9B, U+4F9D, U+4FBF, U+4FD7, U+4FDD, U+4FE1, U+4FEE, U+500B, U+5012, U+5019-501A, U+501F, U+503C, U+5047, U+504C, U+504F, U+505A, U+505C, U+5065, U+5077, U+5099, U+50B3, U+50B7, U+50CF, U+50F9, U+512A, U+5132, U+5141, U+5143-5145, U+5148-5149, U+514B, U+514D, U+5152, U+515C, U+5165, U+5167-5169, U+516B-516D, U+5171, U+5175-5178, U+518A, U+518D, U+51A4, U+51AC, U+51B0, U+51B7, U+51CA, U+51FA, U+5200, U+5206-5207, U+5217, U+521D, U+5224-5225, U+5229-522A, U+5230, U+5236, U+523A-523B, U+5247, U+524D, U+5269, U+5275, U+5287, U+529B, U+529F-52A0, U+52A9, U+52C7, U+52D5, U+52D9, U+52DE, U+52E2, U+5305, U+5316-5317, U+532F, U+5340-5341, U+5343, U+534A, U+5357, U+5370, U+5373, U+5375, U+539A, U+539D, U+539F, U+53BB, U+53C3, U+53C8, U+53CA-53CB, U+53CD, U+53D6-53D7, U+53E3-53E6, U+53EA-53EB, U+53EF-53F0, U+53F3, U+53F8, U+5403-5404, U+5408, U+540A, U+540C-540D, U+5410-5411, U+5426, U+542B, U+5438-5439, U+5448, U+544A, U+5462, U+5468, U+5473, U+547C-547D, U+548C, U+54A7, U+54AC, U+54B1, U+54C1, U+54E1, U+54E5, U+54E9-54EA, U+54ED, U+5531, U+5546, U+5549-554A, U+554F, U+555F, U+5565-5566, U+5584, U+5589, U+5599, U+559C-559D, U+55AE, U+55BB, U+55CE, U+561B, U+5634, U+5668, U+56B4, U+56C9, U+56DB, U+56DD-56DE, U+56E0-56E1, U+56E5, U+56FA, U+570B, U+570D, U+5712-5713, U+5716, U+5718, U+571F, U+5728, U+5730, U+5740, U+5750, U+578B, U+57CE, U+57D4, U+57F7, U+57FA, U+5802, U+5805, U+5831, U+5834, U+584A, U+5857, U+586B, U+5883, U+589E, U+58C1, U+58D3, U+58EB, U+58FD, U+5916, U+591A, U+591C, U+5920, U+5927, U+5929-592B, U+5931, U+5947, U+5957, U+5973, U+5976, U+597D, U+5982, U+59CB, U+59D1, U+59D3, U+5A18, U+5A46, U+5A5A, U+5A66, U+5AA0, U+5ABD, U+5AC1, U+5B50, U+5B54, U+5B57-5B58, U+5B5D, U+5B64, U+5B69, U+5B6B, U+5B78, U+5B83, U+5B88-5B89, U+5B8C, U+5B98, U+5B9A, U+5B9C, U+5BA2, U+5BA4, U+5BB3, U+5BB6, U+5BB9, U+5BC6, U+5BCC, U+5BD2, U+5BDF, U+5BE1, U+5BE6, U+5BEB-5BEC, U+5BF6, U+5C04, U+5C07-5C08, U+5C0D-5C0F, U+5C11, U+5C16, U+5C1A, U+5C31, U+5C3A-5C3B, U+5C3E-5C40, U+5C45, U+5C4E, U+5C51, U+5C55, U+5C64, U+5C6C, U+5C71, U+5DDD, U+5DE5-5DE7, U+5DEE, U+5DF1-5DF2, U+5DF4, U+5E02-5E03, U+5E2B, U+5E33, U+5E36, U+5E38, U+5E55, U+5E6B, U+5E72-5E74, U+5E7C, U+5E7E, U+5E8A, U+5E8F, U+5E95, U+5E97, U+5E9C, U+5EA6, U+5EAB, U+5ED6, U+5EDF, U+5EE3, U+5EF6, U+5EFA, U+5F04, U+5F0F, U+5F15, U+5F1F, U+5F35, U+5F37, U+5F48, U+5F4E, U+5F59, U+5F62, U+5F69, U+5F71, U+5F7C, U+5F80, U+5F85, U+5F88, U+5F8B-5F8C, U+5F97, U+5F9B, U+5F9E, U+5FA9, U+5FAE, U+5FB7, U+5FC3, U+5FC5, U+5FD7, U+5FEB, U+5FF5, U+600E, U+601D, U+6025, U+6027-6028, U+602A, U+6041, U+6062, U+606C, U+606F, U+60C5, U+60DC, U+60E1, U+60F3, U+6108, U+610F, U+611B, U+611F, U+614B, U+6162, U+6167, U+61B2, U+61C9, U+61F8, U+6207, U+6210-6211, U+6216, U+6230, U+6232, U+6236, U+623F-6241, U+624B, U+624D, U+6253, U+6279, U+627E-6280, U+628A, U+6291, U+6295, U+6298, U+62BD-62BE, U+62C4, U+62C6, U+62C9, U+62CD, U+62D6, U+62DA-62DC, U+6301, U+6307, U+6309, U+6311, U+634C, U+6359, U+6377, U+6383, U+6388-6389, U+638C, U+6392, U+639B, U+63A0, U+63A5, U+63A8, U+63D0, U+63D2, U+63DB, U+63E3, U+640D, U+6416, U+642C-642D, U+6478, U+64A4, U+64AD, U+64C7, U+64CB, U+64CD, U+64D4, U+64DA, U+64E0, U+64EC, U+64F4, U+64FA, U+650F, U+6511, U+652F, U+6536, U+6539, U+653E-653F, U+6545, U+6548, U+6551, U+6557, U+6559, U+6562-6563, U+6574, U+6578, U+6587, U+6591, U+6597, U+6599, U+65AF-65B0, U+65B7, U+65B9, U+65BC, U+65C1, U+65CF, U+65E2, U+65E5, U+65E9, U+660E-660F, U+6613, U+661F, U+6625, U+662F, U+6642, U+665A, U+666F, U+667A, U+6697, U+669D, U+66AB, U+66C6, U+66C9, U+66F2, U+66F4, U+66F8, U+66FF-6700, U+6703, U+6708-6709, U+670B, U+670D, U+671B, U+671F, U+6728, U+672A, U+672C, U+6750, U+675F, U+6771, U+677F, U+6797, U+679C-679D, U+67B6, U+67D0, U+67D3, U+67E5, U+67F4, U+6821, U+6838-6839, U+683C, U+6843, U+6848, U+684C, U+6876, U+689D, U+6905, U+690D, U+696D, U+6975, U+6A02, U+6A13, U+6A19, U+6A21, U+6A23, U+6A39, U+6A5F, U+6A6B, U+6A94, U+6AA2, U+6B0A, U+6B20-6B21, U+6B32, U+6B3E, U+6B47, U+6B4C, U+6B61-6B66, U+6B72, U+6B79, U+6B7B, U+6BB5, U+6BBA, U+6BBC, U+6BCB, U+6BCD, U+6BCF, U+6BD2, U+6BD4, U+6BDB, U+6C11, U+6C23, U+6C34, U+6C42, U+6C57, U+6C7A, U+6C89, U+6C92, U+6C99, U+6CB3, U+6CB9, U+6CBB, U+6CC1, U+6CD5, U+6CE2, U+6CE8, U+6D0B, U+6D17, U+6D3B, U+6D3D-6D3E, U+6D41, U+6D6E, U+6D77, U+6D88, U+6DB2, U+6DBC, U+6DE1, U+6DF1, U+6E05, U+6E1B, U+6E2F, U+6E6F, U+6E90, U+6E96, U+6E9C-6E9D, U+6EAA-6EAB, U+6ED1, U+6EFE-6EFF, U+6F02, U+6F0F, U+6F14, U+6F22, U+6FC0, U+6FDF, U+700F, U+7063, U+706B, U+7070, U+707D, U+708E, U+70BA, U+70CF, U+7121, U+7126, U+7136, U+7159, U+715E, U+7167, U+7169, U+716E, U+719F, U+71B1, U+71C8, U+71D2, U+71DF, U+721B, U+722D, U+7236, U+7238, U+723E-723F, U+7247-7248, U+724C, U+7259, U+725B, U+7262, U+7269, U+7279, U+727D, U+72AF, U+72C0, U+72C2, U+72D7, U+7334, U+7336, U+7368, U+7387, U+738B, U+73E0, U+73ED, U+73FE, U+7403, U+7406, U+74B0, U+74DC, U+7518, U+751C, U+751F, U+7522, U+7528, U+752B, U+7530-7532, U+7537, U+754C, U+7559, U+7565, U+756A-756B, U+7570, U+7576, U+758A, U+7591, U+75BC, U+75C5, U+75C7, U+75DB, U+75DF, U+7626, U+767B-767E, U+7684, U+76AE, U+76E1, U+76E4, U+76E7, U+76EE, U+76F4, U+76F8, U+7701, U+7709, U+770B, U+771F-7720, U+773C, U+773E, U+774F, U+776D, U+77E3, U+77E5, U+77ED, U+77F3, U+7814, U+7834, U+786C, U+7897, U+78BA, U+78BC, U+78E8, U+793A, U+793E, U+7956, U+795E, U+7968, U+796D, U+798F, U+79AE, U+79C1, U+79D1, U+79FB, U+7A0B, U+7A0D, U+7A2E, U+7A31, U+7A4D, U+7A69, U+7A76, U+7A7A, U+7A7F, U+7A97, U+7ACB, U+7AD9, U+7AE5, U+7AEF, U+7AF9, U+7B11, U+7B26, U+7B2C, U+7B46, U+7B49, U+7B4B, U+7B54, U+7B8D, U+7B97, U+7BA1, U+7BC0, U+7BC4, U+7C21, U+7C60, U+7C64, U+7C73, U+7C89, U+7C92, U+7C97, U+7CBE-7CBF, U+7CCA, U+7CD6, U+7CFB, U+7D00, U+7D04-7D05, U+7D14, U+7D19-7D1A, U+7D20, U+7D22, U+7D30, U+7D32, U+7D44, U+7D50, U+7D55, U+7D66, U+7D71-7D72, U+7D93, U+7DA0, U+7DAD, U+7DB2, U+7DB4, U+7DCA, U+7DDA, U+7DE3, U+7DE8, U+7DF4, U+7E23, U+7E2B, U+7E3D, U+7E7C, U+7E8C, U+7F3A, U+7F6A, U+7F6E, U+7F75, U+7F85, U+7F8A, U+7F8E, U+7FA4, U+7FA9, U+7FC1, U+7FD2, U+7FFB, U+8001, U+8003, U+8005, U+800C-800D, U+8033, U+8056, U+806F, U+8072, U+8077, U+807D, U+8089, U+809A, U+809D, U+80A1, U+80A5, U+80B2, U+80CC, U+80CE, U+80E1, U+80F8, U+80FD, U+8108, U+812B, U+8166, U+8170, U+8173, U+8178-8179, U+817F, U+818F, U+81A8-81A9, U+81BD, U+81C9, U+81EA, U+81ED, U+81F3-81F4, U+81FA, U+8207-820A, U+820C, U+821E, U+8239, U+826F, U+8271-8272, U+82B1, U+82B3, U+82E5-82E6, U+82F1, U+8336, U+8349, U+83AB, U+83DC, U+83EF, U+842C, U+843D, U+8449, U+8457, U+84CB, U+8584, U+85AF, U+85CF, U+85DD, U+85E5, U+862D, U+864E, U+8655, U+865B, U+865F, U+86C7, U+86CB, U+8766, U+87A2, U+87BA, U+87F2, U+8840, U+884C, U+8853, U+8857, U+885D, U+8863, U+8868, U+886B, U+8870, U+8882, U+888B, U+88AB, U+88DC-88DD, U+88E1, U+88FD, U+8907, U+8932, U+897F, U+8981, U+898B, U+898F, U+8996, U+89AA, U+89BA, U+89BD, U+89C0, U+89D2, U+89E3, U+89F8, U+8A00, U+8A02, U+8A08, U+8A0A, U+8A0E, U+8A18, U+8A2D, U+8A31, U+8A3B, U+8A5E, U+8A62, U+8A66, U+8A71-8A72, U+8A8C-8A8D, U+8A9E, U+8AA0, U+8AA4, U+8AAA, U+8AB0, U+8AB2, U+8ABF, U+8ACB, U+8AD6, U+8B1B, U+8B1D, U+8B49, U+8B58, U+8B66, U+8B6F-8B70, U+8B77, U+8B80, U+8B8A, U+8C46, U+8C61, U+8C6C, U+8C93, U+8CA0-8CA1, U+8CA8, U+8CAC, U+8CB4, U+8CB7, U+8CBB-8CBC, U+8CC7, U+8CCA, U+8CE3, U+8CEA, U+8CF4, U+8CFD, U+8D0F, U+8D64, U+8D70, U+8D77, U+8D81, U+8D85, U+8D8A, U+8D95, U+8DB3, U+8DCB, U+8DDF, U+8DE4, U+8DEF, U+8DF3, U+8E05, U+8E0F, U+8E5B, U+8EAB, U+8EC0, U+8ECA, U+8ECD, U+8EDF, U+8F03, U+8F09, U+8F15, U+8F29-8F2A, U+8F2F, U+8F38, U+8F49, U+8FA6, U+8FAD, U+8FB2, U+8FD1, U+8FD4, U+8FF7, U+9000-9001, U+900F-9010, U+9014, U+9019-901A, U+901F-9020, U+9023, U+9032, U+904A-904B, U+904E, U+9050, U+9053-9054, U+9060, U+9069, U+906E, U+9072, U+9078, U+907F, U+9084, U+908A, U+90A3, U+90B1, U+90E8, U+90FD, U+9109, U+914D, U+9152, U+9178, U+91AB, U+91CB-91CF, U+91D1, U+91DD, U+9215, U+9280, U+9283, U+9304, U+9322, U+932B, U+932F, U+9375, U+93E1, U+9418, U+9435, U+9577, U+9580, U+9583, U+958B, U+9592-9593, U+95A3, U+95DC, U+962E, U+9632, U+963F, U+9644, U+9650, U+9662-9664, U+9670, U+9673, U+967D, U+968A, U+968E, U+9694, U+96A8, U+96AA, U+96B1, U+96BB, U+96C4, U+96C6, U+96D9, U+96DC, U+96DE, U+96E2-96E3, U+96E8, U+96F2, U+96F6-96F7, U+96FB, U+9700, U+9732, U+9748, U+9752, U+975C, U+975E, U+9760, U+9762, U+978B, U+97F3, U+97FF, U+9801-9802, U+9805-9806, U+9810, U+9813, U+9818, U+982D, U+9846, U+984C-984D, U+9858, U+985B, U+985E, U+9867, U+986F, U+98A8, U+98DB, U+98DF, U+98EF, U+98FC-98FD, U+9905, U+990A, U+9918, U+9996, U+9999, U+99AC, U+9A19, U+9A5A, U+9AA8, U+9AD4, U+9AD8, U+9B06, U+9B1A, U+9B25, U+9B27, U+9B3C, U+9B5A, U+9CE5, U+9D28, U+9E79, U+9E7D, U+9EB5, U+9EBB-9EBC, U+9EC3, U+9ED1, U+9EDE, U+9EE8, U+9F13, U+9F20, U+9F3B, U+9F4A, U+9F52, U+9F8D, U+9F9C, U+FF01, U+FF08-FF09, U+FF0B-FF0D, U+FF0F, U+FF1A-FF1B, U+FF1D, U+FF1F, U+FF3F, U+FF5C, U+20895, U+2A736;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-00-82d032e89569.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+2FF0-2FFB, U+3007-3009, U+300E-300F, U+3014-3017, U+3021-3029, U+3038-303A, U+3105-3129, U+3401, U+3441, U+34FE, U+3502, U+3578, U+3585, U+35B8, U+35D8, U+35F1, U+3614, U+361B, U+361D, U+372E, U+3737, U+3757, U+3769, U+3909, U+3915, U+39C1, U+39CC, U+39CE, U+39D2, U+39E1, U+39E3, U+39FB, U+39FE, U+3A02, U+3A11, U+3A28, U+3A2A, U+3A3B, U+3A46, U+3A90, U+3B39, U+3C35, U+3D18-3D19, U+3DEE, U+3E10, U+3E30, U+3F13, U+3F4E, U+3F80, U+3F8A, U+3FF8, U+4010, U+402F, U+4034, U+406F, U+40D7, U+41F6, U+4204, U+4242, U+4308, U+4599, U+45B3, U+45C1, U+45C6, U+45D0, U+4606, U+4625, U+463C, U+479A, U+47D3, U+47D8, U+47E9, U+4821, U+488D, U+48A2, U+4ACC, U+4BCB, U+4C85, U+4E01, U+4E07-4E08, U+4E0C, U+4E0E-4E11, U+4E15, U+4E18-4E19, U+4E1E-4E1F, U+4E2B, U+4E2E, U+4E30-4E31, U+4E33, U+4E38-4E39, U+4E3C, U+4E42-4E43, U+4E47-4E48, U+4E4D-4E4F, U+4E52-4E53, U+4E56, U+4E58-4E59, U+4E5C, U+4E5E, U+4E69, U+4E7F, U+4E83-4E84, U+4E8D-4E8E, U+4E91, U+4E93, U+4E95, U+4E99, U+4E9F, U+4EA1-4EA2, U+4EA5-4EA6, U+4EA8, U+4EAB-4EAD, U+4EB3, U+4EB6, U+4EB9, U+4EBC, U+4EC2-4EC4, U+4EC6-4EC9, U+4ECB, U+4ED5, U+4ED7-4ED8, U+4EDA, U+4EDC, U+4EDE-4EDF, U+4EE1, U+4EE4, U+4EE8-4EE9, U+4EF0-4EF5, U+4EF7, U+4EFF-4F02, U+4F04-4F05, U+4F08-4F09, U+4F0B, U+4F0D-4F15, U+4F18, U+4F1D, U+4F22, U+4F28, U+4F2C-4F2D, U+4F30, U+4F33-4F34, U+4F36, U+4F3A-4F3B;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-01-e1d33a8745db.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4F3C-4F3F, U+4F41, U+4F43, U+4F48-4F49, U+4F4C, U+4F50-4F53, U+4F56, U+4F58-4F5A, U+4F5D-4F5F, U+4F61-4F64, U+4F67, U+4F69-4F6C, U+4F6F-4F70, U+4F73-4F74, U+4F76-4F7E, U+4F80-4F85, U+4F87-4F89, U+4F8D, U+4F8F-4F92, U+4F94-4F98, U+4F9A, U+4F9C, U+4F9E, U+4FAE-4FAF, U+4FB2-4FB3, U+4FB5-4FB7, U+4FB9-4FBB, U+4FC0-4FC5, U+4FC7, U+4FC9-4FCB, U+4FCD-4FD1, U+4FD3-4FD4, U+4FD6, U+4FD8-4FDC, U+4FDE-4FE0, U+4FEC, U+4FEF, U+4FF1, U+4FF3-4FF8, U+4FFA, U+4FFE, U+5000, U+5005-5009, U+500C-500F, U+5011, U+5013-5018, U+501B-501C, U+501E, U+5020-5023, U+5025-502D, U+502F-5033, U+5035, U+5037, U+5040-5041, U+5043, U+5045-5046, U+5048-504B, U+504D-504E, U+5051, U+5053, U+5055, U+5057, U+505B, U+505D-5064, U+5068-506B, U+506D-5070, U+5072-5076, U+507A, U+507D, U+5080, U+5082-5083, U+5085, U+5087, U+508B-508E, U+5091-5092, U+5094-5096, U+5098, U+509A-509E, U+50A2-50A3, U+50AA, U+50AC-50B2, U+50B4-50B6, U+50B8, U+50BA-50BB, U+50BD-50BF, U+50C1-50C2, U+50C4-50CB, U+50CE, U+50D1, U+50D3-50D7, U+50DA-50DB, U+50DD, U+50E0, U+50E3-50E8;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-02-fb38f9a551c9.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+50E9-50F1, U+50F3, U+50F5-50F6, U+50F8, U+50FB, U+50FD-5100, U+5102-510C, U+5110-5115, U+5117-5118, U+511A, U+511C, U+511F-5122, U+5124-5126, U+5129, U+512D-512E, U+5130-5131, U+5133-5135, U+5137-513D, U+513F-5140, U+5146-5147, U+514C, U+5154-5155, U+5157, U+5159-515B, U+515D-515F, U+5161-5163, U+516E, U+517C, U+5180, U+5187, U+5189, U+518F, U+5191-5195, U+5197-5198, U+519E, U+51A0, U+51A2, U+51A5, U+51AA, U+51B1, U+51B6, U+51B9, U+51BC-51BE, U+51C3-51C6, U+51C8, U+51CB-51CE, U+51D0, U+51D4, U+51D7-51D8, U+51DC-51DE, U+51E0-51E1, U+51F0-51F1, U+51F3-51F6, U+51F8-51F9, U+51FD, U+5201, U+5203, U+5208-520A, U+520C, U+520E, U+5210-5213, U+5216, U+521C, U+521E, U+5221, U+5223, U+5228, U+522E, U+5231-5233, U+5235, U+5237-5238, U+5241, U+5243-5244, U+5246, U+5249-524C, U+524E, U+5252, U+5254-5256, U+525A-525F, U+5261-5262, U+526A-526F, U+5272, U+5274, U+5277-5278, U+527A-5284, U+5288-528D, U+5291, U+5293, U+5296-5299, U+52A3, U+52A6, U+52AA-52AE, U+52BB-52BC, U+52BE, U+52C0-52C3, U+52C9, U+52CD, U+52D2-52D3, U+52D6-52D8, U+52DB, U+52DD, U+52DF, U+52E3-52E6, U+52E9, U+52EB, U+52EF-52F1, U+52F3-52F5, U+52F7-52F8, U+52FA-52FC, U+52FE-52FF, U+5306, U+5308-530B, U+530D;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-03-6bfc2a3b0aed.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+530E-5312, U+5315, U+5319-531A, U+531C-531D, U+531F-5323, U+5327, U+532A, U+532D, U+5330-5331, U+5334, U+5337, U+5339, U+533C-533F, U+5345, U+5347-5349, U+534C-534D, U+5351-5354, U+535A, U+535C, U+535E, U+5360-5361, U+5363, U+5366, U+536C, U+536E-536F, U+5371-5372, U+5374, U+5377-5379, U+537B-537C, U+537F, U+5382, U+5384, U+538A, U+538E-538F, U+5392, U+5394, U+5396-5399, U+539C, U+539E, U+53A4-53A5, U+53A7, U+53AC-53AD, U+53B2, U+53B4, U+53B9, U+53C9, U+53D4, U+53DB, U+53DF, U+53E1-53E2, U+53E8-53E9, U+53EC-53EE, U+53F1-53F2, U+53F5, U+53F9, U+53FB-53FC, U+5401-5402, U+5406-5407, U+5409, U+540B, U+540E-540F, U+5412-5414, U+5418-5419, U+541B-5420, U+5424-5425, U+5427-542A, U+542C-542E, U+5430-5431, U+5433, U+5435-5437, U+543B-543E, U+5440-5443, U+5445-5447, U+544E-544F, U+5454, U+5460-5461, U+5463-5467, U+546B-546C, U+546F-5472, U+5474-5478, U+547A-547B, U+547E-5482, U+5484, U+5486-5488, U+548B, U+548D-5492, U+5495-5496, U+5498, U+549A, U+54A0-54A2, U+54A5-54A6, U+54A8-54AB, U+54AD-54B0, U+54B3, U+54B6-54B8, U+54BA-54C0, U+54C2-54CA, U+54CE-54CF, U+54D6, U+54DE, U+54E0, U+54E2, U+54E4, U+54E6-54E8, U+54EB, U+54EE-54EF, U+54F1-54F3, U+54F7-54FD, U+54FF, U+5501, U+5503-550C, U+550E-5512, U+5514;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-04-a0f234131f57.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+5517, U+551A, U+5526-5527, U+5529-552A, U+552C-5530, U+5532-5539, U+553B-553C, U+553E-5541, U+5543-5545, U+5548, U+554B, U+554D-554E, U+5550-5552, U+5555-5557, U+555C, U+555E, U+5561-5564, U+556A, U+5572, U+5575-5577, U+557B-5583, U+5587-5588, U+558A-558F, U+5591-5595, U+5598, U+559A, U+559F, U+55A1-55A8, U+55AA-55AD, U+55B1-55B3, U+55B5, U+55BA, U+55BF-55C0, U+55C2-55CD, U+55CF-55D6, U+55D9-55DD, U+55DF, U+55E1-55E9, U+55EC, U+55EF, U+55F2, U+55F6-55F7, U+55F9-55FA, U+55FC-5602, U+5604, U+5606, U+5608-5609, U+560C-5610, U+5612-5617, U+561C-561D, U+561F, U+5627, U+5629-562A, U+562C, U+562E-5630, U+5632-5633, U+5635-5636, U+5638-563B, U+563D-5642, U+5645-5646, U+5648-564A, U+564C-564E, U+5653, U+5657-565A, U+565E, U+5660, U+5662-5666, U+5669-5674, U+5676-5679, U+567C, U+567E-5687, U+568C-5690, U+5693, U+5695, U+5697-569A, U+569C-569D, U+569F, U+56A5-56A8, U+56AA-56AE, U+56B2-56B3, U+56B5-56B7;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-05-8fdc2e1f7618.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+56BC-56BE, U+56C0-56C3, U+56C5-56C6, U+56C8, U+56CA-56CD, U+56D1, U+56D3-56D4, U+56D7, U+56DA, U+56DF, U+56E4, U+56E7, U+56EA-56EB, U+56EE, U+56F0, U+56F7, U+56F9, U+56FF, U+5701-5704, U+5707-570A, U+570C, U+5714, U+571A-571E, U+5720, U+5722-5723, U+5729-572A, U+572C-572F, U+5733-5734, U+573B, U+573E, U+5741, U+5745, U+5747, U+5749-574F, U+5751-5752, U+5754, U+5761-5762, U+5764, U+5766, U+5768-576B, U+576D, U+576F-5777, U+577B-577D, U+5780, U+5782-5783, U+578C, U+578F, U+5793-5795, U+5797-579B, U+579D-57A0, U+57A2-57A5, U+57AE, U+57B5-57B6, U+57B8-57BA, U+57BC-57BD, U+57BF, U+57C1-57C3, U+57C6-57C7, U+57CB-57CC, U+57CF-57D0, U+57D2, U+57D5, U+57DC, U+57DF-57E5, U+57E7, U+57E9, U+57EC-57EE, U+57F0-57F6, U+57F8-57F9, U+57FB-57FD, U+5800-5801, U+5803-5804, U+5806-580E, U+5810, U+5814, U+5819, U+581B-581E, U+5820-5821, U+5823-5825, U+5827-582A, U+582C-5830, U+5832-5833, U+5835-5839, U+583B, U+583D, U+583F, U+5848-5849, U+584B-584F, U+5851-5855, U+5858-585B, U+585D-585E, U+5860, U+5862-5865, U+5868, U+586D, U+586F, U+5871, U+5874-5876, U+5879-5882, U+5885-588B, U+588E-5891, U+5893-5894, U+5898, U+589C;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-06-e320ce8551c2.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+589D, U+589F-58A1, U+58A3, U+58A5-58A6, U+58A8-58A9, U+58AB-58AC, U+58AE-58AF, U+58B1, U+58B3, U+58BA-58BF, U+58C2, U+58C5-58C9, U+58CE-58CF, U+58D1-58D2, U+58D4-58D6, U+58D8-58DB, U+58DD-58E0, U+58E2-58E4, U+58E7-58E9, U+58EC, U+58EF, U+58F4, U+58F9-58FA, U+58FC, U+58FE-58FF, U+5903, U+5906, U+590C-590F, U+5912, U+5914-5915, U+5917, U+5919, U+5922, U+5924-5925, U+592C-592F, U+5937-5938, U+593C, U+593E, U+5940, U+5944-5945, U+5948-594A, U+594E-5955, U+5958, U+595A, U+595C, U+5960-5962, U+5967, U+5969-596B, U+596D-596E, U+5970-5972, U+5974, U+5977-5979, U+597B-597C, U+597E-5981, U+5983-5985, U+598A, U+598D-5990, U+5992-5993, U+5996-5999, U+599D-599E, U+59A0-59A8, U+59AE-59AF, U+59B1-59B6, U+59B9-59BE, U+59C0-59C1, U+59C3, U+59C5-59C8, U+59CA, U+59CC-59D0, U+59D2, U+59D4, U+59D6, U+59D8, U+59DA-59DE, U+59E0-59E1, U+59E3-59E6, U+59E8-59EA, U+59EC-59EE, U+59F1-59F7, U+59FA-5A01, U+5A03, U+5A09-5A0A, U+5A0C, U+5A0F, U+5A11, U+5A13, U+5A15-5A17, U+5A19, U+5A1B-5A1C, U+5A1E-5A20, U+5A23, U+5A25, U+5A29, U+5A2D-5A2E, U+5A33, U+5A35-5A39, U+5A3C, U+5A3E, U+5A40-5A44, U+5A47-5A4A, U+5A4C-5A4D, U+5A50-5A53, U+5A55-5A58, U+5A5B-5A5D;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-07-764628839830.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+5A5E-5A60, U+5A62, U+5A64-5A65, U+5A67, U+5A69-5A6A, U+5A6C-5A6D, U+5A70, U+5A77-5A78, U+5A7A-5A7D, U+5A7F, U+5A83-5A84, U+5A8A-5A8C, U+5A8E-5A90, U+5A92-5A95, U+5A97, U+5A9A-5A9F, U+5AA2, U+5AA5-5AA7, U+5AA9, U+5AAC, U+5AAE-5ABC, U+5ABE-5AC0, U+5AC2, U+5AC4, U+5AC6-5ACD, U+5AD5-5AE3, U+5AE5-5AE6, U+5AE8-5AEE, U+5AF2-5AFB, U+5AFD, U+5AFF, U+5B01-5B03, U+5B05, U+5B07-5B09, U+5B0B-5B0C, U+5B0F-5B10, U+5B13-5B14, U+5B16-5B17, U+5B19-5B1B, U+5B1D-5B1E, U+5B20-5B21, U+5B23-5B28, U+5B2A, U+5B2C-5B30, U+5B32, U+5B34, U+5B38, U+5B3C-5B40, U+5B43, U+5B45, U+5B47-5B48, U+5B4B-5B4E, U+5B51, U+5B53, U+5B55-5B56, U+5B5A-5B5C, U+5B5F, U+5B62-5B63, U+5B65, U+5B6C, U+5B6E, U+5B70-5B73, U+5B75, U+5B77, U+5B7A-5B7B, U+5B7D, U+5B7F, U+5B81, U+5B84-5B85, U+5B87, U+5B8B, U+5B8E-5B8F, U+5B92-5B93, U+5B95, U+5B97, U+5B99, U+5B9B, U+5BA3, U+5BA5-5BA8, U+5BAC-5BAE, U+5BB0, U+5BB4-5BB5, U+5BB8, U+5BBF-5BC2, U+5BC4-5BC5, U+5BC7, U+5BCA-5BCB, U+5BCD-5BCE, U+5BD0-5BD1, U+5BD3-5BD4, U+5BD6, U+5BD8-5BD9, U+5BDE, U+5BE0, U+5BE2-5BE5, U+5BE7-5BEA, U+5BEE-5BF2, U+5BF5, U+5BF8, U+5BFA, U+5C01, U+5C03, U+5C09-5C0C, U+5C10, U+5C12, U+5C15, U+5C1E-5C1F, U+5C22, U+5C24-5C25;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-08-50909632140d.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+5C28, U+5C2A, U+5C2C, U+5C30, U+5C33, U+5C37-5C39, U+5C3C, U+5C41, U+5C44, U+5C46-5C48, U+5C4B-5C4D, U+5C4F-5C50, U+5C54, U+5C56, U+5C58-5C59, U+5C5C-5C5D, U+5C60, U+5C62-5C63, U+5C65, U+5C67-5C6A, U+5C6D-5C6F, U+5C73-5C74, U+5C79-5C7C, U+5C7E, U+5C86, U+5C88-5C8D, U+5C8F-5C95, U+5C9D, U+5C9F-5CB1, U+5CB3, U+5CB5-5CB8, U+5CC6-5CCC, U+5CCE-5CD0, U+5CD2-5CD4, U+5CD6-5CDB, U+5CDE-5CDF, U+5CE8, U+5CEA, U+5CEC-5CEE, U+5CF0-5CF1, U+5CF4, U+5CF6-5CF9, U+5CFB, U+5CFD, U+5CFF-5D01, U+5D06-5D07, U+5D0B-5D0F, U+5D11-5D12, U+5D14, U+5D16-5D17, U+5D19-5D1B, U+5D1D-5D20, U+5D22-5D29, U+5D2E, U+5D30-5D3A, U+5D3C-5D3D, U+5D3F-5D43, U+5D45, U+5D47, U+5D49-5D4C, U+5D4E, U+5D50-5D52, U+5D55, U+5D59, U+5D5E, U+5D62-5D63, U+5D65, U+5D67-5D69, U+5D6B-5D6C, U+5D6F, U+5D71-5D72, U+5D77, U+5D79-5D7A, U+5D7C-5D82, U+5D84, U+5D86-5D8A, U+5D8D, U+5D92-5D95, U+5D97, U+5D99-5D9A, U+5D9C-5DA2, U+5DA7-5DAA, U+5DAC-5DB2, U+5DB4-5DB5, U+5DB7-5DB8, U+5DBA, U+5DBC-5DBD, U+5DC0, U+5DC2-5DC3, U+5DC6-5DC7, U+5DC9, U+5DCB, U+5DCD, U+5DCF, U+5DD1-5DD2, U+5DD4-5DD6, U+5DD8, U+5DDE-5DDF;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-09-a3a2713184d0.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+5DE0-5DE2, U+5DE8, U+5DEB, U+5DF0, U+5DF3, U+5DF7, U+5DF9, U+5DFD-5DFF, U+5E04, U+5E06, U+5E0A, U+5E0C, U+5E0E, U+5E11, U+5E14-5E1B, U+5E1D, U+5E1F-5E25, U+5E28-5E29, U+5E2D, U+5E34, U+5E37, U+5E3D-5E3E, U+5E40-5E41, U+5E43-5E45, U+5E4A-5E4F, U+5E53-5E54, U+5E57-5E59, U+5E5B-5E5D, U+5E5F-5E63, U+5E66-5E6A, U+5E6C-5E70, U+5E75-5E76, U+5E78-5E79, U+5E7B, U+5E7D, U+5E80, U+5E82, U+5E84, U+5E87-5E89, U+5E8B-5E8D, U+5E96, U+5E9A-5E9B, U+5EA0, U+5EA2-5EA5, U+5EA7-5EA8, U+5EAA, U+5EAC-5EAE, U+5EB0-5EB9, U+5EBE, U+5EC1-5EC2, U+5EC4-5ECE, U+5ED1-5ED5, U+5ED7-5EDE, U+5EE0-5EE2, U+5EE5-5EE9, U+5EEC, U+5EEE-5EEF, U+5EF1-5EF3, U+5EF7, U+5EFE-5EFF, U+5F01-5F02, U+5F05, U+5F07-5F08, U+5F0A-5F0B, U+5F12-5F14, U+5F17-5F18, U+5F1A-5F1B, U+5F1D, U+5F22-5F24, U+5F26-5F29, U+5F2D-5F2E, U+5F30-5F31, U+5F33, U+5F36, U+5F38, U+5F3C, U+5F40, U+5F43-5F44, U+5F46, U+5F49-5F4C, U+5F4F, U+5F54, U+5F56-5F58, U+5F5E, U+5F64-5F65, U+5F67, U+5F6A-5F6D, U+5F6F-5F70, U+5F73-5F74, U+5F76-5F79, U+5F7D-5F7F, U+5F81-5F82, U+5F86-5F87, U+5F89-5F8A, U+5F90-5F92, U+5F96, U+5F98-5F99, U+5F9C, U+5F9F-5FA1, U+5FA5-5FA6, U+5FA8, U+5FAA-5FAD, U+5FAF, U+5FB2, U+5FB5-5FB6, U+5FB9, U+5FBB-5FC1, U+5FC9;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-10-30812643ee66.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+5FCC-5FCD, U+5FCF-5FD2, U+5FD4-5FD6, U+5FD8-5FD9, U+5FDD-5FDE, U+5FE0-5FE1, U+5FE3-5FE5, U+5FE8, U+5FEA, U+5FED-5FEF, U+5FF1, U+5FF3-5FF4, U+5FF7-5FF8, U+5FFA-5FFB, U+5FFD, U+5FFF-6000, U+6009-600D, U+600F-6017, U+6019-601C, U+601E, U+6020-6022, U+6024, U+6026, U+6029, U+602B-602F, U+6032-6035, U+6037, U+6039, U+6040, U+6042-6047, U+6049, U+604C-604D, U+6050, U+6052-6055, U+6058-605B, U+605D-605F, U+6063-606B, U+606D-606E, U+6070, U+6072, U+607F-6081, U+6083-608A, U+608C-608E, U+6090, U+6092, U+6094-6097, U+609A-609D, U+609F-60A0, U+60A2-60A3, U+60A8, U+60B0-60B2, U+60B4-60C1, U+60C3-60C4, U+60C6-60CF, U+60D1, U+60D3-60D5, U+60D8-60DB, U+60DD, U+60DF-60E0, U+60E2, U+60E4, U+60E6, U+60F0-60F2, U+60F4-60FC, U+60FE-6101, U+6103-6106, U+6109-610B, U+610D-610E, U+6110, U+6112-6116, U+6118, U+611A, U+611C-611D, U+6123, U+6127-6129, U+612B-612C, U+612E-612F, U+6132, U+6134, U+6136-6137, U+613B, U+613E-6141, U+6144-614A, U+614C-614F, U+6152-6156, U+6158, U+615A-615B, U+615D-615F, U+6161, U+6163, U+6165-6166, U+6168, U+616A;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-11-81dbb35ee2c2.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+616B-616C, U+616E, U+6170-6177, U+6179-617A, U+617C, U+617E, U+6180, U+6182-6183, U+6189-618E, U+6190-6194, U+6196, U+619A-619B, U+619D, U+619F, U+61A1-61A2, U+61A4, U+61A7-61B1, U+61B3-61B6, U+61B8, U+61BA, U+61BC, U+61BE-61BF, U+61C1-61C3, U+61C5-61C8, U+61CA-61CD, U+61D6, U+61D8, U+61DE-61E0, U+61E3-61EB, U+61ED-61EE, U+61F0-61F2, U+61F5-61F7, U+61F9-6201, U+6203-6204, U+6208-620A, U+620C-620E, U+6212, U+6214-6215, U+6219-621B, U+621F-6225, U+6227, U+6229-622B, U+622D-622E, U+6233-6234, U+623A, U+623D-623E, U+6242-6243, U+6246-624A, U+624E, U+6250-6252, U+6254, U+6258-625C, U+625E, U+6260-6266, U+626D-6274, U+6276-6277, U+627A-627D, U+6281, U+6283-6289, U+628C, U+628E-6290, U+6292-6294, U+6296-6297, U+62A8-62B1, U+62B3-62B6, U+62B8-62BC, U+62BF, U+62C1-62C2, U+62C7-62C8, U+62CA-62CC, U+62CE-62D4, U+62D7-62D9, U+62EB-6300, U+6302-6303, U+6308, U+630B-6310, U+6313;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-12-71a3e790f19a.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6314-6316, U+6328-632D, U+632F, U+6331-633E, U+6340-634B, U+634D-6352, U+6354-6358, U+635A, U+635D, U+6365, U+6367-6369, U+636B, U+636D-6372, U+6375-6376, U+6378, U+637A-637E, U+6380-6382, U+6384-6385, U+6387, U+638A, U+638D-6391, U+6394, U+6396-6399, U+639C-639F, U+63A1-63A4, U+63A7, U+63A9-63B1, U+63BD-63BE, U+63C0, U+63C2-63CF, U+63D3, U+63D5-63DA, U+63DC-63E2, U+63E4-63E5, U+63E7-63F6, U+63F9, U+63FB, U+6406, U+6409-640C, U+640E-6410, U+6412-6415, U+6417-642B, U+642E-6430, U+6433-6437, U+6439, U+643D-6441, U+6443, U+644B, U+644D-644E, U+6450-6454, U+6456, U+6458-6459, U+645B-6461, U+6465-6469, U+646B-6477, U+6479-647B, U+647D, U+647F, U+6482, U+6485-648D, U+648F-6490, U+6492;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-13-395c2cd0e7cc.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6493, U+6495-649A, U+649C-64A0, U+64A2-64A3, U+64A5-64A6, U+64A8-64A9, U+64AB-64AC, U+64AE, U+64B0-64B3, U+64BB-64BF, U+64C1-64C5, U+64C9-64CA, U+64CE-64D0, U+64D2, U+64D6-64D9, U+64DB, U+64E2-64E4, U+64E6, U+64E8-64E9, U+64EB, U+64ED, U+64EF-64F3, U+64F7-64F8, U+64FB-6501, U+6503-6504, U+6506-6507, U+6509, U+650B-650E, U+6510, U+6513-6519, U+651B-651E, U+6520-6526, U+6529-652E, U+6532-6533, U+6537-6538, U+653B, U+653D, U+6541, U+6543, U+6546, U+6549-654B, U+654F, U+6553-6556, U+6558, U+655C-655E, U+6564-6568, U+656A, U+656C, U+656F, U+6571-6573, U+6575-6577, U+6579-657C, U+657F-6584, U+658C, U+6590, U+6592, U+6594-6596, U+659B-65A2, U+65A4-65A5, U+65A7-65A8, U+65AA-65AC, U+65AE, U+65B2-65B3, U+65B6, U+65B8, U+65BB, U+65BD, U+65BF, U+65C2-65C6, U+65CB-65CE, U+65D0, U+65D2-65D3, U+65D6-65D7, U+65DA-65DB, U+65DD-65DF, U+65E1, U+65E6, U+65E8, U+65EC-65F5, U+65FA-65FD, U+6600, U+6602-660D, U+6610-6612, U+6614-6615, U+661C-661D, U+6620-6622, U+6624, U+6626-6628, U+662B, U+662D-662E, U+6631-6636, U+6639-663A, U+6641, U+6643, U+6645, U+6647, U+6649-664A;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-14-3f855ba4633b.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+664C, U+664F, U+6651-6652, U+6659, U+665B-665F, U+6661-6662, U+6664-6666, U+6668, U+666A, U+666C, U+666E, U+6670-6672, U+6674, U+6676-6679, U+667B-667C, U+667E, U+6680, U+6684, U+6686-668D, U+6690-6691, U+6694-6696, U+6698-6699, U+669F-66A2, U+66A8-66AA, U+66AE-66B2, U+66B4-66B5, U+66B7-66BB, U+66BD-66BE, U+66C0, U+66C4, U+66C7-66C8, U+66CA-66CC, U+66CF, U+66D2, U+66D6, U+66D8-66DE, U+66E0, U+66E3-66E4, U+66E6, U+66E8-66E9, U+66EB-66EE, U+66F0, U+66F3, U+66F6-66F7, U+66F9, U+66FC, U+66FE, U+6701, U+6704-6705, U+670A, U+670F-6710, U+6712-6715, U+6717-6718, U+671D, U+6720-6723, U+6726-6727, U+672B, U+672D-672E, U+6731, U+6733-6735, U+6738-673F, U+6745-6749, U+674B-674F, U+6751, U+6753, U+6755-6757, U+6759-675A, U+675C-675E, U+6760, U+676A, U+676C-6770, U+6772-677E, U+6781, U+6783-6787, U+6789, U+678B-678E, U+6790-6795, U+6798-679A, U+679F, U+67AE-67B0, U+67B2-67B5, U+67B7-67BB, U+67C0-67C6, U+67C8-67CF, U+67D1-67D2, U+67D4, U+67D8-67DF, U+67E2-67E4, U+67E6-67E7, U+67E9-67F3, U+67F5-67F8, U+67FA;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-15-35a9d78fee87.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+67FC, U+67FF, U+6812-6814, U+6816-6818, U+681A, U+681C-681D, U+681F-6820, U+6825-6826, U+6828-682B, U+682D-682F, U+6831-6835, U+683A-683B, U+683D, U+6840-6842, U+6844-6846, U+6849-684B, U+684D-6851, U+6853-6854, U+686B, U+686D-686F, U+6871-6872, U+6874-6875, U+6877-6879, U+687B-6883, U+6885-6887, U+6889-688C, U+688F-6894, U+6896-6898, U+689B-689C, U+689F-68A4, U+68A7-68B5, U+68B9, U+68C4, U+68C6-68C9, U+68CB-68CE, U+68D0-68D8, U+68DA, U+68DC-68E1, U+68E3-68E4, U+68E6-68EC, U+68EE-68FD, U+6904, U+6906-6908, U+690A-690C, U+690E-6915, U+6917, U+6925, U+692A, U+692F-6930, U+6932-6935, U+6937-6939, U+693B-693D, U+693F-6942, U+6944-6945, U+6948-694C, U+694E-694F, U+6951-6954, U+6956-6960, U+6962-6963, U+6965-6966, U+6968-696C, U+696E-6971, U+6974, U+6976-697B, U+6982-6983, U+6986, U+698D-698E, U+6990-6991, U+6993-6997, U+6999-699C, U+699E, U+69A0-69A1, U+69A3-69A5;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-16-3ed8ea2aae4c.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+69A6-69B1, U+69B3-69B7, U+69B9, U+69BB-69BF, U+69C1-69C4, U+69C6, U+69C9-69D0, U+69D3-69D4, U+69D9, U+69E2, U+69E4-69E8, U+69EB-69EE, U+69F1-69F4, U+69F6-69F8, U+69FA-6A01, U+6A04-6A0A, U+6A0D, U+6A0F, U+6A11, U+6A14-6A18, U+6A1B, U+6A1D-6A20, U+6A25-6A28, U+6A32, U+6A34-6A35, U+6A38, U+6A3A-6A42, U+6A44, U+6A46-6A49, U+6A4B, U+6A4D-6A51, U+6A54-6A56, U+6A58-6A5B, U+6A5D-6A5E, U+6A60-6A62, U+6A64, U+6A66-6A6A, U+6A6D, U+6A6F, U+6A76, U+6A7E-6A81, U+6A83-6A85, U+6A87, U+6A89, U+6A8C-6A8E, U+6A90-6A93, U+6A95-6A97, U+6A9A-6A9C, U+6A9E-6AA1, U+6AA3-6AA6, U+6AA8, U+6AAB-6AAF, U+6AB3-6AB4, U+6AB6-6ABB, U+6ABD, U+6AC2-6AC3, U+6AC5-6AC7, U+6ACB-6ACD, U+6ACF-6AD1, U+6AD3, U+6AD9-6AE1, U+6AE5, U+6AE7-6AE8, U+6AEA-6AEC, U+6AEE-6AF1, U+6AF3, U+6AF8-6AFC, U+6B00, U+6B02-6B04, U+6B08-6B09, U+6B0B, U+6B0F-6B13, U+6B16-6B1A, U+6B1E, U+6B23, U+6B25, U+6B28, U+6B2C-6B2D, U+6B2F, U+6B31, U+6B33-6B34, U+6B36-6B3D, U+6B3F, U+6B41-6B43, U+6B45-6B46;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-17-22d0ecd2b1d9.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6B48-6B4B, U+6B4D-6B4E, U+6B50-6B51, U+6B54-6B56, U+6B59, U+6B5B-6B5C, U+6B5E-6B60, U+6B67, U+6B6A, U+6B6D, U+6B76-6B78, U+6B7E-6B80, U+6B82-6B84, U+6B86, U+6B88-6B8A, U+6B8C-6B8F, U+6B91, U+6B94-6B99, U+6B9B, U+6B9E-6BA0, U+6BA2-6BA7, U+6BAA-6BAB, U+6BAD-6BB0, U+6BB2-6BB3, U+6BB6-6BB7, U+6BBD, U+6BBF-6BC0, U+6BC3-6BCA, U+6BCC, U+6BD0, U+6BD3, U+6BD6-6BD8, U+6BDA, U+6BDE, U+6BE0, U+6BE2-6BE4, U+6BE6-6BE8, U+6BEB-6BEC, U+6BEF-6BF0, U+6BF2-6BF3, U+6BF7-6BF9, U+6BFB-6C06, U+6C08-6C09, U+6C0B-6C0D, U+6C0F-6C10, U+6C13-6C16, U+6C18-6C1B, U+6C1D, U+6C1F-6C21, U+6C24-6C28, U+6C2A-6C2C, U+6C2E-6C30, U+6C33, U+6C36, U+6C38, U+6C3B, U+6C3E-6C41, U+6C43, U+6C46, U+6C4A-6C50, U+6C52, U+6C54-6C55, U+6C59, U+6C5B-6C61, U+6C65-6C6B, U+6C6D, U+6C6F-6C74, U+6C76, U+6C78, U+6C7B, U+6C7D-6C7E, U+6C80-6C88, U+6C8A-6C90, U+6C93-6C96, U+6C98, U+6C9A-6C9D, U+6CA2, U+6CAB-6CAE, U+6CB0-6CB1, U+6CB4, U+6CB6-6CB8, U+6CBA, U+6CBC-6CC0, U+6CC2-6CC7, U+6CC9-6CCA, U+6CCC-6CCD, U+6CCF-6CD4, U+6CD6-6CD7, U+6CD9-6CDE, U+6CE0-6CE1;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-18-98791ef0daa1.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6CE3, U+6CE5, U+6CE7, U+6CE9, U+6CEB-6CF3, U+6CF5, U+6CF9, U+6D00-6D01, U+6D03-6D04, U+6D07-6D0A, U+6D0C-6D12, U+6D16, U+6D18-6D1B, U+6D1D-6D20, U+6D22, U+6D25, U+6D27-6D3A, U+6D3C, U+6D3F-6D40, U+6D42, U+6D58-6D5A, U+6D5E-6D6A, U+6D6C-6D6D, U+6D6F-6D70, U+6D74-6D76, U+6D78-6D80, U+6D82-6D87, U+6D89-6D8E, U+6D90-6D95, U+6D97-6D98, U+6DAA-6DAC, U+6DAE-6DAF, U+6DB3-6DB5, U+6DB7-6DB8, U+6DBA-6DBB, U+6DBD-6DC0, U+6DC2, U+6DC4-6DCD, U+6DCF-6DE0, U+6DE2-6DE6, U+6DE8-6DF0, U+6DF2-6DF7, U+6DF9-6DFD, U+6E00, U+6E03, U+6E19-6E1A, U+6E1C-6E1D, U+6E1F-6E28, U+6E2B-6E2E, U+6E30-6E36, U+6E38-6E41, U+6E43-6E47, U+6E49-6E4B, U+6E4D-6E4E, U+6E51-6E56, U+6E58, U+6E5A-6E68;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-19-241c9b22b560.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6E69, U+6E6B, U+6E6E, U+6E71-6E74, U+6E77-6E79, U+6E88-6E89, U+6E8D-6E8F, U+6E92-6E94, U+6E97-6E9B, U+6E9E-6EA7, U+6EAE-6EB4, U+6EB6-6EB7, U+6EB9-6EBA, U+6EBC-6ED0, U+6ED2-6ED6, U+6ED8, U+6EDC, U+6EEB-6EEF, U+6EF1-6EF2, U+6EF4-6EF9, U+6EFB-6EFD, U+6F00-6F01, U+6F03, U+6F05-6F0A, U+6F0D-6F0E, U+6F12-6F13, U+6F15-6F16, U+6F18-6F1A, U+6F1C, U+6F1E-6F21, U+6F23, U+6F25-6F27, U+6F29-6F33, U+6F35-6F3C, U+6F3E-6F41, U+6F43, U+6F4E-6F55, U+6F57-6F58, U+6F5A-6F5B, U+6F5D-6F64, U+6F66-6F67, U+6F69-6F70, U+6F72-6F73, U+6F76-6F78, U+6F7A-6F80, U+6F82, U+6F84-6F89, U+6F8B-6F8E, U+6F90, U+6F92-6F97, U+6F9E, U+6FA0-6FB4, U+6FB6, U+6FB8-6FBA, U+6FBC-6FBD, U+6FBF, U+6FC1-6FC4, U+6FC6-6FCF, U+6FD4-6FD5, U+6FD8, U+6FDB-6FDE, U+6FE0-6FE4, U+6FE6-6FE7;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-20-6e35f336f9d0.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6FE8-6FE9, U+6FEB-6FF2, U+6FF4, U+6FF7, U+6FFA-6FFC, U+6FFE-7001, U+7004-7007, U+7009-700E, U+7011, U+7014-701D, U+701F-7024, U+7026-702B, U+702F-7035, U+7037-703C, U+703E-704A, U+704C, U+7051-7052, U+7055-7058, U+705A-705B, U+705D-7062, U+7064-7066, U+7068-706A, U+7071, U+7074, U+7076, U+7078, U+707A, U+707C, U+7082-7086, U+708A, U+7091-7096, U+7098-709A, U+709F, U+70A1, U+70A3-70A4, U+70A9, U+70AB-70B1, U+70B3-70B5, U+70B7-70B8, U+70BE, U+70C5-70C8, U+70CA-70CE, U+70D1-70D4, U+70D7-70DA, U+70DC-70DE, U+70E0-70E2, U+70E4, U+70EF-70F0, U+70F3-70F4, U+70F6-70FD, U+70FF-7100, U+7102, U+7104, U+7106, U+7109-710E, U+7110, U+7113, U+7117, U+7119-711C, U+711E-7120, U+7122-7123, U+7125, U+7128, U+712E-7132, U+713A, U+713F, U+7141-7144, U+7146-7147, U+7149, U+714B-7150, U+7152-7154, U+7156, U+7158, U+715A, U+715C-715D, U+715F-7166, U+7168, U+716A, U+716C, U+7170, U+7172, U+7178, U+717B, U+717D, U+7180-7182, U+7184-7187, U+7189-718A, U+718F-7190, U+7192, U+7194;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-21-ba716dab0ade.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7197, U+7199-719E, U+71A0-71A1, U+71A4-71A5, U+71A7-71AA, U+71AC, U+71AF-71B0, U+71B2-71B3, U+71B5, U+71B8-71B9, U+71BB-71C7, U+71C9-71CB, U+71CE-71D0, U+71D4-71D6, U+71D8-71DC, U+71E0-71E2, U+71E4-71E8, U+71EC-71EE, U+71F0-71F2, U+71F4, U+71F6, U+71F8-71F9, U+71FB-71FF, U+7201-7203, U+7205-7207, U+720A, U+720C-720D, U+7210, U+7213-7214, U+7219-721A, U+721D-721F, U+7222-7223, U+7226-722A, U+722C, U+7230, U+7235, U+7239-723B, U+723D, U+7241-7242, U+7244, U+7246, U+7249-724B, U+724F, U+7252-7253, U+7256, U+7258, U+725A, U+725D-7261, U+7263, U+7267, U+726A, U+726C, U+726E-7270, U+7272-7274, U+7276-7278, U+727B-727C, U+727E-7281, U+7284-7286, U+7288-7289, U+728B-728E, U+7290-7293, U+7295-7298, U+729A-729B, U+729D-729E, U+72A1-72AA, U+72AC, U+72AE, U+72B0, U+72B4-72B5, U+72BA, U+72BD, U+72BF, U+72C1, U+72C3-72C6, U+72C9-72CC, U+72CE, U+72D0-72D2, U+72D4, U+72D6, U+72D8-72DA, U+72DC, U+72DF-72E1, U+72E3-72E4, U+72E6, U+72E8-72EB, U+72F3-72F4, U+72F6-7301, U+7307-7308, U+730A-730C, U+730F, U+7311-7313, U+7316-7319, U+731B-731E, U+7322-7323, U+7325-7327, U+7329, U+732B, U+732D, U+7330-7333, U+7335, U+7337, U+733A-733B;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-22-1290117c3cf7.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+733C, U+733E-7340, U+7342-7345, U+7349-734A, U+734C-734E, U+7350-7352, U+7357-735B, U+735D-7362, U+7365-7367, U+7369-736C, U+736E-7370, U+7372-7373, U+7375-7378, U+737A-7386, U+7388-738A, U+738E, U+7392-7397, U+739D, U+739F-73A2, U+73A4-73A6, U+73A8-73A9, U+73AB-73AD, U+73B2-73B9, U+73BB-73BC, U+73BE-73C0, U+73C2-73C3, U+73C5-73C8, U+73CA-73CD, U+73D2-73D4, U+73D6-73DE, U+73E3, U+73E5, U+73E7-73EB, U+73EE, U+73F4-73F6, U+73F8, U+73FA, U+73FC-73FD, U+73FF-7401, U+7404-7405, U+7407-740D, U+7416, U+741A-741B, U+741D, U+7420-7426, U+7428-7436, U+743A, U+743F-7442, U+7444, U+7446, U+744A-744B, U+744D-7452, U+7454-7455, U+7457, U+7459-745C, U+745E-745F, U+7462-7464, U+7467, U+7469-746A, U+746D-7473, U+7475, U+7479, U+747C-7481, U+7483, U+7485-748B, U+7490, U+7492, U+7494-7495, U+7497-7498, U+749A, U+749C, U+749E-74A1, U+74A3, U+74A5-74AB, U+74AD, U+74AF, U+74B1-74B2, U+74B5-74B8, U+74BA-74BB, U+74BD-74C2;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-23-e4217d7e4267.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+74C3, U+74C5, U+74CA-74CB, U+74CF, U+74D4-74DB, U+74DD-74E6, U+74E8-74E9, U+74EC, U+74EE, U+74F4-74F7, U+74FB, U+74FD-7500, U+7502-7504, U+7507-7508, U+750B-750D, U+750F-7517, U+751A, U+751D, U+7521, U+7525-7526, U+7529-752A, U+752C-752F, U+7533, U+7538-753A, U+753D-7540, U+7547-7548, U+754B, U+754E-754F, U+7554, U+755A-755D, U+755F, U+7562-7564, U+7566, U+756C, U+756F, U+7577-7579, U+757D-7580, U+7584, U+7586-7587, U+758B-758C, U+758F-7590, U+7594-7595, U+7598-759A, U+759D, U+75A2-75A5, U+75A7, U+75AA-75AB, U+75B0-75B6, U+75B8-75BB, U+75BD-75C4, U+75CA-75D2, U+75D4-75D5, U+75D7-75DA, U+75DD-75DE, U+75E0-75E4, U+75E6-75E7, U+75ED, U+75EF-7601, U+7603, U+7608-760D, U+760F-7611, U+7613-7616, U+7619-7625, U+7627-7629, U+762D, U+762F-7635, U+7638, U+763A-763D, U+7640, U+7642-7643, U+7646-7649, U+764C, U+7650, U+7652-7653, U+7656-765A, U+765C, U+765F-7662, U+7664-7665, U+7667, U+7669-766A, U+766C-766E, U+7670-7672, U+7675, U+7678;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-24-c482312de8af.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7679, U+767F, U+7681-7682, U+7686-768B, U+768E-768F, U+7692-7693, U+7695-7696, U+7699-769E, U+76A4, U+76A6, U+76AA-76AB, U+76AD, U+76AF-76B0, U+76B4-76B5, U+76B8, U+76BA-76BB, U+76BD-76BF, U+76C2-76C6, U+76C8-76CA, U+76CD-76CE, U+76D2-76D4, U+76DA-76DF, U+76E3, U+76E5-76E6, U+76E9-76EA, U+76EC-76ED, U+76EF-76F3, U+76F5, U+76F7, U+76F9-76FC, U+76FE, U+7703-7705, U+7707-7708, U+770A, U+7710-7713, U+7715, U+7719-771B, U+771D, U+7721-7723, U+7725, U+7727-7729, U+772D, U+772F, U+7731-773B, U+773D, U+7740, U+7744-7747, U+774A-774E, U+7752, U+7754-7756, U+7759-775C, U+775E-7763, U+7765-776C, U+776E-776F, U+7779, U+777C-7785, U+7787-7789, U+778B-778F, U+7791, U+7795, U+7797, U+7799-77A3, U+77A5, U+77A7-77A8, U+77AA-77AD, U+77B0-77B7, U+77BA-77BD, U+77BF, U+77C2, U+77C4, U+77C7, U+77C9-77CA, U+77CC-77D0, U+77D3-77D5, U+77D7-77DC, U+77DE, U+77E0, U+77E2, U+77E7-77E9, U+77EC, U+77EE-77F2, U+77F7-77FD, U+7802-7806, U+7809, U+780C-7813, U+781B, U+781D, U+781F-7822;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-25-e524c0e98bdc.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7823, U+7825-7833, U+7835, U+7837-7838, U+7843, U+7845, U+7848-784A, U+784C-784E, U+7850, U+7852-7853, U+785C-785E, U+7860, U+7862, U+7864-7865, U+7868-786B, U+786D-7871, U+7879, U+787B-787C, U+787E-7881, U+7883-7887, U+7889, U+788C, U+788E-788F, U+7891, U+7893-7896, U+7898-789A, U+789E-78A5, U+78A7-78AD, U+78B0, U+78B2-78B4, U+78BB, U+78BE, U+78C1, U+78C3-78C5, U+78C8-78D1, U+78D4-78D5, U+78DA-78DB, U+78DD-78E3, U+78E5, U+78E7, U+78E9-78EA, U+78EC-78ED, U+78EF, U+78F2-78F4, U+78F7, U+78F9-78FF, U+7901-7902, U+7904-7905, U+7909, U+790C, U+790E, U+7910-7914, U+7917, U+7919, U+791B-791E, U+7921, U+7923-792D, U+792F, U+7931, U+7935, U+7938-7939, U+793D, U+793F-7942, U+7944-794C, U+794F-7955, U+7957, U+795A-795D, U+795F-7961, U+7963-7965, U+7967, U+7969-796B, U+7970, U+7972-7974, U+7979-797A, U+797C-797D, U+797F, U+7981-7982, U+7988, U+798A-798B, U+798D-798E, U+7990, U+7992-7998, U+799A-799C, U+79A0-79A2, U+79A4, U+79A6-79A8, U+79AA-79AD, U+79B0-79B4, U+79B6-79BB, U+79BD-79BE;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-26-e6e86593ce94.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+79BF-79C0, U+79C5, U+79C8-79C9, U+79CB, U+79CD-79CF, U+79D2, U+79D5-79D6, U+79D8, U+79DC-79E0, U+79E3-79E7, U+79E9-79EE, U+79F6-79F8, U+79FA, U+7A00, U+7A02-7A05, U+7A08, U+7A0A, U+7A0C, U+7A10-7A15, U+7A17-7A1C, U+7A1E-7A20, U+7A22, U+7A26, U+7A28, U+7A2B, U+7A2F-7A30, U+7A34, U+7A37, U+7A39, U+7A3B-7A3D, U+7A3F-7A40, U+7A44, U+7A46-7A48, U+7A4A-7A4C, U+7A4E, U+7A54, U+7A56-7A58, U+7A5A-7A5C, U+7A5F-7A62, U+7A67-7A68, U+7A6B-7A6E, U+7A70-7A71, U+7A74-7A75, U+7A78-7A79, U+7A7B, U+7A7E, U+7A80-7A81, U+7A84-7A8C, U+7A8F-7A90, U+7A92, U+7A94-7A96, U+7A98-7A99, U+7A9E-7AA0, U+7AA2-7AA3, U+7AA8-7AAC, U+7AAE-7AAF, U+7AB1-7AB8, U+7ABA, U+7ABE-7AC1, U+7AC4-7AC5, U+7AC7-7AC8, U+7ACA, U+7AD1, U+7AD8, U+7ADF-7AE0, U+7AE3-7AE4, U+7AE6, U+7AEB, U+7AED-7AEE, U+7AF3, U+7AF5-7AF7, U+7AFA-7AFB, U+7AFD, U+7AFF-7B01, U+7B04-7B06, U+7B08-7B0A, U+7B0E-7B10, U+7B12-7B13, U+7B18-7B1B, U+7B1D-7B1E, U+7B20, U+7B22-7B25, U+7B28, U+7B2A-7B2B, U+7B2D-7B35, U+7B38, U+7B3B, U+7B40, U+7B44-7B45, U+7B47-7B48, U+7B4A, U+7B4C-7B52, U+7B56, U+7B58, U+7B60-7B61, U+7B63-7B67, U+7B69, U+7B6D-7B6E, U+7B70-7B78, U+7B82, U+7B84-7B85, U+7B87-7B88, U+7B8A-7B8C, U+7B8E-7B91, U+7B94-7B95;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-27-211e5beee46e.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7B96, U+7B98-7B99, U+7B9B-7B9D, U+7BA0, U+7BA4, U+7BAC-7BAD, U+7BAF, U+7BB1, U+7BB4-7BB5, U+7BB7-7BB9, U+7BBE, U+7BC1, U+7BC6-7BC7, U+7BC9-7BCC, U+7BCE, U+7BD4-7BD5, U+7BD8-7BEB, U+7BF0-7BF4, U+7BF7-7BF9, U+7BFB-7C03, U+7C05-7C07, U+7C09-7C11, U+7C19, U+7C1C-7C20, U+7C22-7C23, U+7C25-7C2D, U+7C30, U+7C33, U+7C37-7C39, U+7C3B-7C40, U+7C43, U+7C45, U+7C47-7C4A, U+7C4C-7C4D, U+7C50, U+7C53-7C54, U+7C57, U+7C59-7C5C, U+7C5F, U+7C63, U+7C65-7C67, U+7C69-7C6C, U+7C6E-7C6F, U+7C72, U+7C75, U+7C78-7C7A, U+7C7D, U+7C7F-7C81, U+7C84-7C85, U+7C88, U+7C8A, U+7C8C-7C8D, U+7C91, U+7C94-7C96, U+7C98, U+7C9E-7C9F, U+7CA1-7CA3, U+7CA5, U+7CA7-7CA9, U+7CAF, U+7CB1-7CB5, U+7CB9-7CBD, U+7CC5, U+7CC8, U+7CCB-7CCE, U+7CD0-7CD2, U+7CD4-7CD5, U+7CD7, U+7CD9, U+7CDC-7CE0, U+7CE2, U+7CE7-7CE8, U+7CEA, U+7CEC, U+7CEE-7CF2, U+7CF4, U+7CF6-7CF8, U+7CFD-7CFE, U+7D01-7D03, U+7D06-7D13, U+7D15-7D18, U+7D1B-7D1F, U+7D21, U+7D28-7D29, U+7D2B-7D2C, U+7D2E-7D2F, U+7D31, U+7D33, U+7D35-7D36, U+7D38-7D43, U+7D45;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-28-636490f52e43.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7D46-7D47, U+7D4A, U+7D4E-7D4F, U+7D51-7D54, U+7D56, U+7D58, U+7D5A-7D5C, U+7D5E-7D5F, U+7D61-7D63, U+7D67-7D6B, U+7D6D-7D70, U+7D73, U+7D79-7D7D, U+7D7F-7D81, U+7D83-7D86, U+7D88, U+7D8C-7D8F, U+7D91-7D92, U+7D94, U+7D96, U+7D9C-7D9F, U+7DA1-7DA3, U+7DA6-7DA7, U+7DA9-7DAA, U+7DAC, U+7DAE-7DB1, U+7DB5, U+7DB7-7DC2, U+7DC4-7DC7, U+7DC9, U+7DCB-7DCC, U+7DCE, U+7DD2, U+7DD7-7DD9, U+7DDB, U+7DDD-7DE1, U+7DE6-7DE7, U+7DE9-7DEA, U+7DEC, U+7DEE-7DF3, U+7DF6-7DF7, U+7DF9-7DFB, U+7E03, U+7E08-7E17, U+7E1A-7E22, U+7E24-7E25, U+7E29-7E2A, U+7E2D-7E3C, U+7E3E-7E49, U+7E4C, U+7E4F-7E5A, U+7E5C, U+7E5E-7E63, U+7E68-7E6B, U+7E6D, U+7E6F-7E70, U+7E72-7E7B, U+7E7D-7E7E, U+7E80-7E82, U+7E86-7E88, U+7E8A-7E8B, U+7E8D, U+7E8F, U+7E91, U+7E93-7E9C, U+7F36, U+7F38-7F39, U+7F3D-7F3F, U+7F43-7F45, U+7F48, U+7F4A-7F4D, U+7F4F-7F51, U+7F54-7F55, U+7F58, U+7F5B-7F5F;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-29-71fd63ecb06d.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7F60-7F61, U+7F63, U+7F65-7F69, U+7F6B-7F6D, U+7F70, U+7F72-7F73, U+7F76-7F77, U+7F79-7F7F, U+7F83, U+7F86-7F89, U+7F8B-7F8D, U+7F91-7F96, U+7F9A-7F9E, U+7FA0-7FA2, U+7FA5-7FA8, U+7FAC-7FAD, U+7FAF-7FC0, U+7FC2-7FC3, U+7FC5, U+7FC7, U+7FC9-7FD1, U+7FD4-7FD5, U+7FD7, U+7FDB-7FDC, U+7FDE-7FE3, U+7FE5-7FE6, U+7FE8-7FF5, U+7FF7-7FF9, U+7FFC-8000, U+8004, U+8006-8007, U+800B, U+800E-8012, U+8014-8019, U+801B-801C, U+801E-801F, U+8021, U+8024, U+8026, U+8028-802A, U+802C, U+8030, U+8034-8037, U+8039, U+803D-803F, U+8043, U+8046-8048, U+804A, U+804F-8052, U+8058, U+805A, U+805C-805E, U+8064, U+8067, U+806C, U+8070-8071, U+8073, U+8075-8076, U+8078-8079, U+807E-807F, U+8082, U+8084-8087, U+808A-808C, U+808F-8090, U+8092-8093, U+8095-8096, U+8098-8099, U+809B-809C, U+80A2-80A3, U+80A8-80AB, U+80AD-80AF, U+80B1, U+80B4-80B5, U+80B8, U+80BA, U+80C2-80C5, U+80C7-80CA, U+80CD, U+80CF-80D1, U+80D4-80DE, U+80E0, U+80E3-80E6, U+80ED-80F5, U+80F9-80FC, U+80FE-8102;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-30-2152c2e09976.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8105-8106, U+810A, U+8115-8116, U+8118-8119, U+811B, U+811D-811F, U+8121-8125, U+8127, U+8129, U+812C-812D, U+812F-8130, U+8139-813A, U+813D-813E, U+8143-8144, U+8146-8148, U+814A-8155, U+815B-815C, U+815E, U+8160-8162, U+8164-8165, U+8167, U+8169, U+816B, U+816E-816F, U+8171-8172, U+8174, U+8176-8177, U+817A, U+8180-8183, U+8186-818E, U+8195, U+8197-81A0, U+81A2-81A3, U+81A6-81A7, U+81AB-81AE, U+81B0-81B5, U+81B7, U+81B9-81BC, U+81BE-81C7, U+81CA, U+81CC-81CD, U+81CF-81D2, U+81D5, U+81D7-81DB, U+81DD-81E3, U+81E5-81E9, U+81EC, U+81EE, U+81F2, U+81F7-81F9, U+81FB-8202, U+8204-8205, U+820B, U+820D, U+8210-8212, U+8214-8216, U+821B-821D, U+821F-8222, U+8225, U+8228, U+822A-822C, U+822F, U+8232-8238, U+823A, U+823C-823D, U+823F-8240, U+8242, U+8244-8245, U+8247, U+8249, U+824B, U+824E-8253, U+8255-825C, U+825E-825F, U+8261, U+8263-8264, U+8266, U+8268-8269, U+826B-826E, U+8274-8275, U+8277-8278, U+827C-8280, U+8283-8285, U+828A-828B, U+828D-8294, U+8298-829B, U+829D-82A5;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-31-cfcdc4d70c1d.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+82A7-82A9, U+82AB-82B0, U+82B4-82BE, U+82C0, U+82C2-82C3, U+82D1-82D7, U+82D9, U+82DB-82DC, U+82DE-82E1, U+82E3-82E4, U+82E7-82E8, U+82EA-82ED, U+82EF-82F0, U+82F2-82F6, U+82F9-82FB, U+82FE, U+8300-8309, U+830C-830D, U+8316-8317, U+8319, U+831B-831C, U+831E, U+8320, U+8322, U+8324-832D, U+832F, U+8331-8335, U+8337-833C, U+833F-8345, U+8347-8348, U+834A-8354, U+8356, U+8373-8378, U+837A-837F, U+8381, U+8383, U+8386-8390, U+8392-839B, U+839D-839E, U+83A0, U+83A2-83AA, U+83AE-83B0, U+83BD, U+83BF-83CC, U+83CE-83CF, U+83D1, U+83D4-83D9, U+83DB, U+83DD-83E5, U+83E7-83EC, U+83EE, U+83F0-83F6, U+83F8-83FF, U+8401, U+8403-8404, U+8406-8407, U+8409-8413, U+841B, U+8423, U+8429, U+842B, U+842D, U+842F-8438;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-32-9b2d76d1dd55.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8439-843C, U+843F-8440, U+8442-8447, U+844B-844E, U+8450-8452, U+8454, U+8456, U+8459-845B, U+845D-8461, U+8463, U+8465-8469, U+846B-8470, U+8473-847A, U+847D-847E, U+8482, U+8486, U+848D-8491, U+8494, U+8497-84A2, U+84A4, U+84A7-84AC, U+84AE-84B2, U+84B4, U+84B6, U+84B8-84BC, U+84BF-84C2, U+84C4-84C7, U+84C9-84CA, U+84CC-84D4, U+84D6-84D7, U+84DB, U+84E7-84EC, U+84EE-84F4, U+84F6-84F7, U+84F9-8500, U+8502, U+8506-850F, U+8511-851A, U+851C-8521, U+8523-8531, U+853B, U+853D-853E, U+8540-8541, U+8543-854A, U+854D-854E, U+8551-8559, U+855B, U+855D-855E, U+8560-856E, U+8571, U+8573, U+8575-857C, U+857E, U+8580-8583, U+8585-8591, U+8594-8596, U+8598-859D;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-33-f3f7e9f4a8b9.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+859E-85A4, U+85A6-85AA, U+85B0-85B1, U+85B3-85BA, U+85BD-85C0, U+85C2-85C9, U+85CB, U+85CD-85CE, U+85D0-85D2, U+85D5, U+85D7-85DA, U+85DC, U+85DE-85E4, U+85E6, U+85E8-85ED, U+85EF-85F2, U+85F6-85FB, U+85FD-8601, U+8604-8607, U+8609-860C, U+8611, U+8617-861C, U+861E-8627, U+8629-862A, U+862C, U+862E, U+8631-8636, U+8638-863C, U+863E-8640, U+8643, U+8646-8648, U+864B-864D, U+8650, U+8652-8654, U+8656, U+8659, U+865C, U+865E, U+8661-8665, U+8667-8671, U+8673-8674, U+8677, U+8679-867C, U+8685-8687, U+868A-868E, U+8690-8691, U+8693-869A, U+869C-869E, U+86A1-86A5, U+86A7-86AA, U+86AF-86B1, U+86B3-86C6, U+86C8-86C9, U+86CC, U+86D0-86D1, U+86D3-86D4, U+86D6-86DF, U+86E2-86E4, U+86E6, U+86E8-86ED, U+86F5-86FB, U+86FE, U+8700-870B;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-34-e9d2f78a324f.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+870C-870E, U+8711-8713, U+8718-871C, U+871E, U+8720-872A, U+872C-872E, U+8730-8735, U+8737-8738, U+873A-873C, U+873E-8743, U+8746, U+874C-8765, U+8767-876F, U+8772-877B, U+8781-8785, U+8787-8789, U+878D, U+878F-8798, U+879A-879F, U+87A3-87A4, U+87AA-87B0, U+87B2-87B9, U+87BB-87C0, U+87C2-87C6, U+87C8-87CC, U+87CE, U+87D1-87D4, U+87D7-87D9, U+87DB-87E8, U+87EA-87EF, U+87F3-87F4, U+87F6-87F7, U+87F9-87FC, U+87FE-8803, U+8805-8806, U+8808-880D, U+8810-8811, U+8813-8819, U+881B-881D, U+881F-8826, U+8828-882C, U+882E-8833, U+8835-8839, U+883B-883F, U+8841, U+8843-8844, U+8848, U+884A-884B, U+884D-884E, U+8852, U+8855-8856, U+8859-885B, U+8861-8862, U+8867, U+8869;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-35-ba018b96a41c.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+886A, U+886D, U+886F, U+8871-8872, U+8874-8877, U+8879, U+887C-8881, U+8883, U+8888-8889, U+888C-888E, U+8891-8893, U+8895-889B, U+889E-889F, U+88A1-88A2, U+88A4, U+88A7-88A8, U+88AA, U+88AC, U+88B1-88B2, U+88B6-88BA, U+88BC-88BE, U+88C0-88C2, U+88C9-88D0, U+88D2, U+88D4-88DB, U+88DE-88DF, U+88E7-88E8, U+88EB-88EC, U+88EE-88F4, U+88F6-88FC, U+88FE, U+8901-8902, U+8905-8906, U+8909-890C, U+890E, U+8910-891A, U+891E-891F, U+8921-8923, U+8925-8927, U+8929-8931, U+8933, U+8935-8938, U+893B-893E, U+8940-8942, U+8944, U+8946-8947, U+8949, U+894B-894C, U+894F-8953, U+8956-8964, U+8966, U+8969-896F, U+8971-8974, U+8976, U+8979-897C, U+897E, U+8982-8983, U+8985-8986, U+8988, U+8993, U+8995, U+8997-8998, U+899B-899F, U+89A1-89A4, U+89A6, U+89AC-89AF, U+89B2, U+89B6-89B7, U+89B9, U+89BE-89BF, U+89D3-89D6, U+89D9-89DD, U+89DF-89E2, U+89E4-89E6, U+89E8-89E9, U+89EB-89ED, U+89F0-89F4, U+89F6-89F7, U+89FA-89FC, U+89FE-89FF, U+8A03-8A04, U+8A07, U+8A0C, U+8A0F-8A13;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-36-136bf02691fc.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8A15-8A17, U+8A1B, U+8A1D-8A1F, U+8A22-8A23, U+8A25, U+8A27, U+8A2A, U+8A2C, U+8A30, U+8A34, U+8A36, U+8A39-8A3A, U+8A3C, U+8A3E-8A41, U+8A44-8A46, U+8A48, U+8A4A, U+8A4C-8A52, U+8A54-8A59, U+8A5B, U+8A60-8A61, U+8A63, U+8A68-8A69, U+8A6B-8A6E, U+8A70, U+8A73-8A77, U+8A79-8A7C, U+8A7F, U+8A81-8A87, U+8A8B, U+8A8F-8A93, U+8A95-8A96, U+8A98-8A9A, U+8AA1, U+8AA3, U+8AA5-8AA8, U+8AAB, U+8AB6, U+8AB8-8ABE, U+8AC0, U+8AC2-8AC9, U+8ACD, U+8ACF, U+8AD1-8AD5, U+8AD7-8AD9, U+8ADB-8AE2, U+8AE4, U+8AE6-8AE8, U+8AEB, U+8AED-8AF8, U+8AFA-8AFC, U+8AFE-8B02, U+8B04-8B08, U+8B0A-8B0B, U+8B0D-8B1A, U+8B1C, U+8B1E, U+8B20, U+8B22-8B28, U+8B2A-8B2C, U+8B2E-8B31, U+8B33, U+8B35-8B37, U+8B39-8B3E, U+8B40-8B42, U+8B45-8B48, U+8B4A-8B4B, U+8B4E-8B57, U+8B59-8B5A, U+8B5C-8B5D, U+8B5F-8B60, U+8B63, U+8B65, U+8B67-8B68, U+8B6A-8B6D, U+8B74, U+8B78-8B7B, U+8B7D-8B7F, U+8B82, U+8B84-8B86, U+8B88, U+8B8B-8B8C, U+8B8E, U+8B92-8B96, U+8B98-8B9A, U+8B9C, U+8B9E-8B9F, U+8C37;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-37-d8cea81bbe94.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8C39, U+8C3B-8C3F, U+8C41-8C43, U+8C45, U+8C47-8C50, U+8C54-8C57, U+8C5A, U+8C5C-8C5D, U+8C5F, U+8C62, U+8C64-8C66, U+8C68-8C6B, U+8C6D, U+8C6F-8C73, U+8C75-8C7B, U+8C7D, U+8C80-8C82, U+8C84-8C86, U+8C89-8C8A, U+8C8C-8C8D, U+8C8F-8C92, U+8C94-8C95, U+8C97-8C9A, U+8C9C-8C9E, U+8CA2-8CA5, U+8CA7, U+8CA9-8CAB, U+8CAF-8CB0, U+8CB2-8CB3, U+8CB5-8CB6, U+8CB8-8CBA, U+8CBD-8CC5, U+8CC8, U+8CCC, U+8CCF, U+8CD1-8CD3, U+8CD5, U+8CD7, U+8CD9-8CDA, U+8CDC-8CE2, U+8CE4-8CE8, U+8CEC-8CEE, U+8CF0-8CF1, U+8CF3, U+8CF5, U+8CF8-8CFC, U+8CFE, U+8D00, U+8D02, U+8D04-8D0A, U+8D0C-8D0D, U+8D10, U+8D13-8D17, U+8D19, U+8D1B, U+8D66-8D69, U+8D6B-8D6F, U+8D72-8D74, U+8D76, U+8D78-8D79, U+8D7B, U+8D7D, U+8D80, U+8D84, U+8D89, U+8D8C-8D94, U+8D96, U+8D99, U+8D9B-8D9C, U+8D9F-8DA1, U+8DA3, U+8DA5, U+8DA7-8DA8, U+8DAA-8DAF, U+8DB2, U+8DB4-8DB7, U+8DB9-8DBA, U+8DBC, U+8DBE-8DBF, U+8DC1-8DC2, U+8DC5-8DC8, U+8DCC-8DD1, U+8DD3-8DDD, U+8DE0-8DE3, U+8DE6-8DEC, U+8DEE, U+8DF0-8DF2, U+8DF4, U+8DFA, U+8DFC-8E00, U+8E02-8E03;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-38-8268df52afd4.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8E04, U+8E06-8E07, U+8E09-8E0A, U+8E0D, U+8E10-8E27, U+8E29, U+8E2B, U+8E2D-8E2E, U+8E30-8E31, U+8E33-8E36, U+8E38-8E39, U+8E3C-8E42, U+8E44-8E45, U+8E47-8E4E, U+8E50, U+8E53-8E57, U+8E59-8E5A, U+8E5C-8E67, U+8E69-8E6A, U+8E6C-8E6D, U+8E6F, U+8E72-8E74, U+8E76, U+8E78, U+8E7A-8E7D, U+8E81-8E82, U+8E84-8E8E, U+8E90-8E98, U+8E9A, U+8E9D-8EA1, U+8EA3-8EA6, U+8EA8-8EAA, U+8EAC, U+8EB2, U+8EBA, U+8EBC-8EBD, U+8EC1-8EC2, U+8EC9, U+8ECB-8ECC, U+8ECF, U+8ED1-8ED4, U+8ED7-8ED8, U+8EDB-8EDE, U+8EE0-8EE1, U+8EE5-8EE9, U+8EEB-8EEC, U+8EEE-8EEF, U+8EF1, U+8EF4-8EFC, U+8EFE-8F02, U+8F05-8F08, U+8F0A-8F0B, U+8F0D-8F0E, U+8F10-8F14, U+8F16-8F18, U+8F1A-8F20, U+8F23-8F26, U+8F2C, U+8F2E, U+8F32-8F37, U+8F39, U+8F3B, U+8F3E-8F40, U+8F42-8F48, U+8F4B, U+8F4D-8F5B, U+8F5D-8F64, U+8F9B-8F9C, U+8F9F, U+8FA3, U+8FA8, U+8FAE-8FB1, U+8FB4;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-39-719f1d81d5d6.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8FBF, U+8FC2, U+8FC4-8FC6, U+8FC9, U+8FCB-8FCE, U+8FD2-8FD3, U+8FD5-8FD7, U+8FE0-8FE6, U+8FE8, U+8FEA-8FEB, U+8FED-8FEE, U+8FF0, U+8FF4-8FF6, U+8FF8, U+8FFA-8FFF, U+9002-9006, U+900B-900D, U+9011-9012, U+9015-9017, U+901B-901E, U+9021-9022, U+9024, U+9029, U+902D-902F, U+9031, U+9034-9036, U+9038, U+903C-903F, U+9041-9042, U+9044, U+9047, U+9049, U+904D, U+904F, U+9051-9052, U+9055, U+9058-9059, U+905B-905E, U+9062-9063, U+9067-9068, U+906B, U+906D, U+906F-9070, U+9073-9077, U+9079-907E, U+9080-9083, U+9085-9088, U+908B, U+908D, U+908F-9091, U+9094-9095, U+9097-9099, U+909B, U+909E-90A2, U+90A5-90A7, U+90AA, U+90AF-90B0, U+90B2-90B6, U+90B8, U+90BD-90BF, U+90C1, U+90C3, U+90C5, U+90C7-90C8, U+90CA-90CB, U+90CE, U+90D4-90DD, U+90DF-90E5, U+90E9-90ED, U+90EF-90F5, U+90F9-90FC, U+90FE-9108, U+910B, U+910D-9112, U+9114, U+9116-9124, U+9126-9136, U+9138-913B, U+913E-9141, U+9143-914C, U+914E;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-40-4eebfef0f195.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+914F-9150, U+9153, U+9155-9158, U+915A, U+915F-9165, U+9168-916A, U+916C, U+916E-916F, U+9172-9175, U+9177, U+9179-917A, U+9180-9187, U+9189-918B, U+918D, U+918F-9193, U+9199-91A3, U+91A5, U+91A7-91A8, U+91AA, U+91AC-91B5, U+91B7, U+91B9-91BA, U+91BC-91BE, U+91C0-91C3, U+91C5-91C7, U+91C9, U+91D0, U+91D3-91D5, U+91D7-91DA, U+91DC, U+91E2-91E4, U+91E6-91EE, U+91F1, U+91F3-91F5, U+91F7-91F9, U+91FD, U+91FF-9207, U+9209-920A, U+920C-920D, U+920F-9212, U+9214, U+9216-9217, U+9219-921A, U+921C, U+921E, U+9223-9227, U+922A, U+922D-922E, U+9230-9234, U+9236-923A, U+923D-9240, U+9245-9246, U+9248-9254, U+9256-9257, U+925A-925B, U+925E, U+9260-9261, U+9263-9267, U+926C-926D, U+926F-9270, U+9272, U+9276, U+9278-927F, U+9282, U+9285-9288, U+928A-928E, U+9291, U+9293-929D, U+92A0-92AC, U+92B2-92B7, U+92B9, U+92BB-92BC, U+92C0-92CB;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-41-570897eca65d.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+92CC-92D3, U+92D5, U+92D7-92D9, U+92DD-92E1, U+92E4, U+92E6-92EA, U+92EE-92F1, U+92F7-92FC, U+92FE-9302, U+9306, U+9308-9309, U+930B-9316, U+9318-931B, U+931D-9321, U+9323-932A, U+932D-932E, U+9333-9336, U+9338-9339, U+933C, U+9346-9347, U+9349-9352, U+9354-935C, U+935E, U+9360-9361, U+9363-9365, U+9367, U+936A, U+936C-936D, U+9370-9371, U+9376-9377, U+9379-937C, U+937E, U+9380, U+9382-9383, U+9388-938A, U+938C-938F, U+9391-9392, U+9394-939B, U+939D-939F, U+93A1-93AA, U+93AC, U+93AE-93B5, U+93B7, U+93C0, U+93C2-93C4, U+93C7-93C8, U+93CA, U+93CC-93D2, U+93D4-93DA, U+93DC-93DF, U+93E2-93E4, U+93E6-93E8, U+93EC, U+93EE, U+93F5-9400, U+9403, U+9406-9407, U+9409-9416, U+9419, U+9420, U+9428-942C, U+942E, U+9430-9433, U+9436-943D, U+943F-9440, U+9444-944C, U+944F;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-42-b85c9012ba49.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+9450-9452, U+9455, U+9457, U+945D-945E, U+9460, U+9462-9464, U+9468-946B, U+946D-9478, U+947C-9483, U+957A-957D, U+9582, U+9586, U+9588-9589, U+958C-9591, U+9594-9595, U+9598, U+959B-959C, U+959E-959F, U+95A1, U+95A4-95A5, U+95A8-95A9, U+95AB-95AE, U+95B0-95B1, U+95B5-95B7, U+95B9-95C0, U+95C3, U+95C5-95CD, U+95D0-95D6, U+95DA-95DB, U+95DE-95E5, U+961C, U+961E, U+9620-9624, U+9628, U+962A, U+962C-962D, U+962F-9631, U+9639-963D, U+9640, U+9642-9643, U+964A-964F, U+9651, U+9653-9654, U+9658, U+965B-965F, U+9661, U+966A-966D, U+966F, U+9671-9672, U+9674-9678, U+967C, U+967E, U+9680, U+9683-9689, U+968B, U+968D, U+9691-9693, U+9695, U+9697-9699, U+969B-969C, U+969E, U+96A1-96A2, U+96A4, U+96A7, U+96A9, U+96AC, U+96AE, U+96B0, U+96B3-96B4, U+96B8-96B9, U+96BC, U+96BF-96C3, U+96C5, U+96C7-96CE, U+96D2-96D8, U+96DA-96DB, U+96DD, U+96DF, U+96E1, U+96E5, U+96E9-96EA, U+96EF-96F1, U+96F5, U+96F8-96FA, U+96FD, U+96FF, U+9702, U+9704-9709, U+970B, U+970D-9713, U+9716, U+9718-9719, U+971C-9720, U+9722-9726;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-43-b640b74257a9.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+9727-972C, U+972E-9730, U+9735, U+9738-973A, U+973D-973F, U+9742-9744, U+9746-9747, U+9749, U+974B, U+9756-9758, U+975A-975B, U+9761, U+9766, U+9768-976A, U+976C, U+976E, U+9770, U+9772-9774, U+9776-9778, U+977A-9785, U+9788, U+978A, U+978D-978F, U+9794, U+9797-979A, U+979C-979E, U+97A0-97A6, U+97A8, U+97AA-97AE, U+97B3, U+97B6-97B7, U+97B9, U+97BB, U+97BF, U+97C1, U+97C3-97C7, U+97C9, U+97CB-97D0, U+97D3-97D9, U+97DC-97DF, U+97E1, U+97E3, U+97E5, U+97ED, U+97F0-97F1, U+97F6, U+97F8-97FB, U+97FD-97FE, U+9800, U+9803-9804, U+9807-9808, U+980A, U+980C-980F, U+9811-9812, U+9815-9817, U+981B-981E, U+9820-9821, U+9824, U+9826-9829, U+982B, U+982F-9830, U+9832, U+9835, U+9837-9839, U+983B, U+9841, U+9843-9845, U+9848-984A, U+984E-9853, U+9857, U+9859, U+985C-985D, U+985F-9860, U+9862-9865, U+9869-986B, U+9870-9874, U+98A9, U+98AC-98AF, U+98B1-98B3, U+98B6, U+98B8, U+98BA-98C2, U+98C4, U+98C6, U+98C9, U+98CB-98CC, U+98E2-98E3, U+98E5, U+98E7, U+98E9-98EB, U+98ED, U+98F2, U+98F4, U+98F6, U+98F9-98FA, U+98FE, U+9900, U+9902-9903, U+9907-9909, U+990C, U+9910-9917, U+991A-991B, U+991E-991F, U+9921, U+9924-9925, U+9927-992D;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-44-420a63f128d0.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+992E-9933, U+9935, U+993A, U+993C-993F, U+9941, U+9943, U+9945, U+9947-9949, U+994B-994C, U+994E, U+9950-9959, U+995B-995C, U+995E-995F, U+9961, U+9997-9998, U+999C-999E, U+99A1, U+99A3, U+99A5-99A8, U+99AB, U+99AD-99B5, U+99B9-99BB, U+99BD, U+99C1-99C3, U+99C7, U+99C9, U+99CB-99D9, U+99DB-99DD, U+99DF, U+99E2-99E5, U+99E7, U+99E9-99EA, U+99EC-99EE, U+99F0-99F1, U+99F4, U+99F6-99FF, U+9A01-9A07, U+9A09-9A0B, U+9A0D-9A0F, U+9A11, U+9A14-9A16, U+9A1A-9A1E, U+9A20, U+9A22-9A25, U+9A27, U+9A29-9A2E, U+9A30-9A32, U+9A34-9A3A, U+9A3D-9A46, U+9A48-9A4A, U+9A4C-9A50, U+9A52-9A57, U+9A59, U+9A5B, U+9A5E-9A60, U+9A62, U+9A64-9A6B, U+9AAB, U+9AAD, U+9AAF-9AB1, U+9AB3-9AB4, U+9AB7-9AB9, U+9ABB-9ABC, U+9ABE-9AC2, U+9AC6-9AC7, U+9ACA, U+9ACD, U+9ACF-9AD3, U+9AD5-9AD6, U+9ADC, U+9ADF, U+9AE1, U+9AE3, U+9AE6-9AE7, U+9AEB-9AEF, U+9AF1-9AF3, U+9AF6-9AF7, U+9AF9-9AFE, U+9B01, U+9B03-9B05, U+9B08, U+9B0A-9B0E, U+9B10-9B12, U+9B15-9B17;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-45-24798f9df483.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+9B18-9B19, U+9B1E-9B20, U+9B22-9B24, U+9B28-9B29, U+9B2B, U+9B2E-9B2F, U+9B31-9B33, U+9B35, U+9B37, U+9B3A-9B3B, U+9B3E-9B3F, U+9B41-9B46, U+9B48, U+9B4A-9B4F, U+9B51-9B52, U+9B54-9B56, U+9B58-9B59, U+9B5B, U+9B5F-9B61, U+9B64, U+9B66-9B69, U+9B6C, U+9B6F-9B71, U+9B74-9B77, U+9B7A-9B7E, U+9B80, U+9B82, U+9B85-9B88, U+9B8A, U+9B90-9B93, U+9B95, U+9B98, U+9B9A-9B9B, U+9B9E, U+9BA0-9BA2, U+9BA4-9BA6, U+9BA8, U+9BAA-9BAB, U+9BAD-9BAF, U+9BB5-9BB6, U+9BB8-9BB9, U+9BBB, U+9BBD, U+9BBF-9BC1, U+9BC3-9BC4, U+9BC6-9BCA, U+9BD3-9BD7, U+9BD9-9BDC, U+9BDE, U+9BE0-9BE2, U+9BE4-9BE8, U+9BEA-9BEC, U+9BEE, U+9BF0, U+9BF7-9BF8, U+9BFD, U+9C05-9C09, U+9C0B, U+9C0D-9C0E, U+9C12-9C14, U+9C17, U+9C1C-9C1D, U+9C21, U+9C23-9C25, U+9C28-9C29, U+9C2B-9C2E, U+9C31-9C34, U+9C36-9C37, U+9C39-9C41, U+9C44, U+9C46, U+9C48-9C4E, U+9C50, U+9C52, U+9C54-9C59, U+9C5E-9C60, U+9C62-9C63, U+9C66-9C68, U+9C6D-9C6E, U+9C71-9C75, U+9C77-9C7A, U+9CE6-9CE7, U+9CE9-9CEA, U+9CED, U+9CF1-9CF7, U+9CF9-9CFD, U+9CFF-9D00, U+9D03-9D09, U+9D10, U+9D12, U+9D14-9D15, U+9D17-9D19, U+9D1B, U+9D1D-9D20, U+9D22-9D23, U+9D25-9D26, U+9D29, U+9D2D-9D30;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-46-f7ae7cdeac07.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+9D31, U+9D33, U+9D36-9D38, U+9D3B, U+9D3D-9D43, U+9D45, U+9D4A-9D4C, U+9D4F, U+9D51-9D54, U+9D56-9D5D, U+9D5F-9D61, U+9D64, U+9D67-9D6C, U+9D6F-9D75, U+9D77-9D79, U+9D7B, U+9D7D, U+9D7F-9D82, U+9D84-9D8C, U+9D90, U+9D92, U+9D94, U+9D96-9DA4, U+9DA6-9DAA, U+9DAC-9DAD, U+9DAF, U+9DB1-9DBC, U+9DBE-9DBF, U+9DC1-9DC3, U+9DC5, U+9DC7-9DC8, U+9DCA-9DD3, U+9DD5-9DDF, U+9DE1-9DE6, U+9DE8-9DE9, U+9DEB-9DF0, U+9DF2-9DFB, U+9DFD-9E07, U+9E09, U+9E0B, U+9E0D, U+9E0F-9E15, U+9E17, U+9E19-9E1B, U+9E1D-9E1E, U+9E75, U+9E7A, U+9E7C, U+9E7F-9E80, U+9E82-9E83, U+9E86-9E8E, U+9E91-9E94, U+9E97, U+9E99-9E9D, U+9E9F-9EA1, U+9EA4-9EA5, U+9EA7, U+9EA9, U+9EAD-9EAE, U+9EB0, U+9EB4, U+9EB6-9EB7, U+9EBE, U+9EC0, U+9EC2, U+9EC8, U+9ECC-9ED0, U+9ED3-9ED8, U+9EDA-9EDD, U+9EDF-9EE0, U+9EE4-9EE7, U+9EEB, U+9EED-9EF0, U+9EF2-9EF5;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-47-d46420d8aff2.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+9EF6-9EF7, U+9EF9-9EFD, U+9EFF-9F01, U+9F06-9F07, U+9F09-9F0A, U+9F0E-9F10, U+9F12, U+9F15-9F16, U+9F18-9F1C, U+9F1E, U+9F22-9F25, U+9F28-9F38, U+9F3D-9F3E, U+9F40-9F43, U+9F46-9F49, U+9F4B-9F4F, U+9F54-9F59, U+9F5B-9F61, U+9F63-9F67, U+9F6A-9F6C, U+9F6E-9F72, U+9F74-9F7B, U+9F7E, U+9F90-9F92, U+9F94-9F95, U+9F98, U+9FA0, U+9FA2, U+9FA4, U+F900-F901, U+F903, U+F905-F906, U+F90B, U+F90D, U+F915, U+F917, U+F91A, U+F922, U+F92D, U+F931, U+F937, U+F939-F93A, U+F943, U+F947-F948, U+F94A, U+F952, U+F95E, U+F962, U+F965, U+F967, U+F972, U+F976, U+F978, U+F97E, U+F980, U+F986, U+F98E, U+F99C, U+F99F, U+F9B5, U+F9BB, U+F9BD, U+F9C5-F9C6, U+F9C8, U+F9D8, U+F9DC-F9DE, U+F9E0, U+F9E4, U+F9E7, U+F9F4-F9F5, U+F9FA, U+F9FD, U+F9FF, U+FA02, U+FA05-FA07, U+FA0C-FA0D, U+FA33-FA35, U+FA3A, U+FA4B, U+FE17-FE19, U+FE31, U+FE35-FE44, U+FE47-FE48, U+FF02-FF07, U+FF0A, U+FF0E, U+FF10-FF19, U+FF1C, U+FF1E, U+FF20-FF3E, U+FF40-FF4D;
}
@font-face {
  font-family: "Taigi Learn Han";
  src: url("fonts/taigi-part-48-5601f9f68ddc.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+FF4E-FF5B, U+FF5D-FF5E, U+2028E, U+203B7, U+20546-20547, U+20584, U+205FB, U+20731, U+207A9, U+207AD, U+20803, U+2081D, U+20BD7, U+20CBF, U+21883, U+21CDE, U+22399, U+22AB1, U+22AE6, U+22BED, U+22BFE, U+22C64, U+22CB4, U+22CB8, U+22CC6, U+22CEA, U+22D80, U+22F0C, U+22F1B, U+23073, U+236EE, U+23B88, U+23CA9, U+23EF8, U+23F0E, U+241AC, U+24259, U+242B6, U+2430D, U+24352, U+24419, U+24430, U+24605, U+2479A, U+24C8D, U+24D83, U+24E01, U+24E31, U+24E85, U+24EAA, U+2524C, U+2531A, U+25349, U+25435, U+2546E, U+25BDF, U+25BE5, U+25C14, U+25D0A, U+25E86, U+2624E, U+26293, U+26706, U+267EA, U+2725F, U+27285, U+27304, U+27A63, U+27B99, U+27EF4, U+27FEC, U+27FF3, U+280BE-280BF, U+280F0, U+28154, U+28468, U+28487, U+28891, U+2947E, U+296A8, U+296E9, U+29704, U+29730, U+29D71, U+29E19, U+29E36, U+29F27, U+2A04E, U+2A41E, U+2A590, U+2A612, U+2AE5A, U+2B74F, U+2B758, U+2B75B, U+2B77A-2B77B, U+2B7BC, U+2B7C2, U+2B7E7, U+2B81B, U+2B8C6, U+2C816, U+2C9B0, U+308FB, U+30E6C, U+FF545;
}
/* font-subset:end */

/* 全站維持豆腐烏字形；缺少字形才使用台灣正體系統字型。 */
* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--fg);
  background: var(--bg);
  /* 臺羅有組合音標，字型要能正確疊字 */
  font-family: "Taigi Learn Han", "標楷體", "DFKai-SB", "BiauKai", "TW-Kai", "AR PL UKai TW", "Noto Sans TC", "Noto Sans", sans-serif;
  line-height: 1.65;
}

[lang="nan"], [lang="nan-Latn"] { font-family: "Taigi Learn Han", "標楷體", "DFKai-SB", "BiauKai", "TW-Kai", "AR PL UKai TW", "Noto Sans TC", "Noto Sans", sans-serif; }

a { color: var(--accent); }

.site-header { background: var(--accent); padding: .6rem 1rem; }
.brand { color: #fff; font-weight: 700; text-decoration: none; letter-spacing: .05em; }
.container { max-width: 52rem; margin: 0 auto; padding: 1rem; }
.site-footer { max-width: 52rem; margin: 2rem auto; padding: 0 1rem; color: var(--muted); font-size: .9rem; }
.learn-footer { text-align: center; font-size: .98rem; }
.learn-footer a { font-weight: 600; }

/* 查詢列 */
.search { margin: .5rem 0 1.5rem; }
.mode { display: flex; gap: 1.2rem; margin-bottom: .4rem; font-size: .98rem; }
.search-row { display: flex; gap: .5rem; }
.search input[type=search] {
  flex: 1; min-width: 0; font-size: 1.2rem; padding: .55rem .8rem;
  border: 2px solid var(--line); border-radius: .5rem;
}
.search input[type=search]:focus { outline: none; border-color: var(--accent); }
.search button {
  font-size: 1.05rem; padding: 0 1.2rem; border: 0; border-radius: .5rem;
  background: var(--accent); color: #fff; cursor: pointer;
  white-space: nowrap; flex-shrink: 0;
}
.search button:focus-visible, .search input:focus-visible { outline: 3px solid #8fd3b8; outline-offset: 1px; }
.random { display: inline-block; margin-top: .5rem; font-size: .95rem; }

.result-title { font-size: 1.3rem; margin: 0 0 1rem; }
.result-title small, h2 small { color: var(--muted); font-weight: normal; font-size: .9rem; margin-left: .4rem; }

/* 卡片 */
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: .75rem;
  padding: 1rem 1.2rem; margin-bottom: 1rem;
}
.card-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin-bottom: .4rem; }
.num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--accent); color: #fff; font-size: .95rem; align-self: center;
}
.tw { font-size: 1.6rem; font-weight: 700; }
.compact .tw, .compact .zh-head { font-size: 1.15rem; }
.zh-head { font-weight: 700; }
.tailo { color: var(--accent); font-size: 1.05rem; }
.sources { color: var(--muted); font-size: .9rem; margin-left: auto; }

.entry { border-top: 1px dashed var(--line); padding-top: .6rem; margin-top: .4rem; }
.entry.single { border-top: 0; padding-top: 0; margin-top: 0; }
.entry-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem; }
.entry-hanzi { font-weight: 600; }
.entry-tailo { color: var(--accent); }
.badge { font-size: .85rem; padding: .05rem .5rem; border-radius: 1rem; background: var(--accent-soft); color: var(--accent); }
.warn { color: var(--warn); font-size: .95rem; margin: .3rem 0; }

.senses { margin: .4rem 0; padding-left: 1.6rem; }
.sense { margin: .5rem 0; padding: .2rem .5rem; border-radius: .4rem; }
.sense.relevant { background: var(--accent-soft); }
.definition { margin: 0; }
.pos {
  font-size: .85rem; border: 1px solid var(--line); border-radius: .3rem;
  padding: 0 .35rem; margin-right: .4rem; color: var(--muted); background: #fff;
}

.examples { list-style: none; margin: .3rem 0 .2rem; padding: 0; }
.example { margin: .35rem 0; padding-left: .7rem; border-left: 3px solid var(--line); }
.ex-tw { font-size: 1.05rem; }
.ex-tailo { color: var(--accent); font-size: 1rem; }
.ex-zh { color: var(--muted); font-size: 1rem; }
mark { background: var(--mark); color: inherit; padding: 0 .1em; border-radius: .15em; }

details.more { margin: .3rem 0; }
details.more summary { cursor: pointer; color: var(--muted); font-size: .95rem; }

.related { display: grid; grid-template-columns: max-content 1fr; gap: .1rem .8rem; margin: .5rem 0 0; font-size: .98rem; }
.related dt { color: var(--muted); }
.related dd { margin: 0; }

.compact h2 { font-size: 1rem; margin: 0 0 .5rem; }
.plain-list { list-style: none; margin: 0; padding: 0; }
.plain-list > li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .8rem; padding: .3rem 0; border-bottom: 1px solid var(--bg); }
.plain-list > li > .pair-examples,
.plain-list > li > .parts,
.plain-list > li > .longer,
.plain-list > li > .tatmoe-usage,
.plain-list > li > .user-added { flex-basis: 100%; }

.chips { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; }
.chips a { display: inline-block; padding: .15rem .7rem; border: 1px solid var(--line); border-radius: 1rem; text-decoration: none; background: #fff; }

@media (max-width: 36rem) {
  :root { font-size: 16px; }
  .sources { margin-left: 0; width: 100%; }
  .card { padding: .8rem .9rem; }
}
details.usage { margin: .6rem 0 .2rem; border-top: 1px dashed #ddd; padding-top: .4rem; }
details.usage summary { cursor: pointer; color: var(--muted); font-size: .95rem; }
details.longer { margin: .4rem 0 .2rem; }
details.longer summary { cursor: pointer; color: var(--muted); font-size: .95rem; }
.longer-list { list-style: none; padding: 0; margin: .3rem 0; display: flex; flex-wrap: wrap; gap: .2rem 1.1rem; }
details.tatmoe-usage { margin: .4rem 0 .2rem; }
details.tatmoe-usage summary { cursor: pointer; color: var(--muted); font-size: .95rem; }
p.parts { margin: .2rem 0 .4rem; font-size: .98rem; }
p.parts .badge { margin-left: .5rem; }
.part.gap { color: var(--muted); border-bottom: 1px dotted; text-decoration: none; }
.site-header { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem 1rem; }
.site-nav { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem 0; margin-left: auto; }
.site-nav a { color: #e6f2ed; text-decoration: none; margin-right: 1rem; font-size: 1.02rem; }
.site-nav a:hover { color: #fff; text-decoration: underline; }
.site-nav .nav-logout { display: inline; margin: 0; }
.site-nav .nav-user { color: #e6f2ed; font-size: .95rem; opacity: .85; margin-right: .3rem; }
.site-nav .link-button {
  background: none; border: none; padding: 0; margin: 0; font-family: inherit;
  color: #e6f2ed; text-decoration: none; font-size: .98rem; cursor: pointer;
}
.site-nav .link-button:hover { color: #fff; text-decoration: underline; }
.hint, .muted { color: var(--muted); font-size: .95rem; }
.hint a.active { font-weight: bold; color: inherit; text-decoration: none; }
.filters { display: flex; gap: .9rem; align-items: baseline; flex-wrap: wrap; margin: .6rem 0; font-size: 1rem; }
.filters .muted { margin-left: auto; }
table.worklist { width: 100%; border-collapse: collapse; background: #fff; }
.worklist th, .worklist td { text-align: left; padding: .35rem .5rem; border-bottom: 1px solid #eee; }
.worklist th { white-space: nowrap; color: var(--muted); font-weight: normal; font-size: .95rem; }
.worklist .count { text-align: right; font-variant-numeric: tabular-nums; width: 7rem; }
.pager { display: flex; gap: 1rem; justify-content: center; margin: 1rem 0; }
.flash { background: #e6f4ea; border-left: 4px solid var(--accent); padding: .4rem .7rem; }
.flash.error { background: #fdecea; border-left-color: #c0392b; }
.login-card { max-width: 24rem; }
.login-card form { display: flex; flex-direction: column; gap: .6rem; }
.inline-form { display: inline-flex; gap: .3rem; margin: 0; }
.crumbs { font-size: .98rem; }
form.review { margin: .8rem 0; }
.ex-zh.big { font-size: 1rem; color: inherit; margin-bottom: .4rem; }
.chips { display: flex; flex-wrap: wrap; gap: .25rem; margin: .3rem 0; }
.chip { font: inherit; font-size: 1.15rem; padding: .15rem .45rem; border: 1px solid #b7d3c6; border-radius: .3rem;
        background: #fff; cursor: pointer; }
.chip.aligned { color: #6b6b6b; border-color: #e3e3e3; background: #f7f7f7; }  /* 對比約 5:1（原本 #999 只有 2.7:1） */
.chip.punct { border-color: transparent; background: none; cursor: default; padding: .15rem .1rem; color: #999; }
.chip.picked { background: #ffe89a; border-color: #d9b400; color: inherit; }
.pick { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-top: .5rem; }
.pick input { font: inherit; padding: .2rem .35rem; }
button.primary { background: var(--accent); color: #fff; border: 0; border-radius: .3rem; padding: .3rem .8rem; cursor: pointer; }
.marks { display: flex; gap: .4rem; margin-top: .4rem; }
.marks button, .ignore button { font-size: .95rem; background: #fff; border: 1px solid #ccc; border-radius: .3rem;
        padding: .2rem .6rem; cursor: pointer; color: var(--muted); }
.ignore { margin: 1.5rem 0; }
.user-added { margin-top: .6rem; border-top: 1px dashed #ddd; padding-top: .4rem; }
button.link-danger { background: none; border: 0; padding: 0; color: #b42318; font-size: .95rem; cursor: pointer; text-decoration: underline; }
button.play { background: none; border: 0; padding: 0 .15rem; cursor: pointer; font-size: .95em; opacity: .75; vertical-align: baseline; }
button.play:hover { opacity: 1; }
/* 播放中：等音檔下載（語音合成可能要幾秒）時轉圈；播放失敗短暫顯示紅框 */
button.play.loading { opacity: 1; animation: play-wait 1s linear infinite; }
@keyframes play-wait { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { button.play.loading { animation: none; outline: 2px dotted var(--accent); } }
button.play.failed { opacity: 1; outline: 2px solid #cf222e; outline-offset: 1px; border-radius: 3px; }
/* 觸控螢幕：播放鈕外觀不變，但可點範圍往外擴，手指比較好按 */
@media (pointer: coarse) {
  button.play { position: relative; }
  button.play::before { content: ""; position: absolute; inset: -.55rem -.3rem; }
}
button.play.playing { opacity: 1; filter: drop-shadow(0 0 2px var(--accent)); }
button.play.synth { opacity: .7; filter: grayscale(1); }
button.play.synth:hover, button.play.synth.playing { opacity: .85; }
.src-note { cursor: help; color: var(--muted); font-size: .8em; margin-left: .15rem; }

/* 自訂即時提示：瀏覽器內建的 title 提示要等 1、2 秒才出現，這裡用 CSS :hover 立刻顯示
   （title 屬性照樣保留給螢幕報讀器與觸控長按用，內容重複沒關係）。 */
[data-tip] { position: relative; }
[data-tip]:hover::after, [data-tip]:focus-visible::after {
  content: attr(data-tip);
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  padding: .25rem .55rem;
  border-radius: 4px;
  font-size: .85rem;
  line-height: 1.4;
  white-space: nowrap;
  z-index: 30;
  pointer-events: none;
}
/* 手機：點一下（取得焦點）就顯示提示；提示可以換行，不會超出畫面 */
@media (hover: none) {
  [data-tip]:focus::after {
    content: attr(data-tip);
    position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%);
    background: #333; color: #fff; padding: .25rem .55rem; border-radius: 4px;
    font-size: .85rem; line-height: 1.4; z-index: 30; pointer-events: none;
    white-space: normal; width: max-content; max-width: min(16rem, 80vw);
  }
}
.phrase { font-size: .88rem; }
.dict-examples { margin-top: .6rem; border-top: 1px dashed #ddd; padding-top: .4rem; }
.dict-examples > p { margin: 0 0 .2rem; }
.supplement { margin-top: .6rem; border-top: 1px dashed #ddd; padding-top: .4rem; }
.supplement > summary { cursor: pointer; color: var(--muted); font-size: .95rem; }
.supplement-entry > p { margin: .3rem 0 .1rem; }
.supplement-senses .definition { font-size: 1rem; }
.trial { width: 100%; border-collapse: collapse; background: #fff; }
.trial th, .trial td { border-bottom: 1px solid var(--line); padding: .5rem; vertical-align: top; text-align: left; }
.trial code { font-size: .9rem; color: var(--muted); }

/* 模式選擇畫面（B1）：兩張大卡片，鍵盤／觸控都好操作 */
.mode-choice { text-align: center; padding: 1.5rem 0; }
.mascot { display: block; margin: 0 auto .5rem; animation: mascot-bob 3s ease-in-out infinite; }
@keyframes mascot-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .mascot { animation: none; } }
.mode-cards { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: center; margin-top: 1.5rem; }
.mode-cards form { flex: 1 1 16rem; max-width: 20rem; }
.mode-card {
  width: 100%; display: flex; flex-direction: column; align-items: center; gap: .4rem;
  background: var(--card); border: 2px solid var(--line); border-radius: 1rem;
  padding: 1.6rem 1.2rem; cursor: pointer; font: inherit; text-align: center;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.mode-card:hover, .mode-card:focus-visible { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 4px 14px rgba(11,110,79,.15); }
.mode-card:focus-visible { outline: 3px solid #8fd3b8; outline-offset: 2px; }
.mode-emoji { font-size: 3rem; line-height: 1; display: inline-block; }
.mode-title { font-size: 1.3rem; font-weight: 700; }
.mode-desc { color: var(--muted); font-size: .98rem; }
/* 初學者卡片先透一點小學堂的暖色調＋輕輕晃動的葉子，讓人一眼就想點；進階卡片維持素雅 */
.mode-card.beginner { background: linear-gradient(160deg, #fff, #ffe9db 140%); border-color: #ffd8bf; }
.mode-card.beginner:hover, .mode-card.beginner:focus-visible { border-color: #ff8a4c; box-shadow: 0 4px 14px rgba(255,138,76,.25); }
.mode-card.beginner .mode-emoji { animation: mode-emoji-wiggle 2.4s ease-in-out infinite; }
@keyframes mode-emoji-wiggle { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
@media (prefers-reduced-motion: reduce) {
  .mode-card { transition: none; }
  .mode-card:hover { transform: none; }
  .mode-card.beginner .mode-emoji { animation: none; }
}

/* ============ 初階模式（B2＋活潑化調整）============
   跟進階模式共用大部分色票（--accent 那組），但額外定義兩個活潑色（暖橘、暖黃）
   只在 body.beginner-mode 範圍內生效，不影響進階模式的嚴肅配色。 */
body.beginner-mode {
  --accent2: #ff8a4c;       /* 暖橘：第 2、3 名候選、次要強調 */
  --accent2-soft: #ffe9db;
  --accent3: #ffc93c;       /* 暖黃：徽章、裝飾 */
  --gold: #6b4a00;
  background: linear-gradient(180deg, #fff9ee 0%, #f3fbf6 22%, #f3fbf6 100%);
  background-attachment: fixed;
}

/* 自己的頁首：跟進階模式共用同一個綠色系，但用漸層＋圓角下緣，一眼看出這是「小學堂」 */
.learn-header {
  background: linear-gradient(100deg, var(--accent) 0%, #12977a 65%, #17a887 100%);
  border-radius: 0 0 1rem 1rem;
}
.learn-header .brand { font-size: 1.15rem; }

.learn-hero {
  text-align: center; margin-bottom: 1.4rem; padding: 1.4rem 1.2rem 1.2rem;
  background: linear-gradient(160deg, #fff, var(--accent2-soft) 130%);
  border: 2px dashed #ffd8bf; border-radius: 1.5rem;
}
.learn-tagline { font-size: 1.2rem; font-weight: 700; color: var(--accent); margin: 0 0 .8rem; }
.big-search .search-row { max-width: 30rem; margin: 0 auto; }
.big-search input[type=search] { font-size: 1.4rem; padding: .8rem 1rem; border-radius: .8rem; }
.big-search button { font-size: 1.2rem; border-radius: .8rem; }

.try-words { margin-top: .8rem; font-size: 1.05rem; }
.try-words a {
  display: inline-block; margin: .25rem .3rem; padding: .3rem 1rem; border-radius: 1.2rem;
  background: var(--accent-soft); text-decoration: none; font-weight: 700; color: var(--accent);
  border: 2px solid transparent; transition: transform .12s, background .12s, border-color .12s;
}
.try-words a:nth-child(3n+2) { background: var(--accent2-soft); color: #95401a; }
.try-words a:nth-child(3n+3) { background: #fff3c4; color: var(--gold); }
.try-words a:hover { border-color: currentColor; transform: translateY(-2px) scale(1.05); }

.lucky-btn {
  display: inline-block; margin-top: .9rem; padding: .55rem 1.5rem; border-radius: 1.6rem;
  background: linear-gradient(135deg, #ff8a4c, #ffc93c); color: #5a2a00; font-weight: 700; font-size: 1.1rem;
  text-decoration: none; box-shadow: 0 3px 10px rgba(255,138,76,.35); transition: transform .12s, box-shadow .12s;
}
.lucky-btn:hover, .lucky-btn:focus-visible { transform: translateY(-2px) scale(1.04); box-shadow: 0 6px 16px rgba(255,138,76,.45); }
.lucky-btn:hover .bei-a { animation: lucky-bei-a .7s ease-in-out; }
.lucky-btn:hover .bei-b { animation: lucky-bei-b .7s ease-in-out; }
.lucky-dice { display: inline-block; vertical-align: -.3em; line-height: 0; margin-right: .1em; }
.lucky-dice .bei { transform-box: fill-box; transform-origin: center; }
@keyframes lucky-bei-a { 0% { transform: translateY(0) rotate(0); } 40% { transform: translateY(-5px) rotate(-200deg); } 100% { transform: translateY(0) rotate(-360deg); } }
@keyframes lucky-bei-b { 0% { transform: translateY(0) rotate(0); } 40% { transform: translateY(-7px) rotate(260deg); } 100% { transform: translateY(0) rotate(180deg); } }
.lucky-banner {
  text-align: center; font-size: 1.15rem; font-weight: 700; color: #95401a; margin: .3rem 0 0;
  padding: .5rem 1rem; background: #fff3c4; border-radius: 1.2rem; animation: lucky-pop .45s ease-out;
}
@keyframes lucky-pop { 0% { transform: scale(.7); opacity: 0; } 70% { transform: scale(1.06); } 100% { transform: scale(1); opacity: 1; } }
.lucky-again { text-align: center; margin: 0 0 1.4rem; }
@media (prefers-reduced-motion: reduce) {
  .lucky-btn { transition: none; }
  .lucky-btn:hover, .lucky-btn:focus-visible { transform: none; }
  .lucky-btn:hover .bei, .lucky-banner { animation: none; }
}

.learn-toolbar { display: flex; justify-content: flex-end; margin-bottom: .3rem; }
.tailo-toggle {
  font-size: .95rem; font-weight: 600; border: 2px solid var(--accent-soft); background: #fff;
  border-radius: 1.2rem; padding: .35rem 1.1rem; cursor: pointer; color: var(--accent);
  transition: background .12s;
}
.tailo-toggle:hover { background: var(--accent-soft); }
body.hide-tailo .learn-tailo, body.hide-tailo .learn-ex-tailo { display: none; }

.learn-title { font-size: 1.6rem; text-align: center; margin: .5rem 0 1.3rem; }

.learn-card {
  position: relative; background: var(--card); border-radius: 1.5rem;
  border-left: 7px solid var(--accent); padding: 1.5rem 1.6rem; margin-bottom: 1.6rem;
  box-shadow: 0 4px 16px rgba(11,110,79,.09);
  transition: transform .15s, box-shadow .15s;
}
@media (hover: hover) { .learn-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(11,110,79,.14); } }  /* 觸控螢幕點過會卡在浮起狀態 */
.learn-card.rank-2, .learn-card.rank-4 { border-left-color: var(--accent2); }
.learn-card.rank-3, .learn-card.rank-5 { border-left-color: var(--accent3); }
.learn-badge {
  position: absolute; top: -.8rem; right: 1.2rem; font-size: .95rem; font-weight: 700;
  background: #fff3c4; color: var(--gold); border: 2px solid #fff; border-radius: 1rem;
  padding: .2rem .8rem; box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.rank-2 .learn-badge, .rank-3 .learn-badge, .rank-4 .learn-badge, .rank-5 .learn-badge { background: var(--accent2-soft); color: #95401a; }
@media (prefers-reduced-motion: reduce) { .learn-card { transition: none; } .learn-card:hover { transform: none; } }

.learn-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem; }
.learn-tw { font-size: 3rem; font-weight: 800; color: var(--accent); line-height: 1.1; }
.learn-tailo { font-size: 1.3rem; color: var(--fg); }
.learn-head button.play { font-size: 1.8rem; }
.learn-def { font-size: 1.15rem; margin: .6rem 0 0; }

.learn-examples { margin-top: .9rem; display: flex; flex-direction: column; gap: .8rem; }
.learn-example {
  background: var(--bg); border-left: 5px solid var(--accent); border-radius: .7rem;
  padding: .8rem 1.1rem;
}
.rank-2 .learn-example, .rank-4 .learn-example { border-left-color: var(--accent2); }
.rank-3 .learn-example, .rank-5 .learn-example { border-left-color: var(--accent3); }
.learn-ex-tw { font-size: 1.5rem; margin: 0; }
.learn-ex-tailo { font-size: 1.1rem; color: var(--accent); margin: .2rem 0; }
.learn-ex-zh { font-size: 1.25rem; color: var(--fg); margin: .2rem 0 0; }
.learn-more summary { cursor: pointer; color: var(--muted); font-size: .95rem; margin-top: .5rem; }
.learn-more-link { text-align: center; font-size: 1.05rem; margin: 1.5rem 0; }
.learn-more-link a {
  display: inline-block; padding: .5rem 1.3rem; border-radius: 1.4rem; text-decoration: none;
  background: var(--accent-soft); font-weight: 700;
}
.learn-more-link a:hover { background: var(--accent); color: #fff; }
.learn-empty { border-radius: 1.5rem; text-align: center; }

@media (max-width: 36rem) {
  .learn-tw { font-size: 2.2rem; }
  .learn-card { padding: 1.1rem 1.2rem; }
  .learn-ex-tw, .learn-ex-zh { font-size: 1.1rem; }
  .learn-badge { font-size: .85rem; padding: .15rem .6rem; right: .8rem; }
}

/* 共用頁首（_nav.html）：模式標籤＋醒目的模式切換鈕 */
.brand { font-size: 1.15rem; }
.mode-tag {
  font-size: .9rem; padding: .05rem .7rem; border-radius: 1rem;
  background: rgba(255,255,255,.2); color: #fff; white-space: nowrap;
}
.site-nav .nav-switch { display: inline; margin: 0 1rem 0 0; }
.switch-btn {
  font: inherit; font-size: .98rem; font-weight: 700; cursor: pointer; white-space: nowrap;
  color: var(--accent); background: #fff; border: 2px solid #fff; border-radius: 1.2rem; padding: .1rem .9rem;
  transition: background .12s, color .12s;
}
.switch-btn:hover, .switch-btn:focus-visible { background: var(--accent-soft); }
.learn-header .switch-btn { color: #95401a; background: #fff3c4; border-color: #fff3c4; }
.learn-header .switch-btn:hover { background: #ffe9db; }
.site-nav .link-button { font-size: 1.02rem; }
@media (max-width: 36rem) { .site-nav { margin-left: 0; width: 100%; } }

/* 詞彙標記工作區：查詢框與查詢結果 */
.ws-search .search-row { max-width: 36rem; }
.ws-found h3 { font-size: 1rem; margin: .8rem 0 .3rem; color: var(--muted); }
.ws-found .plain-list .muted { margin-left: auto; }
.ws-actions { margin: .8rem 0 0; }
.chips li { list-style: none; }
.ws-options { display: flex; flex-wrap: wrap; gap: .3rem 2rem; margin-top: .5rem; }
.ws-options label { margin-right: .8rem; white-space: nowrap; }
.ref-toggle { margin-top: .3rem; padding: 0; border: 0; background: none; cursor: pointer; color: var(--muted); font-size: .95rem; text-decoration: underline dotted; }
.worklist tr.ref-row td { background: var(--bg); padding: .6rem .9rem 1rem; }
.worklist .ref-body .examples { max-width: 60rem; }
.worklist .nowrap, .worklist button { white-space: nowrap; }
.ref-toggle { text-decoration: none; font-size: 1.05rem; line-height: 1; }
.ref-toggle[aria-expanded="true"] { color: var(--accent); }
.ref-toggle { margin: 0 0 0 .35rem; }

/* 鍵盤操作時看得到焦點在哪裡（滑鼠點擊不會出現） */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #8fd3b8; outline-offset: 2px; border-radius: 3px;
}
/* 寬表格在窄螢幕可以左右捲動，不會撐破版面 */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* 播放失敗等訊息（螢幕報讀器也會念） */
.toast {
  position: fixed; left: 50%; bottom: 1.2rem; transform: translateX(-50%); z-index: 50;
  background: #333; color: #fff; padding: .45rem 1rem; border-radius: 1.2rem; font-size: .95rem;
  max-width: 90vw; box-shadow: 0 4px 14px rgba(0,0,0,.2);
}
.toast:empty { display: none; }
.search button[aria-busy="true"] { opacity: .7; cursor: progress; }

/* 查詢後把空間留給結果；首頁仍保留完整吉祥物與引導。 */
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: .6rem 1rem; background: var(--card); color: var(--accent); border: 2px solid var(--accent); }
.skip-link:focus { top: .5rem; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.learn-home-title { font-size: 1.5rem; margin: 0 0 .5rem; }
.learn-hero-results { padding: .75rem; margin-bottom: .75rem; border-radius: .75rem; }
.learn-hero-results .mascot-hero, .learn-hero-results .learn-tagline { display: none; }
.learn-hero-results .search { margin-bottom: .25rem; }
.candidate-index { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.candidate-index a { padding: .35rem .75rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--card); text-decoration: none; }
.learn-card { scroll-margin-top: 1rem; overflow-wrap: anywhere; }
.learn-long-example > summary { padding: .75rem; cursor: pointer; background: var(--bg); border-radius: .5rem; line-height: 1.6; }
.learn-long-example[open] > summary { margin-bottom: .35rem; }
button.play { min-width: 44px; min-height: 44px; margin-inline: .2rem; opacity: 1; border-radius: .4rem; }
button.play::before { content: none; }
button.play.playing:not([data-replay="true"])::after { content: " 停止"; font-size: .7rem; color: var(--accent); }
button.play.loading::after { content: " 載入中"; }
button.play.failed::after { content: " 重試"; font-size: .7rem; }
@media (max-width: 36rem) {
  .learn-hero-results .big-search input[type=search] { font-size: 1.1rem; padding: .65rem .5rem; }
  .learn-hero-results .big-search button { font-size: 1rem; padding-inline: .65rem; }
  .learn-title { font-size: 1.35rem; margin-bottom: 1rem; }
}

.long-example > summary { cursor: pointer; color: var(--accent); padding-block: .35rem; }

.learn-head h2, .card-head h2 { margin: 0; }
[id^="advanced-word-"], #other-sayings { scroll-margin-top: 1rem; }

.learning-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-block: .6rem; }
.learning-button { font: inherit; font-size: .9rem; color: var(--accent); border: 1px solid var(--line); background: var(--card); border-radius: .5rem; padding: .4rem .7rem; min-height: 44px; cursor: pointer; }
.learning-button:disabled { opacity: .55; cursor: not-allowed; }
.learning-button[aria-pressed="true"] { background: var(--accent-soft); }
#learning-tools > details { margin-bottom: .5rem; }
#learning-tools .candidate-index { margin-block: .5rem; }
.practice-panel { margin-top: .6rem; padding-top: .5rem; border-top: 1px dashed var(--line); }
.practice-panel summary { cursor: pointer; color: var(--accent); }
.practice-panel form { display: flex; flex-wrap: wrap; gap: .5rem; }
.practice-panel input { min-width: 0; width: 12rem; max-width: 100%; padding: .4rem; font: inherit; border: 1px solid var(--line); border-radius: .4rem; }
.practice-result { margin: 0; }
.practice-result:not(:empty) { margin-block: .5rem; }
.notebook-list { padding: 0; list-style: none; }
.notebook-list li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .6rem 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.notebook-list button { margin-left: auto; }
#learning-tools input[type=file] { display: block; max-width: 100%; font: inherit; font-size: .85rem; }
.remote-status:empty { display: none; }
.remote-status { padding: .5rem; background: var(--accent-soft); border-radius: .5rem; }
.example-quality { font-size: .8rem; color: var(--muted); margin: 0 0 .3rem; }

#learning-tools .card { overflow-wrap: anywhere; }
.save-word { flex-shrink: 0; }

.notebook-hero { display: flex; align-items: center; gap: 1.5rem; padding: 1.5rem; background: var(--accent-soft); border: 2px dashed #ffd8bf; border-radius: 1.5rem; }
.notebook-hero .mascot { flex: 0 0 auto; margin: 0; }
.notebook-hero h1 { color: var(--accent); margin: .25rem 0; }
.notebook-hero p { margin: .5rem 0 1rem; }
.notebook-eyebrow { color: var(--accent); font-size: .9rem; font-weight: 700; }
.notebook-back { display: inline-flex; align-items: center; text-decoration: none; }
.notebook-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0 1.5rem; }
.notebook-stat { display: flex; flex-direction: column; align-items: center; gap: .25rem; padding: .75rem; background: var(--card); border: 1px solid var(--line); border-radius: .75rem; text-align: center; }
.notebook-stat strong { color: var(--accent); font-size: 1.6rem; }
.notebook-stat span { font-size: .85rem; }
.notebook-section-title { font-size: 1.3rem; margin: 1.5rem 0 .75rem; }
.notebook-review { background: #fff9eb; border: 2px solid #f1cc84; padding: 1.5rem; scroll-margin-top: 1rem; }
.notebook-review h3 { font-size: 1.6rem; margin: .5rem 0; }
.notebook-flip-card { perspective: 1000px; margin: 1rem 0; }
.notebook-flip-inner { display: grid; transform-style: preserve-3d; transition: transform .55s ease; }
.notebook-flip-card[data-flipped="true"] .notebook-flip-inner { transform: rotateY(180deg); }
.notebook-flip-face { grid-area: 1 / 1; min-width: 0; min-height: 17rem; padding: 1rem; border: 2px solid #e9c678; border-radius: 1rem; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow-wrap: anywhere; }
.notebook-flip-front { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; background: #fff3c4; color: var(--accent); font: inherit; cursor: pointer; width: 100%; }
.notebook-flip-front strong { font-size: 2rem; }
.notebook-flip-front svg { width: 2.5rem; height: 2.5rem; }
.notebook-flip-front span:last-of-type { color: #745017; font-size: .9rem; }
.notebook-flip-back { transform: rotateY(180deg); background: var(--card); text-align: center; }
.flip-return { display: inline-flex; align-items: center; gap: .4rem; }
.flip-return svg, .review-ratings svg { width: 1.2rem; height: 1.2rem; flex-shrink: 0; }
.review-ratings button { display: inline-flex; align-items: center; gap: .4rem; }
.review-ratings[hidden] { display: none; }
.listening-actions button[hidden] { display: none; }
.notebook-main-actions button, .listening-form button { display: inline-flex; align-items: center; gap: .5rem; }
.notebook-main-actions svg, .listening-form svg, .listening-actions svg { width: 1.25rem; height: 1.25rem; }
.notebook-main-actions button { background: var(--accent); color: white; font-weight: 700; padding: .75rem 1.5rem; }
.review-mode-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.review-mode-choice { display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 1.5rem; font-size: 1rem; background: #fff3c4; border: 2px solid #e9c678; border-radius: 1rem; text-align: center; }
.review-mode-choice:nth-child(2) { background: var(--accent-soft); border-color: #91bba5; }
.review-mode-choice svg { width: 3rem; height: 3rem; }
.review-mode-choice strong { font-size: 1.25rem; }
.review-mode-choice span { color: var(--fg); }
.listening-audio { text-align: center; margin-block: 1rem; }
.listening-hint { padding: .75rem; border: 1px dashed var(--line); border-radius: .75rem; }
.listening-hint summary { color: var(--accent); cursor: pointer; }
.listening-form { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.listening-form input { flex: 1 1 12rem; width: 100%; min-width: 0; padding: .75rem; border: 2px solid var(--line); border-radius: .75rem; font: inherit; }
.listening-form input[aria-invalid="true"] { border-color: #b77527; }
.listening-form input[aria-invalid="false"] { border-color: var(--accent); }
.notebook-word-card button.practice-play.play { align-self: flex-start; min-width: 3.5rem; min-height: 3.5rem; padding: .5rem; }
.review-complete { text-align: center; padding: 2rem; }
.review-celebration { font-size: 3rem; }
@media (max-width: 600px) { .review-mode-choices { grid-template-columns: 1fr; } }
button.practice-play.play { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; position: relative; min-width: 4.5rem; min-height: 4.5rem; border: 2px solid var(--accent); border-radius: 50%; padding: .75rem; background: var(--accent-soft); color: var(--accent); margin: .5rem 0; opacity: 1; }
button.practice-play.play.synth { opacity: 1; filter: none; }
button.practice-play.play.loading { animation: none; }
button.practice-play.play.playing { background: var(--accent); color: #fff; }
.practice-play svg { width: 2rem; height: 2rem; }
.practice-play.loading::after { content: ""; position: absolute; inset: -.35rem; border: 3px solid transparent; border-top-color: var(--accent); border-radius: 50%; animation: notebook-spin 1s linear infinite; }
.feedback-correct, .feedback-retry { display: flex; align-items: center; gap: .75rem; padding: .75rem; border-radius: .75rem; animation: feedback-pop .35s ease-out; }
.feedback-correct { color: var(--accent); background: var(--accent-soft); border: 1px solid #91bba5; }
.feedback-retry { color: #745017; background: #fff3c4; border: 1px solid #e9c678; }
.feedback-symbol { display: grid; place-items: center; flex-shrink: 0; width: 2.5rem; height: 2.5rem; border: 2px solid currentColor; border-radius: 50%; }
.feedback-symbol svg { width: 1.75rem; height: 1.75rem; }
.feedback-buddy { font-size: 1.6rem; margin-left: auto; }
.practice-result p { font-size: .9rem; margin: .25rem 0 0; }
@keyframes feedback-pop { from { transform: scale(.94); opacity: .4; } to { transform: scale(1); opacity: 1; } }
@keyframes notebook-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .notebook-flip-inner { transition: none; }
  .feedback-correct, .feedback-retry, .practice-play.loading::after { animation: none; }
}
.notebook-answer-word { font-size: 2.5rem; color: var(--accent); font-weight: 800; margin: .75rem 0 .25rem; overflow-wrap: anywhere; }
.notebook-tailo { color: var(--muted); margin: .25rem 0 .75rem; overflow-wrap: anywhere; }
.notebook-word-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; padding: 0; list-style: none; }
.notebook-word-card { display: flex; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-top: 4px solid #e9a367; border-radius: .75rem; background: var(--card); overflow-wrap: anywhere; min-width: 0; }
.notebook-word-card:nth-child(3n+2) { border-top-color: #94b59b; }
.notebook-word-card:nth-child(3n) { border-top-color: #e4c15d; }
.notebook-word-card h3 { font-size: 1.75rem; color: var(--accent); margin: .75rem 0 .25rem; }
.notebook-word-status { align-self: flex-start; font-size: .8rem; color: var(--accent); background: var(--accent-soft); padding: .25rem .5rem; border-radius: .5rem; }
.notebook-word-card .learning-toolbar { margin-top: auto; padding-top: .5rem; }
.notebook-definition { font-size: .9rem; }
.notebook-empty { padding: 1rem; background: var(--accent-soft); border-radius: .75rem; }
.notebook-backup { margin-top: 1.5rem; border-top: 1px dashed var(--line); padding-top: 1rem; }
.notebook-backup > summary { cursor: pointer; color: var(--accent); min-height: 44px; }
.notebook-storage-note { font-size: .85rem; margin-top: 1rem; }
.notebook-hero { padding: 1rem; gap: 1rem; }
.notebook-hero .mascot { width: 64px; height: 64px; }
.notebook-hero h1 { font-size: 1.75rem; }
.notebook-hero p { margin: .25rem 0 .5rem; }
.notebook-stats { margin: .75rem 0 1rem; }
.notebook-stat { padding: .5rem; }
.notebook-main-layout { display: grid; grid-template-columns: minmax(0, 1fr) 15rem; grid-template-areas: "words controls"; gap: 1.25rem; align-items: start; }
.notebook-collection { grid-area: words; min-width: 0; }
.notebook-collection .notebook-section-title { margin-top: 0; }
.notebook-main-layout .notebook-word-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.review-launcher { grid-area: controls; padding: 1rem; background: #fff9eb; border: 2px solid #f1cc84; border-radius: .75rem; position: sticky; top: 1rem; }
.review-launcher h2 { font-size: 1.15rem; margin: 0 0 .75rem; }
.review-launcher p { font-size: .9rem; }
.review-launcher label { display: flex; align-items: center; gap: .75rem; }
.review-launcher input { min-width: 0; width: 5rem; padding: .4rem; font: inherit; border: 1px solid var(--line); border-radius: .5rem; }
.review-start-actions { flex-direction: column; align-items: stretch; }
#start-scheduled-review, #start-free-practice { display: inline-flex; align-items: center; gap: .5rem; width: 100%; justify-content: center; padding: .75rem; font-weight: 700; }
#start-scheduled-review { background: var(--accent); color: white; }
#start-scheduled-review svg { width: 1.5rem; height: 1.5rem; }
.review-help { margin-top: .75rem; padding-top: .75rem; border-top: 1px dashed #d8b96f; font-size: .85rem; }
.review-help summary { min-height: 44px; padding: .5rem 0; color: var(--accent); font-weight: 700; line-height: 1.5; cursor: pointer; }
.review-help ul { margin: .25rem 0 0; padding-left: 1.25rem; }
.review-help li { margin-block: .5rem; line-height: 1.5; }
.review-include-label { display: flex; align-items: center; gap: .5rem; cursor: pointer; min-height: 44px; margin-bottom: .5rem; font-size: .9rem; }
.review-include { width: 1.25rem; height: 1.25rem; accent-color: var(--accent); }
#round-progress { width: 100%; height: .75rem; accent-color: var(--accent); }
@media (max-width: 900px) {
  .notebook-main-layout { grid-template-columns: 1fr; grid-template-areas: "controls" "words"; }
  .review-launcher { position: static; }
}
@media (max-width: 480px) {
  .notebook-hero { align-items: flex-start; gap: .75rem; padding: 1rem; }
  .notebook-hero .mascot { width: 64px; height: 64px; }
  .notebook-hero h1 { font-size: 1.5rem; }
  .notebook-stat { padding: .5rem .25rem; }
  .notebook-review { padding: 1rem; }
}

.examples-status { margin: 0; overflow-wrap: anywhere; }
.examples-status:not(:empty) { margin-block: .5rem; }
[data-examples-url] .examples, [data-examples-url] .learn-examples { overflow-wrap: anywhere; }
/* Keep collection cards visible without a tall introductory/control block. */
.notebook-hero > div { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .25rem .75rem; }
.notebook-hero .notebook-eyebrow { grid-column: 1; margin: 0; }
.notebook-hero h1 { grid-column: 1; margin: 0; }
.notebook-hero > div > p:not(.notebook-eyebrow) { grid-column: 1; margin: 0; }
.notebook-hero .notebook-back { grid-column: 2; grid-row: 1 / 4; }
.notebook-word-card p { margin-block: .4rem; }
.notebook-word-card .learning-toolbar { padding-top: .25rem; }
.review-launcher p { margin-block: .5rem; }
@media (max-width: 900px) {
  .review-launcher { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding: .75rem; }
  .review-launcher h2 { margin: 0; }
  .review-launcher .review-scope-count { margin-left: auto; }
  .review-launcher > .muted { flex-basis: 100%; margin: 0; font-size: .8rem; }
  .review-launcher .learning-toolbar { margin: 0; }
  .review-launcher label { margin-left: auto; }
  .review-launcher .review-start-actions { flex-direction: row; flex-basis: 100%; }
  #start-scheduled-review, #start-free-practice { width: auto; padding: .5rem; }
  .review-help { flex-basis: 100%; margin-top: 0; }
}

@media (max-width: 600px) {
  .notebook-hero > div { grid-template-columns: 1fr; }
  .notebook-hero .notebook-back { grid-column: 1; grid-row: auto; justify-self: start; }
}
