/* lordsnextdoor.com: parchment, wood and the game's own frames.
   Mobile first; the frames and buttons are pieces of the game's interface
   kit (assets/ui_v5/ui-kit.png), drawn with border-image. */

/* The game's faces, cut down to the characters these pages use (build.py
   writes the rules here, with the home page's characters apart). */
@font-face { font-family: "LND zh"; src: url("/fonts/zh-tw-400-home.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+A9, U+B7, U+D7, U+3001, U+3002, U+300C, U+300D, U+4E00, U+4E09, U+4E0A, U+4E0D, U+4E16, U+4E2D, U+4E3B, U+4E4B, U+4E5D, U+4E5F, U+4E86, U+4E92, U+4E9B, U+4EA4, U+4EAB, U+4EBA, U+4ECA, U+4ED6, U+4ED8, U+4EE5, U+4F10, U+4F46, U+4F4D, U+4F4F, U+4F60, U+4F7F, U+4F86, U+4F8F, U+4FDD, U+4FEE, U+500B, U+5011, U+5019, U+505A, U+50B3, U+50CF, U+50F9, U+5112, U+5148, U+5149, U+514D, U+5152, U+5165, U+5167, U+516C, U+5171, U+5175, U+5176, U+518D, U+51A0, U+51FA, U+5206, U+5230, U+5237, U+524D, U+527F, U+529B, U+52A0, U+52AB, U+52D5, U+52DF, U+5305, U+5320, U+5347, U+534A, U+5373, U+53BB, U+53CB, U+53D6, U+53E3, U+53E6, U+53EA, U+53EF, U+5404, U+540D, U+5427, U+5468, U+548C, U+54E5, U+5546, U+5584, U+56DB, U+570D, U+5716, U+571F, U+5728, U+5730, U+57CE, U+5821, U+5834, U+585E, U+5883, U+58C1, U+58D8, U+5916, U+591A, U+5927, U+5929, U+592A, U+5931, U+5951, U+597D, U+5982, U+5A1C, U+5A92, U+5B50, U+5B83, U+5B88, U+5B89, U+5B8C, U+5B98, U+5BA2, U+5BA3, U+5BB6, U+5BB9, U+5BF6, U+5C07, U+5C0D, U+5C0F, U+5C31, U+5C45, U+5C6C, U+5C71, U+5D17, U+5DE2, U+5DE8, U+5DF1, U+5DF2, U+5E03, U+5E55, U+5E6B, U+5E7E, U+5E95, U+5EA7, U+5EF3, U+5F35, U+5F71, U+5F79, U+5F7C, U+5F80, U+5F81, U+5F97, U+5FB7, U+5FD9, U+602A, U+610F, U+6210, U+6230, U+6232, U+623F, U+6240, U+624B, U+6253, U+628A, U+62BD, U+62DB, U+62DC, U+62EC, U+632F, U+63A0, U+63A1, U+63A8, U+63DB, U+640D, U+64DA, U+64FA, U+653E, U+653F, U+6574, U+6578, U+6587, U+6599, U+65B0, U+65BC, U+65CF, U+65E5, U+661F, U+662F, U+6642, U+66FE, U+6703, U+6709, U+670B, U+670D, U+6728, U+672C, U+675F, U+6790, U+6797, U+689D, U+68DF, U+68EE, U+6982, U+6A19, U+6A23, U+6A39, U+6A5F, U+6B21, U+6B3E, U+6B64, U+6B7B, U+6BCF, U+6C92, U+6CC9, U+6CE8, U+6D3E, U+6DF1, U+6E05, U+6EAB, U+6F14, U+6F2B, U+7070, U+70BA, U+718A, U+71DF, U+722D, U+723E, U+7246, U+7247, U+725B, U+7269, U+72FC, U+7378, U+7387, U+738B, U+73A9, U+7528, U+7531, U+754C, U+756B, U+75DB, U+767B, U+7684, U+76F8, U+77EE, U+77F3, U+7926, U+79AE, U+79C1, U+7A2E, U+7A74, U+7A7A, U+7AD9, U+7B56, U+7CBE, U+7D1A, U+7D50, U+7D93, U+7DB2, U+7DDA, U+7DF4, U+7E3D, U+7E41, U+7E7C, U+7E8C, U+7FD2, U+8001, U+8005, U+80AF, U+80FD, U+8166, U+817F, U+81EA, U+8207, U+82F1, U+8352, U+8457, U+84CB, U+86DB, U+8718, U+884C, U+88DC, U+88DD, U+88E1, U+8981, U+89AA, U+8A00, U+8A13, U+8A2A, U+8A55, U+8A8D, U+8A9E, U+8ABC, U+8B49, U+8B58, U+8B93, U+8C37, U+8C93, U+8CB7, U+8CBB, U+8CC7, U+8CFC, U+8D0F, U+8D77, U+8D8A, U+8D95, U+8DEF, U+8DF3, U+8E64, U+8E76, U+8ECD, U+8F38, U+8F49, U+8FD1, U+8FE6, U+8FFD, U+901A, U+9020, U+9023, U+9032, U+904A, U+904B, U+904E, U+9060, U+9078, U+9084, U+908A, U+90FD, U+9130, U+9152, U+91CE, U+91D1, U+92EA, U+93AE, U+9435, U+9577, U+9580, U+958B, U+9592, U+95DC, U+9632, U+968A, U+9694, U+96A8, U+96B1, U+96C4, U+96FB, U+9700, U+9748, U+9762, U+9801, U+9802, U+9813, U+9818, U+982D, U+985E, U+98DF, U+98FE, U+9928, U+9996, U+99AC, U+9AD4, U+9AD8, U+9B25, U+9B54, U+9F8D, U+AD6D, U+C5B4, U+D55C, U+FF0C, U+FF1A, U+FF1B; }
@font-face { font-family: "LND zh"; src: url("/fonts/zh-tw-400-more.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+300A, U+300B, U+3055, U+3068, U+306A, U+306E, U+307E, U+308A, U+4E03, U+4E0B, U+4E14, U+4E26, U+4E45, U+4E88, U+4E8B, U+4E94, U+4EAC, U+4EC0, U+4ECB, U+4ECD, U+4EE3, U+4EE4, U+4EF6, U+4EFB, U+4EFD, U+4F38, U+4F3A, U+4F48, U+4F54, U+4F55, U+4F5C, U+4F75, U+4F8B, U+4F9B, U+4F9D, U+4FE1, U+501F, U+503C, U+505C, U+507D, U+5099, U+50B7, U+511F, U+512A, U+5132, U+5141, U+5145, U+514B, U+514C, U+5168, U+516D, U+5177, U+5192, U+5217, U+5224, U+5225, U+5229, U+522A, U+5236, U+5247, U+525D, U+5269, U+526A, U+526F, U+5287, U+529F, U+52A9, U+52D9, U+52E2, U+5340, U+5348, U+5354, U+5361, U+539F, U+53C3, U+53CA, U+53CD, U+53D7, U+53F0, U+53F8, U+5408, U+540C, U+5411, U+5426, U+542B, U+544A, U+54C1, U+54E1, U+54EA, U+552E, U+554F, U+555F, U+55AE, U+55CE, U+5617, U+5668, U+56B4, U+56DE, U+56E0, U+570B, U+5740, U+578B, U+57DF, U+5831, U+589E, U+591C, U+593E, U+596A, U+59A5, U+59CB, U+59D3, U+59D4, U+5A1B, U+5B57, U+5B58, U+5B69, U+5B9A, U+5BA4, U+5BB3, U+5BC4, U+5BC6, U+5BE6, U+5BE9, U+5BEB, U+5BEC, U+5C01, U+5C08, U+5C0E, U+5C11, U+5C40, U+5C65, U+5D4C, U+5DE5, U+5DEE, U+5E33, U+5E36, U+5E38, U+5E63, U+5E73, U+5E74, U+5E8F, U+5E97, U+5EA6, U+5EE3, U+5EF6, U+5EFA, U+5F0A, U+5F0F, U+5F15, U+5F37, U+5F62, U+5F85, U+5F88, U+5F8B, U+5F8C, U+5F9E, U+5FC5, U+5FEB, U+600E, U+6025, U+6027, U+606F, U+60C5, U+614B, U+6176, U+6191, U+61C9, U+6211, U+6216, U+622A, U+624D, U+627E, U+6280, U+62C6, U+62D2, U+6301, U+6307, U+6311, U+6388, U+6389, U+6392, U+639B, U+63A5, U+63A7, U+63D0, U+63ED, U+63F4, U+642D, U+64B0, U+64C1, U+64CA, U+64CE, U+64E0, U+651C, U+652F, U+6536, U+6539, U+653B, U+6545, U+6548, U+6557, U+65B7, U+65B9, U+65E8, U+660E, U+6613, U+665A, U+666F, U+66AB, U+66B1, U+66F4, U+66FF, U+6700, U+6708, U+671F, U+672A, U+6771, U+679C, U+67B6, U+67D0, U+67E5, U+6821, U+683C, U+6846, U+6848, U+68C4, U+696D, U+6A02, U+6A94, U+6AA2, U+6B0A, U+6B50, U+6B61, U+6B62, U+6B63, U+6B65, U+6B67, U+6B78, U+6BB5, U+6BCD, U+6BD4, U+6C38, U+6C42, U+6C7A, U+6CC1, U+6CD5, U+6D32, U+6D3B, U+6D88, U+6E2C, U+6E90, U+6E96, U+6E9D, U+6ED1, U+6EFF, U+6FDF, U+6FFE, U+700F, U+7121, U+7136, U+7167, U+7236, U+7248, U+72C0, U+7368, U+73FE, U+7406, U+751F, U+7533, U+7559, U+7565, U+7576, U+767C, U+76CA, U+76DF, U+76E1, U+76EE, U+76F4, U+770B, U+771F, U+77E5, U+77ED, U+78BA, U+78BC, U+793A, U+79DF, U+79FB, U+7A05, U+7A0B, U+7A0D, U+7A31, U+7AC4, U+7ACB, U+7AE0, U+7AE5, U+7B26, U+7B2C, U+7B46, U+7B49, U+7B97, U+7BA1, U+7BB1, U+7BC0, U+7BC4, U+7BC9, U+7CFB, U+7D00, U+7D04, U+7D0B, U+7D20, U+7D2F, U+7D39, U+7D44, U+7D55, U+7D61, U+7D66, U+7D71, U+7D81, U+7DAD, U+7DCA, U+7DE8, U+7E2E, U+7F6E, U+7F8E, U+7FA9, U+7FFB, U+8003, U+800C, U+804A, U+806F, U+80CC, U+81F3, U+81F4, U+820A, U+822C, U+8272, U+85DD, U+8655, U+865F, U+87A2, U+8853, U+8861, U+8868, U+88AB, U+88FD, U+897F, U+8986, U+898B, U+898F, U+8996, U+89BA, U+89BD, U+89D2, U+89E3, U+8A02, U+8A08, U+8A0A, U+8A17, U+8A18, U+8A1F, U+8A2D, U+8A31, U+8A34, U+8A5E, U+8A62, U+8A66, U+8A71, U+8A72, U+8AA4, U+8AAA, U+8AB0, U+8ABF, U+8ACB, U+8AD6, U+8B1D, U+8B66, U+8B6F, U+8B70, U+8B77, U+8B80, U+8B8A, U+8CA0, U+8CA9, U+8CAC, U+8CE3, U+8CFD, U+8D0A, U+8D85, U+8EAB, U+8F03, U+8F09, U+8F15, U+8F2A, U+8F2F, U+8F44, U+8FA6, U+8FCE, U+8FF0, U+9000, U+9001, U+900F, U+9014, U+9019, U+9031, U+9053, U+9054, U+9055, U+9069, U+9072, U+9075, U+907A, U+90A3, U+90E8, U+90F5, U+91CD, U+91CF, U+9280, U+9304, U+9322, U+932F, U+93E1, U+9470, U+9589, U+9593, U+9644, U+9650, U+9662, U+9664, U+969B, U+96C6, U+96C7, U+96D9, U+96E2, U+9732, U+975E, U+97D3, U+97F3, U+9805, U+9810, U+984C, U+984D, U+986F, U+98A8, U+9918, U+99A8, U+9A5F, U+9EA5, U+9EBC, U+9EDE, U+9F20, U+9F61, U+B2D8, U+C601, U+C606, U+C8FC, U+C9D1, U+FF08, U+FF09, U+FF0D, U+FF1F; }
@font-face { font-family: "LND zh"; src: url("/fonts/zh-tw-700-home.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+B7, U+3001, U+3002, U+300C, U+300D, U+4E00, U+4E0A, U+4E0D, U+4E16, U+4E2D, U+4E3B, U+4E4B, U+4E86, U+4F7F, U+4F86, U+50B3, U+50CF, U+514D, U+5165, U+51FA, U+524D, U+5373, U+53BB, U+5404, U+548C, U+5728, U+5730, U+5883, U+58C1, U+5916, U+5982, U+5A92, U+5B50, U+5BA2, U+5BA3, U+5C07, U+5C0F, U+5DF2, U+5EA7, U+5F71, U+5F80, U+5F81, U+6230, U+6232, U+6253, U+63A8, U+653F, U+6587, U+6599, U+65E5, U+670D, U+689D, U+6A23, U+6B3E, U+6CE8, U+6DF1, U+6EAB, U+7070, U+722D, U+7246, U+7247, U+73A9, U+7528, U+754C, U+756B, U+7684, U+79C1, U+7B56, U+7D93, U+7E41, U+81EA, U+82F1, U+8352, U+89AA, U+8A00, U+8A9E, U+8CBB, U+8CC7, U+8FD1, U+9020, U+904A, U+904E, U+9060, U+908A, U+9130, U+91CE, U+93AE, U+95DC, U+9694, U+96B1, U+96C4, U+9762, U+9801, U+9818, U+9996, U+9AD4, U+FF0C, U+FF1A; }
@font-face { font-family: "LND zh"; src: url("/fonts/zh-tw-700-more.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+4E09, U+4E0B, U+4E45, U+4E9B, U+4EBA, U+4EC0, U+4ED6, U+4EE5, U+4EFB, U+4EFD, U+4F3A, U+4F55, U+4F5C, U+4F60, U+4F9D, U+4FDD, U+4FE1, U+500B, U+5011, U+505A, U+505C, U+5099, U+50F9, U+5152, U+5167, U+516C, U+5176, U+5206, U+5229, U+522A, U+5230, U+5247, U+5305, U+53CD, U+53D6, U+53EA, U+53EF, U+53F0, U+540D, U+544A, U+54C1, U+54EA, U+552E, U+554F, U+55CE, U+5668, U+56E0, U+578B, U+591A, U+5927, U+5929, U+5931, U+5B58, U+5BB3, U+5BB6, U+5BB9, U+5BEB, U+5BF6, U+5C6C, U+5DF1, U+5E33, U+5E38, U+5E73, U+5EE3, U+5F0A, U+5F0F, U+5F97, U+600E, U+610F, U+6211, U+6216, U+63F4, U+640D, U+64DA, U+652F, U+6536, U+6545, U+6578, U+65B7, U+65BC, U+662F, U+6642, U+66B1, U+66F4, U+66FF, U+6709, U+6771, U+6790, U+679C, U+683C, U+6B0A, U+6B62, U+6B78, U+6C92, U+6CD5, U+6E96, U+70BA, U+71DF, U+7269, U+73FE, U+7406, U+767B, U+767C, U+770B, U+77F3, U+7A0B, U+7A31, U+7AD9, U+7AE5, U+7D00, U+7D61, U+7D66, U+7DB2, U+7DDA, U+8005, U+806F, U+8166, U+8207, U+8655, U+865F, U+884C, U+88E1, U+897F, U+8981, U+898B, U+898F, U+8A0A, U+8A72, U+8AA4, U+8AB0, U+8B70, U+8B77, U+8B8A, U+8CAC, U+8CB7, U+8CFC, U+8E64, U+8F09, U+8FA6, U+8FFD, U+9019, U+9023, U+904B, U+9055, U+9084, U+91CD, U+9304, U+932F, U+958B, U+9664, U+96C6, U+96E2, U+96FB, U+982D, U+984C, U+985E, U+9EBC, U+9EDE, U+FF08, U+FF09, U+FF1F; }
@font-face { font-family: "LND ja"; src: url("/fonts/ja-400-home.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+A9, U+B7, U+D7, U+3001, U+3002, U+3005, U+300C, U+300D, U+3042, U+3044, U+3046, U+3048, U+304A, U+304B, U+304C, U+304D, U+304F, U+3050, U+3051, U+3053, U+3055, U+3057, U+3058, U+3059, U+305A, U+305B, U+305D, U+305F, U+3060, U+3061, U+3063, U+3064, U+3065, U+3066, U+3067, U+3068, U+3069, U+306A, U+306B, U+306D, U+306E, U+306F, U+3070, U+3076, U+3078, U+3079, U+307B, U+307E, U+307F, U+3081, U+3082, U+3084, U+3085, U+3087, U+3088, U+3089, U+308A, U+308B, U+308C, U+308D, U+308F, U+3092, U+3093, U+30A2, U+30A4, U+30A6, U+30A7, U+30A8, U+30A9, U+30AA, U+30AC, U+30AD, U+30AF, U+30B0, U+30B1, U+30B2, U+30B3, U+30B4, U+30B5, U+30B7, U+30B8, U+30B9, U+30BB, U+30BF, U+30C0, U+30C3, U+30C6, U+30C7, U+30C8, U+30C9, U+30CA, U+30CD, U+30CE, U+30D0, U+30D1, U+30D4, U+30D5, U+30D6, U+30D7, U+30DA, U+30DB, U+30DC, U+30DD, U+30DE, U+30DF, U+30E0, U+30E3, U+30E4, U+30E5, U+30E7, U+30E9, U+30EA, U+30EB, U+30EC, U+30ED, U+30EF, U+30F3, U+30FB, U+30FC, U+4E0A, U+4E16, U+4E2D, U+4E3B, U+4E89, U+4E92, U+4E95, U+4EA4, U+4EBA, U+4ECA, U+4EFB, U+4F11, U+4F4F, U+4F5C, U+4F9B, U+4FA1, U+4FE1, U+4FEE, U+50CD, U+5145, U+5165, U+5168, U+516C, U+5175, U+5185, U+51A0, U+51B6, U+5206, U+5225, U+5229, U+5236, U+5272, U+529B, U+52A9, U+52D5, U+53BB, U+53CB, U+53D7, U+5408, U+540C, U+540D, U+5411, U+5546, U+5584, U+55B6, U+56F3, U+56FD, U+571F, U+5727, U+5730, U+57CE, U+57FA, U+5834, U+585E, U+5883, U+58C1, U+5916, U+5927, U+5929, U+5931, U+596A, U+597D, U+5B88, U+5B98, U+5B9D, U+5BB6, U+5BFE, U+5C0F, U+5C11, U+5C4B, U+5DE3, U+5E83, U+5EFA, U+5FC5, U+6094, U+610F, U+611B, U+6226, U+6240, U+624B, U+629C, U+62BD, U+63A1, U+63A5, U+63D0, U+6483, U+6587, U+6599, U+65B0, U+65CF, U+65E5, U+661F, U+66AE, U+66F4, U+66F8, U+6709, U+672C, U+6750, U+6765, U+6790, U+68EE, U+6A19, U+6A29, U+6BCE, U+6C17, U+6C5D, U+6CC9, U+6E08, U+6F14, U+7070, U+7121, U+718A, U+7247, U+7269, U+7279, U+72FC, U+738B, U+7406, U+7528, U+753A, U+754C, U+7559, U+7565, U+75DB, U+7740, U+77E5, U+77F3, U+7826, U+7A2E, U+7A74, U+7A7A, U+7A9F, U+7ADC, U+7AE0, U+7BC9, U+7CBE, U+7D04, U+7D42, U+7D66, U+7D9A, U+7DF4, U+7E41, U+7FD2, U+8001, U+8005, U+8170, U+819D, U+81EA, U+8272, U+82F1, U+8352, U+843D, U+86DB, U+8718, U+88C5, U+88DC, U+88FD, U+8972, U+8981, U+898F, U+89AA, U+89E3, U+8A00, U+8A13, U+8A2A, U+8A55, U+8A73, U+8A9E, U+8C37, U+8CA0, U+8CC7, U+8CFC, U+8D08, U+8D8A, U+8FBA, U+8FD1, U+9001, U+9032, U+904A, U+904E, U+9078, U+914D, U+9152, U+91CE, U+91D1, U+9271, U+92ED, U+935B, U+9577, U+9580, U+958B, U+9593, U+95D8, U+968A, U+96A3, U+96C4, U+96C6, U+96C7, U+9818, U+98FE, U+9AD4, U+9B54, U+AD6D, U+C5B4, U+D55C, U+FF1A; }
@font-face { font-family: "LND ja"; src: url("/fonts/ja-400-more.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+300E, U+300F, U+304E, U+3052, U+3054, U+3056, U+305E, U+3073, U+3080, U+30A1, U+30A3, U+30AB, U+30B6, U+30BD, U+30BE, U+30C1, U+30C4, U+30CB, U+30D3, U+30D9, U+30E1, U+30E2, U+30E6, U+4E00, U+4E09, U+4E0B, U+4E0D, U+4E0E, U+4E26, U+4E45, U+4E86, U+4E88, U+4E8B, U+4EAC, U+4ED5, U+4ED6, U+4ED8, U+4EE3, U+4EE4, U+4EE5, U+4EF6, U+4F1A, U+4F1D, U+4F34, U+4F4D, U+4F53, U+4F55, U+4F7F, U+4F8B, U+4F9D, U+4FC2, U+4FDD, U+500B, U+501F, U+5024, U+505C, U+507D, U+5099, U+50CF, U+511F, U+512A, U+5148, U+5171, U+5177, U+518D, U+51FA, U+5207, U+5224, U+523A, U+5247, U+524A, U+524D, U+52A0, U+52AA, U+52B9, U+52D9, U+5316, U+5348, U+5354, U+5360, U+53C2, U+53C8, U+53CA, U+53CD, U+53CE, U+53D6, U+53E3, U+53E4, U+53EF, U+53F7, U+5404, U+542B, U+544A, U+5468, U+54C1, U+54E1, U+554F, U+56DE, U+56F2, U+5728, U+578B, U+57CB, U+57DF, U+57F7, U+5831, U+586B, U+58EB, U+58F2, U+5909, U+5951, U+59A8, U+59CB, U+59D4, U+5B50, U+5B57, U+5B58, U+5B89, U+5B8C, U+5B9A, U+5B9B, U+5B9F, U+5BA2, U+5BB3, U+5BB9, U+5BC6, U+5C01, U+5C02, U+5C0B, U+5C4A, U+5C5E, U+5C65, U+5DDE, U+5DEE, U+5E30, U+5E38, U+5E74, U+5E8F, U+5EA6, U+5EA7, U+5F0F, U+5F15, U+5F35, U+5F37, U+5F53, U+5F62, U+5F85, U+5F8B, U+5F8C, U+5F93, U+5F97, U+5FDC, U+6025, U+6027, U+60C5, U+614B, U+61B6, U+6210, U+623B, U+6255, U+6271, U+6280, U+628A, U+62E0, U+62E1, U+6301, U+6307, U+6392, U+63AA, U+63B2, U+63DB, U+63E1, U+63F4, U+640D, U+652F, U+6539, U+653B, U+653E, U+6545, U+6557, U+6559, U+6570, U+6574, U+65AD, U+65B9, U+65E9, U+660E, U+6620, U+6642, U+666F, U+6697, U+6700, U+6708, U+671F, U+672A, U+672B, U+6761, U+6771, U+67FB, U+6839, U+683C, U+6848, U+68C4, U+691C, U+696D, U+697D, U+6982, U+69D8, U+6A2A, U+6A5F, U+6B21, U+6B27, U+6B62, U+6B63, U+6B74, U+6B8B, U+6BB5, U+6C0F, U+6C38, U+6C42, U+6C7A, U+6CC1, U+6CD5, U+6CE8, U+6D88, U+6DFB, U+6E21, U+6E80, U+6E90, U+6E96, U+6EDE, U+70B9, U+70BA, U+7167, U+7248, U+72B6, U+72EC, U+73FE, U+751F, U+7531, U+7533, U+753B, U+756A, U+7570, U+767A, U+7684, U+76CA, U+76EE, U+76F4, U+76F8, U+77ED, U+78BA, U+793A, U+793E, U+796D, U+79C1, U+79FB, U+7A0B, U+7A0E, U+7ACB, U+7AEF, U+7AF6, U+7B2C, U+7B46, U+7B54, U+7BA1, U+7BC4, U+7C73, U+7D10, U+7D19, U+7D1B, U+7D2F, U+7D44, U+7D4C, U+7D50, U+7D61, U+7D71, U+7D99, U+7DAD, U+7DCA, U+7DCF, U+7DD2, U+7DE8, U+7F6E, U+7FA9, U+7FFB, U+8003, U+80B2, U+80CC, U+80FD, U+822C, U+82E5, U+82E6, U+8377, U+884C, U+8853, U+8868, U+88C1, U+8907, U+898B, U+89A7, U+8A02, U+8A08, U+8A0E, U+8A18, U+8A2D, U+8A31, U+8A33, U+8A34, U+8A3C, U+8A66, U+8A71, U+8A8D, U+8AA4, U+8AAC, U+8AAD, U+8AB0, U+8ABF, U+8ACB, U+8AFE, U+8B58, U+8B66, U+8B70, U+8B72, U+8B77, U+8CA8, U+8CA9, U+8CAC, U+8CB7, U+8CB8, U+8CBB, U+8CEA, U+8D77, U+8D85, U+8DB3, U+8EAB, U+8EE2, U+8EFD, U+8F09, U+8F44, U+8FBC, U+8FD4, U+8FF0, U+8FFD, U+900F, U+9014, U+901A, U+9023, U+9045, U+904B, U+9053, U+9055, U+9069, U+90E8, U+91CD, U+91CF, U+9280, U+92AD, U+9332, U+9375, U+9589, U+95A2, U+9650, U+9664, U+9694, U+969C, U+96E2, U+975E, U+97D3, U+97F3, U+9805, U+9806, U+9808, U+983C, U+984C, U+984D, U+9858, U+985E, U+98DF, U+9F62, U+B2D8, U+C601, U+C606, U+C8FC, U+C9D1, U+FF08, U+FF09, U+FF0F, U+FF1F; }
@font-face { font-family: "LND ja"; src: url("/fonts/ja-700-home.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+B7, U+3001, U+3002, U+3005, U+300C, U+300D, U+3044, U+3046, U+304B, U+3053, U+3055, U+3057, U+305B, U+305D, U+305F, U+3061, U+3066, U+3067, U+3068, U+306A, U+306E, U+306F, U+3070, U+3078, U+307E, U+3082, U+3084, U+3089, U+308A, U+308B, U+3092, U+30A4, U+30A9, U+30AD, U+30AF, U+30B5, U+30B7, U+30B9, U+30C3, U+30C8, U+30D0, U+30D5, U+30D7, U+30DB, U+30DD, U+30E0, U+30E7, U+30E9, U+30EA, U+30EC, U+30ED, U+30F3, U+30FC, U+4E16, U+4E2D, U+4E3B, U+4EBA, U+516C, U+5229, U+53BB, U+540D, U+5411, U+57FA, U+5883, U+58C1, U+611B, U+6226, U+6599, U+65E5, U+66AE, U+672C, U+6C5D, U+7121, U+7528, U+753A, U+754C, U+7D04, U+82F1, U+8352, U+898F, U+8A00, U+8A9E, U+8FBA, U+8FD1, U+904E, U+91CE, U+958B, U+96A3, U+96C4, U+96C6, U+9818, U+FF1A; }
@font-face { font-family: "LND ja"; src: url("/fonts/ja-700-more.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+3042, U+304A, U+304C, U+304D, U+304F, U+3051, U+3059, U+3060, U+3063, U+3064, U+3069, U+306B, U+3073, U+3079, U+307B, U+3088, U+308C, U+308F, U+3093, U+30A1, U+30A2, U+30A3, U+30A6, U+30A7, U+30AA, U+30AB, U+30B0, U+30B2, U+30B3, U+30B6, U+30B8, U+30BB, U+30BD, U+30BF, U+30C0, U+30C6, U+30C7, U+30C9, U+30CB, U+30CD, U+30D1, U+30D3, U+30D6, U+30E1, U+30E3, U+30E4, U+30E6, U+30EB, U+30FB, U+4E00, U+4E0A, U+4E0D, U+4E86, U+4E89, U+4E8B, U+4ED6, U+4EE3, U+4EE5, U+4EFB, U+4F7F, U+4FA1, U+4FC2, U+4FDD, U+50CF, U+5165, U+5168, U+5185, U+5207, U+524A, U+53C8, U+53CA, U+53CD, U+53D6, U+5408, U+544A, U+554F, U+55B6, U+56FD, U+5728, U+5831, U+5834, U+58F2, U+5909, U+5927, U+5931, U+5B58, U+5B89, U+5B9D, U+5BA2, U+5BB3, U+5BB9, U+5BFE, U+5C4A, U+5E74, U+5E83, U+5F53, U+5F97, U+5FDC, U+60C5, U+610F, U+6210, U+6240, U+6271, U+62E0, U+63A5, U+640D, U+6545, U+65B9, U+66F4, U+671F, U+672A, U+6761, U+6790, U+6839, U+683C, U+696D, U+6982, U+69D8, U+6A29, U+6B63, U+6C7A, U+6CD5, U+6E96, U+7406, U+753B, U+767A, U+7684, U+76EE, U+77F3, U+793A, U+7B2C, U+7BA1, U+7D1B, U+7D42, U+7D9A, U+8005, U+8868, U+8981, U+898B, U+89E3, U+8A18, U+8CA9, U+8CAC, U+8CEA, U+8CFC, U+904A, U+904B, U+9053, U+9055, U+91CD, U+9332, U+9593, U+95A2, U+9664, U+FF08, U+FF09, U+FF0F, U+FF1F; }
@font-face { font-family: "LND ko"; src: url("/fonts/ko-400-home.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+A9, U+B7, U+D7, U+2018, U+2019, U+3001, U+3002, U+300C, U+300D, U+4E2D, U+6587, U+65E5, U+672C, U+7E41, U+8A9E, U+9AD4, U+AC00, U+AC04, U+AC11, U+AC12, U+AC14, U+AC19, U+AC1C, U+AC1D, U+AC31, U+AC70, U+AC74, U+AC78, U+AC83, U+AC8C, U+ACA9, U+ACB0, U+ACBD, U+ACC4, U+ACE0, U+ACE8, U+ACF0, U+ACF3, U+ACF5, U+ACFC, U+AD00, U+AD11, U+AD6C, U+AD6D, U+AD70, U+AD74, U+ADF8, U+AE08, U+AE09, U+AE30, U+AE34, U+AE38, U+AE4C, U+AED8, U+B05D, U+B098, U+B0A0, U+B0A8, U+B0AC, U+B0B4, U+B108, U+B118, U+B124, U+B137, U+B178, U+B204, U+B220, U+B291, U+B294, U+B2C8, U+B2D8, U+B2E4, U+B2F9, U+B300, U+B370, U+B378, U+B3C4, U+B3CC, U+B3D9, U+B41C, U+B450, U+B465, U+B4DC, U+B4E0, U+B4E4, U+B514, U+B545, U+B77C, U+B791, U+B7EC, U+B7FC, U+B808, U+B828, U+B85C, U+B85D, U+B860, U+B864, U+B8CC, U+B960, U+B978, U+B97C, U+B984, U+B98E, U+B9AC, U+B9B0, U+B9C8, U+B9CC, U+B9E4, U+BA38, U+BA70, U+BA74, U+BA85, U+BA87, U+BAA8, U+BAAC, U+BAB8, U+BB34, U+BB38, U+BB3C, U+BBF8, U+BC14, U+BC16, U+BC29, U+BC8C, U+BCBD, U+BCC0, U+BCC4, U+BCD1, U+BCF4, U+BCF8, U+BD84, U+BE14, U+BE44, U+BE48, U+BFD0, U+C0AC, U+C0B4, U+C0C1, U+C0C8, U+C0C9, U+C0D8, U+C0F7, U+C11C, U+C11D, U+C120, U+C131, U+C138, U+C18C, U+C18D, U+C218, U+C220, U+C232, U+C26C, U+C2A4, U+C2B5, U+C2DC, U+C2DD, U+C2E0, U+C2F8, U+C501, U+C529, U+C544, U+C548, U+C54A, U+C54C, U+C55E, U+C57C, U+C57D, U+C5B4, U+C5B8, U+C5BB, U+C5C6, U+C5C8, U+C5D0, U+C5D8, U+C5EC, U+C5F0, U+C601, U+C606, U+C608, U+C624, U+C635, U+C655, U+C694, U+C6A9, U+C6B0, U+C6B4, U+C6C0, U+C6C3, U+C6C5, U+C6CC, U+C6D0, U+C6E0, U+C6EC, U+C704, U+C720, U+C73C, U+C740, U+C744, U+C758, U+C774, U+C778, U+C77C, U+C783, U+C784, U+C785, U+C788, U+C790, U+C791, U+C7A1, U+C7A5, U+C7AC, U+C7C1, U+C801, U+C804, U+C808, U+C815, U+C81C, U+C820, U+C870, U+C871, U+C880, U+C885, U+C8FC, U+C990, U+C9C0, U+C9D1, U+C9DC, U+CC2C, U+CC38, U+CC3E, U+CC44, U+CC98, U+CC9C, U+CCB4, U+CCD0, U+CD94, U+CD9C, U+CDA9, U+CE5C, U+CE68, U+CEA0, U+CEE4, U+CEF4, U+CF04, U+CF1C, U+CFE0, U+D06C, U+D070, U+D0A4, U+D0B5, U+D0C0, U+D0C8, U+D0D5, U+D0DD, U+D130, U+D14C, U+D15C, U+D22C, U+D2B8, U+D30C, U+D310, U+D314, U+D328, U+D398, U+D3BC, U+D3C9, U+D45C, U+D4E8, U+D504, U+D50C, U+D544, U+D558, U+D55C, U+D560, U+D568, U+D569, U+D574, U+D615, U+D638, U+D648, U+D649, U+D655, U+D669, U+D68C, U+D6C8, U+FF1A; }
@font-face { font-family: "LND ko"; src: url("/fonts/ko-400-more.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+201C, U+201D, U+300E, U+300F, U+3055, U+3068, U+306A, U+306E, U+307E, U+308A, U+4E3B, U+58C1, U+9694, U+9818, U+AC01, U+AC10, U+AC15, U+AC16, U+AC80, U+ACA0, U+ACA8, U+ACAC, U+ACBC, U+ACE7, U+AD50, U+AD8C, U+ADDC, U+ADFC, U+AE00, U+AE0B, U+AE41, U+AF34, U+AFB8, U+AFD4, U+B014, U+B01D, U+B04A, U+B07C, U+B09C, U+B0B8, U+B0C5, U+B0C8, U+B140, U+B144, U+B290, U+B2A5, U+B2A6, U+B2C9, U+B2CC, U+B2D9, U+B2E8, U+B2EB, U+B2EC, U+B2F4, U+B2F5, U+B354, U+B358, U+B3C5, U+B3C8, U+B3D5, U+B418, U+B420, U+B428, U+B429, U+B4A4, U+B4DD, U+B4EC, U+B4F1, U+B530, U+B54C, U+B5A0, U+B5A4, U+B5BB, U+B610, U+B77D, U+B78C, U+B798, U+B7AB, U+B7B5, U+B7C9, U+B7F0, U+B7FD, U+B807, U+B824, U+B825, U+B839, U+B840, U+B86D, U+B8E8, U+B958, U+B974, U+B985, U+B9AD, U+B9BD, U+B9C1, U+B9C9, U+B9D0, U+B9DE, U+B9FA, U+BA54, U+BAA9, U+BABB, U+BB3B, U+BBC0, U+BBFC, U+BC00, U+BC0F, U+BC18, U+BC1B, U+BC1C, U+BC30, U+BC31, U+BC84, U+BC88, U+BC94, U+BC95, U+BCA4, U+BCA8, U+BCF5, U+BCFC, U+BD07, U+BD80, U+BD88, U+BDF0, U+BE0C, U+BE4C, U+BE68, U+BE7C, U+BF51, U+C0AD, U+C0BD, U+C0DD, U+C124, U+C12F, U+C140, U+C154, U+C158, U+C190, U+C1A1, U+C290, U+C2A8, U+C2E4, U+C2F1, U+C368, U+C37C, U+C4F0, U+C4F8, U+C545, U+C554, U+C557, U+C558, U+C560, U+C561, U+C571, U+C591, U+C5B5, U+C5C5, U+C5D4, U+C5ED, U+C5F4, U+C600, U+C628, U+C62C, U+C62E, U+C640, U+C644, U+C678, U+C6B8, U+C6C1, U+C6D4, U+C6F9, U+C74C, U+C775, U+C77D, U+C798, U+C7A0, U+C800, U+C810, U+C811, U+C838, U+C900, U+C911, U+C989, U+C99D, U+C9C1, U+C9C4, U+C9C8, U+C9E7, U+CC28, U+CC45, U+CCAD, U+CD1D, U+CD5C, U+CD95, U+CDB0, U+CE20, U+CE58, U+CE59, U+CE6D, U+CE74, U+CE90, U+CEA1, U+CEE8, U+CF13, U+CF54, U+CF58, U+CFC4, U+D018, U+D0AC, U+D0C1, U+D0DC, U+D138, U+D14D, U+D150, U+D1A0, U+D1B5, U+D29C, U+D2B9, U+D2F0, U+D305, U+D37C, U+D3B8, U+D3EC, U+D3F4, U+D3FC, U+D488, U+D53D, U+D551, U+D56D, U+D588, U+D589, U+D5C8, U+D600, U+D604, U+D611, U+D64D, U+D654, U+D658, U+D69F, U+D6A8, U+D6C4, U+D76C, U+D788; }
@font-face { font-family: "LND ko"; src: url("/fonts/ko-700-home.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+B7, U+3001, U+3002, U+300C, U+300D, U+AC12, U+AC14, U+AC19, U+AC1C, U+AC1D, U+ACE0, U+ACF3, U+ACF5, U+AD00, U+AD6D, U+ADF8, U+B098, U+B0A0, U+B108, U+B124, U+B294, U+B2C8, U+B2D8, U+B2E4, U+B4E0, U+B4E4, U+B77C, U+B791, U+B7EC, U+B808, U+B85C, U+B8CC, U+B984, U+B9AC, U+B9B0, U+B9C8, U+BA38, U+BAA8, U+BAB8, U+BB34, U+BC29, U+BCBD, U+BCC0, U+BCF4, U+C0AC, U+C0C1, U+C0F7, U+C11C, U+C131, U+C138, U+C2A4, U+C2B5, U+C2F8, U+C57C, U+C57D, U+C5B4, U+C5B8, U+C5D0, U+C5EC, U+C601, U+C606, U+C608, U+C694, U+C6A9, U+C6B0, U+C6C0, U+C6C3, U+C6C5, U+C6D0, U+C740, U+C744, U+C758, U+C774, U+C778, U+C77C, U+C7C1, U+C804, U+C815, U+C81C, U+C8FC, U+C9C0, U+C9D1, U+CC98, U+CE68, U+D06C, U+D0A4, U+D2B8, U+D314, U+D504, U+D50C, U+D558, U+D55C, U+D648, U+D669, U+FF1A; }
@font-face { font-family: "LND ko"; src: url("/fonts/ko-700-more.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+AC00, U+AC04, U+AC70, U+AC8C, U+ACA9, U+ACAC, U+ACB0, U+ACBC, U+ACBD, U+ACC4, U+ACFC, U+AD11, U+AD6C, U+AD8C, U+ADDC, U+ADFC, U+AE30, U+AE34, U+B04A, U+B0B4, U+B144, U+B2C9, U+B2F9, U+B300, U+B370, U+B418, U+B4DC, U+B514, U+B5A4, U+B5BB, U+B610, U+B78C, U+B7AB, U+B824, U+B85D, U+B860, U+B974, U+B978, U+B97C, U+B9E4, U+BA54, U+BA74, U+BAA9, U+BB38, U+BB3B, U+BBF8, U+BC0F, U+BC1B, U+BC1C, U+BC31, U+BC84, U+BC95, U+BD80, U+BD84, U+BE14, U+BE44, U+BFD0, U+C0AD, U+C11D, U+C18C, U+C190, U+C218, U+C2DC, U+C2E0, U+C2E4, U+C2F1, U+C4F0, U+C544, U+C548, U+C54A, U+C558, U+C5C5, U+C5F0, U+C624, U+C628, U+C640, U+C6B4, U+C6F9, U+C704, U+C73C, U+C784, U+C788, U+C790, U+C7A5, U+C7AC, U+C800, U+C801, U+C808, U+C870, U+C885, U+C900, U+C911, U+C9C4, U+C9C8, U+CC45, U+CCB4, U+CD94, U+CD9C, U+CE58, U+CE59, U+CEF4, U+CFE0, U+D0C0, U+D130, U+D15C, U+D29C, U+D30C, U+D37C, U+D3FC, U+D488, U+D4E8, U+D544, U+D560, U+D574, U+D588, U+D589; }

:root {
  --ink: #3e2914;
  --ink-soft: #6a4a2c;
  --paper: #f6ead0;
  --paper-deep: #ecdab3;
  --desk: #e4cc9a;
  --wood: #6b4423;
  --wood-dark: #46290f;
  --cream: #fbf1da;
  --gold: #c99a3c;
  --red: #a9442f;
  --green: #4f7353;
  --link: #8a3b1f;
  /* As in the game: a book face for Latin letters (scripts/lang.gd SERIF_NAMES).
     No generic family in it: a generic "serif" before our faces would stand
     for the system's Chinese, Japanese or Korean serif and win every glyph. */
  --latin: Palatino, "Palatino Linotype", "Book Antiqua", "Hoefler Text", Georgia, "Noto Serif", "Times New Roman";
  --face: var(--latin), serif;
  color-scheme: light;
}
html[lang="zh-Hant"] { --face: var(--latin), "LND zh", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
html[lang="ja"] { --face: var(--latin), "LND ja", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; }
html[lang="ko"] { --face: var(--latin), "LND ko", "AppleMyungjo", "Batang", "Noto Serif KR", serif; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body {
  margin: 0;
  font-family: var(--face);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink);
  background-color: var(--desk);
  background-image:
    radial-gradient(ellipse at 20% 0%, rgba(255, 246, 222, 0.75), transparent 55%),
    radial-gradient(ellipse at 90% 40%, rgba(255, 240, 205, 0.5), transparent 60%),
    radial-gradient(ellipse at 50% 120%, rgba(150, 100, 45, 0.25), transparent 60%);
  background-attachment: fixed;
}
html[lang="zh-Hant"] body, html[lang="ja"] body, html[lang="ko"] body { line-height: 1.85; letter-spacing: 0.02em; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-underline-offset: 0.18em; }
a:hover { color: var(--red); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
h1, h2, h3 { line-height: 1.3; margin: 0 0 0.6em; }
p, ul, ol, dl { margin: 0 0 1em; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 8px; top: -60px; z-index: 30; background: var(--cream); padding: 8px 14px; border-radius: 6px; }
.skip:focus { top: 8px; }

/* --- The wooden bar along the top ------------------------------------------------ */
.top {
  position: sticky; top: 0; z-index: 20;
  background:
    repeating-linear-gradient(180deg, rgba(0, 0, 0, 0) 0 13px, rgba(0, 0, 0, 0.09) 13px 14px),
    linear-gradient(180deg, #74491f, #4f3013);
  border-bottom: 3px solid var(--gold);
  box-shadow: 0 3px 10px rgba(60, 35, 10, 0.35);
  color: var(--cream);
}
.top-in { max-width: 1120px; margin: 0 auto; padding: 6px 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.brand { display: flex; align-items: center; gap: 8px; color: var(--cream); text-decoration: none; font-weight: 700; font-size: 1.05rem; flex: 1 1 auto; min-width: 0; }
.brand img { border-radius: 7px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); }
.brand span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav { order: 3; flex: 1 0 100%; display: flex; gap: 2px; overflow-x: auto; margin: 0 -8px; padding-bottom: 2px; scrollbar-width: none; }
.nav a { color: var(--cream); text-decoration: none; padding: 6px 10px; border-radius: 6px; white-space: nowrap; font-weight: 700; font-size: 0.95rem; }
.nav a:hover { background: rgba(255, 235, 190, 0.12); color: #fff; }
.nav a[aria-current="page"] { background: rgba(255, 235, 190, 0.18); box-shadow: inset 0 -2px 0 var(--gold); }
.langs { position: relative; flex: none; }
.langs summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 6px; font-size: 0.95rem; border: 1px solid rgba(251, 241, 218, 0.35); min-height: 36px; }
.langs summary::-webkit-details-marker { display: none; }
.langs summary::after { content: "▾"; font-size: 0.8em; }
.langs summary:hover { background: rgba(255, 235, 190, 0.12); }
.globe { width: 18px; height: 18px; background: url("/img/globe.svg") center / contain no-repeat; }
.langs ul { position: absolute; right: 0; top: calc(100% + 6px); list-style: none; margin: 0; padding: 6px; min-width: 150px; background: var(--paper); border: 2px solid var(--wood); border-radius: 8px; box-shadow: 0 8px 20px rgba(60, 35, 10, 0.35); }
.langs li a { display: block; padding: 8px 12px; border-radius: 5px; color: var(--ink); text-decoration: none; }
.langs li a:hover { background: var(--paper-deep); }
.langs li a[aria-current="true"] { font-weight: 700; color: var(--red); }

@media (min-width: 760px) {
  .top-in { flex-wrap: nowrap; padding: 8px 20px; }
  .brand { flex: 0 1 auto; }
  .nav { order: 0; flex: 1 1 auto; justify-content: flex-end; margin: 0; overflow: visible; }
}

/* --- The language suggestion ----------------------------------------------------- */
/* Words in other languages: the system's faces (our cut-down faces hold only this page's characters). */
.hint, .langs ul { font-family: var(--latin), system-ui, -apple-system, "Segoe UI", sans-serif; }
.hint { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 14px; padding: 8px 48px 8px 16px; position: relative; background: var(--paper); border-bottom: 2px solid var(--gold); font-size: 0.95rem; }
.hint p { margin: 0; }
.hint-close { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--ink-soft); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.hint-close:hover { background: var(--paper-deep); }

/* --- Frames and buttons from the game --------------------------------------------- */
.panel, .card, .hero-card, .prose {
  border-style: solid;
  border-width: 25px 24px;
  /* Cut outside the metal corners, so the sides are plain wood that stretches. */
  border-image: url("/img/ui/panel.webp") 42 40 42 40 / 25px 24px stretch;
  background: linear-gradient(180deg, #f8eed6, #f1e2c0) padding-box;
  filter: drop-shadow(0 4px 6px rgba(70, 40, 12, 0.22));
}
@media (max-width: 520px) {
  .panel, .card, .hero-card, .prose { border-width: 19px 16px; border-image-width: 19px 16px; }
  .summary, .contact-card { padding: 12px 12px 2px; }
  .prose ul, .prose ol { padding-left: 1.1em; }
}
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 2px 14px;
  border-style: solid; border-width: 12px 16px;
  border-image: url("/img/ui/button_terracotta.webp") 18 20 18 20 fill / 12px 16px stretch;
  color: var(--cream); font-weight: 700; font-size: 1.05rem; text-decoration: none; text-align: center; line-height: 1.25;
  text-shadow: 0 1px 2px rgba(60, 20, 8, 0.65);
  transition: filter 0.15s, transform 0.15s;
}
.btn:hover { color: #fff; filter: brightness(1.08); transform: translateY(-1px); }
.btn:active { filter: brightness(0.92); transform: none; }
.btn-green { border-image-source: url("/img/ui/button_sage.webp"); text-shadow: 0 1px 2px rgba(20, 45, 25, 0.7); }
.btn-small { min-height: 36px; font-size: 0.92rem; border-width: 9px 12px; padding: 0 8px; }
.plaque {
  display: table; margin: 0 auto 22px; padding: 2px 10px;
  border-style: solid; border-width: 13px 32px;
  border-image: url("/img/ui/plaque.webp") 20 44 20 44 fill / 13px 32px stretch;
  font-size: 1.3rem; color: var(--ink); text-align: center;
}
html[lang="zh-Hant"] .plaque, html[lang="ja"] .plaque, html[lang="ko"] .plaque { letter-spacing: 0.06em; }

/* --- Home ---------------------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; background: #8fb7d6; }
.hero-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; }
.hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 45%; background: linear-gradient(180deg, transparent, rgba(228, 204, 154, 0.85)); pointer-events: none; }
.hero-in { position: relative; z-index: 1; max-width: 1120px; margin: 0 auto; padding: 18px 16px 30px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.logo { margin: 0; width: min(88vw, 560px); filter: drop-shadow(0 6px 10px rgba(40, 22, 6, 0.45)); }
.local-title { margin: -6px 0 6px; font-size: clamp(1.9rem, 7vw, 2.8rem); font-weight: 700; color: var(--cream); letter-spacing: 0.08em; text-shadow: 0 0 2px #4a2a0e, 0 2px 0 #4a2a0e, 0 3px 8px rgba(40, 20, 5, 0.7); }
.hero-card { margin-top: 10vw; max-width: 640px; padding: 4px 6px; }
.intro { font-size: 1.05rem; margin-bottom: 14px; }
.soon { margin: 10px 0 0; font-size: 0.9rem; color: var(--ink-soft); }
@media (min-width: 900px) {
  .hero-in { min-height: min(86vh, 760px); justify-content: space-between; padding: 26px 20px 40px; }
  .hero-card { margin-top: 24px; }
  .intro { font-size: 1.12rem; }
}

.band { max-width: 1120px; margin: 0 auto; padding: 34px 16px 10px; }
.story .panel { max-width: 780px; margin: 0 auto; text-align: center; padding: 6px 10px 0; }
.story .plaque { margin-top: -2px; }
.story p { font-size: 1.08rem; }

.trailer { position: relative; margin: 0 auto; max-width: 920px; border: 6px solid var(--wood-dark); border-radius: 12px; overflow: hidden; box-shadow: 0 8px 18px rgba(60, 35, 10, 0.35); background: var(--wood-dark); }
.trailer img { width: 100%; filter: saturate(0.9) brightness(0.82); }
.trailer figcaption {
  position: absolute; left: 50%; bottom: 12%; transform: translateX(-50%);
  white-space: nowrap; padding: 2px 10px;
  border-style: solid; border-width: 13px 32px;
  border-image: url("/img/ui/plaque.webp") 20 44 20 44 fill / 13px 32px stretch;
  font-weight: 700; font-size: clamp(0.95rem, 3.2vw, 1.25rem);
}

.shots { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .shots { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .shots { grid-template-columns: 1fr 1fr 1fr; } }
.shot { display: block; border: 4px solid var(--wood); border-radius: 9px; overflow: hidden; box-shadow: 0 4px 10px rgba(60, 35, 10, 0.3); transition: transform 0.15s, box-shadow 0.15s; background: var(--wood); }
.shot:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(60, 35, 10, 0.35); }

.cards { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .cards { grid-template-columns: 1fr 1fr 1fr; } }
.card { padding: 2px 6px 0; }
.card-icon { width: 56px; height: 56px; margin: -4px 0 6px; }
.card h3 { font-size: 1.15rem; color: var(--wood-dark); }
.card ul, .prose ul { padding-left: 1.2em; }
.card li { margin-bottom: 0.5em; font-size: 0.97rem; }
.card li::marker, .prose li::marker { color: var(--gold); }

.closing { padding-bottom: 40px; }
.closing .panel { max-width: 560px; margin: 0 auto; text-align: center; padding: 8px 8px 0; }
.closing p { margin: 12px 0 4px; color: var(--ink-soft); }

/* Screenshots, large */
.viewer { padding: 0; border: 0; background: transparent; max-width: 96vw; max-height: 92vh; overflow: visible; }
.viewer::backdrop { background: rgba(28, 16, 5, 0.86); }
.viewer img { max-width: 96vw; max-height: 88vh; border: 4px solid var(--wood); border-radius: 8px; cursor: pointer; }
.viewer-close { position: absolute; top: -14px; right: -10px; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--gold); background: var(--wood-dark); color: var(--cream); font-size: 1.6rem; line-height: 1; cursor: pointer; }

/* --- Pages of text ------------------------------------------------------------------- */
.page { max-width: 900px; margin: 0 auto; padding: 16px 8px 36px; }
.prose { padding: 4px 8px 0; }
@media (min-width: 700px) { .prose { padding: 10px 26px 4px; } .page { padding: 34px 20px 50px; } }
.prose h1 { font-size: clamp(1.6rem, 5vw, 2.1rem); color: var(--wood-dark); }
.prose h2 { font-size: 1.3rem; color: var(--wood-dark); margin-top: 1.6em; padding-bottom: 0.25em; border-bottom: 2px solid rgba(201, 154, 60, 0.45); }
.prose h3 { font-size: 1.08rem; margin-top: 1.3em; }
.prose li { margin-bottom: 0.45em; }
.prose code { font-size: 0.85em; background: var(--paper-deep); padding: 1px 5px; border-radius: 4px; overflow-wrap: anywhere; }
.updated { color: var(--ink-soft); font-size: 0.92rem; }
.lead { font-size: 1.1rem; }
.summary, .contact-card { background: rgba(201, 154, 60, 0.13); border: 1px solid rgba(201, 154, 60, 0.5); border-left: 5px solid var(--gold); border-radius: 8px; padding: 14px 16px 2px; margin-bottom: 1.4em; }
.summary h2, .contact-card h2 { margin-top: 0; border: 0; font-size: 1.15rem; }
.contact-card .btn { font-size: 1rem; overflow-wrap: anywhere; }
.notice { background: #fff3cf; border: 1px solid var(--gold); border-radius: 8px; padding: 10px 14px; }
.prose details { border: 1px solid rgba(107, 68, 35, 0.3); border-radius: 8px; background: rgba(255, 250, 238, 0.6); margin-bottom: 10px; }
.prose summary { cursor: pointer; padding: 12px 14px; font-weight: 700; list-style: none; position: relative; padding-left: 34px; }
.prose summary::-webkit-details-marker { display: none; }
.prose summary::before { content: "▸"; position: absolute; left: 14px; color: var(--gold); transition: transform 0.15s; }
.prose details[open] summary::before { transform: rotate(90deg); }
.prose details p { padding: 0 14px 4px 34px; }
.facts { display: grid; grid-template-columns: 1fr; gap: 2px 18px; }
.facts dt { font-weight: 700; color: var(--wood-dark); margin-top: 8px; }
.facts dd { margin: 0; }
@media (min-width: 640px) { .facts { grid-template-columns: 200px 1fr; } .facts dt { margin-top: 0; } .facts dt, .facts dd { padding: 6px 0; border-bottom: 1px dashed rgba(107, 68, 35, 0.25); } }
.press-logo { width: min(100%, 420px); margin: 10px auto; }

/* --- The wooden footer ------------------------------------------------------------------ */
.foot { background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0) 0 13px, rgba(0, 0, 0, 0.09) 13px 14px), linear-gradient(180deg, #5a3816, #3d240c); border-top: 3px solid var(--gold); color: #ecdcb8; font-size: 0.93rem; }
.foot-in { max-width: 1120px; margin: 0 auto; padding: 22px 16px 26px; text-align: center; }
.foot a { color: var(--cream); }
.foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 18px; margin-bottom: 10px; }
.foot-links a { font-weight: 700; text-decoration: none; padding: 4px 2px; }
.foot-links a:hover { text-decoration: underline; }
.foot p { margin: 0 0 6px; }
.fine { font-size: 0.82rem; opacity: 0.85; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
