
/* source: online-fonts.css */
/* Exact original glyphs; UI subset and full fallback have mutually exclusive ranges. */
@font-face{font-family:PingFangOnline;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/pingfang-ui-400-bb158a5203e5.woff2") format("woff2");unicode-range:U+20-7E,U+A0,U+A4,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+2190-2193,U+2212,U+2236,U+3000-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E1C,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B,U+4E5D,U+4E5F,U+4E8C,U+4E8E,U+4E91,U+4E94,U+4EA7,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F20,U+4F34,U+4F4D-4F4E,U+4F53,U+4F59,U+4F5C,U+4F73,U+4F7F,U+4FA7,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+504F,U+505C,U+50A8,U+50CF,U+5148,U+514B,U+5165,U+5168,U+516B-516D,U+5173,U+5176,U+5185,U+518D,U+5199,U+51B3,U+51B5,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5269,U+529B,U+529F-52A1,U+52A8,U+5305,U+5316,U+5339,U+5341,U+5347,U+5355,U+5357,U+5373,U+539F,U+53C2,U+53CA,U+53CC,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5404,U+540C-540E,U+5411,U+542B-542C,U+542F,U+548C,U+54C1,U+54CD,U+5668,U+56DB,U+56DE,U+56F4,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5757,U+57DF,U+586B,U+58F0,U+5904,U+5907,U+590D,U+591A,U+5927,U+5931,U+5934,U+597D,U+59CB,U+59D3,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5BA2,U+5BB6,U+5BB9,U+5BF9,U+5C06,U+5C0F,U+5C1A,U+5C31,U+5C40,U+5C4F,U+5C55,U+5C71,U+5DDD,U+5DE6,U+5DEE,U+5DF2,U+5E73,U+5E76,U+5E8F,U+5E94,U+5EA6,U+5EFA,U+5F00,U+5F0F,U+5F20,U+5F39,U+5F53,U+5F55,U+5F69,U+5F85,U+5F97,U+5FB7,U+5FC5,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60C5,U+610F,U+6210,U+6216,U+6237,U+623F-6240,U+624B,U+624D,U+6253,U+6267,U+6269,U+626B,U+6280,U+62A5,U+62E9,U+6301,U+6307,U+6309,U+6362,U+636E,U+6377,U+6388,U+63A5,U+63A7,U+63CF,U+6446,U+64A4,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65AF-65B0,U+65B9,U+65D7,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+662F,U+663E,U+666E,U+667A,U+6682,U+66F4,U+66FE,U+6700,U+6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6746,U+675F,U+6761,U+6765,U+677F,U+679C,U+67E5,U+6807,U+6821,U+6838,U+683C,U+684C,U+6863,U+68C0,U+68D5,U+6A21,U+6A2A,U+6B21,U+6B62-6B64,U+6BB5,U+6BCF,U+6BD4,U+6C42,U+6C47,U+6CA1,U+6CB3,U+6CBF,U+6CD5,U+6CF0,U+6D3B,U+6D4B,U+6D4F,U+6D88,U+6E05,U+6E90,U+6EE1,U+6FC0,U+70B8-70B9,U+7136,U+7247-7248,U+7279,U+72AF,U+72B6,U+72EC,U+73A9,U+73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767B,U+7684,U+76D2,U+76EE,U+76F4,U+76F8,U+770B,U+77E5,U+7801,U+786E,U+793A,U+79BB,U+79D1,U+79F0,U+79FB,U+7A0D,U+7A7A,U+7A97,U+7ACB,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7C89,U+7CA4,U+7CFB,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EBF,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F16,U+7F51,U+7F5A,U+7F6E,U+7F8E,U+7FFB-7FFC,U+8005,U+8054,U+80DC,U+80FD,U+81EA,U+81F3-81F4,U+8272,U+82F1,U+8303,U+83B7,U+83DC,U+84DD,U+884C,U+8868,U+88C1,U+88C5,U+8981,U+89C4,U+89C6,U+89C8,U+8BA1,U+8BA4,U+8BAE,U+8BB0,U+8BBE,U+8BD5,U+8BDD,U+8BE5,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C03,U+8D1F,U+8D25,U+8D39,U+8D44,U+8D5B,U+8D85,U+8DB3,U+8DF3,U+8F68,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD4,U+8FD9,U+8FDB,U+8FDE-8FDF,U+8FF9,U+8FFD,U+9000-9001,U+9009,U+900F,U+901A,U+9065,U+9080,U+90E8,U+914D,U+91CD,U+91CF,U+91D1,U+949F,U+94AE,U+94FE,U+9500,U+952E,U+957F,U+95ED,U+95F4,U+9605,U+961F,U+9635-9636,U+9645,U+9650,U+96F6,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+987A-987B,U+9884,U+9886,U+9891,U+9897,U+9986,U+9A8C,U+9AD8,U+9EC4,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;}
@font-face{font-family:PingFangOnline;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/pingfang-body-400.woff2") format("woff2");unicode-range:U+0-1F,U+7F-9F,U+A1-A3,U+A5-B6,U+B8-2012,U+2015-2017,U+201A-201B,U+201E-2025,U+2027-218F,U+2194-2211,U+2213-2235,U+2237-2FFF,U+3003-3009,U+300C-300F,U+3012-4DFF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E1B,U+4E1D-4E23,U+4E25-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E4A,U+4E4C-4E5C,U+4E5E,U+4E60-4E8B,U+4E8D,U+4E8F-4E90,U+4E92-4E93,U+4E95-4EA6,U+4EA8-4EB9,U+4EBB-4EC4,U+4EC6-4ECC,U+4ECF-4ED5,U+4ED7-4EE4,U+4EE6-4EF5,U+4EF7-4EFA,U+4EFC-4F19,U+4F1B-4F1F,U+4F21-4F33,U+4F35-4F4C,U+4F4F-4F52,U+4F54-4F58,U+4F5A-4F5B,U+4F5D-4F72,U+4F74-4F7E,U+4F80-4FA6,U+4FA8-4FDC,U+4FDE-4FE0,U+4FE2-4FED,U+4FEF-5018,U+501A-503B,U+503D-504E,U+5050-505B,U+505D-50A7,U+50A9-50CE,U+50D0-5147,U+5149-514A,U+514C-5164,U+5166-5167,U+5169-516A,U+516E-5172,U+5174-5175,U+5177-5184,U+5186-518C,U+518E-5198,U+519A-51B2,U+51B4,U+51B6-51C5,U+51C7-51EC,U+51EE-51F9,U+51FC-5205,U+5208-5216,U+5218,U+521A-521C,U+521E-5223,U+5225-5228,U+522A,U+522C-522F,U+5231-5235,U+5238-524C,U+524E-5268,U+526A-529A,U+529C-529E,U+52A2-52A7,U+52A9-5304,U+5306-5315,U+5317-5338,U+533A-5340,U+5342-5346,U+5348-5354,U+5356,U+5358-5372,U+5374-539E,U+53A0-53C1,U+53C3-53C9,U+53CB,U+53CD-53D0,U+53D2-53D5,U+53D9-53E2,U+53E4-53E5,U+53E7-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5403,U+5405-540B,U+540F-5410,U+5412-542A,U+542D-542E,U+5430-548B,U+548D-54C0,U+54C2-54CC,U+54CE-5667,U+5669-56DA,U+56DC-56DD,U+56DF-56F3,U+56F5-56FC,U+56FF-5727,U+5729-572F,U+5731-5739,U+573B-573F,U+5741-5756,U+5758-57DE,U+57E0-586A,U+586C-58EF,U+58F1-5903,U+5905-5906,U+5908-590C,U+590E-5919,U+591B-5926,U+5928-5930,U+5932-5933,U+5935-597C,U+597E-59CA,U+59CC-59D2,U+59D4-5B56,U+5B59-5B88,U+5B8A-5B8B,U+5B8D-5B99,U+5B9B-5BA1,U+5BA3-5BB5,U+5BB7-5BB8,U+5BBA-5BF8,U+5BFA-5C05,U+5C07-5C0E,U+5C10-5C19,U+5C1B-5C30,U+5C32-5C3F,U+5C41-5C4E,U+5C50-5C54,U+5C56-5C70,U+5C72-5DDC,U+5DDE-5DE5,U+5DE7-5DED,U+5DEF-5DF1,U+5DF3-5E72,U+5E74-5E75,U+5E77-5E8E,U+5E90-5E93,U+5E95-5EA5,U+5EA7-5EF9,U+5EFB-5EFF,U+5F01-5F0E,U+5F10-5F1F,U+5F21-5F38,U+5F3A-5F52,U+5F54,U+5F56-5F68,U+5F6A-5F84,U+5F86-5F96,U+5F98-5FB6,U+5FB8-5FC4,U+5FC6-5FEA,U+5FEC-6000,U+6002-6026,U+6028-603A,U+603C-6061,U+6063-606E,U+6070-60C4,U+60C6-610E,U+6110-620F,U+6211-6215,U+6217-6236,U+6238-623E,U+6241-624A,U+624C,U+624E-6252,U+6254-6266,U+6268,U+626A,U+626C-627F,U+6281-62A4,U+62A6-62E8,U+62EA-6300,U+6302-6306,U+6308,U+630A-6361,U+6363-636D,U+636F-6376,U+6378-6387,U+6389-63A4,U+63A6,U+63A8-63CE,U+63D0-6445,U+6447-64A3,U+64A5-64AC,U+64AE-64CC,U+64CE-652E,U+6530-6535,U+6537-6538,U+653A-653D,U+653F-6547,U+6549-656F,U+6571-6573,U+6575-6586,U+6588-6598,U+659A-65AC,U+65AE,U+65B1-65B8,U+65BA-65D6,U+65D8-65DF,U+65E1-65E4,U+65E6,U+65E8,U+65EA-65F5,U+65F7-660D,U+660F-662E,U+6630-663D,U+663F-666D,U+666F-6679,U+667B-6681,U+6683-66F3,U+66F5-66FD,U+66FF,U+6701-6708,U+670A-670C,U+670E-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-6745,U+6747-675E,U+6760,U+6762-6764,U+6766-677E,U+6780-679B,U+679D-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+6839-683B,U+683D-684B,U+684D-6862,U+6864-68BF,U+68C1-68D4,U+68D6-6A20,U+6A22-6A29,U+6A2B-6B20,U+6B22-6B61,U+6B65-6BB4,U+6BB6-6BCE,U+6BD0-6BD3,U+6BD5-6C41,U+6C43-6C46,U+6C48-6CA0,U+6CA2-6CB2,U+6CB4-6CBE,U+6CC0-6CD4,U+6CD6-6CEF,U+6CF1-6D3A,U+6D3C-6D4A,U+6D4C-6D4E,U+6D50-6D87,U+6D89-6E04,U+6E06-6E8F,U+6E91-6EE0,U+6EE2-6FBF,U+6FC1-70B7,U+70BA-7135,U+7137-7246,U+7249-7278,U+727A-72AE,U+72B0-72B5,U+72B7-72EB,U+72ED-73A8,U+73AA-73AF,U+73B1-7402,U+7404-7405,U+7407-751E,U+7520-7527,U+7529-7530,U+7532-7534,U+7536-753A,U+753C-754B,U+754D-7558,U+755A-767A,U+767C-7683,U+7685-76D1,U+76D3-76ED,U+76EF-76F3,U+76F5-76F7,U+76F9-770A,U+770C-77E4,U+77E6-7800,U+7802-786D,U+786F-7939,U+793B-79BA,U+79BC-79D0,U+79D2-79EF,U+79F1-79FA,U+79FC-7A0C,U+7A0E-7A79,U+7A7B-7A96,U+7A98-7ACA,U+7ACC-7AEE,U+7AF0-7B25,U+7B27-7B2B,U+7B2D-7B48,U+7B4A-7B7D,U+7B7F,U+7B81-7B96,U+7B98-7C88,U+7C8A-7CA3,U+7CA5-7CFA,U+7CFC-7D2E,U+7D30-7E40,U+7E42-7EA1,U+7EA3-7EA6,U+7EA8-7EBE,U+7EC0-7EC7,U+7EC9-7ECE,U+7ED0,U+7ED2,U+7ED4-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFE,U+7F00-7F15,U+7F17-7F50,U+7F52-7F59,U+7F5B-7F6D,U+7F6F-7F8D,U+7F8F-7FFA,U+7FFD-8004,U+8006-8053,U+8055-80DB,U+80DD-80FC,U+80FE-81E9,U+81EB-81F2,U+81F5-8271,U+8273-82F0,U+82F2-8302,U+8304-83B6,U+83B8-83DB,U+83DD-84DC,U+84DE-884B,U+884D-8867,U+8869-88C0,U+88C2-88C4,U+88C6-8980,U+8982-89C3,U+89C5,U+89C7,U+89C9-8BA0,U+8BA2-8BA3,U+8BA5-8BAD,U+8BAF,U+8BB1-8BBD,U+8BBF-8BD4,U+8BD6-8BDC,U+8BDE-8BE4,U+8BE6-8BEC,U+8BEE-8BF6,U+8BF8-8BF9,U+8BFC-8C02,U+8C04-8D1E,U+8D20-8D24,U+8D26-8D38,U+8D3A-8D43,U+8D45-8D5A,U+8D5C-8D84,U+8D86-8DB2,U+8DB4-8DF2,U+8DF4-8F67,U+8F69-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FBD,U+8FBF-8FC6,U+8FC8-8FD3,U+8FD5-8FD8,U+8FDA,U+8FDC-8FDD,U+8FE0-8FF8,U+8FFA-8FFC,U+8FFE-8FFF,U+9002-9008,U+900A-900E,U+9010-9019,U+901B-9064,U+9066-907F,U+9081-90E7,U+90E9-914C,U+914E-91CC,U+91CE,U+91D0,U+91D2-949E,U+94A0-94AD,U+94AF-94FD,U+94FF,U+9501-952D,U+952F-957E,U+9580-95EC,U+95EE-95F3,U+95F5-9604,U+9606-961E,U+9620-9634,U+9637-9644,U+9646-964F,U+9651-96F5,U+96F7-96FF,U+9701-9758,U+975A-975D,U+975F-9761,U+9763-97F2,U+97F4-9874,U+9877-9879,U+987C-9883,U+9885,U+9887-9890,U+9892-9896,U+9898-9985,U+9987-9A8B,U+9A8D-9AD7,U+9AD9-9EC3,U+9EC5-9ED0,U+9ED2-9ED7,U+9ED9-FF00,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-10FFFF;}
@font-face{font-family:PingFangOnline;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/pingfang-ui-600-f00b20cccf6f.woff2") format("woff2");unicode-range:U+20-7E,U+A0,U+A4,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+2190-2193,U+2212,U+2236,U+3000-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E1C,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B,U+4E5D,U+4E5F,U+4E8C,U+4E8E,U+4E91,U+4E94,U+4EA7,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F20,U+4F34,U+4F4D-4F4E,U+4F53,U+4F59,U+4F5C,U+4F73,U+4F7F,U+4FA7,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+504F,U+505C,U+50A8,U+50CF,U+5148,U+514B,U+5165,U+5168,U+516B-516D,U+5173,U+5176,U+5185,U+518D,U+5199,U+51B3,U+51B5,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5269,U+529B,U+529F-52A1,U+52A8,U+5305,U+5316,U+5339,U+5341,U+5347,U+5355,U+5357,U+5373,U+539F,U+53C2,U+53CA,U+53CC,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5404,U+540C-540E,U+5411,U+542B-542C,U+542F,U+548C,U+54C1,U+54CD,U+5668,U+56DB,U+56DE,U+56F4,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5757,U+57DF,U+586B,U+58F0,U+5904,U+5907,U+590D,U+591A,U+5927,U+5931,U+5934,U+597D,U+59CB,U+59D3,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5BA2,U+5BB6,U+5BB9,U+5BF9,U+5C06,U+5C0F,U+5C1A,U+5C31,U+5C40,U+5C4F,U+5C55,U+5C71,U+5DDD,U+5DE6,U+5DEE,U+5DF2,U+5E73,U+5E76,U+5E8F,U+5E94,U+5EA6,U+5EFA,U+5F00,U+5F0F,U+5F20,U+5F39,U+5F53,U+5F55,U+5F69,U+5F85,U+5F97,U+5FB7,U+5FC5,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60C5,U+610F,U+6210,U+6216,U+6237,U+623F-6240,U+624B,U+624D,U+6253,U+6267,U+6269,U+626B,U+6280,U+62A5,U+62E9,U+6301,U+6307,U+6309,U+6362,U+636E,U+6377,U+6388,U+63A5,U+63A7,U+63CF,U+6446,U+64A4,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65AF-65B0,U+65B9,U+65D7,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+662F,U+663E,U+666E,U+667A,U+6682,U+66F4,U+66FE,U+6700,U+6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6746,U+675F,U+6761,U+6765,U+677F,U+679C,U+67E5,U+6807,U+6821,U+6838,U+683C,U+684C,U+6863,U+68C0,U+68D5,U+6A21,U+6A2A,U+6B21,U+6B62-6B64,U+6BB5,U+6BCF,U+6BD4,U+6C42,U+6C47,U+6CA1,U+6CB3,U+6CBF,U+6CD5,U+6CF0,U+6D3B,U+6D4B,U+6D4F,U+6D88,U+6E05,U+6E90,U+6EE1,U+6FC0,U+70B8-70B9,U+7136,U+7247-7248,U+7279,U+72AF,U+72B6,U+72EC,U+73A9,U+73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767B,U+7684,U+76D2,U+76EE,U+76F4,U+76F8,U+770B,U+77E5,U+7801,U+786E,U+793A,U+79BB,U+79D1,U+79F0,U+79FB,U+7A0D,U+7A7A,U+7A97,U+7ACB,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7C89,U+7CA4,U+7CFB,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EBF,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F16,U+7F51,U+7F5A,U+7F6E,U+7F8E,U+7FFB-7FFC,U+8005,U+8054,U+80DC,U+80FD,U+81EA,U+81F3-81F4,U+8272,U+82F1,U+8303,U+83B7,U+83DC,U+84DD,U+884C,U+8868,U+88C1,U+88C5,U+8981,U+89C4,U+89C6,U+89C8,U+8BA1,U+8BA4,U+8BAE,U+8BB0,U+8BBE,U+8BD5,U+8BDD,U+8BE5,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C03,U+8D1F,U+8D25,U+8D39,U+8D44,U+8D5B,U+8D85,U+8DB3,U+8DF3,U+8F68,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD4,U+8FD9,U+8FDB,U+8FDE-8FDF,U+8FF9,U+8FFD,U+9000-9001,U+9009,U+900F,U+901A,U+9065,U+9080,U+90E8,U+914D,U+91CD,U+91CF,U+91D1,U+949F,U+94AE,U+94FE,U+9500,U+952E,U+957F,U+95ED,U+95F4,U+9605,U+961F,U+9635-9636,U+9645,U+9650,U+96F6,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+987A-987B,U+9884,U+9886,U+9891,U+9897,U+9986,U+9A8C,U+9AD8,U+9EC4,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;}
@font-face{font-family:PingFangOnline;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/pingfang-body-600.woff2") format("woff2");unicode-range:U+0-1F,U+7F-9F,U+A1-A3,U+A5-B6,U+B8-2012,U+2015-2017,U+201A-201B,U+201E-2025,U+2027-218F,U+2194-2211,U+2213-2235,U+2237-2FFF,U+3003-3009,U+300C-300F,U+3012-4DFF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E1B,U+4E1D-4E23,U+4E25-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E4A,U+4E4C-4E5C,U+4E5E,U+4E60-4E8B,U+4E8D,U+4E8F-4E90,U+4E92-4E93,U+4E95-4EA6,U+4EA8-4EB9,U+4EBB-4EC4,U+4EC6-4ECC,U+4ECF-4ED5,U+4ED7-4EE4,U+4EE6-4EF5,U+4EF7-4EFA,U+4EFC-4F19,U+4F1B-4F1F,U+4F21-4F33,U+4F35-4F4C,U+4F4F-4F52,U+4F54-4F58,U+4F5A-4F5B,U+4F5D-4F72,U+4F74-4F7E,U+4F80-4FA6,U+4FA8-4FDC,U+4FDE-4FE0,U+4FE2-4FED,U+4FEF-5018,U+501A-503B,U+503D-504E,U+5050-505B,U+505D-50A7,U+50A9-50CE,U+50D0-5147,U+5149-514A,U+514C-5164,U+5166-5167,U+5169-516A,U+516E-5172,U+5174-5175,U+5177-5184,U+5186-518C,U+518E-5198,U+519A-51B2,U+51B4,U+51B6-51C5,U+51C7-51EC,U+51EE-51F9,U+51FC-5205,U+5208-5216,U+5218,U+521A-521C,U+521E-5223,U+5225-5228,U+522A,U+522C-522F,U+5231-5235,U+5238-524C,U+524E-5268,U+526A-529A,U+529C-529E,U+52A2-52A7,U+52A9-5304,U+5306-5315,U+5317-5338,U+533A-5340,U+5342-5346,U+5348-5354,U+5356,U+5358-5372,U+5374-539E,U+53A0-53C1,U+53C3-53C9,U+53CB,U+53CD-53D0,U+53D2-53D5,U+53D9-53E2,U+53E4-53E5,U+53E7-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5403,U+5405-540B,U+540F-5410,U+5412-542A,U+542D-542E,U+5430-548B,U+548D-54C0,U+54C2-54CC,U+54CE-5667,U+5669-56DA,U+56DC-56DD,U+56DF-56F3,U+56F5-56FC,U+56FF-5727,U+5729-572F,U+5731-5739,U+573B-573F,U+5741-5756,U+5758-57DE,U+57E0-586A,U+586C-58EF,U+58F1-5903,U+5905-5906,U+5908-590C,U+590E-5919,U+591B-5926,U+5928-5930,U+5932-5933,U+5935-597C,U+597E-59CA,U+59CC-59D2,U+59D4-5B56,U+5B59-5B88,U+5B8A-5B8B,U+5B8D-5B99,U+5B9B-5BA1,U+5BA3-5BB5,U+5BB7-5BB8,U+5BBA-5BF8,U+5BFA-5C05,U+5C07-5C0E,U+5C10-5C19,U+5C1B-5C30,U+5C32-5C3F,U+5C41-5C4E,U+5C50-5C54,U+5C56-5C70,U+5C72-5DDC,U+5DDE-5DE5,U+5DE7-5DED,U+5DEF-5DF1,U+5DF3-5E72,U+5E74-5E75,U+5E77-5E8E,U+5E90-5E93,U+5E95-5EA5,U+5EA7-5EF9,U+5EFB-5EFF,U+5F01-5F0E,U+5F10-5F1F,U+5F21-5F38,U+5F3A-5F52,U+5F54,U+5F56-5F68,U+5F6A-5F84,U+5F86-5F96,U+5F98-5FB6,U+5FB8-5FC4,U+5FC6-5FEA,U+5FEC-6000,U+6002-6026,U+6028-603A,U+603C-6061,U+6063-606E,U+6070-60C4,U+60C6-610E,U+6110-620F,U+6211-6215,U+6217-6236,U+6238-623E,U+6241-624A,U+624C,U+624E-6252,U+6254-6266,U+6268,U+626A,U+626C-627F,U+6281-62A4,U+62A6-62E8,U+62EA-6300,U+6302-6306,U+6308,U+630A-6361,U+6363-636D,U+636F-6376,U+6378-6387,U+6389-63A4,U+63A6,U+63A8-63CE,U+63D0-6445,U+6447-64A3,U+64A5-64AC,U+64AE-64CC,U+64CE-652E,U+6530-6535,U+6537-6538,U+653A-653D,U+653F-6547,U+6549-656F,U+6571-6573,U+6575-6586,U+6588-6598,U+659A-65AC,U+65AE,U+65B1-65B8,U+65BA-65D6,U+65D8-65DF,U+65E1-65E4,U+65E6,U+65E8,U+65EA-65F5,U+65F7-660D,U+660F-662E,U+6630-663D,U+663F-666D,U+666F-6679,U+667B-6681,U+6683-66F3,U+66F5-66FD,U+66FF,U+6701-6708,U+670A-670C,U+670E-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-6745,U+6747-675E,U+6760,U+6762-6764,U+6766-677E,U+6780-679B,U+679D-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+6839-683B,U+683D-684B,U+684D-6862,U+6864-68BF,U+68C1-68D4,U+68D6-6A20,U+6A22-6A29,U+6A2B-6B20,U+6B22-6B61,U+6B65-6BB4,U+6BB6-6BCE,U+6BD0-6BD3,U+6BD5-6C41,U+6C43-6C46,U+6C48-6CA0,U+6CA2-6CB2,U+6CB4-6CBE,U+6CC0-6CD4,U+6CD6-6CEF,U+6CF1-6D3A,U+6D3C-6D4A,U+6D4C-6D4E,U+6D50-6D87,U+6D89-6E04,U+6E06-6E8F,U+6E91-6EE0,U+6EE2-6FBF,U+6FC1-70B7,U+70BA-7135,U+7137-7246,U+7249-7278,U+727A-72AE,U+72B0-72B5,U+72B7-72EB,U+72ED-73A8,U+73AA-73AF,U+73B1-7402,U+7404-7405,U+7407-751E,U+7520-7527,U+7529-7530,U+7532-7534,U+7536-753A,U+753C-754B,U+754D-7558,U+755A-767A,U+767C-7683,U+7685-76D1,U+76D3-76ED,U+76EF-76F3,U+76F5-76F7,U+76F9-770A,U+770C-77E4,U+77E6-7800,U+7802-786D,U+786F-7939,U+793B-79BA,U+79BC-79D0,U+79D2-79EF,U+79F1-79FA,U+79FC-7A0C,U+7A0E-7A79,U+7A7B-7A96,U+7A98-7ACA,U+7ACC-7AEE,U+7AF0-7B25,U+7B27-7B2B,U+7B2D-7B48,U+7B4A-7B7D,U+7B7F,U+7B81-7B96,U+7B98-7C88,U+7C8A-7CA3,U+7CA5-7CFA,U+7CFC-7D2E,U+7D30-7E40,U+7E42-7EA1,U+7EA3-7EA6,U+7EA8-7EBE,U+7EC0-7EC7,U+7EC9-7ECE,U+7ED0,U+7ED2,U+7ED4-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFE,U+7F00-7F15,U+7F17-7F50,U+7F52-7F59,U+7F5B-7F6D,U+7F6F-7F8D,U+7F8F-7FFA,U+7FFD-8004,U+8006-8053,U+8055-80DB,U+80DD-80FC,U+80FE-81E9,U+81EB-81F2,U+81F5-8271,U+8273-82F0,U+82F2-8302,U+8304-83B6,U+83B8-83DB,U+83DD-84DC,U+84DE-884B,U+884D-8867,U+8869-88C0,U+88C2-88C4,U+88C6-8980,U+8982-89C3,U+89C5,U+89C7,U+89C9-8BA0,U+8BA2-8BA3,U+8BA5-8BAD,U+8BAF,U+8BB1-8BBD,U+8BBF-8BD4,U+8BD6-8BDC,U+8BDE-8BE4,U+8BE6-8BEC,U+8BEE-8BF6,U+8BF8-8BF9,U+8BFC-8C02,U+8C04-8D1E,U+8D20-8D24,U+8D26-8D38,U+8D3A-8D43,U+8D45-8D5A,U+8D5C-8D84,U+8D86-8DB2,U+8DB4-8DF2,U+8DF4-8F67,U+8F69-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FBD,U+8FBF-8FC6,U+8FC8-8FD3,U+8FD5-8FD8,U+8FDA,U+8FDC-8FDD,U+8FE0-8FF8,U+8FFA-8FFC,U+8FFE-8FFF,U+9002-9008,U+900A-900E,U+9010-9019,U+901B-9064,U+9066-907F,U+9081-90E7,U+90E9-914C,U+914E-91CC,U+91CE,U+91D0,U+91D2-949E,U+94A0-94AD,U+94AF-94FD,U+94FF,U+9501-952D,U+952F-957E,U+9580-95EC,U+95EE-95F3,U+95F5-9604,U+9606-961E,U+9620-9634,U+9637-9644,U+9646-964F,U+9651-96F5,U+96F7-96FF,U+9701-9758,U+975A-975D,U+975F-9761,U+9763-97F2,U+97F4-9874,U+9877-9879,U+987C-9883,U+9885,U+9887-9890,U+9892-9896,U+9898-9985,U+9987-9A8B,U+9A8D-9AD7,U+9AD9-9EC3,U+9EC5-9ED0,U+9ED2-9ED7,U+9ED9-FF00,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-10FFFF;}
@font-face{font-family:YouSheOnline;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/youshe-ui-400-7645e6a3d9c6.woff2") format("woff2");unicode-range:U+20-7E,U+A4,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+3000-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E1C,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B,U+4E5D,U+4E5F,U+4E8C,U+4E8E,U+4E91,U+4E94,U+4EA7,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F20,U+4F34,U+4F4D-4F4E,U+4F53,U+4F59,U+4F5C,U+4F73,U+4F7F,U+4FA7,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+504F,U+505C,U+50A8,U+50CF,U+5148,U+514B,U+5165,U+5168,U+516B-516D,U+5173,U+5176,U+5185,U+518D,U+5199,U+51B3,U+51B5,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5269,U+529B,U+529F-52A1,U+52A8,U+5305,U+5316,U+5339,U+5341,U+5347,U+5355,U+5357,U+5373,U+539F,U+53C2,U+53CA,U+53CC,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5404,U+540C-540E,U+5411,U+542B-542C,U+542F,U+548C,U+54C1,U+54CD,U+5668,U+56DB,U+56DE,U+56F4,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5757,U+57DF,U+586B,U+58F0,U+5904,U+5907,U+590D,U+591A,U+5927,U+5931,U+5934,U+597D,U+59CB,U+59D3,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5BA2,U+5BB6,U+5BB9,U+5BF9,U+5C06,U+5C0F,U+5C1A,U+5C31,U+5C40,U+5C4F,U+5C55,U+5C71,U+5DDD,U+5DE6,U+5DEE,U+5DF2,U+5E73,U+5E76,U+5E8F,U+5E94,U+5EA6,U+5EFA,U+5F00,U+5F0F,U+5F20,U+5F39,U+5F53,U+5F55,U+5F69,U+5F85,U+5F97,U+5FB7,U+5FC5,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60C5,U+610F,U+6210,U+6216,U+6237,U+623F-6240,U+624B,U+624D,U+6253,U+6267,U+6269,U+626B,U+6280,U+62A5,U+62E9,U+6301,U+6307,U+6309,U+6362,U+636E,U+6377,U+6388,U+63A5,U+63A7,U+63CF,U+6446,U+64A4,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65AF-65B0,U+65B9,U+65D7,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+662F,U+663E,U+666E,U+667A,U+6682,U+66F4,U+66FE,U+6700,U+6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6746,U+675F,U+6761,U+6765,U+677F,U+679C,U+67E5,U+6807,U+6821,U+6838,U+683C,U+684C,U+6863,U+68C0,U+68D5,U+6A21,U+6A2A,U+6B21,U+6B62-6B64,U+6BB5,U+6BCF,U+6BD4,U+6C42,U+6C47,U+6CA1,U+6CB3,U+6CBF,U+6CD5,U+6CF0,U+6D3B,U+6D4B,U+6D4F,U+6D88,U+6E05,U+6E90,U+6EE1,U+6FC0,U+70B8-70B9,U+7136,U+7247-7248,U+7279,U+72AF,U+72B6,U+72EC,U+73A9,U+73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767B,U+7684,U+76D2,U+76EE,U+76F4,U+76F8,U+770B,U+77E5,U+7801,U+786E,U+793A,U+79BB,U+79D1,U+79F0,U+79FB,U+7A0D,U+7A7A,U+7A97,U+7ACB,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7C89,U+7CA4,U+7CFB,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EBF,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F16,U+7F51,U+7F5A,U+7F6E,U+7F8E,U+7FFB-7FFC,U+8005,U+8054,U+80DC,U+80FD,U+81EA,U+81F3-81F4,U+8272,U+82F1,U+8303,U+83B7,U+83DC,U+84DD,U+884C,U+8868,U+88C1,U+88C5,U+8981,U+89C4,U+89C6,U+89C8,U+8BA1,U+8BA4,U+8BAE,U+8BB0,U+8BBE,U+8BD5,U+8BDD,U+8BE5,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C03,U+8D1F,U+8D25,U+8D39,U+8D44,U+8D5B,U+8D85,U+8DB3,U+8DF3,U+8F68,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD4,U+8FD9,U+8FDB,U+8FDE-8FDF,U+8FF9,U+8FFD,U+9000-9001,U+9009,U+900F,U+901A,U+9065,U+9080,U+90E8,U+914D,U+91CD,U+91CF,U+91D1,U+949F,U+94AE,U+94FE,U+9500,U+952E,U+957F,U+95ED,U+95F4,U+9605,U+961F,U+9635-9636,U+9645,U+9650,U+96F6,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+987A-987B,U+9884,U+9886,U+9891,U+9897,U+9986,U+9A8C,U+9AD8,U+9EC4,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;}
@font-face{font-family:YouSheOnline;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/youshe-biaotihei.ttf") format("truetype");unicode-range:U+0-1F,U+7F-A3,U+A5-B6,U+B8-2012,U+2015-2017,U+201A-201B,U+201E-2025,U+2027-2FFF,U+3003-3009,U+300C-300F,U+3012-4DFF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E1B,U+4E1D-4E23,U+4E25-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E4A,U+4E4C-4E5C,U+4E5E,U+4E60-4E8B,U+4E8D,U+4E8F-4E90,U+4E92-4E93,U+4E95-4EA6,U+4EA8-4EB9,U+4EBB-4EC4,U+4EC6-4ECC,U+4ECF-4ED5,U+4ED7-4EE4,U+4EE6-4EF5,U+4EF7-4EFA,U+4EFC-4F19,U+4F1B-4F1F,U+4F21-4F33,U+4F35-4F4C,U+4F4F-4F52,U+4F54-4F58,U+4F5A-4F5B,U+4F5D-4F72,U+4F74-4F7E,U+4F80-4FA6,U+4FA8-4FDC,U+4FDE-4FE0,U+4FE2-4FED,U+4FEF-5018,U+501A-503B,U+503D-504E,U+5050-505B,U+505D-50A7,U+50A9-50CE,U+50D0-5147,U+5149-514A,U+514C-5164,U+5166-5167,U+5169-516A,U+516E-5172,U+5174-5175,U+5177-5184,U+5186-518C,U+518E-5198,U+519A-51B2,U+51B4,U+51B6-51C5,U+51C7-51EC,U+51EE-51F9,U+51FC-5205,U+5208-5216,U+5218,U+521A-521C,U+521E-5223,U+5225-5228,U+522A,U+522C-522F,U+5231-5235,U+5238-524C,U+524E-5268,U+526A-529A,U+529C-529E,U+52A2-52A7,U+52A9-5304,U+5306-5315,U+5317-5338,U+533A-5340,U+5342-5346,U+5348-5354,U+5356,U+5358-5372,U+5374-539E,U+53A0-53C1,U+53C3-53C9,U+53CB,U+53CD-53D0,U+53D2-53D5,U+53D9-53E2,U+53E4-53E5,U+53E7-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5403,U+5405-540B,U+540F-5410,U+5412-542A,U+542D-542E,U+5430-548B,U+548D-54C0,U+54C2-54CC,U+54CE-5667,U+5669-56DA,U+56DC-56DD,U+56DF-56F3,U+56F5-56FC,U+56FF-5727,U+5729-572F,U+5731-5739,U+573B-573F,U+5741-5756,U+5758-57DE,U+57E0-586A,U+586C-58EF,U+58F1-5903,U+5905-5906,U+5908-590C,U+590E-5919,U+591B-5926,U+5928-5930,U+5932-5933,U+5935-597C,U+597E-59CA,U+59CC-59D2,U+59D4-5B56,U+5B59-5B88,U+5B8A-5B8B,U+5B8D-5B99,U+5B9B-5BA1,U+5BA3-5BB5,U+5BB7-5BB8,U+5BBA-5BF8,U+5BFA-5C05,U+5C07-5C0E,U+5C10-5C19,U+5C1B-5C30,U+5C32-5C3F,U+5C41-5C4E,U+5C50-5C54,U+5C56-5C70,U+5C72-5DDC,U+5DDE-5DE5,U+5DE7-5DED,U+5DEF-5DF1,U+5DF3-5E72,U+5E74-5E75,U+5E77-5E8E,U+5E90-5E93,U+5E95-5EA5,U+5EA7-5EF9,U+5EFB-5EFF,U+5F01-5F0E,U+5F10-5F1F,U+5F21-5F38,U+5F3A-5F52,U+5F54,U+5F56-5F68,U+5F6A-5F84,U+5F86-5F96,U+5F98-5FB6,U+5FB8-5FC4,U+5FC6-5FEA,U+5FEC-6000,U+6002-6026,U+6028-603A,U+603C-6061,U+6063-606E,U+6070-60C4,U+60C6-610E,U+6110-620F,U+6211-6215,U+6217-6236,U+6238-623E,U+6241-624A,U+624C,U+624E-6252,U+6254-6266,U+6268,U+626A,U+626C-627F,U+6281-62A4,U+62A6-62E8,U+62EA-6300,U+6302-6306,U+6308,U+630A-6361,U+6363-636D,U+636F-6376,U+6378-6387,U+6389-63A4,U+63A6,U+63A8-63CE,U+63D0-6445,U+6447-64A3,U+64A5-64AC,U+64AE-64CC,U+64CE-652E,U+6530-6535,U+6537-6538,U+653A-653D,U+653F-6547,U+6549-656F,U+6571-6573,U+6575-6586,U+6588-6598,U+659A-65AC,U+65AE,U+65B1-65B8,U+65BA-65D6,U+65D8-65DF,U+65E1-65E4,U+65E6,U+65E8,U+65EA-65F5,U+65F7-660D,U+660F-662E,U+6630-663D,U+663F-666D,U+666F-6679,U+667B-6681,U+6683-66F3,U+66F5-66FD,U+66FF,U+6701-6708,U+670A-670C,U+670E-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-6745,U+6747-675E,U+6760,U+6762-6764,U+6766-677E,U+6780-679B,U+679D-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+6839-683B,U+683D-684B,U+684D-6862,U+6864-68BF,U+68C1-68D4,U+68D6-6A20,U+6A22-6A29,U+6A2B-6B20,U+6B22-6B61,U+6B65-6BB4,U+6BB6-6BCE,U+6BD0-6BD3,U+6BD5-6C41,U+6C43-6C46,U+6C48-6CA0,U+6CA2-6CB2,U+6CB4-6CBE,U+6CC0-6CD4,U+6CD6-6CEF,U+6CF1-6D3A,U+6D3C-6D4A,U+6D4C-6D4E,U+6D50-6D87,U+6D89-6E04,U+6E06-6E8F,U+6E91-6EE0,U+6EE2-6FBF,U+6FC1-70B7,U+70BA-7135,U+7137-7246,U+7249-7278,U+727A-72AE,U+72B0-72B5,U+72B7-72EB,U+72ED-73A8,U+73AA-73AF,U+73B1-7402,U+7404-7405,U+7407-751E,U+7520-7527,U+7529-7530,U+7532-7534,U+7536-753A,U+753C-754B,U+754D-7558,U+755A-767A,U+767C-7683,U+7685-76D1,U+76D3-76ED,U+76EF-76F3,U+76F5-76F7,U+76F9-770A,U+770C-77E4,U+77E6-7800,U+7802-786D,U+786F-7939,U+793B-79BA,U+79BC-79D0,U+79D2-79EF,U+79F1-79FA,U+79FC-7A0C,U+7A0E-7A79,U+7A7B-7A96,U+7A98-7ACA,U+7ACC-7AEE,U+7AF0-7B25,U+7B27-7B2B,U+7B2D-7B48,U+7B4A-7B7D,U+7B7F,U+7B81-7B96,U+7B98-7C88,U+7C8A-7CA3,U+7CA5-7CFA,U+7CFC-7D2E,U+7D30-7E40,U+7E42-7EA1,U+7EA3-7EA6,U+7EA8-7EBE,U+7EC0-7EC7,U+7EC9-7ECE,U+7ED0,U+7ED2,U+7ED4-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFE,U+7F00-7F15,U+7F17-7F50,U+7F52-7F59,U+7F5B-7F6D,U+7F6F-7F8D,U+7F8F-7FFA,U+7FFD-8004,U+8006-8053,U+8055-80DB,U+80DD-80FC,U+80FE-81E9,U+81EB-81F2,U+81F5-8271,U+8273-82F0,U+82F2-8302,U+8304-83B6,U+83B8-83DB,U+83DD-84DC,U+84DE-884B,U+884D-8867,U+8869-88C0,U+88C2-88C4,U+88C6-8980,U+8982-89C3,U+89C5,U+89C7,U+89C9-8BA0,U+8BA2-8BA3,U+8BA5-8BAD,U+8BAF,U+8BB1-8BBD,U+8BBF-8BD4,U+8BD6-8BDC,U+8BDE-8BE4,U+8BE6-8BEC,U+8BEE-8BF6,U+8BF8-8BF9,U+8BFC-8C02,U+8C04-8D1E,U+8D20-8D24,U+8D26-8D38,U+8D3A-8D43,U+8D45-8D5A,U+8D5C-8D84,U+8D86-8DB2,U+8DB4-8DF2,U+8DF4-8F67,U+8F69-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FBD,U+8FBF-8FC6,U+8FC8-8FD3,U+8FD5-8FD8,U+8FDA,U+8FDC-8FDD,U+8FE0-8FF8,U+8FFA-8FFC,U+8FFE-8FFF,U+9002-9008,U+900A-900E,U+9010-9019,U+901B-9064,U+9066-907F,U+9081-90E7,U+90E9-914C,U+914E-91CC,U+91CE,U+91D0,U+91D2-949E,U+94A0-94AD,U+94AF-94FD,U+94FF,U+9501-952D,U+952F-957E,U+9580-95EC,U+95EE-95F3,U+95F5-9604,U+9606-961E,U+9620-9634,U+9637-9644,U+9646-964F,U+9651-96F5,U+96F7-96FF,U+9701-9758,U+975A-975D,U+975F-9761,U+9763-97F2,U+97F4-9874,U+9877-9879,U+987C-9883,U+9885,U+9887-9890,U+9892-9896,U+9898-9985,U+9987-9A8B,U+9A8D-9AD7,U+9AD9-9EC3,U+9EC5-9ED0,U+9ED2-9ED7,U+9ED9-FF00,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-10FFFF;}


/* source: app.css */
/* Exact original glyphs; UI subset and full fallback have mutually exclusive ranges. */
@font-face{font-family:PingFangBody;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/pingfang-ui-400-bb158a5203e5.woff2") format("woff2");unicode-range:U+20-7E,U+A0,U+A4,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+2190-2193,U+2212,U+2236,U+3000-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E1C,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B,U+4E5D,U+4E5F,U+4E8C,U+4E8E,U+4E91,U+4E94,U+4EA7,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F20,U+4F34,U+4F4D-4F4E,U+4F53,U+4F59,U+4F5C,U+4F73,U+4F7F,U+4FA7,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+504F,U+505C,U+50A8,U+50CF,U+5148,U+514B,U+5165,U+5168,U+516B-516D,U+5173,U+5176,U+5185,U+518D,U+5199,U+51B3,U+51B5,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5269,U+529B,U+529F-52A1,U+52A8,U+5305,U+5316,U+5339,U+5341,U+5347,U+5355,U+5357,U+5373,U+539F,U+53C2,U+53CA,U+53CC,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5404,U+540C-540E,U+5411,U+542B-542C,U+542F,U+548C,U+54C1,U+54CD,U+5668,U+56DB,U+56DE,U+56F4,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5757,U+57DF,U+586B,U+58F0,U+5904,U+5907,U+590D,U+591A,U+5927,U+5931,U+5934,U+597D,U+59CB,U+59D3,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5BA2,U+5BB6,U+5BB9,U+5BF9,U+5C06,U+5C0F,U+5C1A,U+5C31,U+5C40,U+5C4F,U+5C55,U+5C71,U+5DDD,U+5DE6,U+5DEE,U+5DF2,U+5E73,U+5E76,U+5E8F,U+5E94,U+5EA6,U+5EFA,U+5F00,U+5F0F,U+5F20,U+5F39,U+5F53,U+5F55,U+5F69,U+5F85,U+5F97,U+5FB7,U+5FC5,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60C5,U+610F,U+6210,U+6216,U+6237,U+623F-6240,U+624B,U+624D,U+6253,U+6267,U+6269,U+626B,U+6280,U+62A5,U+62E9,U+6301,U+6307,U+6309,U+6362,U+636E,U+6377,U+6388,U+63A5,U+63A7,U+63CF,U+6446,U+64A4,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65AF-65B0,U+65B9,U+65D7,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+662F,U+663E,U+666E,U+667A,U+6682,U+66F4,U+66FE,U+6700,U+6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6746,U+675F,U+6761,U+6765,U+677F,U+679C,U+67E5,U+6807,U+6821,U+6838,U+683C,U+684C,U+6863,U+68C0,U+68D5,U+6A21,U+6A2A,U+6B21,U+6B62-6B64,U+6BB5,U+6BCF,U+6BD4,U+6C42,U+6C47,U+6CA1,U+6CB3,U+6CBF,U+6CD5,U+6CF0,U+6D3B,U+6D4B,U+6D4F,U+6D88,U+6E05,U+6E90,U+6EE1,U+6FC0,U+70B8-70B9,U+7136,U+7247-7248,U+7279,U+72AF,U+72B6,U+72EC,U+73A9,U+73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767B,U+7684,U+76D2,U+76EE,U+76F4,U+76F8,U+770B,U+77E5,U+7801,U+786E,U+793A,U+79BB,U+79D1,U+79F0,U+79FB,U+7A0D,U+7A7A,U+7A97,U+7ACB,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7C89,U+7CA4,U+7CFB,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EBF,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F16,U+7F51,U+7F5A,U+7F6E,U+7F8E,U+7FFB-7FFC,U+8005,U+8054,U+80DC,U+80FD,U+81EA,U+81F3-81F4,U+8272,U+82F1,U+8303,U+83B7,U+83DC,U+84DD,U+884C,U+8868,U+88C1,U+88C5,U+8981,U+89C4,U+89C6,U+89C8,U+8BA1,U+8BA4,U+8BAE,U+8BB0,U+8BBE,U+8BD5,U+8BDD,U+8BE5,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C03,U+8D1F,U+8D25,U+8D39,U+8D44,U+8D5B,U+8D85,U+8DB3,U+8DF3,U+8F68,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD4,U+8FD9,U+8FDB,U+8FDE-8FDF,U+8FF9,U+8FFD,U+9000-9001,U+9009,U+900F,U+901A,U+9065,U+9080,U+90E8,U+914D,U+91CD,U+91CF,U+91D1,U+949F,U+94AE,U+94FE,U+9500,U+952E,U+957F,U+95ED,U+95F4,U+9605,U+961F,U+9635-9636,U+9645,U+9650,U+96F6,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+987A-987B,U+9884,U+9886,U+9891,U+9897,U+9986,U+9A8C,U+9AD8,U+9EC4,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;}
@font-face{font-family:PingFangBody;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/pingfang-body-400.woff2") format("woff2");unicode-range:U+0-1F,U+7F-9F,U+A1-A3,U+A5-B6,U+B8-2012,U+2015-2017,U+201A-201B,U+201E-2025,U+2027-218F,U+2194-2211,U+2213-2235,U+2237-2FFF,U+3003-3009,U+300C-300F,U+3012-4DFF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E1B,U+4E1D-4E23,U+4E25-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E4A,U+4E4C-4E5C,U+4E5E,U+4E60-4E8B,U+4E8D,U+4E8F-4E90,U+4E92-4E93,U+4E95-4EA6,U+4EA8-4EB9,U+4EBB-4EC4,U+4EC6-4ECC,U+4ECF-4ED5,U+4ED7-4EE4,U+4EE6-4EF5,U+4EF7-4EFA,U+4EFC-4F19,U+4F1B-4F1F,U+4F21-4F33,U+4F35-4F4C,U+4F4F-4F52,U+4F54-4F58,U+4F5A-4F5B,U+4F5D-4F72,U+4F74-4F7E,U+4F80-4FA6,U+4FA8-4FDC,U+4FDE-4FE0,U+4FE2-4FED,U+4FEF-5018,U+501A-503B,U+503D-504E,U+5050-505B,U+505D-50A7,U+50A9-50CE,U+50D0-5147,U+5149-514A,U+514C-5164,U+5166-5167,U+5169-516A,U+516E-5172,U+5174-5175,U+5177-5184,U+5186-518C,U+518E-5198,U+519A-51B2,U+51B4,U+51B6-51C5,U+51C7-51EC,U+51EE-51F9,U+51FC-5205,U+5208-5216,U+5218,U+521A-521C,U+521E-5223,U+5225-5228,U+522A,U+522C-522F,U+5231-5235,U+5238-524C,U+524E-5268,U+526A-529A,U+529C-529E,U+52A2-52A7,U+52A9-5304,U+5306-5315,U+5317-5338,U+533A-5340,U+5342-5346,U+5348-5354,U+5356,U+5358-5372,U+5374-539E,U+53A0-53C1,U+53C3-53C9,U+53CB,U+53CD-53D0,U+53D2-53D5,U+53D9-53E2,U+53E4-53E5,U+53E7-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5403,U+5405-540B,U+540F-5410,U+5412-542A,U+542D-542E,U+5430-548B,U+548D-54C0,U+54C2-54CC,U+54CE-5667,U+5669-56DA,U+56DC-56DD,U+56DF-56F3,U+56F5-56FC,U+56FF-5727,U+5729-572F,U+5731-5739,U+573B-573F,U+5741-5756,U+5758-57DE,U+57E0-586A,U+586C-58EF,U+58F1-5903,U+5905-5906,U+5908-590C,U+590E-5919,U+591B-5926,U+5928-5930,U+5932-5933,U+5935-597C,U+597E-59CA,U+59CC-59D2,U+59D4-5B56,U+5B59-5B88,U+5B8A-5B8B,U+5B8D-5B99,U+5B9B-5BA1,U+5BA3-5BB5,U+5BB7-5BB8,U+5BBA-5BF8,U+5BFA-5C05,U+5C07-5C0E,U+5C10-5C19,U+5C1B-5C30,U+5C32-5C3F,U+5C41-5C4E,U+5C50-5C54,U+5C56-5C70,U+5C72-5DDC,U+5DDE-5DE5,U+5DE7-5DED,U+5DEF-5DF1,U+5DF3-5E72,U+5E74-5E75,U+5E77-5E8E,U+5E90-5E93,U+5E95-5EA5,U+5EA7-5EF9,U+5EFB-5EFF,U+5F01-5F0E,U+5F10-5F1F,U+5F21-5F38,U+5F3A-5F52,U+5F54,U+5F56-5F68,U+5F6A-5F84,U+5F86-5F96,U+5F98-5FB6,U+5FB8-5FC4,U+5FC6-5FEA,U+5FEC-6000,U+6002-6026,U+6028-603A,U+603C-6061,U+6063-606E,U+6070-60C4,U+60C6-610E,U+6110-620F,U+6211-6215,U+6217-6236,U+6238-623E,U+6241-624A,U+624C,U+624E-6252,U+6254-6266,U+6268,U+626A,U+626C-627F,U+6281-62A4,U+62A6-62E8,U+62EA-6300,U+6302-6306,U+6308,U+630A-6361,U+6363-636D,U+636F-6376,U+6378-6387,U+6389-63A4,U+63A6,U+63A8-63CE,U+63D0-6445,U+6447-64A3,U+64A5-64AC,U+64AE-64CC,U+64CE-652E,U+6530-6535,U+6537-6538,U+653A-653D,U+653F-6547,U+6549-656F,U+6571-6573,U+6575-6586,U+6588-6598,U+659A-65AC,U+65AE,U+65B1-65B8,U+65BA-65D6,U+65D8-65DF,U+65E1-65E4,U+65E6,U+65E8,U+65EA-65F5,U+65F7-660D,U+660F-662E,U+6630-663D,U+663F-666D,U+666F-6679,U+667B-6681,U+6683-66F3,U+66F5-66FD,U+66FF,U+6701-6708,U+670A-670C,U+670E-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-6745,U+6747-675E,U+6760,U+6762-6764,U+6766-677E,U+6780-679B,U+679D-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+6839-683B,U+683D-684B,U+684D-6862,U+6864-68BF,U+68C1-68D4,U+68D6-6A20,U+6A22-6A29,U+6A2B-6B20,U+6B22-6B61,U+6B65-6BB4,U+6BB6-6BCE,U+6BD0-6BD3,U+6BD5-6C41,U+6C43-6C46,U+6C48-6CA0,U+6CA2-6CB2,U+6CB4-6CBE,U+6CC0-6CD4,U+6CD6-6CEF,U+6CF1-6D3A,U+6D3C-6D4A,U+6D4C-6D4E,U+6D50-6D87,U+6D89-6E04,U+6E06-6E8F,U+6E91-6EE0,U+6EE2-6FBF,U+6FC1-70B7,U+70BA-7135,U+7137-7246,U+7249-7278,U+727A-72AE,U+72B0-72B5,U+72B7-72EB,U+72ED-73A8,U+73AA-73AF,U+73B1-7402,U+7404-7405,U+7407-751E,U+7520-7527,U+7529-7530,U+7532-7534,U+7536-753A,U+753C-754B,U+754D-7558,U+755A-767A,U+767C-7683,U+7685-76D1,U+76D3-76ED,U+76EF-76F3,U+76F5-76F7,U+76F9-770A,U+770C-77E4,U+77E6-7800,U+7802-786D,U+786F-7939,U+793B-79BA,U+79BC-79D0,U+79D2-79EF,U+79F1-79FA,U+79FC-7A0C,U+7A0E-7A79,U+7A7B-7A96,U+7A98-7ACA,U+7ACC-7AEE,U+7AF0-7B25,U+7B27-7B2B,U+7B2D-7B48,U+7B4A-7B7D,U+7B7F,U+7B81-7B96,U+7B98-7C88,U+7C8A-7CA3,U+7CA5-7CFA,U+7CFC-7D2E,U+7D30-7E40,U+7E42-7EA1,U+7EA3-7EA6,U+7EA8-7EBE,U+7EC0-7EC7,U+7EC9-7ECE,U+7ED0,U+7ED2,U+7ED4-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFE,U+7F00-7F15,U+7F17-7F50,U+7F52-7F59,U+7F5B-7F6D,U+7F6F-7F8D,U+7F8F-7FFA,U+7FFD-8004,U+8006-8053,U+8055-80DB,U+80DD-80FC,U+80FE-81E9,U+81EB-81F2,U+81F5-8271,U+8273-82F0,U+82F2-8302,U+8304-83B6,U+83B8-83DB,U+83DD-84DC,U+84DE-884B,U+884D-8867,U+8869-88C0,U+88C2-88C4,U+88C6-8980,U+8982-89C3,U+89C5,U+89C7,U+89C9-8BA0,U+8BA2-8BA3,U+8BA5-8BAD,U+8BAF,U+8BB1-8BBD,U+8BBF-8BD4,U+8BD6-8BDC,U+8BDE-8BE4,U+8BE6-8BEC,U+8BEE-8BF6,U+8BF8-8BF9,U+8BFC-8C02,U+8C04-8D1E,U+8D20-8D24,U+8D26-8D38,U+8D3A-8D43,U+8D45-8D5A,U+8D5C-8D84,U+8D86-8DB2,U+8DB4-8DF2,U+8DF4-8F67,U+8F69-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FBD,U+8FBF-8FC6,U+8FC8-8FD3,U+8FD5-8FD8,U+8FDA,U+8FDC-8FDD,U+8FE0-8FF8,U+8FFA-8FFC,U+8FFE-8FFF,U+9002-9008,U+900A-900E,U+9010-9019,U+901B-9064,U+9066-907F,U+9081-90E7,U+90E9-914C,U+914E-91CC,U+91CE,U+91D0,U+91D2-949E,U+94A0-94AD,U+94AF-94FD,U+94FF,U+9501-952D,U+952F-957E,U+9580-95EC,U+95EE-95F3,U+95F5-9604,U+9606-961E,U+9620-9634,U+9637-9644,U+9646-964F,U+9651-96F5,U+96F7-96FF,U+9701-9758,U+975A-975D,U+975F-9761,U+9763-97F2,U+97F4-9874,U+9877-9879,U+987C-9883,U+9885,U+9887-9890,U+9892-9896,U+9898-9985,U+9987-9A8B,U+9A8D-9AD7,U+9AD9-9EC3,U+9EC5-9ED0,U+9ED2-9ED7,U+9ED9-FF00,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-10FFFF;}
@font-face{font-family:PingFangBody;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/pingfang-ui-600-f00b20cccf6f.woff2") format("woff2");unicode-range:U+20-7E,U+A0,U+A4,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+2190-2193,U+2212,U+2236,U+3000-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E1C,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B,U+4E5D,U+4E5F,U+4E8C,U+4E8E,U+4E91,U+4E94,U+4EA7,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F20,U+4F34,U+4F4D-4F4E,U+4F53,U+4F59,U+4F5C,U+4F73,U+4F7F,U+4FA7,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+504F,U+505C,U+50A8,U+50CF,U+5148,U+514B,U+5165,U+5168,U+516B-516D,U+5173,U+5176,U+5185,U+518D,U+5199,U+51B3,U+51B5,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5269,U+529B,U+529F-52A1,U+52A8,U+5305,U+5316,U+5339,U+5341,U+5347,U+5355,U+5357,U+5373,U+539F,U+53C2,U+53CA,U+53CC,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5404,U+540C-540E,U+5411,U+542B-542C,U+542F,U+548C,U+54C1,U+54CD,U+5668,U+56DB,U+56DE,U+56F4,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5757,U+57DF,U+586B,U+58F0,U+5904,U+5907,U+590D,U+591A,U+5927,U+5931,U+5934,U+597D,U+59CB,U+59D3,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5BA2,U+5BB6,U+5BB9,U+5BF9,U+5C06,U+5C0F,U+5C1A,U+5C31,U+5C40,U+5C4F,U+5C55,U+5C71,U+5DDD,U+5DE6,U+5DEE,U+5DF2,U+5E73,U+5E76,U+5E8F,U+5E94,U+5EA6,U+5EFA,U+5F00,U+5F0F,U+5F20,U+5F39,U+5F53,U+5F55,U+5F69,U+5F85,U+5F97,U+5FB7,U+5FC5,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60C5,U+610F,U+6210,U+6216,U+6237,U+623F-6240,U+624B,U+624D,U+6253,U+6267,U+6269,U+626B,U+6280,U+62A5,U+62E9,U+6301,U+6307,U+6309,U+6362,U+636E,U+6377,U+6388,U+63A5,U+63A7,U+63CF,U+6446,U+64A4,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65AF-65B0,U+65B9,U+65D7,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+662F,U+663E,U+666E,U+667A,U+6682,U+66F4,U+66FE,U+6700,U+6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6746,U+675F,U+6761,U+6765,U+677F,U+679C,U+67E5,U+6807,U+6821,U+6838,U+683C,U+684C,U+6863,U+68C0,U+68D5,U+6A21,U+6A2A,U+6B21,U+6B62-6B64,U+6BB5,U+6BCF,U+6BD4,U+6C42,U+6C47,U+6CA1,U+6CB3,U+6CBF,U+6CD5,U+6CF0,U+6D3B,U+6D4B,U+6D4F,U+6D88,U+6E05,U+6E90,U+6EE1,U+6FC0,U+70B8-70B9,U+7136,U+7247-7248,U+7279,U+72AF,U+72B6,U+72EC,U+73A9,U+73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767B,U+7684,U+76D2,U+76EE,U+76F4,U+76F8,U+770B,U+77E5,U+7801,U+786E,U+793A,U+79BB,U+79D1,U+79F0,U+79FB,U+7A0D,U+7A7A,U+7A97,U+7ACB,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7C89,U+7CA4,U+7CFB,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EBF,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F16,U+7F51,U+7F5A,U+7F6E,U+7F8E,U+7FFB-7FFC,U+8005,U+8054,U+80DC,U+80FD,U+81EA,U+81F3-81F4,U+8272,U+82F1,U+8303,U+83B7,U+83DC,U+84DD,U+884C,U+8868,U+88C1,U+88C5,U+8981,U+89C4,U+89C6,U+89C8,U+8BA1,U+8BA4,U+8BAE,U+8BB0,U+8BBE,U+8BD5,U+8BDD,U+8BE5,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C03,U+8D1F,U+8D25,U+8D39,U+8D44,U+8D5B,U+8D85,U+8DB3,U+8DF3,U+8F68,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD4,U+8FD9,U+8FDB,U+8FDE-8FDF,U+8FF9,U+8FFD,U+9000-9001,U+9009,U+900F,U+901A,U+9065,U+9080,U+90E8,U+914D,U+91CD,U+91CF,U+91D1,U+949F,U+94AE,U+94FE,U+9500,U+952E,U+957F,U+95ED,U+95F4,U+9605,U+961F,U+9635-9636,U+9645,U+9650,U+96F6,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+987A-987B,U+9884,U+9886,U+9891,U+9897,U+9986,U+9A8C,U+9AD8,U+9EC4,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;}
@font-face{font-family:PingFangBody;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/pingfang-body-600.woff2") format("woff2");unicode-range:U+0-1F,U+7F-9F,U+A1-A3,U+A5-B6,U+B8-2012,U+2015-2017,U+201A-201B,U+201E-2025,U+2027-218F,U+2194-2211,U+2213-2235,U+2237-2FFF,U+3003-3009,U+300C-300F,U+3012-4DFF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E1B,U+4E1D-4E23,U+4E25-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E4A,U+4E4C-4E5C,U+4E5E,U+4E60-4E8B,U+4E8D,U+4E8F-4E90,U+4E92-4E93,U+4E95-4EA6,U+4EA8-4EB9,U+4EBB-4EC4,U+4EC6-4ECC,U+4ECF-4ED5,U+4ED7-4EE4,U+4EE6-4EF5,U+4EF7-4EFA,U+4EFC-4F19,U+4F1B-4F1F,U+4F21-4F33,U+4F35-4F4C,U+4F4F-4F52,U+4F54-4F58,U+4F5A-4F5B,U+4F5D-4F72,U+4F74-4F7E,U+4F80-4FA6,U+4FA8-4FDC,U+4FDE-4FE0,U+4FE2-4FED,U+4FEF-5018,U+501A-503B,U+503D-504E,U+5050-505B,U+505D-50A7,U+50A9-50CE,U+50D0-5147,U+5149-514A,U+514C-5164,U+5166-5167,U+5169-516A,U+516E-5172,U+5174-5175,U+5177-5184,U+5186-518C,U+518E-5198,U+519A-51B2,U+51B4,U+51B6-51C5,U+51C7-51EC,U+51EE-51F9,U+51FC-5205,U+5208-5216,U+5218,U+521A-521C,U+521E-5223,U+5225-5228,U+522A,U+522C-522F,U+5231-5235,U+5238-524C,U+524E-5268,U+526A-529A,U+529C-529E,U+52A2-52A7,U+52A9-5304,U+5306-5315,U+5317-5338,U+533A-5340,U+5342-5346,U+5348-5354,U+5356,U+5358-5372,U+5374-539E,U+53A0-53C1,U+53C3-53C9,U+53CB,U+53CD-53D0,U+53D2-53D5,U+53D9-53E2,U+53E4-53E5,U+53E7-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5403,U+5405-540B,U+540F-5410,U+5412-542A,U+542D-542E,U+5430-548B,U+548D-54C0,U+54C2-54CC,U+54CE-5667,U+5669-56DA,U+56DC-56DD,U+56DF-56F3,U+56F5-56FC,U+56FF-5727,U+5729-572F,U+5731-5739,U+573B-573F,U+5741-5756,U+5758-57DE,U+57E0-586A,U+586C-58EF,U+58F1-5903,U+5905-5906,U+5908-590C,U+590E-5919,U+591B-5926,U+5928-5930,U+5932-5933,U+5935-597C,U+597E-59CA,U+59CC-59D2,U+59D4-5B56,U+5B59-5B88,U+5B8A-5B8B,U+5B8D-5B99,U+5B9B-5BA1,U+5BA3-5BB5,U+5BB7-5BB8,U+5BBA-5BF8,U+5BFA-5C05,U+5C07-5C0E,U+5C10-5C19,U+5C1B-5C30,U+5C32-5C3F,U+5C41-5C4E,U+5C50-5C54,U+5C56-5C70,U+5C72-5DDC,U+5DDE-5DE5,U+5DE7-5DED,U+5DEF-5DF1,U+5DF3-5E72,U+5E74-5E75,U+5E77-5E8E,U+5E90-5E93,U+5E95-5EA5,U+5EA7-5EF9,U+5EFB-5EFF,U+5F01-5F0E,U+5F10-5F1F,U+5F21-5F38,U+5F3A-5F52,U+5F54,U+5F56-5F68,U+5F6A-5F84,U+5F86-5F96,U+5F98-5FB6,U+5FB8-5FC4,U+5FC6-5FEA,U+5FEC-6000,U+6002-6026,U+6028-603A,U+603C-6061,U+6063-606E,U+6070-60C4,U+60C6-610E,U+6110-620F,U+6211-6215,U+6217-6236,U+6238-623E,U+6241-624A,U+624C,U+624E-6252,U+6254-6266,U+6268,U+626A,U+626C-627F,U+6281-62A4,U+62A6-62E8,U+62EA-6300,U+6302-6306,U+6308,U+630A-6361,U+6363-636D,U+636F-6376,U+6378-6387,U+6389-63A4,U+63A6,U+63A8-63CE,U+63D0-6445,U+6447-64A3,U+64A5-64AC,U+64AE-64CC,U+64CE-652E,U+6530-6535,U+6537-6538,U+653A-653D,U+653F-6547,U+6549-656F,U+6571-6573,U+6575-6586,U+6588-6598,U+659A-65AC,U+65AE,U+65B1-65B8,U+65BA-65D6,U+65D8-65DF,U+65E1-65E4,U+65E6,U+65E8,U+65EA-65F5,U+65F7-660D,U+660F-662E,U+6630-663D,U+663F-666D,U+666F-6679,U+667B-6681,U+6683-66F3,U+66F5-66FD,U+66FF,U+6701-6708,U+670A-670C,U+670E-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-6745,U+6747-675E,U+6760,U+6762-6764,U+6766-677E,U+6780-679B,U+679D-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+6839-683B,U+683D-684B,U+684D-6862,U+6864-68BF,U+68C1-68D4,U+68D6-6A20,U+6A22-6A29,U+6A2B-6B20,U+6B22-6B61,U+6B65-6BB4,U+6BB6-6BCE,U+6BD0-6BD3,U+6BD5-6C41,U+6C43-6C46,U+6C48-6CA0,U+6CA2-6CB2,U+6CB4-6CBE,U+6CC0-6CD4,U+6CD6-6CEF,U+6CF1-6D3A,U+6D3C-6D4A,U+6D4C-6D4E,U+6D50-6D87,U+6D89-6E04,U+6E06-6E8F,U+6E91-6EE0,U+6EE2-6FBF,U+6FC1-70B7,U+70BA-7135,U+7137-7246,U+7249-7278,U+727A-72AE,U+72B0-72B5,U+72B7-72EB,U+72ED-73A8,U+73AA-73AF,U+73B1-7402,U+7404-7405,U+7407-751E,U+7520-7527,U+7529-7530,U+7532-7534,U+7536-753A,U+753C-754B,U+754D-7558,U+755A-767A,U+767C-7683,U+7685-76D1,U+76D3-76ED,U+76EF-76F3,U+76F5-76F7,U+76F9-770A,U+770C-77E4,U+77E6-7800,U+7802-786D,U+786F-7939,U+793B-79BA,U+79BC-79D0,U+79D2-79EF,U+79F1-79FA,U+79FC-7A0C,U+7A0E-7A79,U+7A7B-7A96,U+7A98-7ACA,U+7ACC-7AEE,U+7AF0-7B25,U+7B27-7B2B,U+7B2D-7B48,U+7B4A-7B7D,U+7B7F,U+7B81-7B96,U+7B98-7C88,U+7C8A-7CA3,U+7CA5-7CFA,U+7CFC-7D2E,U+7D30-7E40,U+7E42-7EA1,U+7EA3-7EA6,U+7EA8-7EBE,U+7EC0-7EC7,U+7EC9-7ECE,U+7ED0,U+7ED2,U+7ED4-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFE,U+7F00-7F15,U+7F17-7F50,U+7F52-7F59,U+7F5B-7F6D,U+7F6F-7F8D,U+7F8F-7FFA,U+7FFD-8004,U+8006-8053,U+8055-80DB,U+80DD-80FC,U+80FE-81E9,U+81EB-81F2,U+81F5-8271,U+8273-82F0,U+82F2-8302,U+8304-83B6,U+83B8-83DB,U+83DD-84DC,U+84DE-884B,U+884D-8867,U+8869-88C0,U+88C2-88C4,U+88C6-8980,U+8982-89C3,U+89C5,U+89C7,U+89C9-8BA0,U+8BA2-8BA3,U+8BA5-8BAD,U+8BAF,U+8BB1-8BBD,U+8BBF-8BD4,U+8BD6-8BDC,U+8BDE-8BE4,U+8BE6-8BEC,U+8BEE-8BF6,U+8BF8-8BF9,U+8BFC-8C02,U+8C04-8D1E,U+8D20-8D24,U+8D26-8D38,U+8D3A-8D43,U+8D45-8D5A,U+8D5C-8D84,U+8D86-8DB2,U+8DB4-8DF2,U+8DF4-8F67,U+8F69-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FBD,U+8FBF-8FC6,U+8FC8-8FD3,U+8FD5-8FD8,U+8FDA,U+8FDC-8FDD,U+8FE0-8FF8,U+8FFA-8FFC,U+8FFE-8FFF,U+9002-9008,U+900A-900E,U+9010-9019,U+901B-9064,U+9066-907F,U+9081-90E7,U+90E9-914C,U+914E-91CC,U+91CE,U+91D0,U+91D2-949E,U+94A0-94AD,U+94AF-94FD,U+94FF,U+9501-952D,U+952F-957E,U+9580-95EC,U+95EE-95F3,U+95F5-9604,U+9606-961E,U+9620-9634,U+9637-9644,U+9646-964F,U+9651-96F5,U+96F7-96FF,U+9701-9758,U+975A-975D,U+975F-9761,U+9763-97F2,U+97F4-9874,U+9877-9879,U+987C-9883,U+9885,U+9887-9890,U+9892-9896,U+9898-9985,U+9987-9A8B,U+9A8D-9AD7,U+9AD9-9EC3,U+9EC5-9ED0,U+9ED2-9ED7,U+9ED9-FF00,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-10FFFF;}
@font-face{font-family:YouShe;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/youshe-ui-400-7645e6a3d9c6.woff2") format("woff2");unicode-range:U+20-7E,U+A4,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+3000-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E1C,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B,U+4E5D,U+4E5F,U+4E8C,U+4E8E,U+4E91,U+4E94,U+4EA7,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F20,U+4F34,U+4F4D-4F4E,U+4F53,U+4F59,U+4F5C,U+4F73,U+4F7F,U+4FA7,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+504F,U+505C,U+50A8,U+50CF,U+5148,U+514B,U+5165,U+5168,U+516B-516D,U+5173,U+5176,U+5185,U+518D,U+5199,U+51B3,U+51B5,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5269,U+529B,U+529F-52A1,U+52A8,U+5305,U+5316,U+5339,U+5341,U+5347,U+5355,U+5357,U+5373,U+539F,U+53C2,U+53CA,U+53CC,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5404,U+540C-540E,U+5411,U+542B-542C,U+542F,U+548C,U+54C1,U+54CD,U+5668,U+56DB,U+56DE,U+56F4,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5757,U+57DF,U+586B,U+58F0,U+5904,U+5907,U+590D,U+591A,U+5927,U+5931,U+5934,U+597D,U+59CB,U+59D3,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5BA2,U+5BB6,U+5BB9,U+5BF9,U+5C06,U+5C0F,U+5C1A,U+5C31,U+5C40,U+5C4F,U+5C55,U+5C71,U+5DDD,U+5DE6,U+5DEE,U+5DF2,U+5E73,U+5E76,U+5E8F,U+5E94,U+5EA6,U+5EFA,U+5F00,U+5F0F,U+5F20,U+5F39,U+5F53,U+5F55,U+5F69,U+5F85,U+5F97,U+5FB7,U+5FC5,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60C5,U+610F,U+6210,U+6216,U+6237,U+623F-6240,U+624B,U+624D,U+6253,U+6267,U+6269,U+626B,U+6280,U+62A5,U+62E9,U+6301,U+6307,U+6309,U+6362,U+636E,U+6377,U+6388,U+63A5,U+63A7,U+63CF,U+6446,U+64A4,U+64AD,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65AF-65B0,U+65B9,U+65D7,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+662F,U+663E,U+666E,U+667A,U+6682,U+66F4,U+66FE,U+6700,U+6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6743,U+6746,U+675F,U+6761,U+6765,U+677F,U+679C,U+67E5,U+6807,U+6821,U+6838,U+683C,U+684C,U+6863,U+68C0,U+68D5,U+6A21,U+6A2A,U+6B21,U+6B62-6B64,U+6BB5,U+6BCF,U+6BD4,U+6C42,U+6C47,U+6CA1,U+6CB3,U+6CBF,U+6CD5,U+6CF0,U+6D3B,U+6D4B,U+6D4F,U+6D88,U+6E05,U+6E90,U+6EE1,U+6FC0,U+70B8-70B9,U+7136,U+7247-7248,U+7279,U+72AF,U+72B6,U+72EC,U+73A9,U+73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767B,U+7684,U+76D2,U+76EE,U+76F4,U+76F8,U+770B,U+77E5,U+7801,U+786E,U+793A,U+79BB,U+79D1,U+79F0,U+79FB,U+7A0D,U+7A7A,U+7A97,U+7ACB,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7C89,U+7CA4,U+7CFB,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EBF,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F16,U+7F51,U+7F5A,U+7F6E,U+7F8E,U+7FFB-7FFC,U+8005,U+8054,U+80DC,U+80FD,U+81EA,U+81F3-81F4,U+8272,U+82F1,U+8303,U+83B7,U+83DC,U+84DD,U+884C,U+8868,U+88C1,U+88C5,U+8981,U+89C4,U+89C6,U+89C8,U+8BA1,U+8BA4,U+8BAE,U+8BB0,U+8BBE,U+8BD5,U+8BDD,U+8BE5,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C03,U+8D1F,U+8D25,U+8D39,U+8D44,U+8D5B,U+8D85,U+8DB3,U+8DF3,U+8F68,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD4,U+8FD9,U+8FDB,U+8FDE-8FDF,U+8FF9,U+8FFD,U+9000-9001,U+9009,U+900F,U+901A,U+9065,U+9080,U+90E8,U+914D,U+91CD,U+91CF,U+91D1,U+949F,U+94AE,U+94FE,U+9500,U+952E,U+957F,U+95ED,U+95F4,U+9605,U+961F,U+9635-9636,U+9645,U+9650,U+96F6,U+9700,U+9759,U+975E,U+9762,U+97F3,U+9875-9876,U+987A-987B,U+9884,U+9886,U+9891,U+9897,U+9986,U+9A8C,U+9AD8,U+9EC4,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;}
@font-face{font-family:YouShe;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/youshe-biaotihei.ttf") format("truetype");unicode-range:U+0-1F,U+7F-A3,U+A5-B6,U+B8-2012,U+2015-2017,U+201A-201B,U+201E-2025,U+2027-2FFF,U+3003-3009,U+300C-300F,U+3012-4DFF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E1B,U+4E1D-4E23,U+4E25-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E4A,U+4E4C-4E5C,U+4E5E,U+4E60-4E8B,U+4E8D,U+4E8F-4E90,U+4E92-4E93,U+4E95-4EA6,U+4EA8-4EB9,U+4EBB-4EC4,U+4EC6-4ECC,U+4ECF-4ED5,U+4ED7-4EE4,U+4EE6-4EF5,U+4EF7-4EFA,U+4EFC-4F19,U+4F1B-4F1F,U+4F21-4F33,U+4F35-4F4C,U+4F4F-4F52,U+4F54-4F58,U+4F5A-4F5B,U+4F5D-4F72,U+4F74-4F7E,U+4F80-4FA6,U+4FA8-4FDC,U+4FDE-4FE0,U+4FE2-4FED,U+4FEF-5018,U+501A-503B,U+503D-504E,U+5050-505B,U+505D-50A7,U+50A9-50CE,U+50D0-5147,U+5149-514A,U+514C-5164,U+5166-5167,U+5169-516A,U+516E-5172,U+5174-5175,U+5177-5184,U+5186-518C,U+518E-5198,U+519A-51B2,U+51B4,U+51B6-51C5,U+51C7-51EC,U+51EE-51F9,U+51FC-5205,U+5208-5216,U+5218,U+521A-521C,U+521E-5223,U+5225-5228,U+522A,U+522C-522F,U+5231-5235,U+5238-524C,U+524E-5268,U+526A-529A,U+529C-529E,U+52A2-52A7,U+52A9-5304,U+5306-5315,U+5317-5338,U+533A-5340,U+5342-5346,U+5348-5354,U+5356,U+5358-5372,U+5374-539E,U+53A0-53C1,U+53C3-53C9,U+53CB,U+53CD-53D0,U+53D2-53D5,U+53D9-53E2,U+53E4-53E5,U+53E7-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5403,U+5405-540B,U+540F-5410,U+5412-542A,U+542D-542E,U+5430-548B,U+548D-54C0,U+54C2-54CC,U+54CE-5667,U+5669-56DA,U+56DC-56DD,U+56DF-56F3,U+56F5-56FC,U+56FF-5727,U+5729-572F,U+5731-5739,U+573B-573F,U+5741-5756,U+5758-57DE,U+57E0-586A,U+586C-58EF,U+58F1-5903,U+5905-5906,U+5908-590C,U+590E-5919,U+591B-5926,U+5928-5930,U+5932-5933,U+5935-597C,U+597E-59CA,U+59CC-59D2,U+59D4-5B56,U+5B59-5B88,U+5B8A-5B8B,U+5B8D-5B99,U+5B9B-5BA1,U+5BA3-5BB5,U+5BB7-5BB8,U+5BBA-5BF8,U+5BFA-5C05,U+5C07-5C0E,U+5C10-5C19,U+5C1B-5C30,U+5C32-5C3F,U+5C41-5C4E,U+5C50-5C54,U+5C56-5C70,U+5C72-5DDC,U+5DDE-5DE5,U+5DE7-5DED,U+5DEF-5DF1,U+5DF3-5E72,U+5E74-5E75,U+5E77-5E8E,U+5E90-5E93,U+5E95-5EA5,U+5EA7-5EF9,U+5EFB-5EFF,U+5F01-5F0E,U+5F10-5F1F,U+5F21-5F38,U+5F3A-5F52,U+5F54,U+5F56-5F68,U+5F6A-5F84,U+5F86-5F96,U+5F98-5FB6,U+5FB8-5FC4,U+5FC6-5FEA,U+5FEC-6000,U+6002-6026,U+6028-603A,U+603C-6061,U+6063-606E,U+6070-60C4,U+60C6-610E,U+6110-620F,U+6211-6215,U+6217-6236,U+6238-623E,U+6241-624A,U+624C,U+624E-6252,U+6254-6266,U+6268,U+626A,U+626C-627F,U+6281-62A4,U+62A6-62E8,U+62EA-6300,U+6302-6306,U+6308,U+630A-6361,U+6363-636D,U+636F-6376,U+6378-6387,U+6389-63A4,U+63A6,U+63A8-63CE,U+63D0-6445,U+6447-64A3,U+64A5-64AC,U+64AE-64CC,U+64CE-652E,U+6530-6535,U+6537-6538,U+653A-653D,U+653F-6547,U+6549-656F,U+6571-6573,U+6575-6586,U+6588-6598,U+659A-65AC,U+65AE,U+65B1-65B8,U+65BA-65D6,U+65D8-65DF,U+65E1-65E4,U+65E6,U+65E8,U+65EA-65F5,U+65F7-660D,U+660F-662E,U+6630-663D,U+663F-666D,U+666F-6679,U+667B-6681,U+6683-66F3,U+66F5-66FD,U+66FF,U+6701-6708,U+670A-670C,U+670E-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-6745,U+6747-675E,U+6760,U+6762-6764,U+6766-677E,U+6780-679B,U+679D-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+6839-683B,U+683D-684B,U+684D-6862,U+6864-68BF,U+68C1-68D4,U+68D6-6A20,U+6A22-6A29,U+6A2B-6B20,U+6B22-6B61,U+6B65-6BB4,U+6BB6-6BCE,U+6BD0-6BD3,U+6BD5-6C41,U+6C43-6C46,U+6C48-6CA0,U+6CA2-6CB2,U+6CB4-6CBE,U+6CC0-6CD4,U+6CD6-6CEF,U+6CF1-6D3A,U+6D3C-6D4A,U+6D4C-6D4E,U+6D50-6D87,U+6D89-6E04,U+6E06-6E8F,U+6E91-6EE0,U+6EE2-6FBF,U+6FC1-70B7,U+70BA-7135,U+7137-7246,U+7249-7278,U+727A-72AE,U+72B0-72B5,U+72B7-72EB,U+72ED-73A8,U+73AA-73AF,U+73B1-7402,U+7404-7405,U+7407-751E,U+7520-7527,U+7529-7530,U+7532-7534,U+7536-753A,U+753C-754B,U+754D-7558,U+755A-767A,U+767C-7683,U+7685-76D1,U+76D3-76ED,U+76EF-76F3,U+76F5-76F7,U+76F9-770A,U+770C-77E4,U+77E6-7800,U+7802-786D,U+786F-7939,U+793B-79BA,U+79BC-79D0,U+79D2-79EF,U+79F1-79FA,U+79FC-7A0C,U+7A0E-7A79,U+7A7B-7A96,U+7A98-7ACA,U+7ACC-7AEE,U+7AF0-7B25,U+7B27-7B2B,U+7B2D-7B48,U+7B4A-7B7D,U+7B7F,U+7B81-7B96,U+7B98-7C88,U+7C8A-7CA3,U+7CA5-7CFA,U+7CFC-7D2E,U+7D30-7E40,U+7E42-7EA1,U+7EA3-7EA6,U+7EA8-7EBE,U+7EC0-7EC7,U+7EC9-7ECE,U+7ED0,U+7ED2,U+7ED4-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFE,U+7F00-7F15,U+7F17-7F50,U+7F52-7F59,U+7F5B-7F6D,U+7F6F-7F8D,U+7F8F-7FFA,U+7FFD-8004,U+8006-8053,U+8055-80DB,U+80DD-80FC,U+80FE-81E9,U+81EB-81F2,U+81F5-8271,U+8273-82F0,U+82F2-8302,U+8304-83B6,U+83B8-83DB,U+83DD-84DC,U+84DE-884B,U+884D-8867,U+8869-88C0,U+88C2-88C4,U+88C6-8980,U+8982-89C3,U+89C5,U+89C7,U+89C9-8BA0,U+8BA2-8BA3,U+8BA5-8BAD,U+8BAF,U+8BB1-8BBD,U+8BBF-8BD4,U+8BD6-8BDC,U+8BDE-8BE4,U+8BE6-8BEC,U+8BEE-8BF6,U+8BF8-8BF9,U+8BFC-8C02,U+8C04-8D1E,U+8D20-8D24,U+8D26-8D38,U+8D3A-8D43,U+8D45-8D5A,U+8D5C-8D84,U+8D86-8DB2,U+8DB4-8DF2,U+8DF4-8F67,U+8F69-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FBD,U+8FBF-8FC6,U+8FC8-8FD3,U+8FD5-8FD8,U+8FDA,U+8FDC-8FDD,U+8FE0-8FF8,U+8FFA-8FFC,U+8FFE-8FFF,U+9002-9008,U+900A-900E,U+9010-9019,U+901B-9064,U+9066-907F,U+9081-90E7,U+90E9-914C,U+914E-91CC,U+91CE,U+91D0,U+91D2-949E,U+94A0-94AD,U+94AF-94FD,U+94FF,U+9501-952D,U+952F-957E,U+9580-95EC,U+95EE-95F3,U+95F5-9604,U+9606-961E,U+9620-9634,U+9637-9644,U+9646-964F,U+9651-96F5,U+96F7-96FF,U+9701-9758,U+975A-975D,U+975F-9761,U+9763-97F2,U+97F4-9874,U+9877-9879,U+987C-9883,U+9885,U+9887-9890,U+9892-9896,U+9898-9985,U+9987-9A8B,U+9A8D-9AD7,U+9AD9-9EC3,U+9EC5-9ED0,U+9ED2-9ED7,U+9ED9-FF00,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-10FFFF;}

/* Exact original glyphs; UI subset and full fallback have mutually exclusive ranges. */







/* Exact original glyphs; UI subset and full fallback have mutually exclusive ranges. */






@font-face{font-family:Score;src:url('assets/fonts/score-ui.woff') format('woff');font-display:swap}@font-face{font-family:Digits;src:url('assets/fonts/barlow-blackitalic.ttf') format('truetype');font-display:swap}
@font-face{font-family:SourceHanScore;src:url('assets/fonts/source-han-heavy-digits.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
:root{--ink:#eefbff;--muted:#a4c7df;--navy:#06112d;--cyan:#64eeff;--line:#4f9bc4;--gold:#ffe15a;--red:#ff547d;--green:#35df8d;--panel:#10294b}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--navy);color:var(--ink);font-family:sans-serif,'Microsoft YaHei',sans-serif}body{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#091b3b;padding:.65em 1em;min-height:38px}button:focus{outline:3px solid #fff2aa;outline-offset:3px;box-shadow:0 0 18px #ffdf77}button:active{filter:brightness(1.3)}button[disabled]{cursor:default;opacity:.42}input,select{color:var(--ink);background:#06152e;border:1px solid #467899;padding:.6em;width:100%;min-width:0;border-radius:3px}input:focus,select:focus{outline:2px solid var(--cyan)}button.primary{background:#39cae6;color:#031427;border-color:#8df3ff;font-weight:bold}button.danger{color:#ffb5c3;border-color:#b65370}button.quiet{background:transparent;color:#afd7f2}p{line-height:1.6}.muted{color:var(--muted)}.gold{color:var(--gold)}.small{font-size:13px}#app{height:100%;background:radial-gradient(ellipse at 48% 60%,#10456d55,transparent 62%),linear-gradient(135deg,#071c3e,#040d25 54%,#13213a);position:relative;overflow:hidden}#app:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(147deg,transparent 47%,#3fe2ef15 47.3%,transparent 47.8%),linear-gradient(25deg,transparent 65%,#4cc3ff11 65.2%,transparent 65.6%)}.top-title{position:relative;margin:0 20%;height:13.5vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(#071d3c,#030d23);border-bottom:2px solid var(--cyan);clip-path:polygon(0 0,100% 0,100% 70%,97% 95%,66% 95%,65% 100%,35% 100%,34% 95%,3% 95%,0 70%);filter:drop-shadow(0 0 8px #20c9e355)}.top-title h1{margin:0;font-size:6.5vh;font-style:italic;font-weight:900;color:#b8fcff;text-shadow:0 3px 0 #117aab;white-space:nowrap}.top-title.home-title{margin:0 17%}.top-title.home-title h1{font-size:5.1vh}.top-title:after{content:'';position:absolute;bottom:1vh;left:12%;width:76%;height:2px;background:linear-gradient(90deg,transparent,#d7ffff,transparent)}.top-back{position:absolute;top:3vh;left:2vw;z-index:2;padding:.45em .9em;font-size:2vh;min-height:34px}.version{position:absolute;bottom:.55vh;left:0;width:100%;text-align:center;font-size:1.6vh;color:#b7ccdc}.home-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2.7vh 1.6vw;height:79vh;margin:2.7vh 3.5vw}.home-tile{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px solid #98f2f4;background:linear-gradient(145deg,#07688855,#02253d66);border-radius:14px;box-shadow:inset 0 0 12px #67ffff25,0 0 10px #65ebf644;overflow:hidden}.home-tile:before{content:'';position:absolute;inset:8px;border:1px solid #79eff28c;border-radius:10px;pointer-events:none}.home-tile svg{height:12vh;width:13vw;margin-bottom:2.4vh;filter:drop-shadow(0 0 6px #52f4ff)}.home-tile .label{font-size:5.2vh;font-weight:bold;line-height:1.15}.home-tile .en{font-family:Arial,sans-serif;letter-spacing:.13em;font-size:2.65vh;color:#c5f3f3;margin-top:1.3vh}.home-tile:focus{background:linear-gradient(145deg,#149db6aa,#07517888);outline-offset:2px}.mode-list,.entry-list{display:flex;gap:3vw;justify-content:center;align-items:center;height:67vh;margin:0 6vw}.mode-option,.entry-option{display:flex;flex-direction:column;align-items:center;justify-content:center;width:29%;height:38vh;border:2px solid #5ac3e4;background:linear-gradient(160deg,#0c4e76bb,#081c3c);clip-path:polygon(0 0,95% 0,100% 5%,100% 100%,5% 100%,0 95%);font-size:4.5vh}.mode-option svg,.entry-option svg{width:10vw;height:12vh;margin-bottom:3vh}.mode-option small,.entry-option small{font-size:2.2vh;color:#a7cfde;line-height:1.6;margin-top:1vh}.entry-hint{text-align:center;margin-top:-5vh;font-size:2.3vh;color:var(--muted)}
.game-stage{height:71vh;display:flex;gap:1.8vw;margin:2vh 3.1vw 0;position:relative}.player-panel{flex:1;min-width:0;position:relative;background:linear-gradient(125deg,#0a6286,#05122b);border:2px solid var(--player-rim);clip-path:polygon(0 0,96% 0,100% 3%,100% 100%,4% 100%,0 97%);display:flex;flex-direction:column;align-items:center;padding:2vh 1.2vw 1vh;--player-rim:#71e9ff;--player-color:#04cfff;overflow:hidden}.player-panel.p1{--player-color:#29dc41;--player-rim:#80e970;background:linear-gradient(155deg,#178a25,#0a2c2d 58%,#07132a)}.player-panel.p2{--player-color:#ffaf12;--player-rim:#ffd265;background:linear-gradient(145deg,#bd7900,#372b2b 58%,#07132a)}.player-panel.p3,.players-2 .player-panel.p1,.players-3 .player-panel.p2{--player-color:#fb2373;--player-rim:#e77ca7;background:linear-gradient(125deg,#b51c40,#571137 55%,#06122d)}.player-panel.active{background:linear-gradient(110deg,#407ca8,#40d5ee);border-color:#d8fdff}.player-panel.p1.active{background:linear-gradient(145deg,#28b536,#12512e 70%,#0a2330)}.player-panel.p2.active{background:linear-gradient(145deg,#ffc839,#875400 65%,#17212e)}.player-panel.p3.active,.players-2 .player-panel.p1.active,.players-3 .player-panel.p2.active{background:linear-gradient(140deg,#fb7ca0,#aa234c 55%,#3b2041)}.player-select{background:none;border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;padding:0;min-height:0}.player-select:focus{outline-offset:-3px}.player-name{font-size:6.8vh;font-style:italic;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:2px 4px 1px #0a193bbb;line-height:1.25}.players-4 .player-name{font-size:5.9vh}.etch{height:1.7vh;width:85%;margin:1.2vh 0 0;background:linear-gradient(90deg,transparent,#c1eaff99,transparent);clip-path:polygon(0 45%,40% 45%,41% 0,59% 0,60% 45%,100% 45%,100% 55%,60% 55%,59% 100%,41% 100%,40% 55%,0 55%)}.player-score{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;font-family:Digits,Arial,sans-serif;font-size:28vh;line-height:1;text-shadow:3px 5px 1px #071b37aa;max-width:100%;padding:0 1vw;font-variant-numeric:tabular-nums}.players-4 .player-score{font-size:23vh}.player-score.long{font-size:17vh}.players-4 .player-score.long{font-size:12vh}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6vh .7vw;width:100%}.players-4 .stats{grid-template-columns:repeat(2,1fr)}.stats.eight{grid-template-columns:repeat(4,1fr)}.stat{font-size:2.3vh;min-height:4.5vh;padding:.2em .1em;white-space:nowrap;background:#081a39a6;border:1px solid #7cb5d766;display:flex;align-items:center;justify-content:center;gap:.25em}.stat b{font-family:Arial,sans-serif;color:#ffc649}.player-identity{height:11vh;display:flex;align-items:center;gap:1.5vw;width:95%;justify-content:center}.player-identity .flag{height:8.5vh;width:12.75vh;box-shadow:0 0 0 2px #ecf5ff55,0 2px 6px #001d38;border-radius:0;background:#fff}.avatar{width:8.8vh;height:8.8vh;border-radius:50%;object-fit:cover;border:2px solid #c0e8ff;background:#12385a}.player-identity .player-name{font-size:4.6vh}.alias{color:#def7ff;font-size:2.6vh;font-style:normal;margin-top:.4vh}.game-footer{height:11.2vh;position:relative;margin:1.1vh 2.4vw 0;display:grid;grid-template-columns:1fr 1fr 1fr .9fr 1fr 1fr 1fr;gap:.65vh .5vw}.action-button{font-size:2.4vh;min-height:0;padding:.15em .25em;background:linear-gradient(135deg,#102c53aa,#08162c);border:1px solid #4e86c1;white-space:nowrap}.action-button:focus{outline:2px solid white;outline-offset:0;color:white;background:#274e7c}.timer{grid-column:4;grid-row:1 / 3;align-self:start;display:flex;justify-content:center;align-items:center;height:5.5vh;background:linear-gradient(#065bb5,#083c7b);border:1px solid #74b4ff;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);font-family:Arial,sans-serif;font-size:2.5vh;font-weight:bold}.foot-brand{grid-column:4;grid-row:2;font-size:1.2vh;align-self:end;text-align:center;color:#91b3d0;white-space:nowrap}.snooker-stage{gap:1vw;margin-left:1.6vw;margin-right:1.6vw}.snooker-stage .player-panel{padding:2vh 1vw 1vh}.snooker-center{width:12.5vw;flex-shrink:0;background:linear-gradient(#1270c7,#185293);border:1px solid #54b5e9;border-radius:14px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;font-size:2.8vh;color:var(--gold);padding:1.5vh .5vw}.snooker-center .frame-score{font-size:6vh;font-family:Arial;font-weight:bold}.snooker-center b{font-size:4vh}.snooker-stage .player-score{font-size:26vh}.snooker-info{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:15vh;gap:1vw}.pot-trail{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.55vh;max-width:75%;height:12vh;overflow:auto}.ball{display:inline-flex;align-items:center;justify-content:center;width:3.8vh;height:3.8vh;border-radius:50%;background:radial-gradient(circle at 30% 22%,#fff 0, var(--ball) 30%,#0b1321 100%);border:1px solid #e5faff;color:white;font-family:Arial;font-size:1.8vh;text-shadow:0 1px 2px black;box-shadow:1px 1px 2px #0008}.break-score{color:var(--gold);font-size:7vh;font-family:Arial}.snooker-footer{margin:1vh 1.6vw;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:1fr 1fr;height:10.6vh;gap:.5vh .5vw}.snooker-footer .ball-key{background:linear-gradient(#ffbd35,#db8a05);color:#fff9d5;font-size:2.25vh;border-color:#ffe083;display:flex;justify-content:center;align-items:center;gap:.3em}.ball-key .ball{width:2.2vh;height:2.2vh}.snooker-footer button{min-height:0;padding:.1em;font-size:2.4vh}.session-note{position:absolute;right:2vw;top:4.5vh;color:#b6dced;font-size:1.9vh}
.modal-backdrop{position:fixed;inset:0;z-index:10;background:#010817bd;display:flex;justify-content:center;align-items:center;padding:4vh 4vw}.modal{background:linear-gradient(135deg,#163451,#0a1936);border:1px solid #6bd3e2;box-shadow:0 18px 70px #0009;width:min(960px,88vw);max-height:88vh;overflow:auto;padding:3vh 3vw}.modal h2{font-size:3.8vh;margin:0 0 2vh;color:#d9f9ff}.modal h3{margin:2vh 0 1vh}.modal p{font-size:max(14px,2vh);color:#bad6e6}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:2.5vh;flex-wrap:wrap}.modal-actions button{font-size:max(15px,2.2vh)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-field label{display:block;color:#bad5e9;margin-bottom:5px;font-size:max(14px,1.8vh)}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}.profile-form{border:1px solid #335d7a;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.profile-form h3{grid-column:1 / -1;margin:0;color:#bfefff}.avatar-edit{display:flex;gap:10px;align-items:center;grid-column:1 / -1}.avatar-edit img{width:56px;height:56px;border-radius:50%}.avatar-edit button{font-size:14px}.radio-choices{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.radio-choices button{flex:1;min-width:100px;font-size:2.7vh}.qr-wrap{display:flex;gap:3vw;align-items:center;justify-content:center}.qr-wrap img{width:32vh;height:32vh;background:#fff;padding:12px}.qr-wrap .qr-copy{max-width:420px}.inline-error{color:#ffb4bd;font-size:15px}.settings-page{position:relative;overflow:auto;height:82vh;padding:4vh 12vw}.settings-page label{font-size:2.8vh}.settings-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #315a79;padding:2vh 0;gap:20px}.settings-row select{width:35vw}.settings-row input[type=checkbox]{width:28px;height:28px}.settings-page .note{color:#a6c5d9;font-size:2.1vh}.history-list{max-height:55vh;overflow:auto}.history-row{display:flex;justify-content:space-between;border-bottom:1px solid #315a79;padding:12px;gap:16px}.history-row small{color:#a1bacb}#toast{position:fixed;bottom:17vh;left:50%;transform:translateX(-50%);max-width:80vw;background:#05172ff0;border:1px solid #4ed9ed;padding:14px 24px;z-index:40;color:#f1fcff;display:none;font-size:max(16px,2.5vh);text-align:center}.effect-layer{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}.boot-overlay{position:fixed;inset:0;background:#000;z-index:30;display:flex;align-items:center;justify-content:center}.boot-overlay video{width:100%;height:100%;object-fit:contain}.boot-overlay button{position:absolute;bottom:5vh;right:4vw;background:#061c38cc}.phone-body{overflow:auto;min-height:100vh;background:#091a30}.phone-body #app{min-height:100vh;height:auto;overflow:visible;padding:22px}.phone-title{font-size:24px;margin-top:0}.phone-body .form-grid,.phone-body .profile-grid{grid-template-columns:1fr}.phone-body .profile-form{background:#102943}.phone-body .modal-actions{position:sticky;bottom:0;padding:14px;background:#071a30}.phone-body .modal-actions button{flex:1;padding:14px}.phone-body label{font-size:15px}.phone-body .profile-form h3{font-size:19px}.phone-body .small{line-height:1.6}.phone-status{padding:10px 0;color:#65e4b2}.portrait-tip{display:none}@media(max-aspect-ratio:1/1){body:not(.phone-body) .portrait-tip{display:block;position:absolute;z-index:3;bottom:0;background:#07152dee;width:100%;text-align:center;padding:8px;font-size:14px}.profile-grid,.form-grid{grid-template-columns:1fr}.modal{width:94vw;padding:20px;max-height:90vh}.modal h2{font-size:24px}.modal p{font-size:15px}.modal-actions button{font-size:16px}.qr-wrap{flex-direction:column}.home-tile .label{font-size:4vw}.home-tile .en{font-size:1.7vw}.top-title.home-title h1{font-size:4vw}.player-name{font-size:4vw}.players-4 .player-name{font-size:3vw}.player-score{font-size:15vw}.players-4 .player-score{font-size:12vw}.stat{font-size:1.8vw}.action-button{font-size:1.7vw}.home-tile{border-radius:5px}.settings-page{padding:20px}.settings-row label{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Reference frame assets preserve the original angular TV design. */
#app.home-screen{background:#03172d url('assets/pool-backdrop.svg') center/cover no-repeat}
#app.home-screen:before{background:linear-gradient(#020b2540,#03182b18)}
.top-title,.top-title.home-title{margin:0;width:100%;background:transparent url('assets/reference/toppanel.svg') center top/100% 100% no-repeat;border:0;clip-path:none;filter:none}
.top-title:after{display:none}
.top-title h1{padding-bottom:1.5vh;max-width:62vw;min-width:0;font-family:YouSheOnline,PingFangOnline,sans-serif,sans-serif;font-weight:400;font-style:normal}
body{font-family:PingFangOnline,sans-serif,sans-serif;font-weight:400}
button,button.primary{font-weight:600}
.modal h2,.modal h3,.profile-form h3{font-weight:600}
/* A padded inline box includes the italic font's ink outside its advance.
   Keep this padding inside the gradient, including on old Android WebViews. */
.display-ink{display:inline-block;white-space:nowrap;padding:0 .28em;flex-shrink:0;vertical-align:middle}
.score-ink{padding:0 .04em}
.title-menu{display:block;width:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;outline:0;color:inherit;font:inherit;line-height:inherit;text-shadow:inherit;letter-spacing:inherit;text-align:center}
.title-menu:focus{outline:0;box-shadow:inset 0 -2px 0 #fff1ac;background:none}
.mode-option,.entry-option{font-family:YouSheOnline,PingFangOnline,sans-serif,sans-serif;font-weight:400;font-style:normal}
.mode-option small,.entry-option small{font-family:PingFangOnline,sans-serif,sans-serif;font-weight:400;font-style:normal}
.home-tile{background:linear-gradient(140deg,#032d4b66,#004d6455);border-radius:13px}
.home-tile:focus{background:linear-gradient(145deg,#149db650,#07517866)}
.player-panel{background-image:radial-gradient(ellipse at 80% 4%,#00cfff88,transparent 47%),linear-gradient(125deg,#075285cc,#06112b);}
.player-panel.active{background:radial-gradient(ellipse at 75% 12%,#62fffdaa,transparent 70%),linear-gradient(110deg,#4075aa,#42cde5)}
.player-score{font-family:Arial,sans-serif;font-size:30vh;font-weight:800;font-style:normal}
.players-4 .player-score{font-size:25vh}.players-4 .player-score.long{font-size:12vh}
.player-identity .flag{width:11.34vh;object-fit:contain;background:transparent}
.modal{width:88vw;max-width:960px}.effect-layer{object-fit:contain}
.player-panel,.player-panel.active{background:radial-gradient(ellipse at 80% 5%,#40edff44,transparent 65%),url('assets/reference/panel-stretch-a.svg') 0 0/100% 100% no-repeat;border:0;clip-path:none}
.player-panel.active:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#99eaff16,#5fefff55);mix-blend-mode:screen}
.player-panel.p1,.player-panel.p1.active{background:radial-gradient(ellipse at 50% 0,#38f04566,transparent 60%),url('assets/reference/panel-stretch-c.svg') 0 0/100% 100% no-repeat}
.player-panel.p2,.player-panel.p2.active{background:radial-gradient(ellipse at 50% 0,#ffb11755,transparent 60%),url('assets/reference/panel-stretch-d.svg') 0 0/100% 100% no-repeat}
.player-panel.p3,.player-panel.p3.active,.players-2 .player-panel.p1,.players-2 .player-panel.p1.active,.players-3 .player-panel.p2,.players-3 .player-panel.p2.active{background:radial-gradient(ellipse at 5% 0,#fa325b55,transparent 60%),url('assets/reference/panel-stretch-b.svg') 0 0/100% 100% no-repeat}
.player-panel>*{position:relative;z-index:1}
.mode-option:focus,.entry-option:focus{border-color:#fff0a2;background:linear-gradient(150deg,#237e9b,#12335d);box-shadow:inset 0 0 0 3px #ffe786,inset 0 0 30px #fff1a522;outline-offset:-6px}

/* Android 9's bundled WebView predates flex gap and inset shorthand.
   Use margins for flex rows only; the grid gutters above stay unchanged. */
.mode-list,.entry-list,.game-stage,.snooker-stage,.stat,.player-identity,
.snooker-info,.pot-trail,.snooker-footer .ball-key,.modal-actions,.avatar-edit,
.radio-choices,.qr-wrap,.settings-row,.history-row{gap:0}
.mode-list> *+*,.entry-list> *+*{margin-left:3vw}
.game-stage> *+*{margin-left:1.8vw}
.snooker-stage> *+*{margin-left:1vw}
.stat b{margin-left:.25em}
.player-identity> *+*{margin-left:1.5vw}
.snooker-info> *+*{margin-left:1vw}
.pot-trail>.ball{flex-shrink:0;margin:0 .55vh .55vh 0}
.snooker-footer .ball-key .ball{flex-shrink:0;margin:0 .3em}
.modal-actions> *+*{margin-left:12px}
.modal-actions>*{margin-top:8px;max-width:100%}
.modal-actions{margin-top:calc(2.5vh - 8px)}
.avatar-edit> *+*{margin-left:10px}
.radio-choices> *+*{margin-left:10px}
.radio-choices>*{margin-top:10px}
.radio-choices{margin-top:4px}
.qr-wrap> *+*{margin-left:3vw}
.settings-row> *+*{margin-left:20px}
.history-row> *+*{margin-left:16px}

/* Size the flag itself at 4:3, and let the name/alias yield space. */
.player-identity .flag{width:11.333333vh;height:8.5vh;flex:0 0 11.333333vh;object-fit:contain}
.player-identity .avatar{flex:0 0 8.8vh}
.player-select>div,.player-identity>div{min-width:0;max-width:100%}
.player-identity>div{width:30vh;flex:0 1 30vh;text-align:left}
.player-identity .alias{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-select,.player-identity,.etch,.stats,.snooker-info{flex-shrink:0}
.mode-option,.entry-option{min-width:0;flex-shrink:0;white-space:nowrap}
.mode-option>svg,.entry-option>svg,.mode-option>img,.entry-option>img{flex-shrink:0}
.mode-option>.flag{height:auto;object-fit:contain}
.home-grid>*,.game-footer>*,.snooker-footer>*,.form-grid>*,.profile-grid>*,.profile-form>*{min-width:0}
.avatar-edit img,.qr-wrap>img,.settings-row>input,.settings-row>select,.break-score{flex-shrink:0}
.avatar-edit button,.qr-wrap .qr-copy,.settings-row>label,.history-row>*{min-width:0}
.qr-wrap .qr-copy{flex:1}
.settings-row>label{flex:1}
.history-row small{overflow-wrap:break-word;text-align:right}
.history-list:focus{outline:2px solid var(--gold);outline-offset:3px}
.history-list{scrollbar-color:var(--cyan) #10294b;scrollbar-width:thin}
.history-list::-webkit-scrollbar{width:8px}
.history-list::-webkit-scrollbar-thumb{background:#64bad5;border-radius:4px}
.history-list::-webkit-scrollbar-track{background:#10294b}
.history-row span small{display:block;margin-top:6px}
.frame-record{margin-top:24px;padding-top:12px;border-top:2px solid #5182a5}
.frame-player{margin:16px 0;padding:12px;background:#0b203b;border:1px solid #315a79}
.frame-player h3,.frame-record>h3{color:#ffe15a;margin:0 0 8px;font-size:20px}
.frame-player p{margin:6px 0;overflow-wrap:break-word}
.record-balls{display:flex;flex-wrap:wrap;align-items:center}
.record-balls>.ball{width:25px;height:25px;flex:0 0 25px;margin:4px}
.summary-result{font-size:24px!important;color:#ffe15a}
.match-records{max-height:49vh}
.snooker-center .target-frames{display:block;font-size:2vh;color:white;line-height:1.2;transform:translateY(-1.5vh)}
.score-screen .snooker-footer .ball-key.long-points{font-size:1.9vh;padding-left:.2vw;padding-right:.2vw}
.modal .history-hint{margin:0 0 1.5vh;color:#c4e9f5}
/* A maximum break contains 36 pots. Four complete rows remain visible on TV. */
.snooker-info{min-height:18vh;height:18vh}
.pot-trail{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(4,3.8vh);grid-gap:.55vh;gap:.55vh;width:75%;max-width:75%;height:17.4vh;overflow:visible;align-content:center;align-items:center;justify-items:center}
.pot-trail>.ball{width:3.8vh;height:3.8vh;margin:0;max-width:100%}

#app:before,.modal-backdrop,.effect-layer,.boot-overlay,.player-panel.active:after{top:0;right:0;bottom:0;left:0}
.home-tile:before{top:8px;right:8px;bottom:8px;left:8px}
.modal p{font-size:14px;font-size:max(14px,2vh)}
.modal-actions button{font-size:15px;font-size:max(15px,2.2vh)}
.form-field label{font-size:14px;font-size:max(14px,1.8vh)}
#toast{font-size:16px;font-size:max(16px,2.5vh)}
@media(max-aspect-ratio:1/1){
  .qr-wrap> *+*{margin-left:0;margin-top:3vw}
  .modal p{font-size:15px}
  .modal-actions button{font-size:16px}
}


/* source: reference-home.css */
/* Customer-supplied homepage artwork, preserved byte-for-byte.
   Source: 主页面.rar / 主页面.png, received 2026-11-03
   The six HTML buttons remain the actual interactive and accessible controls.
   The static skin includes their identical labels; avoid painting a second copy.
   Fit the complete 2848 x 1600 composition, including non-widescreen displays. */
#app.home-screen {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100vw;
  height: 56.1797752809vw;
  transform: translate(-50%, -50%);
  background: #03172d url('assets/reference-restored/home-client-20261103.webp') center / 100% 100% no-repeat;
}
@media (min-aspect-ratio: 2848/1600) {
  #app.home-screen { width: 178vh; height: 100vh; }
}
#app.home-screen:before,
#app.home-screen > .version,
#app.home-screen > .portrait-tip { display: none; }
#app.home-screen > .home-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#app.home-screen > .home-grid {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  display: block;
}
#app.home-screen .home-tile {
  position: absolute;
  top: 21.625%;
  left: 3.441011%;
  width: 30.337079%;
  height: 33.375%;
  padding: 0;
  margin: 0;
  min-height: 0;
  border: 0;
  border-radius: 1.1vw;
  background: transparent;
  box-shadow: none;
  outline: none;
  filter: none;
  overflow: visible;
}
#app.home-screen .home-tile:nth-child(2),
#app.home-screen .home-tile:nth-child(5) { left: 35.11236%; width: 30.196629%; }
#app.home-screen .home-tile:nth-child(3),
#app.home-screen .home-tile:nth-child(6) { left: 66.748596%; width: 29.91573%; }
#app.home-screen .home-tile:nth-child(n+4) { top: 57.875%; height: 33.375%; }
#app.home-screen .home-tile > * { opacity: 0; }
#app.home-screen .home-tile:before { display: none; }
#app.home-screen .home-tile:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 3px solid transparent;
  border-radius: inherit;
  pointer-events: none;
}
#app.home-screen .home-tile:focus:after {
  border-color: #fff3a6;
  box-shadow: inset 0 0 0 1px #152e49, 0 0 9px #fff1a6;
}
#app.home-screen .home-tile:active:after {
  border-color: #ffffff;
  background: rgba(148, 250, 255, .12);
}
@media (min-aspect-ratio: 2848/1600) {
  #app.home-screen .home-tile { border-radius: 1.95vh; }
}

/* The customer now requests a single live title without the baked prefix.
   Only the lettering interior is covered; the original frame and six tiles
   remain the unmodified customer image. The small clean patch has no text. */
#app.home-screen,#app.home-screen .home-tile,#app.home-screen .home-tile *{font-family:Arial,"Microsoft YaHei",sans-serif!important}
#app.home-screen > .home-title {
  left: 28.3707865169%; top: .5%; width: 43.5042134831%; height: 8.5%;
  margin: 0; padding: 0; clip: auto; clip-path: none; overflow: visible;
  white-space: nowrap; display: flex; justify-content: center; align-items: center;
  border: 0; filter: none; box-shadow: none; z-index: 2; pointer-events: none;
  background: url('assets/reference-restored/home-title-empty-20261104.webp') center/100% 100% no-repeat;
}
#app.home-screen > .home-title:before,
#app.home-screen > .home-title:after { display: none; }
#app.home-screen > .home-title h1 {
  margin: 0; padding: 0; max-width: 100%; line-height: 1.15;
  font-family: var(--customer-display,YouShe,sans-serif)!important;
  font-size: 3.65vw; font-weight: 400; font-style: normal;
  color: #c7faff; text-shadow: 0 2px 1px #0874a1;
}
@media (min-aspect-ratio: 2848/1600) {
  #app.home-screen > .home-title h1 { font-size: 6.497vh; }
}

/* Tile labels are in the original image. The revised title is live font text;
   retain its small exact-source display face and clean textless patch. */
body.website-home{font-family:Arial,"Microsoft YaHei",sans-serif}
#app.home-screen .home-tile,#app.home-screen .home-tile *{font-family:Arial,"Microsoft YaHei",sans-serif!important}
#app.home-screen.home-art-pending{background-image:none}
#app.home-screen.home-art-pending .home-tile{background:#092c45;border:1px solid #71c6da}
#app.home-screen.home-art-pending .home-tile>*{opacity:1}
#app.home-screen.home-art-pending .home-tile>svg{display:none}


/* source: reference-score.css */
/* Customer reference restoration, October 2026.
 * Score geometry follows the supplied 2278 x 1280 boards. These rules only
 * affect presentation; numeric values, counters and remote actions stay live.
 * Explicit positions/margins keep Android WebView 66 compatible. */
#app.score-screen {
  background: radial-gradient(ellipse at 51% 72%,#173451 0,#0b1d3e 36%,#06112e 78%);
}
#app.score-screen:before {
  background: radial-gradient(ellipse at 49% 96%,rgba(31,144,207,.18),transparent 52%);
}
.score-screen .top-title {
  height:12.2vh; background:transparent url('assets/reference-restored/score-header.svg') center top/100% 100% no-repeat;
}
.score-screen .top-title:after { display:none; }
.score-screen .top-title h1 {
  font-size:6.8vh; line-height:1.1; padding:0 0 1.8vh; max-width:46vw;
  font-weight:400; font-style:normal; letter-spacing:-.025em;
  color:#dffaff; text-shadow:none;
}
.score-screen .top-title .display-ink {
  background:linear-gradient(#fff 17%,#e7ffff 44%,#8adcf4 69%,#38a9dd 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 .16vh .08vh #144a70);
}
.score-screen .game-stage {
  height:70.4vh; margin:3.4vh 3.35vw 0; display:flex; gap:0;
}
.score-screen .game-stage > *+* { margin-left:1.3vw; }
.score-screen .player-panel,
.score-screen .player-panel.active {
  border:0; clip-path:none; padding:2.45vh 1.4vw .35vh;
  background:transparent url('assets/reference-restored/panel-cyan.svg') center/100% 100% no-repeat;
  --player-rim:#bbffff; --player-color:#67eeff;
}
.score-screen .player-panel.p1,.score-screen .player-panel.p1.active {
  background-image:url('assets/reference-restored/panel-green.svg');
  --player-rim:#7bec89; --player-color:#57ed6a;
}
.score-screen .player-panel.p2,.score-screen .player-panel.p2.active {
  background-image:url('assets/reference-restored/panel-gold.svg');
  --player-rim:#e8ba5c; --player-color:#ffc95b;
}
.score-screen .player-panel.p3,.score-screen .player-panel.p3.active,
.score-screen .players-2 .player-panel.p1,.score-screen .players-2 .player-panel.p1.active,
.score-screen .players-3 .player-panel.p2,.score-screen .players-3 .player-panel.p2.active {
  background-image:url('assets/reference-restored/panel-red.svg');
  --player-rim:#d989a1; --player-color:#ff738e;
}
.score-screen .player-panel.active:after { display:none; }
.score-screen .game-stage .player-panel,
.score-screen .game-stage .player-panel.active {
  background-size:100% 100%; background-position:center; background-repeat:no-repeat;
}
.score-screen .game-stage .player-panel.active:after {
  display:block; content:''; left:7%; right:7%; top:0; bottom:auto; height:2.1vh;
  pointer-events:none; mix-blend-mode:normal;
  background:radial-gradient(ellipse at 50% 0,rgba(246,255,255,.9),rgba(126,251,255,.26) 18%,transparent 68%);
}
.score-screen .player-select {
  position:relative; width:100%; padding:.4vh .2vw 0; border:0;
  height:14.4vh; flex-shrink:0; justify-content:flex-start;
}
.score-screen .player-select>div:first-child { width:100%; min-width:0; }
.score-screen .player-name {
  max-width:100%; font-size:10.6vh; line-height:1.06;
  font-family:YouSheOnline,PingFangOnline,sans-serif,sans-serif; font-weight:400; font-style:normal; letter-spacing:-.035em; word-spacing:-.15em;
  padding:.1vh .4vw .6vh; color:#f9ffff;
  text-overflow:clip; text-shadow:none;
  filter:drop-shadow(.13vh .17vh .05vh #173749) drop-shadow(.22vh .38vh .12vh rgba(0,12,27,.9));
}
.score-screen .player-name .display-ink {
  background:linear-gradient(#fff 23%,#f9ffff 55%,#d6edf1 81%,#a8cad5 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.score-screen .players-4 .player-name { font-size:9.7vh; }
.score-screen .etch {
  width:83%; height:2.6vh; margin:.7vh 0 0; flex-shrink:0; clip-path:none;
  background:transparent url('assets/reference-restored/etch-cyan.svg') center/100% 100% no-repeat;
}
.score-screen .player-panel.p1 .etch { background-image:url('assets/reference-restored/etch-green.svg'); }
.score-screen .player-panel.p2 .etch { background-image:url('assets/reference-restored/etch-gold.svg'); }
.score-screen .player-panel.p3 .etch,
.score-screen .players-2 .player-panel.p1 .etch,
.score-screen .players-3 .player-panel.p2 .etch { background-image:url('assets/reference-restored/etch-red.svg'); }
.score-screen .player-select:focus {
  outline:0; box-shadow:none; background:rgba(240,255,255,.04);
}
.score-screen .player-select:focus:after {
  content:''; position:absolute; left:8%; right:8%; bottom:.1vh; height:.35vh;
  background:#fff5ba; box-shadow:0 .15vh .6vh rgba(255,232,115,.5);
}
.score-screen .player-select:focus .player-name { filter:drop-shadow(.12vh .15vh 0 #14253b); }
.score-screen .player-score {
  font-family:SourceHanScore,Arial,sans-serif; font-size:34.5vh; font-style:normal; font-weight:900;
  line-height:1; padding:0 1vw 1vh; color:#fcffff;
  text-shadow:.12vh .13vh .04vh #2b5370,.38vh .65vh .14vh rgba(1,18,37,.87);
  flex:1; min-height:0; width:100%; letter-spacing:-.025em;
}
.score-screen .players-4 .player-score { font-size:24vh; padding-bottom:0; }
.score-screen .player-score.long { font-size:19vh; }
.score-screen .players-4 .player-score.long { font-size:12vh; }
.score-screen .players-3 .player-score {
  text-shadow:none; filter:drop-shadow(.12vh .15vh .05vh #bce6df) drop-shadow(.35vh .5vh .1vh #062333);
}
.score-screen .players-3 .player-score .display-ink {
  background:linear-gradient(#fff 38%,#faffff 59%,#c9e7e7 74%,#7db4c3 91%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.score-screen .stats {
  width:74%; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-column-gap:3.9vw; grid-row-gap:.65vh; gap:.65vh 3.9vw; margin-top:.5vh;
}
.score-screen .players-3 .stats { width:92%; grid-column-gap:.65vw; gap:.65vh .65vw; }
.score-screen .players-4 .stats {
  width:88%; grid-template-columns:repeat(2,minmax(0,1fr));
  grid-column-gap:.65vw; gap:.65vh .65vw;
}
.score-screen .stats.eight {
  width:91%; grid-template-columns:repeat(4,minmax(0,1fr));
  grid-column-gap:1.6vw; gap:.65vh 1.6vw;
}
.score-screen .stat {
  position:relative; height:5.05vh; min-height:0; padding:.25vh .1vw;
  border:1px solid rgba(127,168,208,.55); background:rgba(6,20,52,.57);
  color:#f7ffff; font:400 2.65vh/1 PingFangOnline,sans-serif,sans-serif;
  text-shadow:0 1px 1px #102039;
}
.score-screen .stat:before {
  content:''; position:absolute; top:-.27vh; left:9%; width:19%; height:.33vh;
  background:linear-gradient(120deg,transparent 13%,var(--player-color) 14%,var(--player-color) 22%,transparent 23%,transparent 37%,var(--player-color) 38%,var(--player-color) 46%,transparent 47%,transparent 61%,var(--player-color) 62%,var(--player-color) 70%,transparent 71%);
}
.score-screen .stat b { margin-left:.2em; color:#ffbf50; font-family:PingFangOnline,sans-serif,sans-serif; font-weight:600; font-size:1.12em; }
.score-screen .stat:focus { outline:2px solid #fff3b1; outline-offset:0; box-shadow:none; background:rgba(92,117,144,.7); }
.score-screen .player-identity { width:100%; height:11.3vh; justify-content:center; }
.score-screen .player-identity .player-name { font-family:PingFangOnline,sans-serif,sans-serif; font-size:6.6vh; font-weight:600; font-style:normal; letter-spacing:normal; word-spacing:normal; }
.score-screen .player-identity .player-name .display-ink { padding:0 .1em; }
.score-screen .players-4 .player-identity .player-name { font-size:4.5vh; }
.score-screen .player-identity>div { width:31vh; flex:0 1 31vh; }
.score-screen .alias { font:400 2.6vh/1.2 PingFangOnline,sans-serif,sans-serif; color:#eefaff; }
.score-screen .player-identity .flag { border-radius:0; width:12vh; height:9vh; flex:0 0 12vh; object-fit:contain; }
.score-screen .player-identity .avatar { height:9vh; width:9vh; flex:0 0 9vh; }

/* Two wide left controls, central clock and the three right controls mirror
   the supplied control deck. Labels remain ordinary, focusable live buttons. */
.score-screen .game-footer {
  display:block; height:11vh; margin:1vh 2.4vw 0; position:relative;
  background:none;
}
.score-screen .game-footer:after {
  content:''; pointer-events:none; position:fixed; left:.5vw; right:.5vw; bottom:0; height:4.3vh;
  background:url('assets/reference-restored/footer-rim.svg') center/100% 100% no-repeat;
}
.score-screen .game-footer .action-button {
  position:absolute; top:0; width:13.9%; height:4.45vh;
  font:600 2.65vh/1.05 PingFangOnline,sans-serif,sans-serif; color:#86b9f4;
  padding:0 .2vw; border:0; background:transparent url('assets/reference-restored/button-rect.svg') center/100% 100% no-repeat;
  text-shadow:0 1px 2px #06204d;
}
.score-screen .game-footer .action-button:nth-of-type(1) { left:0; width:21.2%; background-image:url('assets/reference-restored/button-left.svg'); }
.score-screen .game-footer .action-button:nth-of-type(2) { left:21.9%; width:21.35%; background-image:url('assets/reference-restored/button-right.svg'); }
.score-screen .game-footer .action-button:nth-of-type(3) { left:56.8%; background-image:url('assets/reference-restored/button-left.svg'); }
.score-screen .game-footer .action-button:nth-of-type(4) { left:71.45%; }
.score-screen .game-footer .action-button:nth-of-type(5) { left:86.1%; background-image:url('assets/reference-restored/button-right.svg'); }
.score-screen .game-footer .action-button:nth-of-type(6) { left:0; top:5.15vh; background-image:url('assets/reference-restored/button-left.svg'); }
.score-screen .game-footer .action-button:nth-of-type(7) { left:14.65%; top:5.15vh; }
.score-screen .game-footer .action-button:nth-of-type(8) { left:29.3%; top:5.15vh; background-image:url('assets/reference-restored/button-right.svg'); }
.score-screen .game-footer .action-button:nth-of-type(9) { left:56.8%; top:5.15vh; background-image:url('assets/reference-restored/button-left.svg'); }
.score-screen .game-footer .action-button:nth-of-type(10) { left:71.45%; top:5.15vh; }
.score-screen .game-footer .action-button:nth-of-type(11) { left:86.1%; top:5.15vh; background-image:url('assets/reference-restored/button-right.svg'); }
.score-screen.score-eight .game-footer .action-button[data-action="clear"] { left:86.1%; top:5.15vh; background-image:url('assets/reference-restored/button-right.svg'); }
.score-screen.score-eight .game-footer .action-button[data-action="resume"] { left:71.45%; top:5.15vh; background-image:url('assets/reference-restored/button-rect.svg'); }
.score-screen .game-footer .action-button:focus {
  outline:0; box-shadow:none; color:#fffef2;
  background-image:url('assets/reference-restored/button-rect-focus.svg');
  filter:none;
}
.score-screen .game-footer .action-button:nth-of-type(1):focus,
.score-screen .game-footer .action-button:nth-of-type(3):focus,
.score-screen .game-footer .action-button:nth-of-type(6):focus,
.score-screen .game-footer .action-button:nth-of-type(9):focus { background-image:url('assets/reference-restored/button-left-focus.svg'); }
.score-screen .game-footer .action-button:nth-of-type(2):focus,
.score-screen .game-footer .action-button:nth-of-type(5):focus,
.score-screen .game-footer .action-button:nth-of-type(8):focus,
.score-screen .game-footer .action-button:nth-of-type(11):focus,
.score-screen.score-eight .game-footer .action-button[data-action="clear"]:focus { background-image:url('assets/reference-restored/button-right-focus.svg'); }
.score-screen.score-eight .game-footer .action-button[data-action="resume"]:focus { background-image:url('assets/reference-restored/button-rect-focus.svg'); }
.score-screen .game-footer .timer {
  position:absolute; left:43.9%; top:-.2vh; width:12.2%; height:5.2vh;
  clip-path:none; border:0; background:url('assets/reference-restored/timer.svg') center/100% 100% no-repeat;
  font:700 2.6vh/1 Arial,sans-serif; padding:.3vh 0 0; color:#fff;
}
.score-screen .game-footer .foot-brand {
  position:absolute; left:35%; width:30%; bottom:-1.55vh; z-index:1;
  font:400 1.45vh/1.1 PingFangOnline,sans-serif,sans-serif; color:#c4d8eb;
}

/* Snooker has its own blue/pink boards and bottom gold key strip. */
.score-screen .snooker-stage { margin-left:1.6vw; margin-right:1.6vw; }
.score-screen .snooker-stage > *+* { margin-left:1vw; }
.score-screen .snooker-stage .player-panel {
  padding:2.7vh 1.3vw 1.6vh;
  background-image:url('assets/reference-restored/panel-snooker-blue.svg');
}
.score-screen .snooker-stage .player-panel.p1,
.score-screen .snooker-stage .player-panel.p1.active {
  background-image:url('assets/reference-restored/panel-snooker-pink.svg');
}
.score-screen .snooker-stage .player-name { font-size:8.7vh; }
.score-screen .snooker-stage .player-select { height:12.2vh; }
/* Reserve the lower strip for the etch and focus line. Identity layouts have
   two text rows; the ordinary single-name board keeps its original geometry. */
.score-screen .snooker-stage .player-identity { height:10.3vh; }
.score-screen .snooker-stage .player-identity>div {
  height:10.3vh; display:flex; flex-direction:column; justify-content:center;
}
.score-screen .snooker-stage .player-identity .player-name {
  font-size:6.6vh; line-height:1.06; padding:0 .4vw .1vh; flex-shrink:0;
}
.score-screen .snooker-stage .player-identity .display-ink { vertical-align:top; }
.score-screen .snooker-stage .player-identity .alias {
  font-size:2.4vh; line-height:1.15; margin-top:.15vh; padding:0 .4vw; flex-shrink:0;
}
.score-screen .snooker-stage .player-identity+.etch {
  position:absolute; bottom:0; height:1.25vh; margin:0;
}
.score-screen .snooker-stage .etch { width:78%; margin:.5vh 0 0; height:2.4vh; }
.score-screen .snooker-stage .player-score {
  font-size:29.4vh; font-weight:900; padding:0 0 1vh; text-shadow:none;
}
.score-screen .snooker-stage .player-score.long { font-size:15.5vh; }
.score-screen .snooker-center {
  position:relative; width:12.5vw; padding:0; border:0; border-radius:2.15vh;
  color:#ffe33f; font:400 4vh/1.25 PingFangOnline,sans-serif,sans-serif;
  background:linear-gradient(110deg,#187cd0,#1a6cbd); text-align:center;
}
.score-screen .snooker-center>.clock { position:absolute; top:1.2vh; left:0; width:100%; font:700 4.25vh/1 Arial,sans-serif; white-space:nowrap; }
.score-screen .snooker-center>.frame-score { position:absolute; top:6.6vh; left:0; width:100%; font:700 7.5vh/1 Arial,sans-serif; }
.score-screen .snooker-center>div:nth-of-type(2) { position:absolute; top:18.4vh; left:0; width:100%; font-size:4.2vh; line-height:1.65; }
.score-screen .snooker-center>div:nth-of-type(2)>b { font:700 8vh/1.15 Arial,sans-serif; }
.score-screen .snooker-center>div:nth-of-type(3) { position:absolute; top:35.3vh; left:0; width:100%; font-size:4vh; line-height:1.45; }
.score-screen .snooker-center>div:nth-of-type(3)>span { font-size:3.4vh; }
.score-screen .snooker-center>span:last-child { position:absolute; top:56.2vh; left:0; width:100%; font-size:4.45vh; }
.score-screen .snooker-info { min-height:20.2vh; height:20.2vh; width:100%; align-items:center; }
.score-screen .snooker-info .pot-trail {
  width:76%; max-width:76%; height:18vh; display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr)); grid-template-rows:repeat(4,3.85vh);
  grid-gap:.55vh .6vh; gap:.55vh .6vh; overflow:visible; align-content:center;
}
.score-screen .pot-trail>.ball { height:3.85vh; width:3.85vh; max-width:100%; margin:0; }
.score-screen .ball {
  background:radial-gradient(ellipse at 29% 19%,#fff 0,rgba(255,255,255,.9) 4%,var(--ball) 32%,var(--ball) 54%,#071526 100%);
  border:1px solid #e6f4f8; box-shadow:inset 0 0 0 .2vh rgba(255,255,255,.2),.1vh .15vh .15vh #0b172a;
}
.score-screen .break-score { font:700 8.4vh/1 Arial,sans-serif; color:#ffe23c; margin-left:1vw; }
.score-screen .snooker-stage .player-panel.p1 .snooker-info { flex-direction:row-reverse; }
.score-screen .snooker-stage .player-panel.p1 .break-score { margin-left:0; margin-right:1vw; }
.score-screen .snooker-footer {
  position:relative; margin:2vh 1.6vw 0; width:76.65vw; height:10.45vh;
  grid-template-columns:repeat(7,minmax(0,1fr)); grid-template-rows:5.3vh 4.4vh;
  grid-gap:.5vh .35vw; gap:.5vh .35vw;
}
.score-screen .snooker-footer .ball-key {
  border:1px solid #ffd39a; border-radius:1.3vh; padding:.15vh .15vw;
  background:linear-gradient(#ffd95b 0,#ffbf2e 14%,#ffa812 100%);
  color:#ffffe0; font:600 2.65vh/1 PingFangOnline,sans-serif,sans-serif;
  text-shadow:0 .08vh .12vh #af7307;
}
.score-screen .snooker-footer .ball-key .ball { width:1.9vh; height:1.9vh; margin:0 .25em; border-color:rgba(255,255,255,.4); }
.score-screen .snooker-footer .action-button {
  color:#ecf6ff; border:1px solid #315172; background:linear-gradient(#0d1b35,#050e23);
  font:600 3.05vh/1 PingFangOnline,sans-serif,sans-serif; border-radius:.3vh; padding:0;
}
.score-screen .snooker-footer button:focus {
  outline:2px solid #fff9d9; outline-offset:1px; box-shadow:0 .1vh .9vh rgba(255,234,173,.58);
}
.score-screen .snooker-brand {
  position:absolute; left:calc(100% + 1.4vw); top:1vh; width:17.2vw; text-align:center;
  white-space:nowrap; color:#eef7ff; font:400 2.7vh/1.5 PingFangOnline,sans-serif,sans-serif;
}
.score-screen .snooker-brand small { display:block; margin-top:1vh; font-size:2.2vh; }
@media(max-aspect-ratio:3/2) {
  .score-screen .player-name { font-size:8.9vh; }
  .score-screen .players-4 .player-name { font-size:7.4vh; }
  .score-screen .stat { font-size:2.3vh; }
  .score-screen .stats { width:90%; grid-column-gap:1.8vw; gap:.65vh 1.8vw; }
  .score-screen .game-footer .action-button { font-size:2.3vh; }
  .score-screen .snooker-stage .player-name { font-size:7.5vh; }
  .score-screen .snooker-stage .player-score { font-size:26vh; }
  .score-screen .snooker-stage .player-score.long { font-size:13vh; }
  .score-screen .snooker-info .pot-trail { grid-template-rows:repeat(4,3vh); grid-gap:.55vh .3vh; gap:.55vh .3vh; }
  .score-screen .pot-trail>.ball { height:3vh; width:3vh; }
  .score-screen .snooker-footer .ball-key { font-size:2.2vh; }
  .score-screen .snooker-footer .action-button { font-size:2.4vh; }
  .score-screen .snooker-brand { font-size:2.1vh; }
  .score-screen .snooker-center>.clock { font-size:3.2vh; }
  .score-screen .snooker-center>.frame-score { font-size:6.2vh; }
  .score-screen .snooker-center>div:nth-of-type(3) { font-size:3.1vh; }
  .score-screen .snooker-center>div:nth-of-type(3)>span { font-size:2.8vh; }
  .score-screen .snooker-center>span:last-child { font-size:3.5vh; }
}

/* Measured against the five customer score references at a 1920 x 1080
   baseline. Keep every label, score and statistic live; the unchanged client
   valley artwork supplies the material beneath the translucent SVG faces. */
#app.score-screen.style-normal {
  background:#06112e url('assets/reference/reference-bkg.jpg') center/100% 100% no-repeat;
}
#app.score-screen.style-normal:before {
  background:linear-gradient(rgba(4,12,34,.2),rgba(4,12,34,.08));
}
.score-screen.style-normal .game-stage.players-2:not(.snooker-stage) > *+* {
  margin-left:2.2vw;
}
.score-screen.style-normal .player-select > div:first-child {
  height:11vh;
}
/* Anchor the decoration to the full button box. Older Android WebView sizes
   percentage flex children against a narrower anonymous button content box. */
.score-screen.style-normal .player-select > .etch {
  position:absolute; left:8.5%; right:8.5%; top:12.1vh;
  width:auto; margin:0; bottom:auto; pointer-events:none;
}
.score-screen.style-normal .players-4 .player-select > .etch { top:15.1vh; }
.score-screen.style-normal .snooker-stage .player-select > .etch {
  left:11%; right:11%; top:10.1vh; height:2.4vh;
}
.score-screen.style-normal .player-name {
  font-size:12vh; line-height:1; letter-spacing:-.025em;
  transform:translateY(-2.1vh);
}
.score-screen.style-normal .player-name .display-ink {
  padding:0 .14em;
}
.score-screen.style-normal .player-score {
  font-size:31.6vh;
}
.score-screen.style-normal .player-score .score-ink {
  transform:scaleX(.97);
}
.score-screen.style-normal .player-score.long { font-size:18vh; }
.score-screen.style-normal .players-4 .player-select {
  height:17.4vh; width:calc(100% + 1.4vw);
}
.score-screen.style-normal .players-4 .player-select > div:first-child {
  height:14vh;
}
.score-screen.style-normal .players-4 .player-name {
  font-size:12vh; transform:none;
}
.score-screen.style-normal .players-4 .player-score {
  font-size:20.6vh; padding-top:3.8vh;
}
.score-screen.style-normal .players-4 .player-score.long { font-size:12vh; }
.score-screen.style-normal .players-3 .player-panel.p2 .player-score .display-ink {
  background:linear-gradient(#fff 38%,#fff8fb 59%,#eed7e1 74%,#c298b3 91%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.score-screen.style-normal .players-3 .player-panel.p2 .player-score {
  filter:drop-shadow(.12vh .15vh .05vh #f0d4e3) drop-shadow(.35vh .5vh .1vh #391426);
}
.score-screen.style-normal .player-panel { --stat-border:rgba(66,139,190,.65); }
.score-screen.style-normal .player-panel.p1 { --stat-border:rgba(45,116,67,.65); }
.score-screen.style-normal .player-panel.p2 { --stat-border:rgba(159,106,24,.75); }
.score-screen.style-normal .player-panel.p3,
.score-screen.style-normal .players-2 .player-panel.p1,
.score-screen.style-normal .players-3 .player-panel.p2 { --stat-border:rgba(113,79,117,.65); }
.score-screen.style-normal .stat {
  font-size:2.5vh; border-color:var(--stat-border);
  background:rgba(6,20,52,.54);
}
.score-screen.style-normal .stat b { color:#ffd15d; }
.score-screen.style-normal .game-footer .action-button {
  font-weight:400; color:#6fa1e7;
}
.score-screen.style-normal .game-footer .action-button:focus { color:#f7f5de; }
/* Snooker has its own name and number sizes; preserve the separately tested
   two-row international/avatar focus geometry above. */
.score-screen.style-normal .snooker-stage .player-select > div:first-child { height:9.2vh; }
.score-screen.style-normal .snooker-stage .player-name {
  font-size:9.2vh; transform:translateY(-1.6vh);
  filter:none;
}
.score-screen.style-normal .snooker-stage .player-name .display-ink {
  background:none; -webkit-text-fill-color:#fff; color:#fff;
}
.score-screen.style-normal .snooker-stage .player-score { font-size:29.4vh; }
.score-screen.style-normal .snooker-stage .player-score.long { font-size:15.5vh; }
.score-screen.style-normal .snooker-stage .player-score .score-ink { transform:none; }
.score-screen.style-normal .snooker-center { font-weight:600; }
.score-screen.style-normal .snooker-footer .action-button { font-weight:400; }
@media(max-aspect-ratio:3/2) {
  .score-screen.style-normal .player-name { font-size:10vh; }
  .score-screen.style-normal .players-4 .player-name { font-size:9vh; }
  .score-screen.style-normal .stat { font-size:2.3vh; }
  .score-screen.style-normal .snooker-stage .player-name { font-size:7.5vh; }
  .score-screen.style-normal .snooker-stage .player-score { font-size:26vh; }
  .score-screen.style-normal .snooker-stage .player-score.long { font-size:13vh; }
}

.score-screen .pot-trail .empty-slot { background:#515459; box-shadow:none; border:0; }
/* The international and avatar Snooker boards use actual DOM buttons.
   Keep ball labels and counts readable on amber at rest and in focus. */
.score-screen .snooker-footer .ball-key,
.score-screen .snooker-footer .ball-key:focus {
  color:white; background:#c36a04; border:0; border-radius:1.2vh;
  padding:0; text-shadow:none; font:600 2.65vh/1.16 PingFangOnline,Arial,sans-serif;
}
.score-screen .snooker-footer .ball-key-inner {
  display:inline-flex; align-items:center; justify-content:center; white-space:nowrap;
  max-width:100%; vertical-align:middle;
}
.score-screen .snooker-footer .key-swatch {
  display:inline-block; width:1.8vh; height:1.8vh; border-radius:50%; margin:0 .5vw;
  flex:0 0 auto;
}
.score-screen .snooker-footer .key-count { font:600 2.7vh/1.16 Arial,sans-serif; min-width:.62em; }
.score-screen .snooker-footer .long-points .ball-key-inner { font-size:2.15vh; }
.score-screen .snooker-footer .long-points .key-count { font-size:2.15vh; }
.score-screen .snooker-footer .ball-key:focus {
  outline:none; box-shadow:0 0 0 .3vh #fff,0 0 0 .55vh #748399; position:relative; z-index:1;
}
.score-screen .snooker-footer .ball-key:disabled { opacity:.48; }
@media(max-aspect-ratio:3/2){
  .score-screen .snooker-footer .ball-key,.score-screen .snooker-footer .ball-key:focus,.score-screen .snooker-footer .key-count {font-size:1.48vw}
  .score-screen .snooker-footer .key-swatch{width:1.05vw;height:1.05vw;margin:0 .29vw}
}
/* Archived identity boards place emblems at the outside edges. Reserve a
   separate line for the alias and keep remote focus below both text rows. */
.score-screen:not(.style-normal) .snooker-stage .player-panel { background-image:url('assets/reference-restored/panel-cyan.svg'); }
.score-screen:not(.style-normal) .snooker-stage .player-panel.p1 { background-image:url('assets/reference-restored/panel-red.svg'); }
.score-screen:not(.style-normal) .snooker-stage .player-panel.p0:not(.active) { background-image:url('assets/reference-restored/panel-snooker-blue.svg'); }
.score-screen:not(.style-normal) .snooker-stage .player-panel.p1.active { background-image:url('assets/reference-restored/panel-snooker-pink.svg'); }
.score-screen:not(.style-normal) .snooker-stage .player-panel .player-identity {
  position:absolute; top:0; left:0; right:0; width:auto; text-align:right;
}
.score-screen:not(.style-normal) .snooker-stage .player-panel.p1 .player-identity { flex-direction:row-reverse; text-align:left; }
.score-screen:not(.style-normal) .snooker-stage .player-identity .identity-type {
  position:absolute; top:0; right:1.1vw; width:23.5vw; max-width:none; min-width:0; align-items:stretch; margin:0;
}
.score-screen:not(.style-normal) .snooker-stage .p1 .identity-type {left:1.1vw;right:auto}
.score-screen:not(.style-normal) .snooker-stage .player-identity>.country-emblem,
.score-screen:not(.style-normal) .snooker-stage .player-identity>.avatar {position:absolute;top:0;left:.9vw;margin:0}
.score-screen:not(.style-normal) .snooker-stage .p1 .player-identity>.country-emblem,
.score-screen:not(.style-normal) .snooker-stage .p1 .player-identity>.avatar {right:.9vw;left:auto}
.score-screen:not(.style-normal) .snooker-stage .player-identity .player-name {
  text-align:inherit; font:400 6.5vh/1.1 YouSheOnline,PingFangOnline,PingFangOnline,sans-serif; filter:none;
}
.score-screen:not(.style-normal) .snooker-stage .player-identity .alias { width:100%; text-align:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-identity .alias-ink {display:inline-block;white-space:nowrap}
.country-emblem { flex:0 0 12vh; text-align:center; }
.score-screen .player-identity .country-emblem .flag { display:block; margin:auto; height:7.4vh; width:10.2vh; }
.country-emblem small { display:block; margin-top:.16vh; color:#fff; font:600 1.85vh/1.18 PingFangOnline,Arial,sans-serif; }
.modal.foul-select { width:74vh; width:min(82vw,74vh); max-width:calc(100vw - 24px); padding:3vh; background:linear-gradient(145deg,#1a2034,#14213b); }
.modal.foul-select h2 { text-align:center; margin:0 0 3vh; font-size:4.6vh; }
.foul-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-gap:1vh; }
.foul-choices .foul-choice { display:flex; flex-direction:column; align-items:center; justify-content:center; height:14vh;
 border:2px solid transparent; border-radius:1.4vh; background:#2c4054; color:#f3f7fb; font:600 2.7vh PingFangOnline, sans-serif; }
.foul-choice i { width:6.4vh; height:6.4vh; border-radius:50%; margin-bottom:1vh; }
.foul-choices .foul-choice:focus { outline:0; border-color:#fff3b1; box-shadow:inset 0 0 0 1px #fff3b1; }


/* source: reference-international.css */
/* Two-player international board, from the customer's 1920 x 1080 Sketch.
 * Decorative vectors contain no names, numbers, labels, clocks or flags.
 * PingFangBody uses the client-supplied regular and semibold faces.
 * Keep this after reference-score.css; all rules are limited to this one UI. */
#app.international-two-player.style-international {
  --international-unit:.052083333333vw;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:calc(var(--international-unit) * 1920);
  height:calc(var(--international-unit) * 1080);
  min-height:0; margin:0; padding:0; overflow:hidden;
  background-color:#081337;
  background-image:url('assets/reference-exact/international-decoration.svg'),url('assets/reference-exact/international-valley-5d0edd92289e.webp');
  background-repeat:no-repeat;
  background-position:0 0,calc(var(--international-unit) * -.2510460251) calc(var(--international-unit) * -680);
  background-size:100% 100%,calc(var(--international-unit) * 1920.5020920502) calc(var(--international-unit) * 2550);
}
@media (min-aspect-ratio:16/9) {
  #app.international-two-player.style-international { --international-unit:.092592592593vh; }
}
#app.international-two-player.style-international:before,
#app.international-two-player.style-international:after { display:none; }
#app.international-two-player.style-international .top-title {
  position:absolute; left:0; top:0; width:100%; height:calc(var(--international-unit) * 120);
  margin:0; padding:0; background:none; border:0;
}
#app.international-two-player.style-international .top-title h1 {
  position:absolute; left:calc(var(--international-unit) * 573); top:calc(var(--international-unit) * 4);
  width:calc(var(--international-unit) * 773); max-width:none; height:calc(var(--international-unit) * 78);
  margin:0; padding:0; font:400 calc(var(--international-unit) * 60)/1.3 YouSheOnline,PingFangOnline,sans-serif,sans-serif;
  letter-spacing:calc(var(--international-unit) * 10); text-shadow:none;
}
#app.international-two-player.style-international .top-title .display-ink {
  padding:0; background:linear-gradient(#fff,#00a2ff);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:none;
}
#app.international-two-player.style-international .game-stage.players-2 {
  position:absolute; left:calc(var(--international-unit) * 383); top:calc(var(--international-unit) * 142);
  width:calc(var(--international-unit) * 1158); height:calc(var(--international-unit) * 748);
  display:block; margin:0; padding:0;
}
#app.international-two-player.style-international .game-stage.players-2 > .player-panel,
#app.international-two-player.style-international .game-stage.players-2 > .player-panel.active {
  position:absolute; left:0; top:0; width:calc(var(--international-unit) * 569); height:100%;
  display:block; flex:none; margin:0; padding:0; border:0; clip-path:none; overflow:visible;
  background:none; box-shadow:none;
}
#app.international-two-player.style-international .game-stage.players-2 > .player-panel.p1 {
  left:calc(var(--international-unit) * 589);
}
#app.international-two-player.style-international .game-stage .player-panel.active:after {
  left:calc(var(--international-unit) * 28); right:calc(var(--international-unit) * 28); top:0;
  bottom:auto; height:calc(var(--international-unit) * 4);
  background:linear-gradient(90deg,transparent,rgba(235,255,255,.8),transparent);
  box-shadow:none;
}
#app.international-two-player.style-international .player-select {
  position:absolute; left:calc(var(--international-unit) * 24); top:calc(var(--international-unit) * 22);
  width:calc(var(--international-unit) * 522); height:calc(var(--international-unit) * 70);
  margin:0; padding:0; display:block; min-height:0; border:0;
}
#app.international-two-player.style-international .player-select .player-identity,
#app.international-two-player.style-international .player-identity > div {
  /* WebView 66 sizes percentage children of a button's anonymous box from
     their text. Use the actual name slot so long names can be measured/fitted. */
  position:static; display:block; width:calc(var(--international-unit) * 522); height:100%;
  min-width:0; max-width:calc(var(--international-unit) * 522);
  flex:none; margin:0; padding:0; text-align:center;
}
#app.international-two-player.style-international .player-select .flag,
#app.international-two-player.style-international .player-select .alias,
#app.international-two-player.style-international .player-select .etch { display:none; }
#app.international-two-player.style-international .player-identity .player-name {
  width:calc(var(--international-unit) * 522); height:100%; margin:0; padding:0;
  min-width:0; max-width:calc(var(--international-unit) * 522);
  font:600 calc(var(--international-unit) * 50)/1.4 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:calc(var(--international-unit) * 10); word-spacing:normal;
  color:#fff; text-shadow:none; filter:none; transform:none;
}
#app.international-two-player.style-international .player-identity .player-name .display-ink {
  padding:0; color:#fff; background:none; -webkit-text-fill-color:#fff;
  filter:none; transform:none; vertical-align:top;
}
#app.international-two-player.style-international .player-select:focus {
  outline:2px solid #fff3b1; outline-offset:3px; background:rgba(255,243,177,.035); box-shadow:none;
}
#app.international-two-player.style-international .player-select:focus:after { display:none; }
#app.international-two-player.style-international .player-select:focus .player-name { filter:none; }
#app.international-two-player.style-international .player-score,
#app.international-two-player.style-international .player-score.long {
  position:absolute; left:calc(var(--international-unit) * 41); top:calc(var(--international-unit) * 274);
  width:calc(var(--international-unit) * 488); height:calc(var(--international-unit) * 200);
  min-height:0; max-width:none; margin:0; padding:0; flex:none;
  font:900 calc(var(--international-unit) * 200)/1 SourceHanScore,Arial,sans-serif;
  font-style:normal; letter-spacing:0; color:#fff; filter:none;
  text-shadow:calc(var(--international-unit) * -10) calc(var(--international-unit) * 10) calc(var(--international-unit) * 6) rgba(8,24,64,.4991805);
}
#app.international-two-player.style-international .player-panel.p1 .player-score {
  text-shadow:calc(var(--international-unit) * 10) calc(var(--international-unit) * 10) calc(var(--international-unit) * 6) #0c1336;
}
#app.international-two-player.style-international .player-score .score-ink {
  padding:0; color:#fff; background:none; -webkit-text-fill-color:#fff;
  transform:none; filter:none;
}
#app.international-two-player.style-international .stats {
  position:absolute; left:calc(var(--international-unit) * 62); top:calc(var(--international-unit) * 610);
  width:calc(var(--international-unit) * 445); height:calc(var(--international-unit) * 116);
  display:block;
  margin:0; padding:0;
}
#app.international-two-player.style-international .stat {
  position:absolute; left:0; top:0;
  width:calc(var(--international-unit) * 128); height:calc(var(--international-unit) * 48);
  min-height:0; margin:0; padding:calc(var(--international-unit) * 5) 0 0; border:0; background:none;
  font:400 calc(var(--international-unit) * 24)/1.375 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:0; color:#519ae1; text-shadow:none; gap:0;
}
#app.international-two-player.style-international .stat:nth-child(2),
#app.international-two-player.style-international .stat:nth-child(5) { left:calc(var(--international-unit) * 159); }
#app.international-two-player.style-international .stat:nth-child(3),
#app.international-two-player.style-international .stat:nth-child(6) { left:calc(var(--international-unit) * 317); }
#app.international-two-player.style-international .stat:nth-child(n+4) { top:calc(var(--international-unit) * 68); }
#app.international-two-player.style-international .stat:before { display:none; }
#app.international-two-player.style-international .player-panel.p1 .stat { color:#d1b7dc; }
#app.international-two-player.style-international .stat b {
  margin-left:calc(var(--international-unit) * 10); font:600 1em/1.375 PingFangOnline,sans-serif,sans-serif; color:#fffb9c;
}
#app.international-two-player.style-international .stat:focus {
  outline:2px solid #fff3b1; outline-offset:-2px; background:rgba(255,243,177,.08); box-shadow:none;
}
#app.international-two-player.style-international .international-side {
  position:absolute; left:calc(var(--international-unit) * 63); top:calc(var(--international-unit) * 193);
  width:calc(var(--international-unit) * 264); height:calc(var(--international-unit) * 626.5);
  margin:0; padding:0; text-align:center; color:#c3e1ff; pointer-events:none;
}
#app.international-two-player.style-international .international-side.right { left:calc(var(--international-unit) * 1601); color:#ffbac3; }
#app.international-two-player.style-international .international-side .flag {
  position:absolute; left:calc(var(--international-unit) * 33); top:calc(var(--international-unit) * 46);
  width:calc(var(--international-unit) * 198); height:calc(var(--international-unit) * 148.5);
  display:block; margin:0; padding:0; border:calc(var(--international-unit) * 1) solid rgba(255,255,255,.7);
  border-radius:0; object-fit:contain; background:transparent; transform:none;
  box-shadow:0 calc(var(--international-unit) * 5) calc(var(--international-unit) * 10) rgba(0,0,0,.22);
}
#app.international-two-player.style-international .international-side .side-alias {
  position:absolute; left:calc(var(--international-unit) * 12); top:calc(var(--international-unit) * 280);
  width:calc(var(--international-unit) * 240); height:calc(var(--international-unit) * 67);
  margin:0; padding:0; font:600 calc(var(--international-unit) * 48)/1.395833333 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:0; white-space:nowrap; overflow:hidden;
}
#app.international-two-player.style-international .international-side.right .side-alias { top:calc(var(--international-unit) * 284); }
#app.international-two-player.style-international .international-side .country-en,
#app.international-two-player.style-international .international-side .country-name {
  position:absolute; left:calc(var(--international-unit) * 12); top:calc(var(--international-unit) * 361);
  width:calc(var(--international-unit) * 240); height:calc(var(--international-unit) * 33);
  margin:0; padding:0; font:400 calc(var(--international-unit) * 24)/1.375 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:calc(var(--international-unit) * 10); white-space:nowrap; overflow:hidden;
}
#app.international-two-player.style-international .international-side .country-name { top:calc(var(--international-unit) * 414); }
#app.international-two-player.style-international .international-side.right .country-en { top:calc(var(--international-unit) * 365); }
#app.international-two-player.style-international .international-side.right .country-name { top:calc(var(--international-unit) * 418); }
#app.international-two-player.style-international .international-side .display-ink { padding:0; vertical-align:top; }
#app.international-two-player.style-international .game-footer {
  position:absolute; left:0; top:0; width:100%; height:100%; margin:0; padding:0;
  pointer-events:none; background:none;
}
#app.international-two-player.style-international .game-footer:after { display:none; }
#app.international-two-player.style-international .game-footer .action-button {
  position:absolute; top:calc(var(--international-unit) * 930); left:calc(var(--international-unit) * 100);
  width:calc(var(--international-unit) * 343); height:calc(var(--international-unit) * 36);
  min-height:0; margin:0; padding:0 calc(var(--international-unit) * 4); border:0; border-radius:0;
  background:none; pointer-events:auto;
  font:600 calc(var(--international-unit) * 24)/1.375 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:calc(var(--international-unit) * 10); color:#3077ff; text-shadow:none; filter:none;
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(2) { left:calc(var(--international-unit) * 465); width:calc(var(--international-unit) * 411); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(3) { left:calc(var(--international-unit) * 1045); width:calc(var(--international-unit) * 278); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(4) { left:calc(var(--international-unit) * 1351); width:calc(var(--international-unit) * 244); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(5) { left:calc(var(--international-unit) * 1617); width:calc(var(--international-unit) * 210); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(n+6) { top:calc(var(--international-unit) * 977); width:calc(var(--international-unit) * 244); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(6) { left:calc(var(--international-unit) * 66); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(7) { left:calc(var(--international-unit) * 332); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(8) { left:calc(var(--international-unit) * 598); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(9) {
  left:calc(var(--international-unit) * 1079);
  /* The client shortcut adds three characters to the Sketch's four-character label. */
  padding-left:calc(var(--international-unit) * 29);
  letter-spacing:calc(var(--international-unit) * 6);
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(10) { left:calc(var(--international-unit) * 1351); }
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(11) {
  left:calc(var(--international-unit) * 1617);
  padding-right:calc(var(--international-unit) * 29);
  letter-spacing:calc(var(--international-unit) * 6);
}
/* Each focus rim uses the four points and flips of its own Sketch button. */
#app.international-two-player.style-international .game-footer .action-button:focus {
  outline:0; border:0; box-shadow:none; filter:none; color:#fff3b1;
  background:var(--sketch-focus-rim) center/100% 100% no-repeat;
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(1) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20343%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C36%20343%2C36%20343%2C0%2029.858%2C0%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C36%20343%2C36%20343%2C0%2029.858%2C0%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(2) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20411%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%22411%2C0%200%2C0%200%2C36%20381.142%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%22411%2C0%200%2C0%200%2C36%20381.142%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(3) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20278%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C0%20278%2C0%20278%2C36%2029.858%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C0%20278%2C0%20278%2C36%2029.858%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(4) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C0%20244%2C0%20244%2C36%200%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C0%20244%2C0%20244%2C36%200%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(5) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20210%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%22210%2C36%200%2C36%200%2C0%20180.142%2C0%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%22210%2C36%200%2C36%200%2C0%20180.142%2C0%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(6) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C36%20244%2C36%20244%2C0%2029.858%2C0%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C36%20244%2C36%20244%2C0%2029.858%2C0%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(7) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C0%20244%2C0%20244%2C36%200%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C0%20244%2C0%20244%2C36%200%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(8) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%22244%2C0%200%2C0%200%2C36%20214.142%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%22244%2C0%200%2C0%200%2C36%20214.142%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(9) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C0%20244%2C0%20244%2C36%2029.858%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C0%20244%2C0%20244%2C36%2029.858%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(10) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%220%2C0%20244%2C0%20244%2C36%200%2C36%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%220%2C0%20244%2C0%20244%2C36%200%2C36%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .action-button:nth-of-type(11) {
  --sketch-focus-rim:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20244%2036%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22shape%22%3E%3Cpolygon%20points%3D%22244%2C36%200%2C36%200%2C0%20214.142%2C0%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cpolygon%20clip-path%3D%22url%28%23shape%29%22%20points%3D%22244%2C36%200%2C36%200%2C0%20214.142%2C0%22%20fill%3D%22%23fff3b1%22%20fill-opacity%3D%22.13%22%20stroke%3D%22%23fff3b1%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
#app.international-two-player.style-international .game-footer .timer {
  position:absolute; left:calc(var(--international-unit) * 846); top:calc(var(--international-unit) * 931);
  width:calc(var(--international-unit) * 227); height:calc(var(--international-unit) * 52);
  margin:0; padding:0; border:0; border-radius:0; background:none; clip-path:none;
  font:600 calc(var(--international-unit) * 24)/1.375 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:calc(var(--international-unit) * 6); color:#fffb9c;
}
#app.international-two-player.style-international .game-footer .foot-brand {
  position:absolute; left:calc(var(--international-unit) * 690); top:calc(var(--international-unit) * 1012); bottom:auto;
  width:calc(var(--international-unit) * 540); height:calc(var(--international-unit) * 20);
  margin:0; padding:0; font:400 calc(var(--international-unit) * 14)/1.428571429 PingFangOnline,sans-serif,sans-serif;
  letter-spacing:calc(var(--international-unit) * 2); color:#3077ff;
}


/* source: reference-faithful.css */
/* The customer artwork is the final visible surface. Real DOM controls stay
 * underneath it for pointer, D-pad, accessibility, validation and form editing.
 * It is deliberately not interactive and never covers the modal/effect layers. */
#app .reference-live-surface{position:absolute;left:0;top:0;width:100%;height:100%;z-index:5;pointer-events:none;display:block}
#app.faithful-active .game-stage,#app.faithful-active .game-footer,#app.faithful-active .snooker-footer{display:block;gap:0;transform:none}
#app.faithful-active .player-panel,#app.faithful-active .player-panel.active{display:block;flex:none;clip-path:none;overflow:visible;transform:none}
#app.faithful-active .player-select{display:block;transform:none}
#app.faithful-active .stat,#app.faithful-active .action-button,#app.faithful-active .ball-key{transform:none;clip-path:none}
#app.faithful-active .player-score{display:block;max-width:none;flex:none;transform:none}

/* Full-screen footer is a layout container; only its controls receive pointers. */
#app.faithful-active .game-footer,#app.faithful-active .snooker-footer{pointer-events:none}
#app.faithful-active .game-footer button,#app.faithful-active .snooker-footer button{pointer-events:auto}
#app.faithful-active .game-stage{pointer-events:none}
#app.faithful-active .game-stage button{pointer-events:auto}

/* Do not flash the unrelated reconstruction while the real client plate loads.
   The shell/recovery controls and match menu remain available on failure. */
#app.faithful-loading .game-stage,
#app.faithful-loading .game-footer,
#app.faithful-loading .top-title,
#app.faithful-loading .reference-live-surface,
#app.faithful-loading .reference-focus-surface { display: none !important; }
#app .score-art-loading { position:absolute; left:10%; top:34%; width:80%; z-index:7; text-align:center; padding:4vh 3vw; color:#eafaff; background:#0c213b; border:1px solid #427b96; font:400 3vh/1.5 PingFangOnline,PingFangBody,sans-serif; }
#app .score-art-status { margin:0 0 2vh; }
#app .score-art-recovery { display:flex; justify-content:center; flex-wrap:wrap; }
#app .score-art-recovery button { margin:.6vh .7vw; font-size:2.6vh; }
#app .score-art-loading:not(.failed) [data-art-action] { display:none; }
#app .score-art-fallback { position:absolute; left:1.2vw; top:1.2vh; z-index:7; font-size:1.8vh; padding:.55em; }


/* source: boot.css */
.boot-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:8;background:transparent;pointer-events:none;display:flex;align-items:center;justify-content:center}
.boot-canvas{display:block;width:100vw;height:56.25vw;max-height:100vh;max-width:177.7778vh;pointer-events:none}
.boot-controls{position:absolute;right:2vw;bottom:2vh;display:flex;align-items:center;pointer-events:auto}
.boot-controls button{position:static;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:14px;font-size:clamp(14px,1.9vh,24px);font-weight:600;background:rgba(4,18,40,.9);border:1px solid #83c6e4;color:#e8faff;padding:.4em .8em;min-height:32px}
.boot-controls button+button{margin-left:10px}
.boot-controls button:focus{outline:2px solid #fff0ae;outline-offset:2px}

.boot-status{font:400 14px Arial,"Microsoft YaHei",sans-serif;color:#e8faff;background:rgba(4,18,40,.9);padding:.4em .6em}


/* source: customer-update.css */
/* Customer revision, November 2026. Keep the supplied home artwork and
   scoreboard geometry; settings, identity, numeric fields and focus are live. */
#app {
  --customer-display: YouSheOnline, YouShe, sans-serif;
  --customer-body: PingFangOnline, PingFangBody, sans-serif;
  --selection: #ffe38a;
}
/* Homepage uses the complete new supplied image. Settings are now inside Personalization. */
.settings-page { height: 82vh; padding: 3vh 8vw 5vh; }
.home-settings-panel { position: relative; width: 100%; color: #eaf8ff; font-family: var(--customer-body); }
.home-settings-controls { display: block; }
.home-settings-panel .settings-row { min-height: 10vh; margin: 0; padding: 1.8vh 0; border-bottom: 1px solid #315a79; display: flex; align-items: center; justify-content: space-between; }
.home-settings-panel .settings-row > span:first-child,
.home-settings-panel .settings-row > label { flex: 0 0 24%; margin-right: 2vw; font: 600 3vh/1.4 var(--customer-body); }
.home-settings-panel .settings-options { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.home-settings-panel button, .settings-desktop button { min-height: 5vh; margin: .45vh 0 .45vh .8vw; padding: .7vh 1.2vw; font: 600 2.5vh/1.35 var(--customer-body); color: #d4eaf4; background: #10334c; border: 1px solid #477588; border-radius: .42vh; }
.home-settings-panel button[aria-pressed="true"] { color: #f1ffff; border-color: #52d9c2; background: #10645c; }
.home-settings-panel button:focus, .settings-desktop button:focus, .mode-option:focus { outline: 3px solid var(--selection); outline-offset: 2px; }
.home-settings-panel input:not([type="checkbox"]) { flex: 1; width: auto; min-width: 0; font: 400 2.4vh/1.4 var(--customer-body); padding: 1vh 1vw; }
.home-settings-panel .settings-status { margin: 1.6vh 0; color: #b6d8e7; font-size: 2.3vh; }
.settings-desktop { text-align: right; }
@media(max-aspect-ratio:1/1) {
 .settings-page { padding: 2vh 5vw 5vh; }
 .home-settings-panel .settings-row { align-items: flex-start; flex-wrap: wrap; }
 .home-settings-panel .settings-row > span:first-child, .home-settings-panel .settings-row > label { flex-basis: 100%; margin-bottom: 1vh; }
 .home-settings-panel .settings-options { justify-content: flex-start; }
 .home-settings-panel button, .settings-desktop button { margin: .45vh .8vw .45vh 0; }
 .home-settings-panel .server-row input { flex-basis: 100%; }
}

.mode-list { margin: 0 4vw; gap: 0; }
.mode-list .mode-option {
  justify-content: flex-start; align-items: stretch; text-align: left;
  width: 30%; height: auto; margin: 0 .8vw; padding: .6vh .35vw 1.8vh;
  clip-path: none; overflow: visible; border: 2px solid #3d7999; border-radius: .7vh;
  background: #0c2a47; color: #f5fcff; font-size: 4vh; line-height: 1.2;
  text-indent: .65vw;
}
.mode-option .mode-preview {
  display: block; width: 100%; height: auto; margin: 0 0 1.7vh;
  border-radius: .25vh; object-fit: contain; background: #08192e;
}
.mode-list .mode-option small {
  margin: .7vh .65vw 0; color: #cde5f0; font: 400 2.25vh/1.35 var(--customer-body);
  text-indent: 0; white-space: normal;
}

#app.score-screen .player-panel[data-action="select-player"] { cursor: pointer; pointer-events: auto; }
#app.score-screen .stats .stat { pointer-events: none; cursor: inherit; display: flex; align-items: center; justify-content: center; }
#app.score-screen .game-stage .player-select:focus {
  outline: 0; border-color: transparent; box-shadow: none; background: transparent;
}
#app.score-screen .player-select:focus:after { display: none; }
/* A vector stroke survives both the landscape scale and WebView 66. The
   raster-backed ordinary boards draw this same silhouette on their surface. */
#app.score-screen:not(.faithful-active) .game-stage .player-panel.active:after,
#app.score-screen:not(.faithful-active) .game-stage .player-panel:focus-within:after {
  content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  height: auto; width: auto; z-index: 3; pointer-events: none;
  opacity: 1; mix-blend-mode: normal; box-shadow: none;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23ffe38a' stroke-width='3' vector-effect='non-scaling-stroke' d='M3 3H964L997 28V997H36L3 972Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
#app.score-screen .game-stage .player-panel:last-child:after { transform: scaleX(-1); }
#app.score-screen .game-stage .player-panel:not(:first-child):not(:last-child):after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23ffe38a' stroke-width='3' vector-effect='non-scaling-stroke' d='M35 3H965L997 28V972L965 997H35L3 972V28Z'/%3E%3C/svg%3E");
}
#app.score-screen .game-stage .player-panel:not(.active):focus-within:after { filter: grayscale(1) brightness(1.25); }
#app.score-eight:not(.faithful-active) .game-footer { margin-top: 1.8vh; }
#app.score-eight .game-footer [data-action="end"] { background-image: url('assets/reference-restored/button-right-down.svg'); }
#app.score-eight .game-footer [data-action="end"]:focus { background-image: url('assets/reference-restored/button-right-down-focus.svg'); }

/* Ordinary, flag and avatar pages share the same font for each information
   role. Preserve the widths / vertical positions reserved by each artboard. */
#app.score-screen .top-title h1, #app.score-screen .game-stage .player-name,
#app.score-screen .game-stage .player-identity .player-name {
  font-family: var(--customer-display); font-weight: 400; font-style: normal;
  letter-spacing: -.025em; word-spacing: normal;
}
#app.score-screen .game-stage .player-score {
  font-family: SourceHanScore, Arial, sans-serif; font-style: normal; font-weight: 900;
}
#app.score-screen:not(.score-snooker):not(.style-normal) .game-stage .player-score .score-ink {
  color: #f6fcff; -webkit-text-fill-color: #f6fcff; background: none; filter: none;
  text-shadow: -.06vh -.06vh 0 #d6f1f6, .16vh .32vh .04vh #102844;
}
#app.score-screen .game-stage .player-identity .player-name .display-ink {
  color: #fff; -webkit-text-fill-color: #fff; background: none;
  text-shadow: .04em .04em .02em #183348;
}
#app.style-avatar .game-stage { margin-left: 16vw; margin-right: 16vw; }
#app.style-avatar .game-stage .player-select .avatar,
#app.style-avatar .game-stage .player-select .alias { display: none; }
#app.style-avatar .game-stage .stats { width: 94%; grid-column-gap: .48vw; }
#app.style-avatar .avatar-wing {
  position: absolute; top: 15.6vh; height: 70.4vh; width: 13.45vw;
  box-sizing: border-box; display: flex; flex-direction: column; justify-content: center;
  padding: 2vh .75vw; overflow: hidden; text-align: center; pointer-events: none;
  background: linear-gradient(150deg,#166491,#102844 84%); border: 1px solid #548cad;
  clip-path: polygon(0 0,100% 3%,100% 100%,0 100%);
}
#app.style-avatar .avatar-wing.left { left: 1.7vw; }
#app.style-avatar .avatar-wing.right {
  right: 1.7vw; background: linear-gradient(210deg,#833048,#29263e 84%);
  border-color: #a65c77; clip-path: polygon(0 3%,100% 0,100% 100%,0 100%);
}
#app.style-avatar .avatar-person {
  flex: 1 1 0; min-height: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
#app.style-avatar .avatar-person + .avatar-person { border-top: 1px solid #895568; }
#app.style-avatar .avatar-person img.avatar {
  display: block; width: 8.6vw; height: 8.6vw; max-height: 20vh; object-fit: contain;
  border: 0; background: none; border-radius: .6vh;
}
#app.style-avatar .avatar-person .side-alias, #app.style-avatar .avatar-person .side-name {
  width: 100%; margin-top: 1.35vh; white-space: normal; word-break: break-all;
  color: #eef8ff; font: 600 2.6vh/1.35 var(--customer-body);
}
#app.style-avatar .players-3 .player-select { height: 16vh; }
#app.style-avatar .players-3 .player-name { font-size: 7.5vh; }
/* Original16 W/X: three equal panels, each with a 60dp circular avatar,
   elastic spacer and the existing name on one row; no outside wings/alias.
   Use the same scale for dp and sp: the existing 81px name is original56sp,
   so60dp=86.785714 design px and280x30dp=405x43.392857 design px. */
#app.score-chase3.style-avatar { --three-avatar-unit: .052083333333vw; }
@media(min-aspect-ratio:16/9) {
 #app.score-chase3.style-avatar { --three-avatar-unit: .092592592593vh; }
}
#app.score-chase3.style-avatar .game-stage { margin-left: 3.35vw; margin-right: 3.35vw; }
#app.score-chase3.style-avatar .three-avatar-row {
 display: flex; align-items: center; flex: 0 0 auto; min-width: 0;
}
#app.score-chase3.style-avatar .three-avatar-row .avatar {
 display: block; width: calc(86.785714285714 * var(--three-avatar-unit)); height: calc(86.785714285714 * var(--three-avatar-unit));
 flex: 0 0 calc(86.785714285714 * var(--three-avatar-unit)); object-fit: cover;
 border: 0; border-radius: 50%; background: none;
}
#app.score-chase3.style-avatar .three-avatar-row .avatar-name-spacer { flex: 1 1 0; min-width: 0; }
#app.score-chase3.style-avatar .three-avatar-row .identity-type {
 width: auto; flex: 0 1 auto; min-width: 0; max-width: calc(100% - 86.785714285714 * var(--three-avatar-unit)); text-align: right;
}
#app.score-chase3.style-avatar .three-avatar-row .player-name { font-size: calc(81 * var(--three-avatar-unit)); }
#app.score-chase3.style-avatar .three-avatar-row[data-name-tier="48"] .player-name { font-size: calc(69.428571428571 * var(--three-avatar-unit)); }
#app.score-chase3.style-avatar .three-avatar-row[data-name-tier="40"] .player-name { font-size: calc(57.857142857143 * var(--three-avatar-unit)); }
#app.score-chase3.style-avatar .three-avatar-row[data-name-tier="36"] .player-name { font-size: calc(52.071428571429 * var(--three-avatar-unit)); }
#app.score-chase3.style-avatar .three-avatar-row[data-name-tier="32"] .player-name { font-size: calc(46.285714285714 * var(--three-avatar-unit)); }
#app.score-chase3.style-avatar .players-3 .etch {
 width: calc(405 * var(--three-avatar-unit)); height: calc(43.392857142857 * var(--three-avatar-unit));
 background-image: url('assets/reference-original16/playername_a.svg'); background-size: 100% 100%;
}
#app.score-chase3.style-avatar .players-3 .p1 .etch { background-image: url('assets/reference-original16/playername_c.svg'); }
#app.score-chase3.style-avatar .players-3 .p2 .etch { background-image: url('assets/reference-original16/playername_b.svg'); }
#app.style-avatar .players-3 .stats .stat { font-size: 2.25vh; }
#app.style-avatar .players-3 .stats .stat b { margin-left: .16em; font-size: 1.05em; }
#app.style-avatar .game-stage .player-select > div:first-child,
#app.style-avatar .game-stage .player-identity .identity-type { width: 100%; max-width: 100%; }
#app.style-avatar .snooker-stage .player-identity .identity-type {
  position: static; flex: 1; text-align: center;
}
#app.style-avatar .snooker-stage .snooker-info { height: 21vh; }
#app.style-avatar .snooker-stage .pot-trail {
  width: 71%; max-width: 71%; grid-gap: .4vh .12vw; grid-template-rows: repeat(4,2.45vh);
}
#app.style-avatar .snooker-stage .pot-trail > .ball { width: 1.35vw; height: 1.35vw; }
#app.style-avatar .snooker-stage .break-score { font-size: 5.6vh; margin-left: .4vw; margin-right: .4vw; }
/* Matte, uniform blue / red fields replace the reflected white highlights.
   All names, counters, score digits and shortcuts on snooker are DOM text. */
#app.score-snooker .snooker-stage .player-panel,
#app.score-snooker .snooker-stage .player-panel.active {
  background: linear-gradient(125deg,#0a4269,#11638a); box-shadow: inset 0 0 0 1px #508baa;
  clip-path: polygon(0 0,96.5% 0,100% 2.7%,100% 100%,3.5% 100%,0 97.3%);
}
#app.score-snooker .snooker-stage .player-panel.p1,
#app.score-snooker .snooker-stage .player-panel.p1.active {
  background: linear-gradient(110deg,#884b69,#44415c); box-shadow: inset 0 0 0 1px #a37891;
  clip-path: polygon(3.5% 0,100% 0,100% 97.3%,96.5% 100%,0 100%,0 2.7%);
}
#app.score-snooker .snooker-stage .player-name,
#app.score-snooker .snooker-stage .player-score,
#app.score-snooker .snooker-stage .player-score .score-ink {
  filter: none; color: #fff; -webkit-text-fill-color: #fff; background: none;
}

/* Match the ordinary scoreboard's text weights without changing label sizes. */
#app.score-snooker .snooker-center { font-weight: 600; }
#app.score-snooker .snooker-footer .action-button { font-weight: 400; }

/* Footer branding is live typography, never lettering baked into artwork. */
#app.score-screen.style-normal .game-footer .foot-brand,
#app.score-screen.style-international .game-footer .foot-brand,
#app.score-screen.style-avatar .game-footer .foot-brand {
  position: fixed; left: 0; right: 0; top: auto; bottom: .25vh;
  width: 100%; height: 2.5vh; margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: center; z-index: 6;
  pointer-events: none; background: none; color: #c4d8eb;
  font: 400 1.7vh/1.2 PingFangBody, sans-serif;
  letter-spacing: .03em; text-shadow: none;
}
#app.score-screen .snooker-brand {
  font-family: PingFangBody, sans-serif; font-weight: 400;
  letter-spacing: 0; text-shadow: none;
}


/* source: corrected-ui.css */
/* 再次修改版.docx (093c3fa5…): only items4/6/7.
   Real game kind and its counters/actions remain separate from shared art. */
#app.score-snooker .snooker-stage .player-panel,
#app.score-snooker .snooker-stage .player-panel.active {
 background: transparent url('assets/reference-original16/playerpanel_a-fillbounds.svg') center/100% 100% no-repeat;
 box-shadow: none;
}
#app.score-snooker .snooker-stage .player-panel.p1,
#app.score-snooker .snooker-stage .player-panel.p1.active {
 background: transparent url('assets/reference-original16/playerpanel_b-fillbounds.svg') center/100% 100% no-repeat;
 box-shadow: none;
}
#app.score-snooker.style-international .snooker-stage .p1 .player-identity .player-name,
#app.score-snooker.style-international .snooker-stage .p1 .player-identity .alias {
 text-align: right;
}
/* Names and scores grow15% in international mode only; fitting still measures
   the real glyphs within the unchanged slots. No color/font-face replacement. */
#app.international-two-player.style-international .player-identity .player-name {
 font-size: calc(var(--international-unit) * 57.5);
 line-height: 1.2;
}
#app.international-two-player.style-international .player-score,
#app.international-two-player.style-international .player-score.long {
 font-size: calc(var(--international-unit) * 230);
 height: calc(var(--international-unit) * 230);
 top: calc(var(--international-unit) * 259);
}
#app.score-snooker.style-international .snooker-stage .player-identity .player-name {
 font-size: 7.475vh;
}
#app.score-snooker.style-international .snooker-stage .player-score {
 font-size: 33.81vh;
}
#app.score-snooker.style-international .snooker-stage .player-score.long {
 font-size: 17.825vh;
}
/* Eight-ball has four counters rather than chase's six. The matching four
   vector cells are supplied in its own decoration derivative. */
#app.score-eight.international-two-player .stats.eight .stat:nth-child(1),
#app.score-eight.international-two-player .stats.eight .stat:nth-child(3) {
 left: calc(var(--international-unit) * 40);
}
#app.score-eight.international-two-player .stats.eight .stat:nth-child(2),
#app.score-eight.international-two-player .stats.eight .stat:nth-child(4) {
 left: calc(var(--international-unit) * 277);
}
#app.score-eight.international-two-player .stats.eight .stat:nth-child(-n+2) { top: 0; }
#app.score-eight.international-two-player .stats.eight .stat:nth-child(n+3) { top: calc(var(--international-unit) * 68); }

#app.score-eight.international-two-player.style-international {
 background-image: url('assets/reference-restored/eight-international-decoration-clean.svg'),url('assets/reference-exact/international-valley-5d0edd92289e.webp');
}
#app.score-eight.international-two-player .game-footer { margin: 0; }
/* Cover the viewport uniformly; preserve the original composition at16:9. */
.effect-layer { object-fit: cover; object-position: center; }

/* Original16's header row fills the panel. WebView66 resolves a percentage
   inside button's anonymous box from the405px ornament instead. Horizontal
   geometry is viewport-based: (100-6.7-2.6)/3 -2.8 -.4 =27.033333333333vw.
   Use that same available width explicitly; no size/material change to ink. */
#app.score-chase3.style-avatar .game-stage .player-select > .three-avatar-row {
 width: 27.033333333333vw;
 max-width: 27.033333333333vw;
}

/* 2026-11-04 direct customer feedback F05/F06: use the already approved
   avatar panel artwork, rather than brightening a screenshot with a filter.
   Names and scores retain their current families and foreground colors. */
#app.score-screen.international-two-player.style-international {
 background-image: url('assets/reference-restored/international-identity-decoration.svg'),url('assets/reference-exact/international-valley-5d0edd92289e.webp');
}
#app.international-two-player.style-international .game-stage.players-2 {
 height: calc(var(--international-unit) * 760);
}
#app.international-two-player.style-international .game-stage.players-2 > .player-panel,
#app.international-two-player.style-international .game-stage.players-2 > .player-panel.active {
 background: transparent url('assets/reference-restored/panel-cyan.svg') center/100% 100% no-repeat;
}
#app.international-two-player.style-international .game-stage.players-2 > .player-panel.p1,
#app.international-two-player.style-international .game-stage.players-2 > .player-panel.p1.active {
 background-image: url('assets/reference-restored/panel-red.svg');
}
#app.international-two-player.style-international .player-select {
 top: calc(var(--international-unit) * 31);
 height: calc(var(--international-unit) * 140.625);
}
#app.international-two-player.style-international .player-identity .player-name {
 font-size: calc(var(--international-unit) * 114.48);
 line-height: 1.06;
}
#app.international-two-player.style-international .player-select .etch {
 display: block; position: absolute; left: 0; top: calc(var(--international-unit) * 151);
 width: calc(var(--international-unit) * 522); height: calc(var(--international-unit) * 28.08);
 margin: 0; padding: 0;
}
#app.international-two-player.style-international .player-score,
#app.international-two-player.style-international .player-score.long {
 top: calc(var(--international-unit) * 182);
 height: calc(var(--international-unit) * 448);
 font-size: calc(var(--international-unit) * 372.6);
}
#app.international-two-player.style-international .stats { top: calc(var(--international-unit) * 640); }
#app.international-two-player.style-international .stat {
 border: calc(var(--international-unit) * 1) solid rgba(127,168,208,.55);
 background: #081735;
}
#app.international-two-player.style-international .stat:before { display: block; }

/* F08-F10: preserve the existing wide avatar main cards, and use exact
   international side-board paths in the outside slots. The avatar TOP is at
   25vh, approximately the crossbar of A in the existing main name at16:9. */
#app.score-chase2.style-avatar .avatar-wing,
#app.score-eight.style-avatar .avatar-wing {
 display: block; padding: 0; border: 0; clip-path: none;
 background: transparent url('assets/reference-restored/avatar-side-left.svg') center/100% 100% no-repeat;
}
#app.score-chase2.style-avatar .avatar-wing.right,
#app.score-eight.style-avatar .avatar-wing.right {
 background-image: url('assets/reference-restored/avatar-side-right.svg');
}
#app.score-chase2.style-avatar .avatar-person,
#app.score-eight.style-avatar .avatar-person {
 position: absolute; top: 9.4vh; left: 0; width: 100%; height: auto;
 flex: none; justify-content: flex-start;
}
#app.score-chase2.style-avatar .avatar-person img.avatar,
#app.score-eight.style-avatar .avatar-person img.avatar {
 width: 8.6vw; height: 8.6vw; max-width: 20vh; max-height: 20vh;
 border-radius: 50%; object-fit: cover;
}
#app.score-chase2.style-avatar .avatar-person .side-alias,
#app.score-eight.style-avatar .avatar-person .side-alias {
 width: calc(100% - 1.5vw); margin-top: 2vh;
 font-size: 3.6vh; font-weight: 700; line-height: 1.25;
}
/* The eight-ball row still contains its own four statistics. Reserve the
   corresponding chase score slot, so a one-row statistic layout cannot push
   its main score farther down the panel. */
#app.score-eight.style-avatar .player-score {
 height: 41.954571759259vh; flex: 0 0 41.954571759259vh;
}
#app.score-eight.style-avatar .stats.eight { margin-top: auto; }

/* Only aliases that cannot fit even at the existing minimum use two lines.
   Keep the default side name's size, weight, position and country labels. */
#app.international-two-player.style-international .international-side .side-alias.alias-two-lines,
#app.international-two-player.style-international .international-side .side-alias.alias-two-lines .display-ink,
#app.international-two-player.style-international .international-side .side-alias.alias-two-lines .alias-ink {
 white-space: normal; word-break: break-all; line-height: 1.12;
}
#app.international-two-player.style-international .international-side .side-alias.alias-two-lines .display-ink,
#app.international-two-player.style-international .international-side .side-alias.alias-two-lines .alias-ink {
 display: block; max-width: 100%;
}

/* F15, designated original16 runtime at1920x1080/API28 density320: dialog
   bounds542..1378/82..998. dp/sp scale together by2 at this height; accepted
   font families are inherited. This does not recolor any live scoreboard. */
.modal.snooker-data-modal {
 --snooker-data-unit: .185185185185vh;
 width: 43.54vw; max-width: 95vw; height: 85vh; max-height: 85vh;
 display: flex; flex-direction: column; overflow: hidden;
 padding: calc(24 * var(--snooker-data-unit));
 border: 1px solid #667eea; border-radius: calc(16 * var(--snooker-data-unit));
 background: #1a1a2e; color: #fff;
}
.snooker-data-modal h2 {
 flex: 0 0 auto; margin: 0 0 calc(16 * var(--snooker-data-unit));
 font-size: calc(28 * var(--snooker-data-unit)); line-height: 1.2; color: #fff; text-align: center;
}
.snooker-data-modal .snooker-data-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; }
.snooker-data-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.snooker-data-table th,.snooker-data-table td {
 padding: calc(2.5 * var(--snooker-data-unit)) 0;
 border-bottom: 1px solid rgba(255,255,255,.15); text-align: center;
 font-size: calc(20 * var(--snooker-data-unit)); line-height: 1.25;
 overflow-wrap: anywhere; word-break: break-word;
}
.snooker-data-table th:first-child,.snooker-data-table td:first-child { width: 37.5%; text-align: left; }
.snooker-data-table th:nth-child(2),.snooker-data-table th:nth-child(3),
.snooker-data-table td:nth-child(2),.snooker-data-table td:nth-child(3) { width: 31.25%; }
.snooker-data-table thead th { color: #ffc107; font-weight: 600; }
.snooker-data-table tbody th,.snooker-data-table tbody td:first-child {
 color: #b9b9c5; font-weight: 400; font-size: calc(18 * var(--snooker-data-unit));
}
.snooker-data-table tbody td:nth-child(2) { color: #64b5f6; font-weight: 600; }
.snooker-data-table tbody td:nth-child(3) { color: #ef9a9a; font-weight: 600; }
.snooker-data-table tbody td.result-win,.snooker-data-table tbody td .result-win { color: #4caf50; }
.snooker-data-table tbody td.result-loss,.snooker-data-table tbody td .result-loss { color: #f44336; }
.snooker-data-modal .modal-actions { flex: 0 0 auto; justify-content: center; margin-top: calc(16 * var(--snooker-data-unit)); }
.snooker-data-modal .modal-actions button {
 width: 50%; margin: 0; padding: calc(8 * var(--snooker-data-unit));
 min-height: calc(48 * var(--snooker-data-unit)); border-radius: calc(8 * var(--snooker-data-unit));
 font-size: calc(20 * var(--snooker-data-unit)); color: #fff;
 background: #667eea; border: 1px solid #667eea;
}
.snooker-data-modal .modal-actions button:focus { outline: 2px solid #fff3b1; outline-offset: 2px; }
@media(max-aspect-ratio:1/1) {
 .modal.snooker-data-modal { width: 95vw; padding: 18px; }
 .snooker-data-modal h2 { font-size: 25px; }
 .snooker-data-table th,.snooker-data-table td { font-size: 17px; padding: 8px 5px; }
 .snooker-data-table tbody th,.snooker-data-table tbody td:first-child { font-size: 15px; }
 .snooker-data-modal .modal-actions button { font-size: 18px; }
}


/* source: footer-controls.css */
/* Original16: both toolbar rows have /, /, \, \ ends from left to right.
   Correct the generic DOM controls, including artwork-failure fallback.
   The shared international
   Sketch polygons, ordinary Canvas/old-TV SVG and snooker stay unchanged. */
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(3),
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(9) {
 background-image: url('assets/reference-restored/button-left-down.svg');
}
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(3):focus,
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(9):focus {
 background-image: url('assets/reference-restored/button-left-down-focus.svg');
}
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(5),
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(11) {
 background-image: url('assets/reference-restored/button-right-down.svg');
}
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(5):focus,
#app.score-screen:not(.score-snooker):not(.international-two-player):not(.faithful-active) .game-footer .action-button:nth-of-type(11):focus {
 background-image: url('assets/reference-restored/button-right-down-focus.svg');
}
#app.score-chase2.style-avatar .game-footer [data-action="end"],
#app.score-chase3.style-avatar .game-footer [data-action="end"] {
 background-image: url('assets/reference-restored/button-right-down.svg');
}
#app.score-chase2.style-avatar .game-footer [data-action="end"]:focus,
#app.score-chase3.style-avatar .game-footer [data-action="end"]:focus {
 background-image: url('assets/reference-restored/button-right-down-focus.svg');
}

/* Eight-ball's live third control is clear; do not let the older clear
   shortcut position move it onto the eleventh settlement control. */
#app.score-eight.style-avatar .game-footer .action-button[data-action="clear"] {
 left: 56.8%; top: 0;
 background-image: url('assets/reference-restored/button-left-down.svg');
}
#app.score-eight.style-avatar .game-footer .action-button[data-action="clear"]:focus {
 background-image: url('assets/reference-restored/button-left-down-focus.svg');
}

/* The Sketch footer formerly carried its bottom line in the page artwork.
   This derivative removes only that path and its short highlight; its correct
   button polygons, timer and all other artwork stay byte-for-byte in place. */
#app.score-chase2.style-international,
#app.international-two-player.style-international {
 background-image: url('assets/reference-restored/international-decoration-footer-clean.svg'),url('assets/reference-exact/international-valley-5d0edd92289e.webp');
}

/* One clean original16 bottomline path. Its raised center sits below both
   button rows, so it cannot cross the lower-left/right control corners. */
#app.score-screen:not(.score-snooker):not(.faithful-active) .game-footer::before {
 content: none; display: none;
}
#app.score-screen:not(.score-snooker):not(.faithful-active) .game-footer::after {
 content: ''; display: block; position: fixed; left: 0; right: 0; top: auto; bottom: 0;
 width: 100%; height: 2.65vh; margin: 0; padding: 0; border: 0;
 background: transparent url('assets/reference-restored/footer-original16-clean.svg') center/100% 100% no-repeat;
 pointer-events: none; z-index: 0;
}
#app.score-screen:not(.score-snooker):not(.faithful-active) .game-footer .action-button,
#app.score-screen:not(.score-snooker):not(.faithful-active) .game-footer .timer {
 z-index: 1;
}

