/* Hallmark · macrostructure: Ecosystem Index (preserved structure) · enrichment: asset (official art) · nav: N1b · footer: Ft2
 * theme: custom · vibe: "mint-teal softness, vocaloid calm, readable" · paper: oklch(97.5% 0.008 185) · accent: oklch(48% 0.105 190)
 * display: Zen Maru Gothic · body: Noto Sans SC · axes: light / rounded-sans / chromatic-teal
 * studied: no · context: user-provided · v0.8.0
 */

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* 自托管 LXGW 975圆体(霞鹜玖伍圆体,OFL 协议,思源黑体派生,简体全覆盖)
   core: 高频 1500 字(站点正文 98.9% 覆盖)+ASCII+假名,首屏必载 ~314KB
   ext: 其余生僻字,按 unicode-range 按需下载 ~485KB */
@font-face {
  font-family: "LXGW 975Yuan";
  src: url(../fonts/lxgw-975-yuan-core.woff2) format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "LXGW 975Yuan";
  src: url(../fonts/lxgw-975-yuan-ext.woff2) format("woff2");
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+4E01,U+4E08,U+4E11,U+4E18-4E19,U+4E1B,U+4E27,U+4E2B,U+4E30,U+4E39,U+4E43,U+4E4D,U+4E52-4E54,U+4E56,U+4E59,U+4E5E,U+4E7E,U+4E88-4E89,U+4E8F,U+4E95,U+4EA2,U+4EA5-4EA6,U+4EA8-4EA9,U+4EAD,U+4EB2,U+4EBF,U+4EC1,U+4EC7,U+4ED1,U+4ED5,U+4ED7,U+4ED9,U+4EDF,U+4EEA,U+4EF0,U+4EF2,U+4F01,U+4F0A,U+4F0D-4F10,U+4F19,U+4F1E,U+4F26,U+4F2A,U+4F2F-4F30,U+4F36,U+4F3A,U+4F43,U+4F50-4F51,U+4F69,U+4F6F-4F70,U+4F84,U+4F88,U+4F8D,U+4F97,U+4FA0,U+4FA5-4FA6,U+4FA8-4FA9,U+4FAE-4FAF,U+4FB5,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDE,U+4FED,U+4FEF,U+4FF1,U+4FFA,U+5014,U+5018,U+501A,U+501F,U+5021,U+5026,U+502A,U+503A,U+503E,U+507F-5080,U+5085,U+5088,U+508D,U+50A3,U+50AC,U+50BB,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+5144,U+5146,U+514B,U+5151,U+5154,U+515A,U+515C,U+5162,U+5170,U+5179,U+517C-517D,U+5180,U+5188-5189,U+5195,U+5197,U+519C,U+51A4,U+51AF,U+51B6,U+51BB,U+51C0,U+51C4,U+51CB,U+51DB,U+51DD,U+51E1,U+51EF,U+51F3,U+51F8-51F9,U+51FF,U+5201,U+5203,U+520A,U+5211,U+5218,U+5228,U+522E,U+5238-5239,U+523D,U+5241-5243,U+524A,U+5250,U+5256,U+5265,U+526F,U+5272,U+527F,U+5288,U+529D,U+52A3,U+52AA-52AB,U+52B3,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+52FF-5300,U+5306,U+5308,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+5339,U+5349,U+5351-5352,U+535E,U+5362,U+5364,U+5367,U+536F,U+5375,U+537F,U+5382,U+5384,U+5389,U+538C,U+5398,U+53A2,U+53A8-53A9,U+53BF,U+53C1,U+53C9,U+53D4,U+53D9,U+53DB,U+53EC-53EE,U+53F9,U+53FC,U+5401,U+540F,U+5413,U+5415,U+541B,U+541D-5420,U+5428-5429,U+542D-542E,U+5431,U+5434-5435,U+5439,U+543B-543C,U+543E,U+5440,U+5446,U+5448,U+5450,U+5455,U+545B-545C,U+5475,U+5478,U+547B,U+5480,U+5486,U+548B,U+548E-5490,U+5492,U+5495,U+5499,U+54A8,U+54AC,U+54AF,U+54B3,U+54BD,U+54C0,U+54C4,U+54C6-54C9,U+54CE,U+54D1,U+54D7,U+54DF,U+54E6,U+54E8-54E9,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5524,U+552C,U+5531,U+553E,U+5543-5544,U+5564,U+556E,U+5578,U+557C,U+5580,U+5582,U+5587,U+5589,U+5598,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+5631-5632,U+5636,U+563B,U+563F,U+564E,U+566A,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56CA,U+56DA,U+56E4,U+56F0-56F1,U+5703,U+572D,U+5747,U+574A,U+574D-574E,U+575A,U+575D-5761,U+5764,U+5766,U+576F,U+5777,U+5782,U+5784,U+579B,U+57A2-57A3,U+57A6,U+57AB,U+57AE,U+57C2-57C3,U+57CB,U+57D4,U+57E0,U+5811,U+5815,U+5824,U+582A,U+5830,U+5835,U+584C,U+5851,U+5858,U+5885,U+5892,U+589F,U+58A8-58A9,U+58C1,U+58D5,U+58E4,U+58EC,U+58EE,U+58F3,U+58F6,U+58F9,U+590F,U+5915,U+592F,U+5937-5938,U+593A,U+5944,U+5948,U+594B,U+594E,U+5951,U+5960,U+5962,U+5965,U+5978,U+5984,U+5986-5987,U+598A,U+5992-5993,U+5996,U+59A5,U+59AE,U+59B9,U+59D1,U+59D3,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+59FF,U+5A04,U+5A07,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A31,U+5A36,U+5A49,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B5C-5B5D,U+5B5F,U+5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B87,U+5B8B,U+5B8F,U+5B97,U+5B99,U+5B9B,U+5BA0,U+5BA6,U+5BAA,U+5BB4-5BB5,U+5BBE,U+5BC2,U+5BC5,U+5BC7,U+5BD0,U+5BD2,U+5BDD-5BDE,U+5BE1,U+5BE5,U+5BE8,U+5C09,U+5C16,U+5C18,U+5C1A,U+5C24,U+5C27,U+5C38-5C39,U+5C3E-5C3F,U+5C41,U+5C48-5C4A,U+5C4E,U+5C51,U+5C60-5C61,U+5C65,U+5C6F,U+5C79,U+5C7F,U+5C81-5C82,U+5C97,U+5CA9,U+5CAD,U+5CB3,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5D4C,U+5DCD,U+5DDD,U+5DE1-5DE2,U+5DE9,U+5DEB,U+5DF3,U+5DF7,U+5DFE,U+5E06,U+5E15-5E16,U+5E18,U+5E1A-5E1C,U+5E2D,U+5E3D,U+5E42,U+5E45,U+5E4C,U+5E62,U+5E7C-5E7D,U+5E84,U+5E87,U+5E90,U+5E9A,U+5E9C,U+5E9E,U+5EB6-5EB8,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5EF7,U+5F04,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F1F,U+5F25-5F27,U+5F2F,U+5F5D,U+5F64,U+5F66,U+5F6A,U+5F6C-5F6D,U+5F70,U+5F79,U+5F7B,U+5F81,U+5F8A-5F8B,U+5F90,U+5F98,U+5FBD,U+5FCC,U+5FD9,U+5FE0,U+5FE7,U+5FF1,U+5FFB,U+5FFD,U+5FFF,U+6002,U+6012,U+6014,U+601C,U+6020,U+6028,U+602F,U+6043,U+604B,U+604D,U+6052,U+6055,U+6062,U+6064,U+6068-6069,U+606B-606D,U+6070,U+6073,U+6076,U+607C,U+607F,U+6084,U+608D,U+6094,U+609F,U+60A3,U+60A6,U+60A8,U+60AF,U+60B2,U+60B8,U+60BC,U+60CB,U+60D1,U+60D5,U+60DF-60E0,U+60E6,U+60E8,U+60EB,U+60ED-60EE,U+60F0,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+611A,U+6124,U+6148,U+614C,U+614E,U+6151,U+6155,U+6167,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C8,U+61CA,U+61E6,U+6208,U+620A,U+620C-620E,U+6212,U+621A,U+622E,U+6241,U+6247,U+6251-6252,U+6254,U+625B,U+6266,U+6269,U+626E-626F,U+6273,U+6276,U+627C,U+6289,U+6291-6292,U+6296,U+629B,U+62A0-62A2,U+62A8,U+62AB-62AC,U+62B9,U+62BC,U+62BF,U+62C2,U+62C4,U+62C7-62C8,U+62CC,U+62CE,U+62D0,U+62D3-62D4,U+62D8-62D9,U+62E2-62E3,U+62E7-62E8,U+62ED,U+62EF,U+62F1,U+62F3-62F4,U+62F7,U+62FE,U+630E,U+6316,U+631A-631B,U+631D-6320,U+632A-632B,U+632F,U+633D,U+6342,U+6345,U+6349,U+634C-634F,U+6355,U+635E,U+6363,U+6367,U+6376,U+637B,U+6380,U+6382,U+6387,U+638C,U+638F-6390,U+6396,U+6398,U+63A0,U+63A3,U+63A9,U+63B3,U+63B7-63B8,U+63BA,U+63CD,U+63D6,U+63E1,U+63E3,U+63E9-63EA,U+63ED,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+642A,U+643A,U+643D,U+6448,U+644A,U+6454,U+6458,U+6467,U+6469,U+6479,U+6482,U+6485,U+6487,U+6492,U+6495,U+64A4,U+64A9,U+64AC,U+64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64D2,U+64DE,U+64E6,U+6500,U+6518,U+652B,U+653F,U+654C,U+6556,U+655B,U+655D-655E,U+6566,U+656C,U+6577,U+658B-658C,U+6591,U+659C,U+659F,U+65A1,U+65A4-65A5,U+65A7,U+65A9,U+65E8,U+65EC-65ED,U+65F1,U+65F7,U+65FA,U+6602,U+6606,U+660C,U+660F,U+6614,U+6625,U+6627,U+662D,U+663C,U+664B-664C,U+6652-6653,U+6655,U+6666,U+6676,U+667E,U+6687,U+6691,U+6697,U+66AE,U+66D9,U+66DD,U+66F0,U+66F2,U+66F9,U+66FC,U+6714,U+6717,U+671D,U+672D,U+6731,U+6734-6735,U+673D,U+6746,U+6749,U+674F,U+6756,U+675C,U+6760,U+6768,U+676D,U+6770,U+6789,U+6795,U+679A,U+679D,U+67A2-67A3,U+67AA,U+67B7,U+67CF,U+67D1-67D2,U+67D4,U+67DC,U+67DE,U+67E0,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6813,U+6816-6817,U+682A,U+683D,U+6842-6843,U+6845,U+6850-6851,U+6853-6854,U+6868-6869,U+6881,U+6885-6886,U+6897,U+68A2,U+68A7,U+68AD,U+68B0,U+68B3,U+68C9,U+68CB,U+68CD,U+68D2,U+68D5,U+68D8,U+68DA,U+68E0,U+68F1,U+68FA,U+690D-690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695E,U+6977,U+6986,U+6994,U+699C,U+69B4,U+69B7,U+69D0,U+69DB,U+6A0A,U+6A1F,U+6A47,U+6A59,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20,U+6B3A,U+6B49,U+6B67,U+6B6A,U+6B79,U+6B7C,U+6B83,U+6B86,U+6B89,U+6B8B,U+6B96,U+6BB4,U+6BB7,U+6BBF,U+6BC5,U+6BCB,U+6BCD,U+6BD6-6BD7,U+6BD9,U+6BE1,U+6BEB,U+6BEF,U+6C0F,U+6C13,U+6C16,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C40,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C5E,U+6C61,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88,U+6C8F,U+6C9B,U+6C9F,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB8,U+6CBC-6CBE,U+6CC5,U+6CCA,U+6CCC,U+6CDE,U+6CE2-6CE3,U+6CEA,U+6CF5,U+6CFB-6CFC,U+6D01,U+6D0B,U+6D12,U+6D1B,U+6D25,U+6D2A,U+6D31-6D32,U+6D3C-6D3D,U+6D46-6D47,U+6D4A,U+6D4E,U+6D51,U+6D59-6D5A,U+6D66,U+6D69,U+6D6E,U+6D78,U+6D85,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6D9F,U+6DA1,U+6DA3-6DA4,U+6DA6-6DA7,U+6DA9-6DAA,U+6DAF,U+6DB2,U+6DB5,U+6DB8,U+6DC0,U+6DC4,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE1,U+6DE4,U+6DEC,U+6DEE,U+6DF3,U+6DF9,U+6E0A,U+6E0D,U+6E14,U+6E17,U+6E1D,U+6E20-6E21,U+6E23-6E24,U+6E2D,U+6E34,U+6E3A,U+6E43,U+6E4D,U+6E58,U+6E5B,U+6E83,U+6E85,U+6E89,U+6EAA,U+6EAF,U+6EB6,U+6EC1,U+6EC7,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE4-6EE6,U+6EE8,U+6EF4,U+6F06,U+6F13,U+6F20,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5E,U+6F66,U+6F6D,U+6F84,U+6F88,U+6F8E,U+6F9C,U+6FB3,U+6FC0,U+6FD2,U+7011,U+704C,U+706D,U+7076,U+7078,U+707C,U+707E-707F,U+7089-708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70BC-70BD,U+70C1,U+70C3,U+70C8,U+70D8,U+70DB,U+70DF,U+70E4,U+70E9,U+70EB-70EC,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7130,U+714C,U+715E,U+7164,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+71C3,U+71CE,U+71D5,U+71E5,U+722A,U+7235,U+7238-7239,U+723D,U+7259,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+727A,U+7280-7281,U+728A,U+72AC,U+72C4,U+72C8,U+72D0,U+72D9,U+72DE,U+72E1,U+72EE,U+72F0-72F1,U+72F8,U+730E,U+7316,U+731B,U+7329,U+7334,U+733E-733F,U+736D,U+7384,U+7389,U+7396,U+739B,U+73AB,U+73B2,U+73BB,U+73CA,U+73CD,U+73D0,U+7405,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7470,U+7476,U+7483,U+74E2-74E4,U+74E6,U+74EE,U+7504,U+7518,U+751C,U+7525,U+7529,U+752B,U+752D,U+7533,U+7538,U+7545,U+754F,U+7554,U+755C,U+7566,U+7574,U+7578,U+7586,U+758F,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AE,U+75B5,U+75B9,U+75BD-75BE,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+7682,U+7686,U+768B,U+7691,U+7696,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76CE-76D0,U+76DB,U+76DF,U+76EF,U+76F2,U+76FC,U+76FE,U+7709,U+7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+7741,U+775B,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77EB,U+77EE,U+77FD-77FF,U+7802,U+780C,U+7812,U+7816,U+781A,U+7827,U+7830,U+7837-7838,U+783E,U+7840,U+7845,U+7852,U+7855,U+785D,U+786B,U+7877,U+787C,U+7889,U+788C-788D,U+7891,U+7898,U+789F,U+78B1,U+78B3-78B4,U+78BE,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78F7,U+78FA,U+7901,U+7941,U+7948,U+7956,U+795D,U+795F,U+7965,U+796D,U+7977-7978,U+7984,U+79B9,U+79BD-79BE,U+79C0,U+79C3,U+79C6,U+79C9,U+79E4,U+79E6-79E7,U+79E9,U+79F8,U+79FD,U+7A17,U+7A1A,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A77,U+7A83-7A84,U+7A8D,U+7A91-7A92,U+7A96,U+7A98,U+7A9C-7A9D,U+7AA5,U+7ABF,U+7AD6,U+7AE3,U+7AED,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B1B,U+7B28,U+7B3A,U+7B3C,U+7B4B,U+7B4F-7B50,U+7B52,U+7B5B,U+7B77,U+7B79,U+7B8D,U+7B94-7B95,U+7BA9,U+7BC6,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7C07,U+7C27,U+7C3F,U+7C7D,U+7C92,U+7C95,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CD5,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7D0A,U+7D27,U+7D6E,U+7E82,U+7EA4,U+7EAB-7EAC,U+7EB1-7EB3,U+7EB5-7EB7,U+7EBA,U+7EBD,U+7EC5,U+7ECA,U+7ECE,U+7ED2,U+7EDA,U+7EDE,U+7EE2-7EE3,U+7EE5-7EE6,U+7EE9-7EEA,U+7EF0,U+7EF7-7EF8,U+7EFC-7EFD,U+7F04-7F05,U+7F09,U+7F0E,U+7F14-7F15,U+7F1A,U+7F1D,U+7F20,U+7F28,U+7F2E,U+7F34,U+7F50,U+7F55,U+7F62,U+7F69-7F6A,U+7F72,U+7F8C,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFC,U+8000,U+800D,U+8015,U+8018-8019,U+802A,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804B,U+8058,U+806A,U+8083-8084,U+8086-8087,U+808B-808C,U+8096,U+8098,U+809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CE,U+80DA,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F6,U+80FA,U+8102,U+8106,U+8109-810A,U+8110,U+8113,U+8116,U+812F,U+8138,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817A,U+8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C3,U+81C6,U+81E3,U+81ED,U+81FB-81FC,U+8200,U+8205-8206,U+820C,U+8212,U+8214,U+821C,U+8230-8231,U+8235-8237,U+8247,U+8258,U+8270,U+8273,U+827E,U+828B,U+828D,U+8292,U+829C,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D4,U+82D7,U+82DB,U+82DE-82DF,U+82EB,U+82EF,U+82F9,U+8301-8302,U+8304-8305,U+830E,U+8327-8328,U+832B-832C,U+8335,U+8338-8339,U+8346,U+8352,U+8354,U+835A,U+8361,U+8363-8364,U+8367,U+836B,U+8377,U+8386,U+838E,U+83AB,U+83B1-83B2,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83E0,U+83E9,U+83F1-83F2,U+840C-840E,U+841D,U+8424,U+8427-8428,U+8457,U+845B,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+8499,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+8584,U+859B,U+85AA,U+85AF,U+85C9,U+85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-864F,U+865E,U+866B,U+8671,U+8679,U+867E,U+8680-8682,U+868A,U+8695,U+869C,U+86A4,U+86C0,U+86C6,U+86CA,U+86D4,U+86D9,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+878D,U+879F,U+87BA,U+87F9,U+8815,U+8822,U+8845,U+884D,U+8854,U+8859,U+886B-886C,U+8870,U+8881,U+8884,U+8892,U+889C,U+88AD,U+88B1,U+88C2,U+88D4-88D5,U+88D9,U+88E4,U+88F3-88F4,U+88F8-88F9,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+89C5,U+8A79,U+8A89-8A8A,U+8A93,U+8B6C,U+8BA3,U+8BA5,U+8BAB,U+8BAF,U+8BB3,U+8BB6,U+8BB9,U+8BBC-8BBD,U+8BC0,U+8BC5,U+8BC8,U+8BCA,U+8BCC,U+8BD7,U+8BDB,U+8BDE,U+8BE2-8BE3,U+8BE7,U+8BEB-8BEC,U+8BF1-8BF2,U+8BF5,U+8BF8,U+8BFA,U+8BFD,U+8C05-8C06,U+8C0A-8C0B,U+8C0D-8C0E,U+8C10,U+8C17,U+8C1A,U+8C1C,U+8C23-8C24,U+8C26,U+8C29,U+8C2C-8C2D,U+8C30,U+8C34,U+8C41,U+8C4C,U+8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8D1E,U+8D21-8D22,U+8D24,U+8D2A,U+8D2C,U+8D2E-8D30,U+8D37-8D38,U+8D3A,U+8D3E-8D3F,U+8D41-8D43,U+8D4A,U+8D4C,U+8D4E,U+8D50,U+8D54,U+8D58,U+8D5E,U+8D61,U+8D63-8D64,U+8D66,U+8D6B,U+8D74-8D75,U+8D81,U+8D8B,U+8DB4,U+8DBE,U+8DCB-8DCC,U+8DEA,U+8DFA,U+8E0A,U+8E0C,U+8E1E,U+8E29-8E2A,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAC,U+8EAF,U+8EB2,U+8F67-8F69,U+8F70,U+8F7F,U+8F85,U+8F89-8F8A,U+8F90,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA9,U+8FAB,U+8FB0-8FB1,U+8FBD,U+8FC1-8FC2,U+8FC4,U+8FC8,U+8FE2,U+8FEA-8FEB,U+8FF8,U+9006,U+900A,U+9010,U+901D-901E,U+9022,U+902E,U+9038,U+903C,U+903E,U+9041,U+904F,U+9063,U+9065,U+906D-906E,U+9075,U+9080,U+9091,U+9093,U+90A2,U+90A6,U+90AA,U+90AE-90AF,U+90B1,U+90B5,U+90B9,U+90BB,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7,U+90ED,U+90F4,U+90F8,U+9102,U+9119,U+9149,U+914B-914C,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916C,U+916E,U+9175-9178,U+917F,U+9187,U+9189,U+918B,U+919A-919B,U+91C9,U+91DC,U+9274,U+9489,U+948E,U+9492,U+9499,U+949D-949E,U+94A0-94A2,U+94A6-94A9,U+94B3,U+94B5,U+94BB,U+94BE,U+94C0,U+94C2-94C3,U+94C5-94C6,U+94DC-94DD,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+9504,U+9508,U+950B-950C,U+9510-9511,U+9517,U+9521,U+9524-9526,U+9528,U+952D,U+952F-9530,U+9539,U+953B,U+9540-9541,U+954A,U+954D,U+9550-9551,U+9563,U+956D,U+9570,U+9576,U+95EF-95F0,U+95F7-95F8,U+95FA-95FB,U+95FD,U+9600,U+9602,U+9609,U+960E,U+9610-9611,U+961C,U+962E,U+9640,U+9647-9648,U+964B-964C,U+9655,U+965B,U+9661,U+9668,U+9675-9676,U+9685-9686,U+968B,U+9698-9699,U+969C,U+96A7,U+96C0-96C1,U+96C4,U+96C7,U+96CC-96CD,U+96CF,U+96D5,U+96F9,U+9704,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9738-9739,U+9756,U+975B,U+9761,U+9769,U+9773-9774,U+9776,U+978D,U+9798,U+97A0,U+97E6-97E7,U+97ED,U+97F5-97F6,U+9877,U+987D,U+9881-9882,U+9885,U+9887,U+988A,U+9890,U+9893,U+9896-9897,U+98A4,U+98A7,U+98D8,U+9965,U+996F,U+9971-9972,U+9975-9976,U+997A,U+997C,U+9981,U+9985,U+9988,U+998B,U+998F,U+9992,U+9A6D-9A70,U+9A73-9A74,U+9A76,U+9A79,U+9A7C,U+9A7E,U+9A82,U+9A86-9A87,U+9A8B,U+9A8F,U+9A97,U+9AA1,U+9AA4,U+9AA8,U+9AB8,U+9AD3,U+9B03,U+9B41-9B42,U+9B4F,U+9C81,U+9C8D,U+9C9C,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9ECD-9ECE,U+9ED4,U+9F0E,U+9F3B,U+9F7F,U+9F84,U+9F8B,U+9F9A,U+9F9F;
}

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
/*
 * Bento Grid System
 * Source: https://github.com/fenbox/bento
 * Version: 1.2.8
 * Update: 2013.11.25
 */
.container, .row > [class*="col-"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px; }

.row {
  margin-right: -10px;
  margin-left: -10px; }

.row > [class*="col-"] {
  float: left;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px; }

.row > [class*="-push-"],
.row > [class*="-pull-"] {
  position: relative; }

/*
 * Mobile and up
 */
.col-mb-1 {
  width: 8.33333%; }

.col-mb-2 {
  width: 16.66667%; }

.col-mb-3 {
  width: 25%; }

.col-mb-4 {
  width: 33.33333%; }

.col-mb-5 {
  width: 41.66667%; }

.col-mb-6 {
  width: 50%; }

.col-mb-7 {
  width: 58.33333%; }

.col-mb-8 {
  width: 66.66667%; }

.col-mb-9 {
  width: 75%; }

.col-mb-10 {
  width: 83.33333%; }

.col-mb-11 {
  width: 91.66667%; }

.col-mb-12 {
  width: 100%; }

/*
 * Tablet and up
 */
@media (min-width: 768px) {
  .container {
    max-width: 728px; }

  .col-tb-1 {
    width: 8.33333%; }

  .col-tb-2 {
    width: 16.66667%; }

  .col-tb-3 {
    width: 25%; }

  .col-tb-4 {
    width: 33.33333%; }

  .col-tb-5 {
    width: 41.66667%; }

  .col-tb-6 {
    width: 50%; }

  .col-tb-7 {
    width: 58.33333%; }

  .col-tb-8 {
    width: 66.66667%; }

  .col-tb-9 {
    width: 75%; }

  .col-tb-10 {
    width: 83.33333%; }

  .col-tb-11 {
    width: 91.66667%; }

  .col-tb-12 {
    width: 100%; }

  .col-tb-offset-0 {
    margin-left: 0%; }

  .col-tb-offset-1 {
    margin-left: 8.33333%; }

  .col-tb-offset-2 {
    margin-left: 16.66667%; }

  .col-tb-offset-3 {
    margin-left: 25%; }

  .col-tb-offset-4 {
    margin-left: 33.33333%; }

  .col-tb-offset-5 {
    margin-left: 41.66667%; }

  .col-tb-offset-6 {
    margin-left: 50%; }

  .col-tb-offset-7 {
    margin-left: 58.33333%; }

  .col-tb-offset-8 {
    margin-left: 66.66667%; }

  .col-tb-offset-9 {
    margin-left: 75%; }

  .col-tb-offset-10 {
    margin-left: 83.33333%; }

  .col-tb-offset-11 {
    margin-left: 91.66667%; }

  .col-tb-offset-12 {
    margin-left: 100%; }

  .col-tb-pull-0 {
    right: 0%; }

  .col-tb-pull-1 {
    right: 8.33333%; }

  .col-tb-pull-2 {
    right: 16.66667%; }

  .col-tb-pull-3 {
    right: 25%; }

  .col-tb-pull-4 {
    right: 33.33333%; }

  .col-tb-pull-5 {
    right: 41.66667%; }

  .col-tb-pull-6 {
    right: 50%; }

  .col-tb-pull-7 {
    right: 58.33333%; }

  .col-tb-pull-8 {
    right: 66.66667%; }

  .col-tb-pull-9 {
    right: 75%; }

  .col-tb-pull-10 {
    right: 83.33333%; }

  .col-tb-pull-11 {
    right: 91.66667%; }

  .col-tb-pull-12 {
    right: 100%; }

  .col-tb-push-0 {
    left: 0%; }

  .col-tb-push-1 {
    left: 8.33333%; }

  .col-tb-push-2 {
    left: 16.66667%; }

  .col-tb-push-3 {
    left: 25%; }

  .col-tb-push-4 {
    left: 33.33333%; }

  .col-tb-push-5 {
    left: 41.66667%; }

  .col-tb-push-6 {
    left: 50%; }

  .col-tb-push-7 {
    left: 58.33333%; }

  .col-tb-push-8 {
    left: 66.66667%; }

  .col-tb-push-9 {
    left: 75%; }

  .col-tb-push-10 {
    left: 83.33333%; }

  .col-tb-push-11 {
    left: 91.66667%; }

  .col-tb-push-12 {
    left: 100%; } }
/*
 * Desktop and up
 */
@media (min-width: 992px) {
  .container {
    max-width: 952px; }

  .col-1 {
    width: 8.33333%; }

  .col-2 {
    width: 16.66667%; }

  .col-3 {
    width: 25%; }

  .col-4 {
    width: 33.33333%; }

  .col-5 {
    width: 41.66667%; }

  .col-6 {
    width: 50%; }

  .col-7 {
    width: 58.33333%; }

  .col-8 {
    width: 66.66667%; }

  .col-9 {
    width: 75%; }

  .col-10 {
    width: 83.33333%; }

  .col-11 {
    width: 91.66667%; }

  .col-12 {
    width: 100%; }

  .col-offset-0 {
    margin-left: 0%; }

  .col-offset-1 {
    margin-left: 8.33333%; }

  .col-offset-2 {
    margin-left: 16.66667%; }

  .col-offset-3 {
    margin-left: 25%; }

  .col-offset-4 {
    margin-left: 33.33333%; }

  .col-offset-5 {
    margin-left: 41.66667%; }

  .col-offset-6 {
    margin-left: 50%; }

  .col-offset-7 {
    margin-left: 58.33333%; }

  .col-offset-8 {
    margin-left: 66.66667%; }

  .col-offset-9 {
    margin-left: 75%; }

  .col-offset-10 {
    margin-left: 83.33333%; }

  .col-offset-11 {
    margin-left: 91.66667%; }

  .col-offset-12 {
    margin-left: 100%; }

  .col-pull-0 {
    right: 0%; }

  .col-pull-1 {
    right: 8.33333%; }

  .col-pull-2 {
    right: 16.66667%; }

  .col-pull-3 {
    right: 25%; }

  .col-pull-4 {
    right: 33.33333%; }

  .col-pull-5 {
    right: 41.66667%; }

  .col-pull-6 {
    right: 50%; }

  .col-pull-7 {
    right: 58.33333%; }

  .col-pull-8 {
    right: 66.66667%; }

  .col-pull-9 {
    right: 75%; }

  .col-pull-10 {
    right: 83.33333%; }

  .col-pull-11 {
    right: 91.66667%; }

  .col-pull-12 {
    right: 100%; }

  .col-push-0 {
    left: 0%; }

  .col-push-1 {
    left: 8.33333%; }

  .col-push-2 {
    left: 16.66667%; }

  .col-push-3 {
    left: 25%; }

  .col-push-4 {
    left: 33.33333%; }

  .col-push-5 {
    left: 41.66667%; }

  .col-push-6 {
    left: 50%; }

  .col-push-7 {
    left: 58.33333%; }

  .col-push-8 {
    left: 66.66667%; }

  .col-push-9 {
    left: 75%; }

  .col-push-10 {
    left: 83.33333%; }

  .col-push-11 {
    left: 91.66667%; }

  .col-push-12 {
    left: 100%; } }
/*
 * Widescreen and up
 */
@media (min-width: 1200px) {
  .container {
    max-width: 1160px; }

  .col-wd-1 {
    width: 8.33333%; }

  .col-wd-2 {
    width: 16.66667%; }

  .col-wd-3 {
    width: 25%; }

  .col-wd-4 {
    width: 33.33333%; }

  .col-wd-5 {
    width: 41.66667%; }

  .col-wd-6 {
    width: 50%; }

  .col-wd-7 {
    width: 58.33333%; }

  .col-wd-8 {
    width: 66.66667%; }

  .col-wd-9 {
    width: 75%; }

  .col-wd-10 {
    width: 83.33333%; }

  .col-wd-11 {
    width: 91.66667%; }

  .col-wd-12 {
    width: 100%; }

  .col-wd-offset-0 {
    margin-left: 0%; }

  .col-wd-offset-1 {
    margin-left: 8.33333%; }

  .col-wd-offset-2 {
    margin-left: 16.66667%; }

  .col-wd-offset-3 {
    margin-left: 25%; }

  .col-wd-offset-4 {
    margin-left: 33.33333%; }

  .col-wd-offset-5 {
    margin-left: 41.66667%; }

  .col-wd-offset-6 {
    margin-left: 50%; }

  .col-wd-offset-7 {
    margin-left: 58.33333%; }

  .col-wd-offset-8 {
    margin-left: 66.66667%; }

  .col-wd-offset-9 {
    margin-left: 75%; }

  .col-wd-offset-10 {
    margin-left: 83.33333%; }

  .col-wd-offset-11 {
    margin-left: 91.66667%; }

  .col-wd-offset-12 {
    margin-left: 100%; }

  .col-wd-pull-0 {
    right: 0%; }

  .col-wd-pull-1 {
    right: 8.33333%; }

  .col-wd-pull-2 {
    right: 16.66667%; }

  .col-wd-pull-3 {
    right: 25%; }

  .col-wd-pull-4 {
    right: 33.33333%; }

  .col-wd-pull-5 {
    right: 41.66667%; }

  .col-wd-pull-6 {
    right: 50%; }

  .col-wd-pull-7 {
    right: 58.33333%; }

  .col-wd-pull-8 {
    right: 66.66667%; }

  .col-wd-pull-9 {
    right: 75%; }

  .col-wd-pull-10 {
    right: 83.33333%; }

  .col-wd-pull-11 {
    right: 91.66667%; }

  .col-wd-pull-12 {
    right: 100%; }

  .col-wd-push-0 {
    left: 0%; }

  .col-wd-push-1 {
    left: 8.33333%; }

  .col-wd-push-2 {
    left: 16.66667%; }

  .col-wd-push-3 {
    left: 25%; }

  .col-wd-push-4 {
    left: 33.33333%; }

  .col-wd-push-5 {
    left: 41.66667%; }

  .col-wd-push-6 {
    left: 50%; }

  .col-wd-push-7 {
    left: 58.33333%; }

  .col-wd-push-8 {
    left: 66.66667%; }

  .col-wd-push-9 {
    left: 75%; }

  .col-wd-push-10 {
    left: 83.33333%; }

  .col-wd-push-11 {
    left: 91.66667%; }

  .col-wd-push-12 {
    left: 100%; } }
/*
 * Responsive kit
 */
@media (max-width: 767px) {
  .kit-hidden-mb {
    display: none; } }
@media (max-width: 991px) {
  .kit-hidden-tb {
    display: none; } }
@media (max-width: 1199px) {
  .kit-hidden {
    display: none; } }
/*
 * Clearfix
 */
.clearfix, .row {
  zoom: 1; }
  .clearfix:before, .row:before, .clearfix:after, .row:after {
    content: " ";
    display: table; }
  .clearfix:after, .row:after {
    clear: both; }/* ------------------
 * Design tokens
 * --------------- */
:root {
  /* paper — mint-tinted, never pure white */
  --color-paper:    oklch(97.5% 0.008 185);
  --color-paper-2:  oklch(94.5% 0.011 185);
  --color-paper-3:  oklch(91%   0.013 185);

  /* ink — teal-navy, never pure black */
  --color-ink:      oklch(21%   0.035 245);
  --color-ink-2:    oklch(38%   0.03  245);

  /* neutrals — all tinted toward teal */
  --color-rule:     oklch(84%   0.012 190);
  --color-rule-2:   oklch(88%   0.010 190);
  --color-muted:    oklch(52%   0.025 240);
  --color-neutral:  oklch(60%   0.018 240);

  /* accent — Miku teal #39C5BB, deepened for readability */
  --color-accent:        oklch(48%   0.105 190);
  --color-accent-bright: oklch(74.9% 0.117 188);  /* true Miku teal, fills only */
  --color-accent-pink:   oklch(72.1% 0.197 356);  /* Miku pink, micro-moments only */
  --color-accent-deep:   oklch(42%   0.11  190);  /* accent hover fill */
  --color-focus:         oklch(60%   0.16  190);
  --color-accent-ink:    oklch(97.5% 0.008 185);

  /* special surfaces */
  --color-code-ink:      oklch(42%   0.12  20);   /* inline code text (warm) */
  --color-author-bg:     oklch(95%   0.02  170);  /* author comment bg */
  --color-author-border: oklch(86%   0.04  180);  /* author comment border */

  /* slider */
  --color-slider-ink:    oklch(18%   0.03  245);  /* slider text overlay base */
  --color-slider-shadow: oklch(15%   0.02  245 / 0.5);
  --color-slider-glow:   oklch(30%   0.04  190 / 0.35);
  --color-slider-hover:  oklch(65%   0.12  190);
  --color-slider-control: oklch(20% 0.03 245 / 0.68);

  /* fonts — 2+1: display / body 均用自托管 LXGW 975圆体,回退系统黑体 */
  --font-display: "LXGW 975Yuan", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-body:    "LXGW 975Yuan", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono:    Consolas, "Liberation Mono", monospace;

  /* motion */
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:    cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* space — 4pt scale */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;

  /* z-index — named levels */
  --z-raised:   10;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
}

html { overflow-x: clip; }
body { overflow-x: clip; } /* fallback for older Safari */

/* ------------------
 * Global style
 * --------------- */
body {
  background-color: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  letter-spacing: 0.02em;
  font-size: 100%;
  line-height: 1.7;
}

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--dur-micro) var(--ease-out);
}
a:hover, a:active {
  color: var(--color-ink);
}

:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

pre, code {
  background: var(--color-paper-3);
  font-family: var(--font-mono);
  font-size: .92857em;
}
code { padding: 2px 4px; color: var(--color-code-ink); }
pre {
  padding: 8px;
  overflow: auto;
  max-height: none;
  border-radius: 6px;
}
pre code {
  padding: 3px;
  color: var(--color-ink);
}

blockquote {
  margin: 1em 0;
  padding-left: 1.5em;
  border-left: 3px solid var(--color-accent-bright);
  color: var(--color-ink-2);
  background: var(--color-paper-2);
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-radius: 0 6px 6px 0;
}

table {
  border: 1px solid var(--color-rule);
  width: 100%;
}
table th,
table td {
  padding: 5px 10px;
  border: 1px solid var(--color-rule-2);
}
table th {
  background: var(--color-paper-2);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-ink);
  overflow-wrap: anywhere;
  min-width: 0;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea {
  padding: 5px;
  border: 1px solid var(--color-rule);
  width: 100%;
  background: var(--color-paper);
  color: var(--color-ink);

  border-radius: 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  transition: border-color var(--dur-micro) var(--ease-out);
}
input:focus-visible,
textarea:focus-visible {
  border-color: var(--color-accent);
  outline: 2px solid var(--color-focus);
  outline-offset: 1px;
}
textarea {
  resize: vertical;
}

::placeholder {
  color: var(--color-neutral);
}

/* Special link style */
.post-content a,
.widget a,
.comment-content a {
  border-bottom: 1px solid var(--color-rule);
}

/* 灯箱图片链接不要下划线(图片已有画框) */
.post-content a[data-pswp-width],
.post-content a[data-pswp-width]:hover {
  border-bottom: none;
}
.post-content a[data-pswp-width] img {
  bottom: 0;
}

.post-meta a:hover,
.post-content a:hover,
.widget a:hover,
.comment-content a:hover {
  border-bottom-color: transparent;
}

/* ------------------
 * Header
 * --------------- */

#header {
    background: var(--color-paper);
    border-bottom: 1px solid var(--color-rule);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}

/* --- 左侧 Logo/标题 --- */
#logo {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: 1.6em;
    text-decoration: none;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: baseline;
    gap: 0.4em;
    white-space: nowrap;
}

.logo-note {
    color: var(--color-accent-bright);
    font-size: 0.95em;
    transition: transform var(--dur-short) var(--ease-out);
    display: inline-block;
}

#logo:hover .logo-note {
    transform: rotate(-12deg) scale(1.15);
}

/* --- 右侧 导航菜单 --- */
.site-nav {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.nav-item {
    text-decoration: none;
    color: var(--color-ink-2);
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 500;
    padding: 5px 0;
    white-space: nowrap;
    position: relative;
    transition: color var(--dur-micro) var(--ease-out);
}

/* 悬停状态 — 下划线由细变粗，颜色变初音青 */
.nav-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--color-accent-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--dur-short) var(--ease-out);
}

.nav-item:hover {
    color: var(--color-accent);
}
.nav-item:hover::after {
    transform: scaleX(1);
}
.nav-item.current {
    color: var(--color-accent);
}
.nav-item.current::after {
    transform: scaleX(1);
}

/* --- 移动端适配 --- */
@media (max-width: 768px) {
    .header-inner {
        flex-direction: column;
        height: auto;
        padding: 15px 0;
    }

    .site-nav {
        margin-top: 10px;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
    }
}

/* Search */
#search {
  position: relative;
  margin-top: 15px;
}
#search input {
  height: 40px;
  padding: 8px 44px 8px 12px;
  border-radius: 10px;
}
#search button {
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  padding: 0;
  width: 40px;
  height: 40px;
  background: transparent url(../img/icon-search.png) no-repeat center center;
  direction: ltr; /* fix RTL language */
  text-indent: -9999em;
}

@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
  #search button {
    background-image: url(../img/icon-search@2x.png);
    -webkit-background-size: 24px 24px;
    -moz-background-size: 24px 24px;
    -o-background-size: 24px 24px;
    background-size: 24px 24px;
  }
}

/* ------------------
 * Main
 * --------------- */

@media (min-width: 992px) {
  #main {
    width: 70%;
  }

  #secondary {
    width: 30%;
  }
}

#body {
  padding-top: 20px;
}

.post {
  padding: 15px 0 20px;
  border-bottom: 1px solid var(--color-rule);
}

#main > .post:first-child {
  padding-top: 0;
}

#main > .post:first-child > .post-title:first-child {
  margin-top: 0;
}

.archive-post {
  padding: 18px 0 22px;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid var(--color-rule-2);
}
.post-thumb {
  flex: 0 0 280px;
  margin-right: 20px;
}
.post-thumb img {
  width: 100%;
  height: 158px;
  object-fit: cover;
  border-radius: 12px;
  border: 3px solid var(--color-accent-bright);
  box-sizing: border-box;
  background: var(--color-paper-2);
  transition: opacity var(--dur-short) var(--ease-out),
              border-color var(--dur-short) var(--ease-out);
}
.post-thumb a:hover img {
  opacity: 0.9;
  border-color: var(--color-accent-deep);
}
.post-body {
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .archive-post {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 0 20px;
    gap: 10px;
  }

  .post-thumb {
    flex: none;
    margin-right: 0;
    width: 100%;
  }

  .post-thumb img {
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: cover;
    border-radius: 12px;
    border: 3px solid var(--color-accent-bright);
    box-sizing: border-box;
    background: var(--color-paper-2);
  }

  .post-body {
    flex: none;
    width: 100%;
  }

  .post-title {
    margin: 6px 0;
    font-size: 18px;
    line-height: 1.4;
  }

  .post-meta {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 4px;
  }
}

.post-title {
  margin: .83em 0;
  font-size: 1.2em;
}
.archive-post .post-title {
  margin-top: 0.35em;
  font-weight: 600;
}
.post-title a {
  color: var(--color-ink);
  transition: color var(--dur-micro) var(--ease-out);
}
.post-title a:hover {
  color: var(--color-accent);
}
.post-meta {
  margin-top: -0.5em;
  padding: 0;
  color: var(--color-muted);
  font-size: .92857em;
}
.post-meta li {
  display: inline-block;
  margin: 0 8px 0 0;
  padding-left: 0;
}
.post-meta li:first-child {
  margin-left: 0;
}
.post-meta li + li::before {
  content: "·";
  margin-right: 8px;
  color: var(--color-neutral);
}
.post-content {
  line-height: 1.5;
}
.post-content p {
  margin-bottom: 1.2em;
}
.post .tags {
  clear: both;
}

.post-near {
  list-style: none;
  margin: 30px 0;
  padding: 0;
  color: var(--color-muted);
}
.post-near li {
  margin: 10px 0;
}

.archive-title {
  margin: 0.5em 0 0em;
  padding-top: 10px;
  color: var(--color-ink);
  font-size: 18px;
  margin-bottom: 10px;
  font-family: var(--font-display);
}
.more {
  text-align: center;
}
.more a {
  border: none;
}
.protected .text {
  width: 50%;
}

/* 提交按钮 — 初音青填充 */
.submit {
  background: var(--color-accent);
  color: var(--color-accent-ink);
  border: none;
  border-radius: 999px;
  padding: 8px 22px;
  font-size: 14px;
  font-family: var(--font-display);
  font-weight: 700;
  cursor: pointer;
  transition: background-color var(--dur-micro) var(--ease-out),
              transform var(--dur-micro) var(--ease-out);
}
.submit:hover {
  background: var(--color-accent-deep);
}
.submit:active {
  transform: translateY(1px);
}

/* Page nav */

.page-navigator {
  list-style: none;
  margin: 25px 0;
  padding: 0;
  text-align: center;
}
.page-navigator li {
  display: inline-block;
  margin: 0 4px;
}
.page-navigator a {
  display: inline-block;
  padding: 0 10px;
  height: 30px;
  line-height: 30px;
  border-radius: 999px;
  transition: background-color var(--dur-micro) var(--ease-out);
}
.page-navigator a:hover {
  background: var(--color-paper-2);
  text-decoration: none;
}

.page-navigator .current a {
  color: var(--color-accent-ink);
  background: var(--color-accent);
}

/* ------------------
 * Comment list
 * --------------- */
#comments {
  padding-top: 15px;
}
.comment-list, .comment-list ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.comment-list li {
  padding: 14px;
  margin-top: 10px;
  border: 1px solid var(--color-rule);
  border-radius: 8px;
}
.comment-list li.comment-level-odd {
  background: var(--color-paper-2);
}
.comment-list li.comment-level-even {
  background: var(--color-paper);
}
.comment-list li.comment-by-author {
  background: var(--color-author-bg);
  border-color: var(--color-author-border);
}
.comment-list li .comment-reply {
  text-align: right;
  font-size: .92857em;
}
.comment-meta a {
  color: var(--color-muted);
  font-size: .92857em;
}
.comment-author {
  display: block;
  margin-bottom: 3px;
  color: var(--color-ink);
}
.comment-author .avatar {
  float: left;
  margin-right: 10px;
}
.comment-author cite {
  font-weight: bold;
  font-style: normal;
}

/* Comment reply */
.comment-list .respond {
  margin-top: 15px;
  border-top: 1px solid var(--color-rule);
}
.respond .cancel-comment-reply {
  float: right;
  margin-top: 15px;
  font-size: .92857em;
}
#comment-form label {
  display: block;
  margin-bottom: .5em;
  font-weight: bold;
}
#comment-form .required:after {
  content: " *";
  color: var(--color-accent-pink);
}

/* ------------------
 * secondary
 * --------------- */
#secondary {
  padding-top: 0;
  word-wrap: break-word;
  position: sticky;
  top: 15px;
  max-height: calc(100vh - 30px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.widget {
  margin-bottom: 24px;
}
.widget-title {
  font-size: 1.05em;
  margin: 0 0 14px;
}
.widget-title::before {
  content: "♪ ";
  color: var(--color-accent-bright);
}
.widget-list {
  list-style: none;
  padding: 0;
}
.widget-list li {
  margin: 5px 0;
  line-height: 1.6;
}

.widget-list li ul {
  margin-left: 15px;
}

#secondary .widget:first-child,
#secondary .search-widget #search {
  margin-top: 0;
}

/* 初音立绘卡片 */
.miku-widget .widget-title {
  margin-bottom: 12px;
}
.miku-figure {
  margin: 0;
  padding: 8px;
  background: var(--color-paper-2);
  border: 1px solid var(--color-rule);
  border-radius: 12px;
}
.miku-figure img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.miku-figure figcaption {
  padding: 10px 6px 6px;
  font-size: 0.85em;
  line-height: 1.6;
  color: var(--color-muted);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.miku-note {
  color: var(--color-accent);
  font-weight: 600;
}
.miku-credit {
  font-size: 0.92em;
}

/* ------------------
 * Footer
 * --------------- */
#footer {
  padding: var(--space-xl) 0 var(--space-2xl);
  line-height: 1.7;
  text-align: center;
  color: var(--color-muted);
  border-top: 1px solid var(--color-rule);
  margin-top: var(--space-2xl);
}
.footer-line {
  margin: 0;
  font-size: 0.95em;
}

/* -----------------
 * Error page
 * -------------- */
.error-page {
  margin-top: 100px;
  margin-bottom: 100px;
}
.error-page .post-title {
  font-size: 2em;
  color: var(--color-accent);
}

/* -----------------
 * Content format
 *--------------- */
.post-content, .comment-content {
  line-height: 1.7;
  word-wrap: break-word;
}
.post-content h2, .comment-content h2 {
  font-size: 1.28571em;
}
.post-content img, .comment-content img,
.post-content video, .comment-content video {
  max-width: 100%;
}
.post-content img, .comment-content img {
  border-radius: 10px;
  border: 2px solid var(--color-accent-bright);
  box-sizing: border-box;
  background: var(--color-paper-2);
}
.post-content a img,
.comment-content a img {
  background: var(--color-paper);
  position: relative;
  bottom: -4px;  /* hidden img parent link border  */
}
.post-content hr, .comment-content hr {
  margin: 2em auto;
  width: 100px;
  border: 1px solid var(--color-rule);
  border-width: 2px 0 0 0;
}


/* -----------------
 * Misc
 *--------------- */
.aligncenter, div.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.alignleft {
  float: left;
}
.alignright {
  float: right;
}
img.alignleft {
  margin: 0 15px 0 0;
}
img.alignright {
  margin: 0 0 0 15px;
}


/* -----------------
 * Responsive
 *--------------- */

@media (max-width: 768px) {
  #header {
    text-align: center;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1100px;
  }
}


/*
* Hide from both screenreaders and browsers: h5bp.com/u
*/
.hidden {
  display: none !important;
  visibility: hidden; }

/*
* Hide only visually, but have it available for screenreaders: h5bp.com/v
*/
.sr-only {
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/*
* Extends the .sr-only class to allow the element to be focusable
* when navigated to via the keyboard: h5bp.com/p
*/
.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

/*
* Hide visually and from screenreaders, but maintain layout
*/
.invisible {
  visibility: hidden; }

/* 侧边栏公告样式 — 薄荷青底、深青字 */
.notice-content {
    background-color: var(--color-paper-2);
    color: var(--color-accent);
    border: 1px solid var(--color-rule);

    padding: 15px;
    border-radius: 10px;

    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    margin-top: 0px;
}

.notice-content a {
    color: var(--color-accent);
    font-weight: bold;
    text-decoration: underline;
}

/* -----------------
 * Motion — reduced
 *--------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 150ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 150ms !important;
  }
  .logo-note {
    transform: none;
  }
  .nav-item::after {
    transition: none;
  }
}

/* ===== slider.css 合并(原独立文件) ===== */
/* 轮播图容器 */
.home-slider {
    position: relative;
    max-width: 100%;
    margin: 0 0 20px;
    overflow: hidden;
    border-radius: 12px;
    border: 3px solid var(--color-accent-bright);
    box-sizing: border-box;
    box-shadow: 0 10px 26px -16px var(--color-slider-glow);
}

.slider-wrapper {
    display: flex;
    transition: transform 0.5s var(--ease-in-out);
    width: 100%;
}

.slide-item {
    min-width: 100%;
    box-sizing: border-box;
}

.slide-link {
    display: block;
    position: relative;
    text-decoration: none;
    color: var(--color-accent-ink);
}

/* 图片区域 */
.slide-image {
    display: block;
    width: 100%;
    height: 350px;
    object-fit: cover;
    transition: transform 0.3s var(--ease-out);
}

.slide-image-placeholder {
    background: var(--color-paper-3);
}

.slide-link:hover .slide-image {
    transform: scale(1.012);
}

/* 文字覆盖层 — 保持深色渐变保证可读性 */
.slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to top, color-mix(in oklch, var(--color-slider-ink) 85%, transparent), color-mix(in oklch, var(--color-slider-ink) 0%, transparent));
    padding: 48px 110px 20px 20px;
    box-sizing: border-box;
}

.slide-content h3 {
    margin: 0;
    font-size: 1.5em;
    color: var(--color-accent-ink);
    font-family: var(--font-display, "Noto Sans SC", sans-serif);
    text-shadow: 0 2px 4px var(--color-slider-shadow);
}

/* 控制点样式 — 初音青 */
.slider-dots {
    position: absolute;
    bottom: 11px;
    right: 14px;
    display: flex;
    gap: 8px;
}

.dot {
    display: block;
    padding: 0;
    border: 0;
    cursor: pointer;
    height: 28px;
    width: 28px;
    background: transparent;
    border-radius: 50%;
    position: relative;
}

.dot::before {
    content: "";
    position: absolute;
    inset: 9px;
    border-radius: 50%;
    background-color: var(--color-accent-ink);
    opacity: 0.55;
    transition: background-color 0.3s var(--ease-out), opacity 0.3s var(--ease-out);
}

.dot.active::before, .dot:hover::before {
    background-color: var(--color-accent-bright);
    opacity: 1;
}

/* 左右按钮 */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background-color: var(--color-slider-control);
    color: var(--color-accent-ink);
    font-size: 18px;
    cursor: pointer;
    z-index: var(--z-raised, 10);
    opacity: 0.82;
    transition: background-color 0.3s var(--ease-out),
                opacity 0.3s var(--ease-out),
                transform 0.2s var(--ease-out);
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-btn:hover {
    background-color: var(--color-accent);
    opacity: 1;
    transform: translateY(-50%) scale(1.05);
}

.slider-btn:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

/* 左按钮位置 */
.prev-btn {
    left: 14px;
}

/* 右按钮位置 */
.next-btn {
    right: 14px;
}

/* --- 移动端适配 (屏幕宽度小于 768px) --- */
@media (max-width: 768px) {

    .home-slider {
        width: 100%;
        margin: 0 0 16px;
        border-radius: 8px;
    }

    .slide-image {
        height: 180px;
    }

    .slide-content h3 {
        font-size: 16px;
        text-shadow: 0 1px 2px var(--color-slider-shadow);
    }

    .slide-content {
        padding: 30px 84px 15px 15px;
    }

    .slider-btn {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .prev-btn { left: 5px; }
    .next-btn { right: 5px; }

    .slider-dots {
        bottom: 10px;
        right: 10px;
    }
}

/* 减少动态效果 */
@media (prefers-reduced-motion: reduce) {
    .slider-wrapper {
        transition: none;
    }
    .slide-link:hover .slide-image {
        transform: none;
    }
}
