/* fonts:begin */
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-base.93726c18.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0-7E, U+A0-FF, U+131, U+141-142, U+152-153, U+160-161, U+178, U+17D-17E, U+192, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-308, U+30A-30C, U+327-328, U+332, U+336, U+391-3A1, U+3A3-3A9, U+3B1-3C1, U+3C3-3C9, U+401, U+410-44F, U+451, U+2002-2003, U+2010-2016, U+2018-201A, U+201C-201E, U+2020-2022, U+2025-2026, U+2030, U+2032-2033, U+2039-203B, U+203E, U+2044, U+205A, U+205D, U+2103, U+2109-210A, U+2113, U+2116, U+2121-2122, U+212B, U+213B, U+2160-216B, U+2170-217B, U+217F, U+2190-2193, U+21C4-21C6, U+21D2, U+21D4, U+21E6-21E9, U+2200, U+2202-2203, U+2207-2208, U+220B, U+2211-2212, U+2219-221A, U+221D-2220, U+2227-222E, U+2234-2235, U+223C-223D, U+2252, U+2260-2261, U+2266-2267, U+226A-226B, U+2282-2283, U+2286-2287, U+22A5, U+22BF, U+2312, U+23A7-23A9, U+23AB-23AD, U+2460-2490, U+249C-24B5, U+24EA, U+2500-254B, U+2550, U+255E, U+2561, U+256A, U+256D-2573, U+2581-258F, U+2594-2595, U+25A0-25A2, U+25B2-25B3, U+25B7, U+25BC-25BD, U+25C1, U+25C6-25C7, U+25C9, U+25CB, U+25CE-25CF, U+25E2-25E5, U+25EF, U+2600-2603, U+2605-2606, U+260E, U+261C-261F, U+2640, U+2642, U+2660-2667, U+266A, U+266D, U+266F, U+2776-277E, U+27A1, U+2B05-2B07, U+2E8E, U+2E90, U+2E92-2E94, U+2E99, U+2E9B, U+2E9F-2EA0, U+2EC1, U+2EC4, U+2ED1, U+2ED8, U+2EE4, U+2EE8-2EE9, U+2EEB, U+2EED, U+2EEF, U+2EF2, U+2F00-2F38, U+2F3A-2F66, U+2F68-2F70, U+2F72-2FA0, U+2FA2-2FC7, U+2FC9-2FD5, U+3000-3015, U+301C-301D, U+301F-3020, U+3036, U+3041-3096, U+309B-309E, U+30A1-30FE, U+322A-3243, U+3251-325B, U+3291-3294, U+3296, U+3298-3299, U+329D-329E, U+32A4-32B0, U+3300, U+3303, U+3305, U+330D, U+3314-3316, U+3318, U+331E, U+3322-3323, U+3326-3327, U+332A-332B, U+3331, U+3333, U+3336, U+3339, U+333B, U+3342, U+3347, U+3349-334A, U+334D-334E, U+3351, U+3357, U+337B-337F, U+3385-3389, U+338E-3390, U+3396-3398, U+339C-33A6, U+33B0-33B3, U+33C4, U+33C8, U+33CB-33CD, U+33D4, U+FB01-FB02, U+FE10-FE12, U+FE19, U+FE30-FE33, U+FE35-FE44, U+FE47-FE48, U+FF01-FF5E, U+FF61-FF9F, U+FFE0-FFE5, U+FFE8;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-ui.b12411e0.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E00, U+4E07, U+4E09-4E0B, U+4E0D-4E0E, U+4E16, U+4E21, U+4E26, U+4E2D, U+4E38, U+4E3B, U+4E57, U+4E86, U+4E88, U+4E8B-4E8C, U+4EA4, U+4EBA, U+4ECA, U+4ED5-4ED6, U+4ED8, U+4EE3-4EE5, U+4EEE, U+4EF6, U+4EFB, U+4F1A, U+4F1D, U+4F38, U+4F3A, U+4F3C, U+4F4D-4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA1, U+4FB5, U+4FC2, U+4FD7, U+4FDD, U+4FE1, U+4FEE, U+500B, U+500D, U+5019, U+5024, U+505C, U+5074, U+5099, U+50CD, U+50CF, U+5104, U+512A, U+5143, U+5148-5149, U+514D, U+5165, U+5168, U+516C, U+5171, U+5177, U+5185, U+518D, U+51E6, U+51FA, U+5206-5207, U+5217, U+521D, U+5224-5225, U+5229, U+5236, U+523B, U+524A, U+524D, U+5272, U+5287, U+529B, U+529F-52A0, U+52A9, U+52B9, U+52D5, U+5316, U+533A, U+5341, U+5343, U+534A, U+5354, U+5358, U+5370, U+5373, U+539F, U+53BB, U+53C2, U+53CD-53CE, U+53D6-53D7, U+53E4-53E5, U+53E9, U+53EF-53F0, U+53F3, U+53F7, U+5404, U+5408, U+540C-540D, U+5411, U+5426, U+542B, U+544A, U+547C, U+54C1, U+54E1, U+554F, U+5584, U+55B6, U+5668, U+56DE, U+56E0, U+56F0, U+56F2, U+56FA, U+571F, U+5727-5728, U+5730, U+5747, U+578B, U+57CB, U+57DF, U+57FA, U+5831, U+5834, U+5857, U+5883, U+5897, U+58CA, U+58F0, U+58F2, U+5909, U+5916, U+591A, U+591C, U+5927, U+5929-592A, U+592E, U+5931, U+597D, U+59A8, U+59CB, U+5B50, U+5B57-5B58, U+5B88-5B89, U+5B8C, U+5B9A-5B9B, U+5B9F, U+5BA3, U+5BB3, U+5BB9, U+5BC6, U+5BF8, U+5BFE, U+5C02, U+5C0E-5C0F, U+5C11, U+5C3A, U+5C3E, U+5C4A, U+5C55, U+5C5E, U+5C65, U+5D29, U+5DE1, U+5DE5-5DE6, U+5DEE, U+5E03, U+5E0C, U+5E2F-5E30, U+5E38, U+5E45, U+5E55, U+5E73-5E74, U+5E83, U+5E8F, U+5EA6-5EA7, U+5EF6, U+5F0F, U+5F15, U+5F27, U+5F37, U+5F3E, U+5F53, U+5F62, U+5F69, U+5F71, U+5F79, U+5F80, U+5F85, U+5F8C, U+5F93, U+5F97, U+5FA9, U+5FC3, U+5FC5, U+5FDC, U+6027, U+60AA, U+60C5, U+60F3, U+610F, U+611F, U+614B, U+6210, U+623B, U+6240, U+624B, U+6271, U+6295, U+6298, U+629C, U+629E, U+62BC, U+62D2, U+62DB, U+62E0-62E1, U+62EC, U+6301, U+6307, U+6319, U+632F, U+6349, U+6355, U+6357, U+6368, U+6383, U+639B, U+63A1-63A2, U+63A5, U+63A7-63A8, U+63CF-63D0, U+63DB, U+640D, U+643A, U+64CD, U+6539, U+6545, U+6557, U+6559, U+6570, U+6574, U+6577, U+6587, U+6599, U+65AD, U+65B0, U+65B9, U+65BD, U+65E2, U+65E5, U+65E7, U+660E, U+6620, U+6642, U+666F, U+6697, U+66F2, U+66F4, U+66F8, U+66FF-6700, U+6708-6709, U+671B, U+671F, U+672A-672C, U+6761, U+6765, U+6790, U+679A, U+679C, U+67A0, U+67FB, U+6848, U+68C4, U+691C, U+696D, U+6975, U+697D, U+69CB, U+69D8, U+6A19, U+6A29-6A2A, U+6A5F, U+6B04, U+6B21, U+6B4C, U+6B62-6B63, U+6B6A, U+6B74, U+6B8B, U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C34, U+6C38, U+6C42, U+6C7A, U+6CC1, U+6CD5, U+6CE8, U+6D3B, U+6D3E, U+6D41, U+6D6E, U+6D88, U+6DF7, U+6DFB, U+6E08, U+6E1B, U+6E21, U+6E2C, U+6E80, U+6E90, U+6E96, U+6E9C, U+6F70, U+7070, U+70B9-70BA, U+7121, U+7136, U+713C, U+7167, U+7247-7248, U+7269, U+7279, U+72B6, U+72EC-72ED, U+7387, U+73FE, U+7406, U+74B0, U+751F, U+7528, U+7531, U+7537, U+753B, U+754C, U+7559, U+7565, U+756A, U+7573, U+767A-767B, U+767D-767E, U+7684, U+76E3, U+76EE, U+76F4, U+76F8, U+7701, U+7740, U+77AC, U+77E5, U+77ED, U+7834, U+78BA, U+793A, U+7981, U+79D2, U+79D8, U+79FB, U+7A0B, U+7A2E, U+7A3C, U+7A3F, U+7A4D, U+7A7A, U+7ACB, U+7AE0, U+7AEF, U+7B2C, U+7B49, U+7B54, U+7B56, U+7B87, U+7B97, U+7BA1, U+7BB1, U+7BC0, U+7BC4, U+7CFB, U+7D04, U+7D20, U+7D22, U+7D2F-7D30, U+7D42, U+7D4C, U+7D50, U+7D5E, U+7D61, U+7D71, U+7D76, U+7D99-7D9A, U+7DCF, U+7DD2, U+7DDA, U+7DE8, U+7E26, U+7E2E, U+7E70, U+7F6E, U+7F72, U+7FA9, U+7FCC, U+8003, U+8005, U+805E, U+8074, U+8096, U+80A2, U+80CC, U+80FD, U+8108, U+81EA, U+81F4, U+826F, U+8272, U+82F1, U+8377, U+843D, U+8449, U+8457, U+8584, U+85A6, U+866B, U+884C, U+8868, U+88D5, U+88DC, U+8907, U+8981, U+8986, U+898B, U+898F, U+8996, U+899A, U+89A7, U+89AA, U+89B3, U+89D2, U+89E3, U+89E6, U+8A00, U+8A08, U+8A18, U+8A2A, U+8A2D, U+8A31, U+8A33, U+8A3A, U+8A3C, U+8A55, U+8A5E, U+8A66, U+8A70, U+8A72-8A73, U+8A8D, U+8A98, U+8A9E, U+8AAC-8AAD, U+8AB0, U+8ABF, U+8AC7, U+8ACB, U+8AE6, U+8B58, U+8B77, U+8C61, U+8CA0, U+8CAC, U+8CBC, U+8CEA, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DB3, U+8DEF, U+8E0F, U+8EAB, U+8EE2, U+8EFD, U+8F03, U+8F09, U+8FBA, U+8FBC, U+8FD1, U+8FD4, U+8FFD, U+9000-9001, U+9006, U+900F, U+9014, U+901A, U+901F-9020, U+9023, U+9031-9032, U+9045, U+904B, U+904E, U+9053, U+9055, U+9069, U+9077-9078, U+907F, U+90E8, U+914D, U+91C8, U+91CD, U+91CF, U+91DD, U+9332, U+9375, U+9577, U+9589, U+958B, U+9593, U+95A2, U+95B2, U+9632, U+964D, U+9650, U+9664, U+967A, U+968E, U+9694, U+969B-969C, U+96A0, U+96C6, U+9759, U+975E, U+9762, U+97F3, U+97FF, U+9805-9806, U+9808, U+9818, U+982D, U+983C, U+984C, U+9858, U+985E, U+98DB, U+98DF, U+98FE, U+99C4, U+99C6, U+9AD8, U+9AED, U+9F62;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-rest.c5d0e0bb.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+3D4E, U+4E28, U+4EDD, U+4EE1, U+4EFC, U+4F00, U+4F03, U+4F39, U+4F56, U+4F8A, U+4F92, U+4F94, U+4F9A, U+4FC9, U+4FCD, U+4FE0, U+4FFF, U+501E, U+5022, U+5040, U+5042, U+5046, U+5070, U+5094, U+50D8, U+50F4, U+514A, U+5164, U+519D, U+51BE, U+51EC, U+5215, U+525D, U+529C, U+52A6, U+52AF, U+52C0, U+52DB, U+5300, U+5324, U+5372, U+5393, U+53B2, U+53DD, U+548A, U+549C, U+54A9, U+54FF, U+555E, U+5586, U+5653, U+5699, U+56CA, U+5759, U+5765, U+57AC, U+57C7-57C8, U+5861, U+589E, U+58B2, U+590B, U+5953, U+595B, U+595D, U+5963, U+59A4, U+59BA, U+5B56, U+5BC0, U+5BD8, U+5C1E, U+5C5B, U+5C62, U+5CA6, U+5CBA, U+5CF5, U+5D27, U+5D42, U+5D53, U+5D6D, U+5DB8-5DB9, U+5DD0, U+5F21, U+5F34, U+5F45, U+5F67, U+5FB7, U+5FDE, U+605D, U+6085, U+608A, U+60D5, U+60DE, U+60F2, U+6111, U+6120, U+6130, U+6137, U+6198, U+6213, U+62A6, U+63F5, U+6414, U+6451, U+6460, U+649D, U+64CE, U+6522, U+654E, U+6600, U+6609, U+6615, U+6624, U+662E, U+6631, U+663B, U+6657, U+6659, U+6665, U+6673, U+6699, U+66A0, U+66B2, U+66BF, U+66FA-66FB, U+670E, U+6766, U+67BB, U+67C0, U+67FA, U+6805, U+6844, U+6852, U+688E, U+68C8, U+68CF, U+6968, U+6998, U+69E2, U+6A30, U+6A46, U+6A6B, U+6A73, U+6A7E, U+6AE2, U+6AE4, U+6BD6, U+6C3F, U+6C5C, U+6C6F, U+6C86, U+6CDA, U+6D04, U+6D6F, U+6D87, U+6D96, U+6DAC, U+6DCF, U+6DF2, U+6DF8, U+6DFC, U+6E27, U+6E39, U+6E3C, U+6E5C, U+6EBF, U+6F51, U+6F88, U+6FB5, U+6FF5, U+7005-7007, U+7028, U+7085, U+70AB, U+70BB, U+7104, U+710F, U+7130, U+7146-7147, U+715C, U+71C1, U+71FE, U+72B1, U+72BE, U+7324, U+7377, U+73BD, U+73C9, U+73D2, U+73D6, U+73E3, U+73F5, U+7407, U+7426, U+7429-742A, U+742E, U+7489, U+749F, U+7501, U+752F, U+756F, U+7682, U+769B-769C, U+769E, U+76A6, U+7746, U+7762, U+7821, U+784E, U+7864, U+787A, U+7930, U+7994, U+799B, U+79B1, U+7AD1, U+7AE7, U+7AEB, U+7B9E, U+7C1E, U+7D48, U+7DA0, U+7DB7, U+7DD6, U+7E52, U+7E61, U+7E6B, U+7E8A, U+7F47, U+7FA1, U+8301, U+8346, U+8362, U+837F, U+83C7, U+83F6, U+840A, U+8448, U+84B4, U+84DC, U+8523, U+853E, U+8553, U+8559, U+856B, U+85B0, U+87EC, U+8807, U+881F, U+88F5, U+891C, U+8A12, U+8A37, U+8A79, U+8AA7, U+8ABE, U+8ADF, U+8AF6, U+8B53, U+8B7F, U+8CF0, U+8CF4, U+8D12, U+8D76, U+8EC0, U+8ECF, U+9067, U+90DE, U+9115, U+9127, U+91AC, U+91B1, U+91D7, U+91DA, U+91DE, U+91E4-91E5, U+91ED-91EE, U+9206, U+920A, U+9210, U+9239-923A, U+923C, U+9240, U+924E, U+9251, U+9259, U+9267, U+9277-9278, U+9288, U+92A7, U+92D0, U+92D3, U+92D5, U+92D7, U+92D9, U+92E0, U+92E7, U+92F9, U+92FB, U+92FF, U+9302, U+931D-931E, U+9321, U+9325, U+9348, U+9357, U+9370, U+93A4, U+93C6, U+93DE, U+93F8, U+9431, U+9445, U+9448, U+9592, U+969D, U+96AF, U+9733, U+973B, U+9743, U+974D, U+974F, U+9751, U+9830, U+9857, U+985A, U+9865, U+9927, U+999E, U+9A4E, U+9A52, U+9AD9, U+9ADC, U+9B72, U+9B75, U+9B8F, U+9BB1, U+9BBB, U+9C00, U+9D6B, U+9D70, U+9DD7, U+9E19, U+9E7C, U+9EB4-9EB5, U+9ED1, U+F992-F993, U+F999, U+F9C3, U+F9EC, U+FA0E-FA10, U+FA12-FA14, U+FA16-FA23, U+FA25-FA2D, U+FA36, U+FA46, U+FA4A, U+FA6A, U+21A1A, U+243D0, U+25874, U+28CDD, U+28EF6, U+2F80F, U+2F818, U+2F877, U+2F884, U+2F8D3, U+2F8DC, U+2F8ED, U+2F920;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-k1a.293987b6.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E01, U+4E03, U+4E08, U+4E11, U+4E14, U+4E18-4E19, U+4E1E, U+4E32, U+4E39, U+4E43, U+4E45, U+4E4B, U+4E4D-4E4F, U+4E59, U+4E5D-4E5F, U+4E71, U+4E73, U+4E7E, U+4E80, U+4E89, U+4E91-4E92, U+4E94-4E95, U+4E98-4E99, U+4E9B-4E9C, U+4EA1, U+4EA5-4EA6, U+4EA8, U+4EAB-4EAE, U+4EC0-4EC1, U+4EC7, U+4ECB, U+4ECF, U+4ED4, U+4ED9, U+4EF0, U+4EF2, U+4F01, U+4F0A, U+4F0D-4F11, U+4F2F, U+4F34, U+4F36, U+4F3D, U+4F43, U+4F46, U+4F4F-4F51, U+4F73, U+4F75, U+4F7C, U+4F83, U+4F8D, U+4FA0, U+4FAD-4FAF, U+4FB6, U+4FBF, U+4FC3-4FC4, U+4FCA, U+4FE3, U+4FF3, U+4FF5, U+4FF8, U+4FFA, U+5009, U+5012, U+5016, U+501F, U+5023, U+5026, U+502B, U+502D, U+5036, U+5039, U+5049, U+504F, U+5065, U+5072, U+5075-5076, U+507D, U+508D, U+5091, U+5098, U+50AC-50AD, U+50B5, U+50B7, U+50BE, U+50C5, U+50D1, U+50D5, U+50DA, U+50E7, U+50FB, U+5100, U+5112, U+511F, U+5132, U+5141, U+5144-5147, U+514B, U+514E, U+5150, U+515A, U+515C, U+516B, U+516D, U+5175-5176, U+5178, U+517C, U+5186, U+518A, U+5192, U+5197, U+5199, U+51A0, U+51A5, U+51A8, U+51AC, U+51B4, U+51B6-51B7, U+51C4, U+51C6, U+51CB-51CD, U+51DD, U+51E1, U+51E7, U+51EA, U+51F1, U+51F6, U+51F8-51F9, U+51FD, U+5200, U+5203, U+5208, U+520A, U+5211, U+5230, U+5237-5238, U+523A, U+5243, U+5247, U+5256, U+525B, U+5263-5265, U+526F-5270, U+5275, U+5283, U+5289, U+52A3, U+52AA-52AB, U+52B1, U+52B4, U+52BE, U+52C3, U+52C5, U+52C7, U+52C9, U+52D8-52D9, U+52DD, U+52DF, U+52E2, U+52E4, U+52E7, U+52F2, U+52FA, U+52FE-52FF, U+5301-5302, U+5305, U+5317, U+5319, U+531D, U+5320-5321, U+532A, U+5339, U+533B, U+533F, U+5347-5348, U+5351-5353, U+5357, U+535A, U+535C, U+5360, U+5366, U+536F, U+5371, U+5374-5375, U+5378, U+537F, U+5384, U+5398, U+539A, U+53A8-53A9, U+53AD, U+53B3, U+53C8-53CC, U+53D4, U+53D9, U+53DB, U+53E1-53E3, U+53EA-53EC, U+53F1-53F2, U+53F6, U+53F8, U+5403, U+5409-540B, U+540E-5410, U+541B, U+541F-5420, U+5438-5439, U+543B, U+543E, U+5442, U+5446, U+5448-5449, U+5451, U+5468, U+546A, U+5473, U+547D, U+548B-548C, U+54B2-54B3, U+54BD, U+54C0, U+54C9, U+54E8-54E9, U+54F2, U+5504, U+5506-5507, U+5510, U+5516, U+552F, U+5531, U+553E, U+5544, U+5546, U+5553, U+5589, U+558B, U+559A, U+559C-559D, U+55A7, U+55AA-55AC, U+55B0, U+55E3, U+5606, U+5609, U+5617-5618, U+5629, U+5631, U+5642, U+564C, U+565B, U+5674, U+5678, U+567A, U+5687, U+56A2, U+56DA-56DB, U+56E3, U+56F3, U+56FD, U+5703, U+570F, U+5712, U+572D, U+5742, U+574A, U+5750-5751, U+5764, U+5766, U+576A, U+5782, U+57A2-57A3, U+57CE, U+57DC, U+57E0, U+57F4, U+57F7, U+57F9, U+57FC, U+5800, U+5802, U+5805-5806, U+5815, U+5824, U+582A, U+5830, U+5835, U+583A, U+5840-5841, U+584A, U+5851, U+5854, U+5858-585A, U+585E, U+5869, U+586B, U+5875, U+587E, U+5893, U+589C, U+58A8, U+58B3, U+58BE, U+58C1, U+58C7, U+58CC, U+58D5, U+58EB-58EC, U+58EE, U+58F1, U+58F7, U+590F, U+5915, U+5919, U+5922, U+592B, U+5937, U+5944, U+5947-5949, U+594F, U+5951, U+5954, U+5957, U+5965, U+5968, U+596A, U+596E, U+5973-5974, U+5982-5984, U+598A, U+5993, U+5996, U+5999, U+59A5, U+59AC, U+59B9, U+59BB, U+59BE, U+59C9, U+59D0-59D1, U+59D3-59D4, U+59E5-59E6, U+59EA-59EB, U+59F6, U+59FB, U+59FF, U+5A01, U+5A03, U+5A18, U+5A20, U+5A29, U+5A2F, U+5A3C, U+5A41, U+5A46, U+5A5A, U+5A66, U+5A7F, U+5A92, U+5A9B, U+5AC1, U+5AC9, U+5ACC, U+5AE1, U+5B09, U+5B22, U+5B2C, U+5B30, U+5B54, U+5B5C-5B5D, U+5B5F, U+5B63-5B64, U+5B66, U+5B6B, U+5B85, U+5B87, U+5B8B, U+5B8D, U+5B8F, U+5B95, U+5B97-5B99, U+5B9C-5B9D, U+5BA2, U+5BA4-5BA5, U+5BAE, U+5BB0, U+5BB4-5BB6, U+5BBF, U+5BC2, U+5BC4-5BC5, U+5BCC, U+5BD2-5BD3, U+5BDB, U+5BDD, U+5BDF, U+5BE1, U+5BE7, U+5BE9, U+5BEE, U+5BF5, U+5BFA, U+5BFF, U+5C01, U+5C04, U+5C06, U+5C09-5C0B, U+5C16, U+5C1A, U+5C24, U+5C2D, U+5C31, U+5C3B-5C3D, U+5C3F-5C40, U+5C45, U+5C48, U+5C4B, U+5C4D, U+5C51, U+5C60-5C61, U+5C64, U+5C6F, U+5C71, U+5C90, U+5CA1, U+5CA8-5CA9, U+5CAC, U+5CB1, U+5CB3, U+5CB8, U+5CE0-5CE1, U+5CE8, U+5CEF-5CF0, U+5CF6, U+5CFB, U+5D07, U+5D0E, U+5D16, U+5D50, U+5D69, U+5D6F, U+5D8B, U+5DBA, U+5DCC, U+5DDD-5DDE, U+5DE3, U+5DE7-5DE8, U+5DF1, U+5DF3-5DF4, U+5DF7, U+5DFB, U+5DFD-5DFE, U+5E02, U+5E06, U+5E16, U+5E1D, U+5E25, U+5E2B, U+5E2D, U+5E33, U+5E3D, U+5E4C, U+5E61, U+5E63, U+5E72, U+5E78-5E79, U+5E7B-5E7E, U+5E81, U+5E84, U+5E87, U+5E8A, U+5E95-5E97, U+5E9A, U+5E9C, U+5EAB, U+5EAD, U+5EB5-5EB8, U+5EC3, U+5EC9-5ECA, U+5ED3, U+5EDF-5EE0, U+5EF7, U+5EFA-5EFC, U+5EFF, U+5F01, U+5F04, U+5F0A, U+5F10, U+5F13-5F14, U+5F17-5F18, U+5F1B, U+5F1F, U+5F25-5F26, U+5F31, U+5F35, U+5F3C, U+5F4A, U+5F66, U+5F6A-5F6C, U+5F70, U+5F7C, U+5F81, U+5F84, U+5F8B, U+5F90, U+5F92, U+5FA1, U+5FAA, U+5FAE, U+5FB3-5FB4, U+5FB9, U+5FBD, U+5FCC-5FCD, U+5FD7-5FD9, U+5FE0, U+5FEB, U+5FF5, U+5FFD, U+6012, U+6016, U+601C-601D, U+6020, U+6025, U+6028, U+602A, U+602F, U+604B, U+6050, U+6052, U+6055, U+6062, U+6065, U+6068-6069, U+606D, U+606F-6070, U+6075, U+6089, U+608C, U+6094, U+609F-60A0, U+60A3, U+60A6, U+60A9, U+60B2, U+60B6, U+60BC, U+60C7, U+60D1, U+60DA, U+60DC, U+60DF, U+60E3, U+60E8, U+60F0, U+60F9, U+6101, U+6108-6109, U+611A-611B, U+6148, U+614C, U+614E, U+6155, U+6162-6163, U+6167-6168, U+616E, U+6170, U+6176, U+617E, U+6182, U+618E, U+6190, U+61A4, U+61A7, U+61A9, U+61B2, U+61B6, U+61BE, U+61C7, U+61D0, U+61F2, U+61F8, U+620A, U+620E, U+6211-6212, U+6216, U+621A, U+621F, U+6226, U+622F, U+6234, U+6238, U+623F, U+6247, U+6249, U+624D, U+6253, U+6255, U+6258, U+626E, U+6276, U+6279, U+627F-6280, U+6284, U+628A, U+6291, U+6297, U+62AB, U+62B1, U+62B5, U+62B9, U+62BD, U+62C5, U+62CD, U+62D0, U+62D3, U+62D8-62D9, U+62DD, U+62ED, U+62F3, U+62F6-62F7, U+62FE, U+6309, U+6311, U+631F, U+6328, U+632B, U+633A, U+633D, U+633F, U+634C, U+635C, U+6367, U+636E, U+6372, U+6377, U+637A-637B, U+6388, U+638C, U+6392, U+6398, U+63A0, U+63A9;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-k1b.9e38cd04.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+63AA, U+63AC, U+63B2, U+63B4, U+63BB, U+63C3, U+63D6, U+63DA, U+63E1, U+63EE, U+63F4, U+63FA, U+642C-642D, U+643E, U+6442, U+6458, U+6469, U+6478, U+647A, U+6483, U+6492, U+649A, U+649E, U+64A4, U+64AB, U+64AD-64AE, U+64B0, U+64B2, U+64B9, U+64C1, U+64E2, U+64E6, U+64EC, U+64FE, U+652F, U+653B, U+653E-653F, U+654F, U+6551, U+6562-6563, U+6566, U+656C, U+6575, U+6589, U+658C, U+658E, U+6590-6591, U+6597, U+659C, U+65A1, U+65A4-65A5, U+65A7, U+65AC, U+65AF, U+65BC, U+65C5, U+65CB, U+65CF, U+65D7, U+65E6, U+65E8-65E9, U+65EC-65ED, U+65FA, U+6602, U+6606-6607, U+660C, U+660F, U+6613-6614, U+661F, U+6625, U+6627-6628, U+662D, U+662F, U+663C, U+6643, U+664B, U+6652, U+6666, U+6669, U+666E, U+6674, U+6676, U+667A, U+6681, U+6687, U+6691, U+6696, U+66A2, U+66A6, U+66AB, U+66AE, U+66B4, U+66C7, U+66D9, U+66DC-66DD, U+66F3, U+66F9, U+66FD-66FE, U+670B, U+670D, U+6714-6715, U+6717, U+671D, U+6728, U+672D, U+6731, U+6734, U+673A, U+673D, U+6749, U+674E-6751, U+6753, U+6756, U+675C, U+675F, U+6762, U+676D, U+676F, U+6771, U+6775, U+6777, U+677E-677F, U+6787, U+6795, U+6797, U+679D, U+67A2, U+67AF, U+67B6, U+67C1, U+67C4, U+67CA, U+67CF-67D1, U+67D3-67D4, U+67D8, U+67DA, U+67F1, U+67F3-67F5, U+67FE-67FF, U+6802-6804, U+6813, U+6816-6817, U+6821-6822, U+682A, U+6834, U+6838-6839, U+683C-683D, U+6841-6843, U+6850-6851, U+6853-6854, U+685C-685D, U+685F, U+6867, U+6876, U+6881, U+6885, U+6893, U+6897, U+68A2, U+68A7-68A8, U+68AF-68B1, U+68B6, U+68BC, U+68C9, U+68CB, U+68D2, U+68DA, U+68DF, U+68EE, U+68F2, U+68FA, U+6900, U+6905, U+690B, U+690D-690E, U+6919, U+691B, U+6934, U+693F, U+694A, U+6953, U+6955, U+695A, U+6960, U+6962, U+696F, U+6973, U+697C, U+6982, U+698A, U+698E, U+6994, U+699B, U+69CC-69CD, U+69D9, U+69FB, U+69FD, U+6A0B, U+6A17, U+6A1F, U+6A21, U+6A2B, U+6A35, U+6A39-6A3A, U+6A3D, U+6A4B, U+6A58, U+6A61, U+6A7F-6A80, U+6A8E, U+6AD3, U+6ADB, U+6AE8, U+6B1D, U+6B20, U+6B23, U+6B27, U+6B32, U+6B3A, U+6B3D-6B3E, U+6B4E, U+6B53, U+6B64, U+6B66, U+6B69, U+6B6F, U+6B73, U+6B7B, U+6B86, U+6B89-6B8A, U+6B96, U+6BB4, U+6BBA-6BBB, U+6BBF, U+6BC5, U+6BCD, U+6BD2, U+6BD8, U+6BDB, U+6C0F, U+6C11, U+6C37, U+6C3E, U+6C40-6C41, U+6C4E, U+6C50, U+6C57, U+6C5A, U+6C5D, U+6C5F-6C60, U+6C70, U+6C72, U+6C7D, U+6C83, U+6C88, U+6C8C, U+6C93, U+6C96, U+6C99, U+6CA1-6CA2, U+6CAB, U+6CB3, U+6CB8-6CB9, U+6CBB-6CBC, U+6CBF, U+6CC9-6CCA, U+6CCC, U+6CE1-6CE3, U+6CE5, U+6CF0, U+6CF3, U+6D0B, U+6D17, U+6D1B, U+6D1E, U+6D25, U+6D29-6D2A, U+6D32, U+6D44-6D45, U+6D5C, U+6D66, U+6D69-6D6A, U+6D6C, U+6D74, U+6D77-6D78, U+6D8C, U+6D99, U+6D9B-6D9C, U+6DAF, U+6DB2, U+6DBC, U+6DC0, U+6DCB, U+6DD1, U+6DD8, U+6DE1, U+6DEB, U+6DF1, U+6DF3, U+6DF5, U+6E05, U+6E07, U+6E09, U+6E0B, U+6E13, U+6E1A, U+6E20, U+6E25-6E26, U+6E29, U+6E2F, U+6E4A, U+6E56, U+6E58, U+6E5B, U+6E67, U+6E6F, U+6E7E-6E7F, U+6E8C, U+6E9D, U+6EA2, U+6EB6, U+6EBA, U+6EC5, U+6ECB, U+6ED1, U+6EDD-6EDE, U+6EF4, U+6F01-6F02, U+6F06, U+6F09, U+6F0F, U+6F14-6F15, U+6F20, U+6F22-6F23, U+6F2B-6F2C, U+6F38, U+6F45, U+6F54, U+6F5C, U+6F5F, U+6F64, U+6F6E, U+6F84, U+6F97, U+6FB1, U+6FC0-6FC1, U+6FC3, U+6FE0-6FE1, U+6FEB, U+6FEF, U+7015, U+701E, U+7026-7027, U+702C, U+7058, U+706B, U+706F, U+7078, U+707C-707D, U+7089-708A, U+708E, U+70AD, U+70C8, U+70CF, U+70F9, U+7114, U+711A, U+7126, U+7149, U+714E, U+7159, U+7164, U+7169, U+716E, U+717D, U+718A, U+7194, U+719F, U+71B1, U+71C3, U+71C8, U+71D0, U+71D5, U+71E5-71E6, U+71ED, U+7206, U+722A, U+7235-7236, U+723A, U+723D-723E, U+724C, U+7252, U+7259, U+725B, U+725D, U+725F, U+7261-7262, U+7267, U+7272, U+727D, U+7280, U+72A0, U+72AC, U+72AF, U+72C2, U+72D0, U+72D7, U+72D9, U+72DB, U+72E9, U+72F8, U+72FC-72FD, U+731B, U+731F, U+732A-732B, U+732E, U+7336-7337, U+733F, U+7344-7345, U+7363, U+7372, U+7384, U+7389, U+738B, U+7396, U+73A9, U+73B2, U+73C2, U+73CA, U+73CD, U+73E0, U+73EA, U+73ED, U+7403, U+7409, U+7422, U+7433-7436, U+745A-745B, U+745E, U+7460, U+7473, U+7483, U+74BD, U+74DC, U+74E2, U+74E6, U+74F6, U+7511, U+7518, U+751A, U+751C, U+7523, U+7525, U+752B, U+7530, U+7532-7533, U+753A, U+754F, U+7551, U+7554, U+755C-755D, U+7560, U+7562, U+7566, U+7570, U+7577, U+757F, U+758B, U+758E-758F, U+7591, U+75AB, U+75B2, U+75B9, U+75BE, U+75C5, U+75C7, U+75D4-75D5, U+75D8, U+75DB, U+75E2, U+75E9, U+75F4, U+7642, U+764C, U+7652, U+7656, U+7686-7687, U+7690, U+76AE, U+76BF, U+76C3, U+76C6, U+76C8, U+76CA, U+76D7, U+76DB, U+76DF, U+76E4, U+76F2, U+76FE, U+7709, U+770B-770C, U+771F-7720, U+773A, U+773C, U+7761, U+7763, U+7766, U+77A5, U+77AD, U+77B3, U+77DB, U+77E2, U+77E7, U+77E9, U+77EF, U+77F3, U+7802, U+7814-7815, U+7825-7827, U+7832, U+783A, U+783F, U+785D, U+786B-786C, U+786F, U+7872, U+7881, U+7887, U+788D, U+7891, U+7893, U+7895, U+7897, U+78A7, U+78A9, U+78C1, U+78D0, U+78E8, U+78EF, U+7901, U+790E, U+793C, U+793E, U+7941, U+7947-7949, U+7950, U+7956, U+795D-795E, U+7962, U+7965, U+7968, U+796D, U+7977, U+7984-7985, U+798D-798F, U+79A6, U+79B0, U+79BD-79C1, U+79CB, U+79D1, U+79DF, U+79E4, U+79E6, U+79E9, U+79F0, U+7A00, U+7A0E, U+7A14, U+7A17, U+7A1A, U+7A1C, U+7A32, U+7A3D, U+7A40, U+7A42, U+7A46, U+7A4E-7A50, U+7A63, U+7A6B, U+7A74, U+7A76, U+7A7F, U+7A81, U+7A83-7A84, U+7A92-7A93, U+7A9F, U+7AAA, U+7AAE-7AAF, U+7ABA, U+7AC3, U+7ADC, U+7AE3, U+7AE5, U+7AEA, U+7AF6, U+7AF9-7AFA, U+7AFF, U+7B08, U+7B11, U+7B1B, U+7B20, U+7B25-7B26, U+7B39, U+7B46, U+7B48, U+7B4B, U+7B4F, U+7B51-7B52, U+7B86, U+7B94-7B95, U+7BAA, U+7BAD, U+7BB8, U+7BC7, U+7BC9, U+7BE0, U+7BE4, U+7BED, U+7C21, U+7C38, U+7C3E-7C3F, U+7C4D, U+7C73, U+7C7E, U+7C81-7C82, U+7C89, U+7C8B, U+7C8D, U+7C92, U+7C95, U+7C97-7C98, U+7C9B, U+7C9F, U+7CA5, U+7CA7, U+7CBE, U+7CCA, U+7CCE, U+7CD6, U+7CDE-7CE0, U+7CE7, U+7CF8, U+7CFE, U+7D00, U+7D05, U+7D0B, U+7D0D, U+7D10, U+7D14, U+7D17-7D1B, U+7D21, U+7D2B-7D2C, U+7D33, U+7D39-7D3A, U+7D43-7D44, U+7D62, U+7D66, U+7D75, U+7D79, U+7D9C, U+7DAC;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-k1c.16b03b94.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7DAD, U+7DB1-7DB2, U+7DB4, U+7DBB, U+7DBE-7DBF, U+7DCA-7DCB, U+7DD1, U+7DE0, U+7DE9, U+7DEC, U+7DEF, U+7DF4, U+7E01, U+7E04, U+7E1B, U+7E1E, U+7E2B, U+7E3E, U+7E41, U+7E4A-7E4B, U+7E4D, U+7E54-7E55, U+7E6D, U+7E82, U+7E8F, U+7F36, U+7F6A-7F6B, U+7F70, U+7F75, U+7F77, U+7F85, U+7F8A, U+7F8E, U+7FA4, U+7FA8, U+7FBD, U+7FC1, U+7FD2, U+7FE0, U+7FEB, U+7FF0, U+7FFB-7FFC, U+8000-8001, U+800C, U+8010, U+8015, U+8017, U+8033, U+8036, U+803D, U+8056, U+8061, U+806F, U+8077, U+807E, U+8087, U+8089, U+808B-808C, U+8098, U+809D, U+80A1, U+80A5, U+80A9-80AA, U+80AF, U+80B1-80B2, U+80B4, U+80BA, U+80C3, U+80C6, U+80CE, U+80DE, U+80E1, U+80E4, U+80F4, U+80F8, U+8102, U+8105-8107, U+810A, U+811A, U+8131, U+8133, U+8139, U+814E, U+8150, U+8154-8155, U+816B, U+8170, U+8178-817A, U+817F, U+818F, U+819A, U+819C-819D, U+81A8, U+81B3, U+81BF, U+81C6, U+81D3, U+81E3, U+81E5, U+81E8, U+81ED, U+81F3, U+81FC, U+8208, U+820C, U+820E, U+8217-8218, U+821B-821C, U+821E-821F, U+822A, U+822C, U+8235-8237, U+8239, U+8247, U+8266, U+826E, U+8276, U+828B, U+8299, U+829D, U+82A5-82A6, U+82AD, U+82AF, U+82B1, U+82B3, U+82B8-82B9, U+82BD, U+82C5, U+82D1, U+82D3-82D4, U+82D7, U+82DB, U+82E5-82E7, U+82EB, U+8302, U+8304-8305, U+830E, U+831C, U+8328, U+8336, U+8338, U+8349-834A, U+834F, U+8352, U+8358, U+837B, U+839E, U+83AB, U+83B1, U+83C5, U+83CA, U+83CC, U+83D3, U+83D6, U+83DC, U+83DF, U+83E9, U+83EF-83F1, U+8404, U+840C, U+840E, U+8429, U+8431, U+844E, U+845B, U+8461, U+8463, U+8466, U+846C, U+8471, U+8475, U+847A, U+848B, U+8490, U+8494, U+8499, U+849C, U+84B2, U+84B8, U+84BC, U+84C4, U+84C9, U+84CB, U+84D1, U+84EC, U+84EE, U+8500, U+8511, U+8513, U+851A, U+8526, U+852D, U+8535, U+853D, U+8543, U+8549-854A, U+854E, U+8557, U+8568-856A, U+8597, U+8599, U+85A9-85AC, U+85AE-85AF, U+85C1, U+85CD, U+85E4, U+85E9, U+85F7, U+85FB, U+8607, U+862D, U+864E, U+8650, U+865A, U+865C, U+865E, U+8679, U+867B, U+868A, U+8695, U+86A4, U+86C7, U+86CB, U+86CD-86CE, U+86D9, U+86E4, U+86ED-86EE, U+86F8, U+86FE, U+8702, U+8718, U+871C, U+8749, U+874B, U+8755, U+8766, U+8776, U+877F, U+878D, U+87BA, U+87F9, U+87FB, U+8840, U+8846, U+8853, U+8857, U+885B, U+885D, U+8861, U+8863, U+8870, U+8877, U+887F, U+8888, U+888B, U+8896, U+88AB, U+88B4, U+88B7, U+88C1-88C2, U+88C5, U+88CF, U+88DF, U+88E1, U+88F3, U+88F8, U+88FD-88FE, U+8910, U+8912, U+8956, U+895F, U+8972, U+897F, U+8987, U+8997, U+8A02, U+8A0A, U+8A0E, U+8A13, U+8A17, U+8A1F, U+8A23, U+8A34, U+8A3B, U+8A50-8A51, U+8A54, U+8A60, U+8A63, U+8A69, U+8A6B, U+8A6E, U+8A71, U+8A87, U+8A89, U+8A8C, U+8A93, U+8A95, U+8AA0, U+8AA4, U+8AB2, U+8AB9, U+8ABC, U+8ACC, U+8ACF, U+8AD2, U+8AD6, U+8ADC, U+8AED-8AEE, U+8AF8, U+8AFA, U+8AFE, U+8B00-8B02, U+8B04, U+8B0E, U+8B19, U+8B1B, U+8B1D, U+8B21, U+8B2C, U+8B39, U+8B5C, U+8B66, U+8B70, U+8B72, U+8B83, U+8B90, U+8C37, U+8C46, U+8C4A, U+8C5A, U+8C6A, U+8C79, U+8C8C, U+8C9D-8C9E, U+8CA1-8CA2, U+8CA7-8CA9, U+8CAB, U+8CAF-8CB0, U+8CB4, U+8CB7-8CB8, U+8CBB, U+8CBF-8CC0, U+8CC2-8CC4, U+8CC7, U+8CCA, U+8CCE, U+8CD1, U+8CD3, U+8CDB-8CDC, U+8CDE, U+8CE0, U+8CE2, U+8CE6, U+8CED, U+8CFC, U+8D08, U+8D0B, U+8D64, U+8D66, U+8D6B, U+8D74, U+8DA3, U+8DA8, U+8DDD, U+8DE1, U+8DE8, U+8DF3, U+8DF5, U+8E0A, U+8E44, U+8E5F, U+8E74, U+8E8D, U+8EAF, U+8ECA, U+8ECC-8ECD, U+8ED2, U+8EDF, U+8EF8, U+8F14, U+8F1D, U+8F29-8F2A, U+8F2F, U+8F38, U+8F3F, U+8F44, U+8F4D, U+8F5F, U+8F61, U+8F9B, U+8F9E, U+8FB0-8FB2, U+8FBB, U+8FBF, U+8FC2, U+8FC4-8FC5, U+8FCE, U+8FE6, U+8FE9, U+8FEB, U+8FED, U+8FF0, U+8FF7, U+9003, U+9010, U+9013, U+9017, U+9019, U+901D, U+9022, U+902E, U+9038, U+903C, U+9041-9042, U+9047, U+904A, U+904D, U+9054, U+905C, U+9060-9061, U+9063, U+9065, U+906D-906E, U+9075, U+907A, U+907C, U+9084, U+9091, U+90A3, U+90A6, U+90AA, U+90B8, U+90C1, U+90CA, U+90CE, U+90E1, U+90ED, U+90F5, U+90F7, U+90FD, U+912D, U+9149, U+914B-914C, U+914E, U+9152, U+9154, U+9162, U+916A, U+916C, U+9175, U+9177-9178, U+9187, U+918D, U+9190, U+9192, U+9197, U+919C, U+91A4, U+91B8, U+91C6-91C7, U+91CC, U+91CE, U+91D1, U+91D8, U+91DC, U+91E3, U+91E6-91E7, U+920D-920E, U+9234, U+9237, U+9244, U+925B, U+9262, U+9266, U+9271, U+927E, U+9280, U+9283, U+9285, U+9291, U+9298, U+929A, U+92AD, U+92D2, U+92E4, U+92EA, U+92ED, U+92F2-92F3, U+92F8, U+92FC, U+9306, U+9310, U+9318, U+9320, U+9326, U+9328, U+932B-932C, U+932F, U+934B, U+934D, U+9354, U+935B, U+936C, U+937E, U+938C, U+9396-9397, U+939A, U+93A7, U+93AE, U+93D1, U+93E1, U+9418-9419, U+9438, U+9451, U+9453, U+9580, U+9583, U+958F, U+9591, U+95A3-95A5, U+95C7, U+95D8, U+961C, U+962A, U+963B, U+963F-9640, U+9644, U+965B, U+9662-9663, U+9665, U+966A, U+9670, U+9673, U+9675-9676, U+9678, U+967D, U+9685-9686, U+9688, U+968A, U+968F, U+9699, U+96A3, U+96B7, U+96BB-96BC, U+96C0-96C1, U+96C4-96C5, U+96C7, U+96CC, U+96D1, U+96DB, U+96E2-96E3, U+96E8, U+96EA-96EB, U+96F0, U+96F2, U+96F6-96F7, U+96FB, U+9700, U+9707, U+970A, U+971C, U+971E, U+9727, U+9732, U+9752, U+9756, U+9769, U+976D, U+9774, U+9784, U+978D, U+9798, U+97A0, U+97AD, U+97D3, U+97EE, U+97FB, U+9801-9803, U+9810-9813, U+9817, U+981A, U+982C, U+9834, U+983B, U+984D-984E, U+9854-9855, U+985B, U+9867, U+98A8, U+98E2, U+98EF, U+98F2, U+98F4, U+98FC-98FD, U+9905, U+990A, U+990C, U+9910, U+9913, U+9928, U+9957, U+9996, U+9999, U+99A8, U+99AC, U+99B3-99B4, U+99C1, U+99C5, U+99C8, U+99D0, U+99D2, U+99D5, U+99FF, U+9A0E, U+9A12-9A13, U+9A28, U+9A30, U+9A5A, U+9AA8, U+9AB8, U+9AC4, U+9AEA, U+9B3C, U+9B41-9B42, U+9B45, U+9B54, U+9B5A, U+9B6F, U+9B8E, U+9B92, U+9BAA-9BAB, U+9BAD-9BAE, U+9BC9, U+9BD6, U+9BDB, U+9BE8, U+9BF5, U+9C0D, U+9C10, U+9C2D, U+9C2F, U+9C39, U+9C3B, U+9C48, U+9C52, U+9C57, U+9CE5, U+9CE9, U+9CF3-9CF4, U+9CF6, U+9D07, U+9D0E, U+9D1B, U+9D28, U+9D2B-9D2C, U+9D3B, U+9D5C, U+9D60-9D61, U+9D6C, U+9D8F, U+9DB4, U+9DF2, U+9DF9-9DFA, U+9E78, U+9E7F, U+9E93, U+9E97, U+9E9F, U+9EA6, U+9EB9-9EBB, U+9EBF, U+9EC4, U+9ECD, U+9ED2, U+9ED9, U+9EDB, U+9F0E, U+9F13, U+9F20, U+9F3B, U+9F8D;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-k2a.47f1e43d.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E10, U+4E15, U+4E17, U+4E2A, U+4E31, U+4E36, U+4E3C, U+4E3F, U+4E42, U+4E55-4E56, U+4E58, U+4E62, U+4E82, U+4E85, U+4E8A, U+4E8E, U+4E9E-4EA0, U+4EA2, U+4EB0, U+4EB3, U+4EB6, U+4EC2, U+4EC4, U+4EC6, U+4ECD-4ECE, U+4ED7, U+4EDE-4EDF, U+4EED, U+4EF7, U+4F09, U+4F1C, U+4F30, U+4F47, U+4F57, U+4F5A-4F5B, U+4F5D-4F5E, U+4F69, U+4F6F-4F70, U+4F76, U+4F7B, U+4F86, U+4F88, U+4F8F, U+4F91, U+4F96, U+4F98, U+4FAB, U+4FCE, U+4FD0-4FD1, U+4FD4, U+4FD8, U+4FDA-4FDB, U+4FDF, U+4FE4-4FE5, U+4FEF, U+4FF6, U+4FFE, U+5005-5006, U+500F, U+5011, U+5014, U+501A, U+5021, U+5025, U+5028-502A, U+502C, U+5043, U+5047-5048, U+5050, U+5055-5056, U+505A, U+506C, U+5078, U+5080, U+5085, U+509A, U+50B2-50B4, U+50C2, U+50C9-50CA, U+50D6, U+50DE, U+50E3, U+50E5, U+50ED-50EE, U+50F5, U+50F9, U+5101-5102, U+5109, U+5114-5116, U+5118, U+511A, U+5121, U+5137, U+513A-513C, U+513F-5140, U+514C, U+5152, U+5154, U+5162, U+5169-516A, U+516E, U+5180, U+5182, U+5189, U+518C, U+518F-5191, U+5193, U+5195-5196, U+51A2, U+51A4, U+51A6, U+51A9-51AB, U+51B0-51B3, U+51B5, U+51BD, U+51C5, U+51C9, U+51D6, U+51DB-51DC, U+51E0, U+51E9, U+51ED, U+51F0, U+51F5, U+51FE, U+5204, U+520B, U+520E, U+5214, U+5227, U+522A, U+522E, U+5233, U+5239, U+5244, U+524B-524C, U+524F, U+5254, U+525E, U+5269-526A, U+5271, U+5273-5274, U+527D, U+527F, U+5288, U+528D, U+5291-5292, U+5294, U+52AC-52AD, U+52B5, U+52BC, U+52C1, U+52CD, U+52D2, U+52D7, U+52DE, U+52E0, U+52E3, U+52E6, U+52F3, U+52F5, U+52F8-52F9, U+5306, U+5308, U+530D, U+530F-5310, U+5315, U+531A, U+5323, U+532F, U+5331, U+5333, U+5338, U+5340, U+5345-5346, U+5349, U+534D, U+535E, U+5369, U+536E, U+5377, U+537B, U+5382, U+5396, U+53A0, U+53A5-53A6, U+53AE, U+53B0, U+53B6, U+53C3, U+53DF, U+53E8, U+53ED-53EE, U+53FA, U+5401, U+541D, U+5429, U+542C-542E, U+5436, U+543C-543D, U+5440, U+544E, U+545F, U+5470-5471, U+5475-5477, U+547B, U+5480, U+5484, U+5486, U+548E-5490, U+5492, U+54A2, U+54A4-54A5, U+54A8, U+54AB-54AC, U+54AF, U+54B8, U+54BC, U+54BE, U+54C2, U+54C4, U+54C7-54C8, U+54D8, U+54E2, U+54E5-54E6, U+54ED-54EE, U+54FA, U+54FD, U+550F, U+5514, U+552E, U+5533, U+5538-5539, U+5540, U+5545, U+554C, U+5556-5557, U+555C-555D, U+5563, U+557B-557C, U+557E, U+5580, U+5583, U+5587, U+558A, U+5598-5599, U+559E-559F, U+55A8-55A9, U+55AE, U+55C4-55C5, U+55C7, U+55D4, U+55DA, U+55DC, U+55DF, U+55E4, U+55F7, U+55F9, U+55FD-55FE, U+5614, U+5616, U+561B, U+562F, U+5632, U+5634, U+5636, U+5638, U+564E, U+5650, U+5664, U+566A-566C, U+5680, U+5686, U+568A, U+568F, U+5694, U+56A0, U+56A5, U+56AE, U+56B4, U+56B6, U+56BC, U+56C0-56C3, U+56C8, U+56CE, U+56D1, U+56D3, U+56D7-56D8, U+56EE, U+56F9, U+56FF-5700, U+5704, U+5708-5709, U+570B, U+570D, U+5713, U+5716, U+5718, U+571C, U+5726, U+5737-5738, U+573B, U+5740, U+574E-574F, U+5761, U+5769, U+577F, U+5788-5789, U+5793, U+57A0, U+57A4, U+57AA, U+57B0, U+57B3, U+57C0, U+57C3, U+57C6, U+57D2-57D4, U+57D6, U+57E3, U+580A-580B, U+5819, U+581D, U+5821, U+582F, U+583D, U+584B, U+5852, U+5862, U+5870, U+5872, U+5879, U+5885, U+589F, U+58AB, U+58AE, U+58B8-58BB, U+58C5, U+58D1, U+58D3, U+58D7-58D9, U+58DC, U+58DE-58DF, U+58E4-58E5, U+58EF, U+58F9-58FD, U+5902, U+590A, U+5910, U+5918, U+591B, U+5925, U+592C-592D, U+5932, U+5938, U+593E, U+594E, U+5950, U+5955, U+5958, U+595A, U+5960, U+5962, U+5967, U+5969, U+596C, U+5978, U+5981, U+598D, U+599B, U+599D, U+59A3, U+59B2, U+59C6, U+59D9-59DA, U+59DC, U+59E8, U+5A09, U+5A11, U+5A1A, U+5A1C, U+5A1F, U+5A25, U+5A35-5A36, U+5A40, U+5A49, U+5A62, U+5A6A, U+5A6C, U+5A9A, U+5ABC-5ABE, U+5AC2, U+5ACB, U+5AD0, U+5AD6-5AD7, U+5AE3, U+5AE6, U+5AE9, U+5AFA-5AFB, U+5B0B-5B0C, U+5B16, U+5B2A, U+5B32, U+5B36, U+5B3E, U+5B40, U+5B43, U+5B45, U+5B51, U+5B55, U+5B5A-5B5B, U+5B65, U+5B69, U+5B70-5B71, U+5B73, U+5B75, U+5B78, U+5B7A, U+5B80, U+5B83, U+5BA6, U+5BB8, U+5BC3, U+5BC7, U+5BC9, U+5BD0, U+5BD4, U+5BDE, U+5BE2, U+5BE4-5BE6, U+5BE8, U+5BEB, U+5BF0, U+5BF3, U+5BF6, U+5C05, U+5C07-5C08, U+5C0D, U+5C13, U+5C20, U+5C22, U+5C28, U+5C38-5C39, U+5C41, U+5C46, U+5C4E-5C50, U+5C53, U+5C6C, U+5C6E, U+5C76, U+5C79, U+5C8C, U+5C91, U+5C94, U+5CAB, U+5CB6-5CB7, U+5CBB-5CBC, U+5CBE, U+5CC5, U+5CC7, U+5CD9, U+5CE9-5CEA, U+5CED, U+5CFA, U+5CFD, U+5D0B, U+5D11, U+5D14-5D15, U+5D17-5D1B, U+5D1F, U+5D22, U+5D4B-5D4C, U+5D4E, U+5D52, U+5D5C, U+5D6C, U+5D73, U+5D76, U+5D82, U+5D84, U+5D87, U+5D8C, U+5D90, U+5D9D, U+5DA2, U+5DAC, U+5DAE, U+5DB7, U+5DBC-5DBD, U+5DC9, U+5DCD, U+5DD2-5DD3, U+5DD6, U+5DDB, U+5DEB, U+5DF2, U+5DF5, U+5E0B, U+5E11, U+5E19-5E1B, U+5E36-5E37, U+5E40, U+5E43-5E44, U+5E47, U+5E4E, U+5E54, U+5E57, U+5E5F, U+5E62, U+5E64, U+5E75-5E76, U+5E7A, U+5E7F, U+5EA0, U+5EC1-5EC2, U+5EC8, U+5ECF-5ED0, U+5ED6, U+5EDA-5EDB, U+5EDD, U+5EE1-5EE3, U+5EE8-5EE9, U+5EEC, U+5EF0-5EF1, U+5EF3-5EF4, U+5EF8, U+5EFE, U+5F03, U+5F09, U+5F0B-5F0D, U+5F11, U+5F16, U+5F29, U+5F2D, U+5F2F, U+5F38, U+5F41, U+5F48, U+5F4C, U+5F4E, U+5F51, U+5F56-5F57, U+5F59, U+5F5C-5F5D, U+5F61, U+5F6D, U+5F73, U+5F77, U+5F7F, U+5F82-5F83, U+5F87-5F88, U+5F8A, U+5F91, U+5F98-5F99, U+5F9E, U+5FA0, U+5FA8, U+5FAD, U+5FBC, U+5FD6, U+5FDD, U+5FE4, U+5FF0-5FF1, U+5FF8, U+5FFB, U+5FFF, U+600E-6010, U+6015, U+6019, U+601B, U+6021, U+6026, U+6029, U+602B, U+6031, U+603A, U+6041-6043, U+6046, U+604A, U+604D, U+6059-605A, U+605F-6060, U+6063-6064, U+606A-606C, U+6077, U+6081, U+6083-6084, U+608B, U+608D, U+6092, U+6096-6097, U+609A-609B, U+60A7, U+60B3-60B5, U+60B8, U+60BD, U+60C6, U+60D3, U+60D8, U+60E0-60E1, U+60E7, U+60F1, U+60F4, U+60F6-60F7, U+60FA-60FB, U+6100, U+6103, U+6106, U+610D-610E, U+6115, U+6121, U+6127-6128, U+612C, U+6134, U+613C-613F, U+6142, U+6144, U+6147, U+614A, U+614D, U+6153, U+6158-615A, U+615D, U+615F, U+6165, U+616B, U+616F, U+6171, U+6173-6175, U+6177, U+6187, U+618A, U+6191, U+6194, U+6196, U+6199-619A, U+61AB-61AC, U+61AE, U+61BA, U+61C3, U+61C6, U+61C8-61CD, U+61E3, U+61E6, U+61F4, U+61F6-61F7, U+61FA, U+61FC-6200, U+6208-6209, U+620C-620D, U+6214, U+621B, U+621D-621E, U+6221, U+622A, U+622E, U+6230, U+6232-6233, U+6241, U+6248, U+624E, U+625B, U+625E, U+6260, U+6263, U+6268, U+627C, U+627E, U+6282-6283, U+6289, U+6292-6294, U+6296, U+629B, U+62AC, U+62BB, U+62C2, U+62C6-62CA, U+62CC, U+62CF, U+62D1, U+62D4, U+62D7, U+62DC, U+62EE-62EF, U+62F1, U+62F5, U+62FF, U+6302, U+6308, U+630C, U+6327, U+633E, U+634D, U+634F-6350, U+6369, U+636B, U+6376, U+6380, U+6389, U+638E-638F, U+6396, U+639F, U+63A3, U+63AB, U+63B5, U+63BE, U+63C0, U+63C4, U+63C6, U+63C9, U+63D2, U+63E3, U+63E9, U+63F6, U+6406, U+640F, U+6413, U+6416-6417, U+641C, U+6426, U+6428, U+6434, U+6436, U+644E, U+6467, U+646F, U+6476, U+6488, U+6493, U+6495, U+64A5, U+64A9, U+64BB-64BC, U+64C2, U+64C5, U+64C7, U+64D2, U+64D4, U+64D8, U+64DA, U+64E0-64E1, U+64E3, U+64E7, U+64EF, U+64F1-64F2, U+64F4, U+64F6, U+64FA, U+64FD, U+6500, U+6505, U+6518, U+651C-651D, U+6523-6524, U+652A-652C, U+6534-6538, U+6548, U+654D, U+6555-6556, U+6558, U+655D-655E, U+6572, U+6578, U+6582-6583, U+6588, U+659B, U+659F, U+65AB, U+65B7, U+65C1, U+65C3-65C4, U+65C6, U+65CC, U+65D2, U+65D9, U+65DB, U+65E0-65E1, U+65F1, U+65FB, U+6603, U+660A, U+661C, U+6634-6636, U+663F, U+6641, U+6644, U+6649, U+664F, U+665D-665F, U+6662, U+6664, U+6667-6668, U+6670, U+6683-6684, U+6688-6689, U+668E, U+6698, U+669D, U+66B8-66B9, U+66BC, U+66BE, U+66C1, U+66C4, U+66C9, U+66D6, U+66DA, U+66E0, U+66E6, U+66E9, U+66F0, U+66F5, U+66F7, U+66FC, U+6703, U+670F, U+6716, U+671E, U+6726-6727, U+672E, U+6736-6738, U+673F, U+6741, U+6746, U+6759, U+675E, U+6760, U+6763-6764, U+676A, U+6770, U+6772-6773, U+677C, U+6785, U+6789, U+678B-678C, U+67A1, U+67A6, U+67A9, U+67B3-67B4, U+67B7-67B9, U+67C6, U+67CE, U+67DD-67DE, U+67E2, U+67E4, U+67E7, U+67E9, U+67EC, U+67EE-67EF, U+681E, U+6829, U+682B, U+6832, U+6840, U+6846, U+684D-684E, U+6859, U+6863, U+6874, U+6877, U+687E-687F, U+6883, U+688D, U+688F, U+6894, U+689B, U+689D, U+689F-68A0, U+68A6, U+68AD, U+68B3, U+68B5, U+68B9-68BA, U+68C6, U+68CA, U+68CD, U+68D4-68D5, U+68D7-68D8, U+68E0-68E1, U+68E3, U+68E7, U+68EF, U+68F9, U+6901, U+6904, U+6908, U+690C, U+690F, U+6912, U+691A, U+6921-6923, U+6925-6926;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-k2b.f37b2454.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6928, U+692A, U+6930, U+6936, U+6939, U+693D, U+6954, U+6959, U+695C-695E, U+6961, U+696A-696B, U+696E, U+6974, U+6977-6979, U+697E, U+6981, U+6991, U+6995, U+699C, U+69A0, U+69A7, U+69AE, U+69B1-69B2, U+69B4, U+69BB, U+69BE-69BF, U+69C1, U+69C3, U+69C7, U+69CA, U+69CE, U+69D0, U+69D3, U+69DD-69DE, U+69E7-69E8, U+69EB, U+69ED, U+69F2, U+69F9, U+69FF, U+6A02, U+6A05, U+6A0A, U+6A0C, U+6A12-6A14, U+6A1B, U+6A1E, U+6A22-6A23, U+6A2E, U+6A36, U+6A38, U+6A44, U+6A47-6A48, U+6A59, U+6A62, U+6A66, U+6A72, U+6A78, U+6A84, U+6A8D, U+6A90, U+6A97, U+6A9C, U+6AA0, U+6AA2-6AA3, U+6AAA, U+6AAC, U+6AAE, U+6AB3, U+6AB8, U+6ABB, U+6AC1-6AC3, U+6AD1, U+6ADA, U+6ADE-6ADF, U+6AEA, U+6AFA-6AFB, U+6B05, U+6B0A, U+6B12, U+6B16, U+6B1F, U+6B37-6B39, U+6B43, U+6B47, U+6B49, U+6B50, U+6B54, U+6B59, U+6B5B, U+6B5F, U+6B61, U+6B78-6B79, U+6B7F-6B80, U+6B83-6B84, U+6B8D, U+6B95, U+6B98, U+6B9E, U+6BA4, U+6BAA-6BAB, U+6BAF, U+6BB1-6BB3, U+6BB7, U+6BBC, U+6BC0, U+6BC6, U+6BCB, U+6BD3, U+6BDF, U+6BEB-6BEC, U+6BEF, U+6BF3, U+6C08, U+6C13-6C14, U+6C1B, U+6C23-6C24, U+6C55, U+6C5E, U+6C62, U+6C68, U+6C6A, U+6C73, U+6C7E, U+6C81-6C82, U+6C8D, U+6C90, U+6C92, U+6C9A-6C9B, U+6CAE, U+6CB1, U+6CBA, U+6CBD-6CBE, U+6CC4-6CC5, U+6CD3, U+6CD7, U+6CD9, U+6CDB, U+6CDD, U+6CEA, U+6CEF, U+6CF1, U+6D0C, U+6D12, U+6D19, U+6D1F, U+6D2B, U+6D33, U+6D35-6D36, U+6D38, U+6D3D, U+6D59-6D5A, U+6D63-6D64, U+6D79, U+6D85, U+6D8E, U+6D93, U+6D95, U+6DB5, U+6DB8, U+6DC5-6DC7, U+6DCC, U+6DD2, U+6DD5, U+6DD9, U+6DDE, U+6DE4, U+6DE6, U+6DE8, U+6DEA, U+6DEC, U+6DEE, U+6DF9-6DFA, U+6E0A, U+6E15, U+6E19, U+6E1D, U+6E1F, U+6E23-6E24, U+6E2B, U+6E2D-6E2E, U+6E38, U+6E3A, U+6E3E, U+6E43, U+6E4D-6E4E, U+6E5F, U+6E6B, U+6E6E, U+6E72, U+6E76, U+6E82, U+6E8F, U+6E98, U+6E9F, U+6EA5, U+6EAA, U+6EAF, U+6EB2, U+6EB7, U+6EBD, U+6EC2, U+6EC4, U+6EC9, U+6ECC, U+6ED3-6ED5, U+6EEC, U+6EEF, U+6EF2, U+6EF7-6EF8, U+6EFE-6EFF, U+6F11, U+6F13, U+6F31-6F32, U+6F3E-6F3F, U+6F41, U+6F58, U+6F5B, U+6F66, U+6F6D, U+6F6F, U+6F74, U+6F78, U+6F7A, U+6F7C, U+6F80-6F82, U+6F86, U+6F8E, U+6F91, U+6FA1, U+6FA3-6FA4, U+6FAA, U+6FB3, U+6FB9, U+6FC2, U+6FC6, U+6FD4-6FD5, U+6FD8, U+6FDB, U+6FDF, U+6FE4, U+6FEC, U+6FEE, U+6FF1, U+6FF3, U+6FF6, U+6FFA, U+6FFE, U+7001, U+7009, U+700B, U+700F, U+7011, U+7018, U+701A-701B, U+701D, U+701F, U+7030, U+7032, U+703E, U+704C, U+7051, U+7063, U+7092, U+7099, U+70AC, U+70AE-70AF, U+70B3, U+70B8, U+70CB, U+70D9, U+70DD, U+70DF, U+70F1, U+70FD, U+7109, U+7119, U+711C, U+714C, U+7155-7156, U+7162, U+7165-7166, U+716C, U+7184, U+7188, U+718F, U+7195, U+7199, U+71A8, U+71AC, U+71B9, U+71BE, U+71C9, U+71CE, U+71D2, U+71D4, U+71D7, U+71DF-71E0, U+71E7, U+71EC, U+71EE, U+71F5, U+71F9, U+71FB-71FC, U+71FF, U+720D, U+7210, U+721B, U+7228, U+722C-722D, U+7230, U+7232, U+723B-723C, U+723F-7240, U+7246, U+724B, U+7258, U+7274, U+727E, U+7281-7282, U+7287, U+7292, U+7296, U+72A2, U+72A7, U+72B2, U+72B9, U+72C3-72C4, U+72C6, U+72CE, U+72D2, U+72E0-72E2, U+72F7, U+72F9, U+730A, U+7316-7317, U+731C-731D, U+7325, U+7329, U+732F, U+7334, U+733E, U+734E-734F, U+7357, U+7368, U+736A, U+7370, U+7375, U+7378, U+737A-737B, U+73B3, U+73BB, U+73C0, U+73C8, U+73CE, U+73DE, U+73E5, U+73EE, U+73F1, U+73F8, U+7405, U+7425, U+7432, U+743A, U+743F, U+7441, U+7455, U+7459, U+745C, U+745F, U+7463-7464, U+7469-746A, U+746F-7470, U+7476, U+747E, U+748B, U+749E, U+74A2, U+74A7, U+74CA, U+74CF, U+74D4, U+74E0, U+74E3, U+74E7, U+74E9, U+74EE, U+74F0-74F2, U+74F7-74F8, U+7503-7505, U+750C-750E, U+7513, U+7515, U+751E, U+7526, U+752C, U+7538, U+753C, U+7544, U+7546, U+7549-754B, U+754D, U+755A-755B, U+7564, U+7567, U+7569, U+756B, U+756D, U+7574, U+7576, U+7578, U+7582, U+7586-7587, U+7589-758A, U+7594, U+759A, U+759D, U+75A3, U+75A5, U+75B1, U+75B3, U+75B5, U+75B8, U+75BC-75BD, U+75C2-75C3, U+75CA, U+75CD, U+75D2, U+75D9, U+75DE, U+75E3, U+75F0, U+75F2-75F3, U+75FA, U+75FC, U+75FE-75FF, U+7601, U+7609, U+760B, U+760D, U+761F-7622, U+7624, U+7627, U+7630, U+7634, U+763B, U+7646-7648, U+7658, U+765C, U+7661-7662, U+7667-766A, U+766C, U+7670, U+7672, U+7676, U+7678, U+767C, U+7680, U+7683, U+7688, U+768B, U+768E, U+7693, U+7696, U+7699-769A, U+76B0, U+76B4, U+76B7-76BA, U+76C2, U+76CD, U+76D2, U+76D6, U+76DC, U+76DE, U+76E1, U+76E5, U+76E7, U+76EA, U+76FB, U+7704, U+7707-7708, U+771B, U+771E, U+7724-7726, U+7729, U+7737-7738, U+7747, U+775A-775B, U+7765, U+7768, U+776B, U+7779, U+777E-777F, U+778B, U+778E, U+7791, U+779E, U+77A0, U+77B0, U+77B6, U+77B9, U+77BB-77BD, U+77BF, U+77C7, U+77CD, U+77D7, U+77DA, U+77DC, U+77E3, U+77EE, U+77FC, U+780C, U+7812, U+7820, U+7845, U+7874, U+787C, U+7886, U+788C, U+788E, U+789A, U+78A3, U+78AA, U+78AF, U+78B5, U+78BC, U+78BE, U+78C5-78C6, U+78CA-78CB, U+78D1, U+78D4, U+78DA, U+78E7, U+78EC, U+78F4, U+78FD, U+7907, U+7911-7912, U+7919, U+7926, U+792A-792C, U+7940, U+7953, U+7955, U+7957, U+795A, U+795F-7960, U+797A, U+797F-7980, U+798A, U+799D, U+79A7, U+79AA, U+79AE, U+79B3, U+79B9-79BA, U+79C9, U+79D5, U+79E1, U+79E3, U+79E7, U+79EC, U+7A08, U+7A0D, U+7A18-7A19, U+7A1F-7A20, U+7A31, U+7A37, U+7A3B, U+7A3E, U+7A43, U+7A49, U+7A57, U+7A61-7A62, U+7A69, U+7A70, U+7A79, U+7A7D, U+7A88, U+7A95-7A98, U+7AA9, U+7AB0, U+7AB6, U+7ABF, U+7AC4-7AC5, U+7AC7-7AC8, U+7ACA, U+7ACD, U+7ACF, U+7AD2-7AD3, U+7AD5, U+7AD9-7ADA, U+7ADD, U+7ADF, U+7AE1-7AE2, U+7AE6, U+7AED, U+7AF0, U+7AF8, U+7B02, U+7B04, U+7B06, U+7B0A-7B0B, U+7B0F, U+7B18-7B19, U+7B1E, U+7B28, U+7B33, U+7B35-7B36, U+7B45, U+7B4C-7B4D, U+7B50, U+7B5D, U+7B65, U+7B67, U+7B6C, U+7B6E, U+7B70-7B71, U+7B74-7B75, U+7B7A, U+7B8B, U+7B8D, U+7B8F, U+7B92, U+7B98-7B9A, U+7B9C-7B9D, U+7B9F, U+7BB4, U+7BC1, U+7BC6, U+7BCB-7BCC, U+7BCF, U+7BDD, U+7BE5-7BE6, U+7BE9, U+7BF3, U+7BF6-7BF7, U+7C00, U+7C07, U+7C0D, U+7C11-7C14, U+7C17, U+7C1F, U+7C23, U+7C27, U+7C2A-7C2B, U+7C37, U+7C3D, U+7C40, U+7C43, U+7C4C, U+7C4F-7C50, U+7C54, U+7C56, U+7C58, U+7C5F-7C60, U+7C64-7C65, U+7C6C, U+7C75, U+7C83, U+7C90, U+7CA1-7CA2, U+7CA4, U+7CA8, U+7CAB, U+7CAD-7CAE, U+7CB1-7CB3, U+7CB9, U+7CBD, U+7CC0, U+7CC2, U+7CC5, U+7CD2, U+7CD8, U+7CDC, U+7CE2, U+7CEF, U+7CF2, U+7CF4, U+7CF6, U+7CFA, U+7D02, U+7D06, U+7D0A, U+7D15, U+7D1C, U+7D2E, U+7D32, U+7D35, U+7D3F, U+7D45-7D46, U+7D4B, U+7D4E-7D4F, U+7D56, U+7D5B, U+7D63, U+7D68, U+7D6E, U+7D72-7D73, U+7D7D, U+7D89, U+7D8F, U+7D93, U+7D9B, U+7D9F, U+7DA2-7DA3, U+7DAB, U+7DAE-7DB0, U+7DB5, U+7DB8, U+7DBA, U+7DBD, U+7DC7, U+7DD5, U+7DD8, U+7DDC-7DDE, U+7DE1, U+7DE4, U+7DF2, U+7DFB, U+7E05, U+7E09-7E0B, U+7E12, U+7E1F, U+7E21-7E23, U+7E31-7E32, U+7E35, U+7E37, U+7E39-7E3B, U+7E3D, U+7E43, U+7E46, U+7E56, U+7E59-7E5A, U+7E5D-7E5E, U+7E66-7E67, U+7E69-7E6A, U+7E79, U+7E7B-7E7D, U+7E7F, U+7E83, U+7E88-7E89, U+7E8C, U+7E8E, U+7E90, U+7E92-7E94, U+7E96, U+7E9B-7E9C, U+7F38, U+7F3A, U+7F45, U+7F4C-7F4E, U+7F50-7F51, U+7F54-7F55, U+7F58, U+7F5F-7F60, U+7F67-7F69, U+7F78-7F79, U+7F82-7F83, U+7F86-7F88, U+7F8C, U+7F94, U+7F9A, U+7F9D-7F9E, U+7FA3, U+7FAE-7FAF, U+7FB2, U+7FB6, U+7FB8-7FB9, U+7FC5-7FC6, U+7FCA, U+7FD4-7FD5, U+7FE1, U+7FE6, U+7FE9, U+7FF3, U+7FF9, U+8004, U+8006, U+800B, U+8012, U+8018-8019, U+801C, U+8021, U+8028, U+803B, U+803F, U+8046, U+804A, U+8052, U+8058, U+805A, U+805F, U+8062, U+8068, U+8070, U+8072-8073, U+8076, U+8079, U+807D, U+807F, U+8084-8086, U+8093, U+809A-809B, U+80AC-80AD, U+80C4, U+80D6, U+80D9-80DB, U+80DD, U+80E5, U+80EF, U+80F1, U+80FC, U+8109, U+811B, U+8123, U+8129, U+812F, U+813E, U+8146, U+814B, U+8151, U+8153, U+815F, U+8165-8166, U+816E, U+8171, U+8174, U+8180, U+8182-8183, U+8188, U+818A, U+8193, U+8195, U+81A0, U+81A3-81A4, U+81A9, U+81B0, U+81B5, U+81B8, U+81BA, U+81BD-81BE, U+81C0, U+81C2, U+81C8-81C9, U+81CD, U+81D1, U+81D8-81DA, U+81DF-81E0, U+81E7, U+81FA-81FB, U+81FE, U+8201-8202, U+8205, U+8207, U+8209-820A, U+820D, U+8210, U+8212, U+8216, U+8229, U+822B, U+822E, U+8233, U+8238, U+8240, U+8258-825A, U+825D, U+825F, U+8262, U+8264, U+8268, U+826A-826B, U+8271, U+8277-8278, U+827E, U+828D, U+8292, U+829F, U+82AB-82AC, U+82BB, U+82D2, U+82D9, U+82DC, U+82DE-82DF, U+82E1, U+82E3, U+82F3-82F4, U+82F9-82FB, U+8303, U+8306, U+8309, U+8316-8318, U+8323, U+832B, U+832F, U+8331-8332, U+8334-8335, U+8339, U+8340, U+8345, U+8350, U+8373, U+8375, U+837C, U+8385;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Rg-k2c.318b1516.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8387, U+8389-838A, U+838E, U+8393, U+8396, U+839A, U+839F-83A0, U+83A2, U+83A8, U+83AA, U+83B5, U+83BD, U+83C1, U+83CE, U+83D8, U+83E0, U+83EB, U+83F2, U+83F4, U+83F7, U+83FB, U+83FD, U+8403, U+8407, U+840B, U+840D, U+8413, U+8420, U+8422, U+842A, U+842C, U+8435, U+8438, U+843C, U+8446, U+8462, U+8469, U+846B, U+846D-846F, U+8477, U+8479, U+8482, U+8484, U+849F, U+84A1, U+84AD, U+84B9, U+84BB, U+84BF, U+84C1, U+84C6, U+84CA, U+84CD, U+84D0, U+84D6, U+84D9-84DA, U+84F4, U+84FC, U+84FF, U+8506, U+8514-8515, U+8517-8518, U+851F, U+8521, U+852C, U+8540-8541, U+8548, U+854B, U+8555, U+8558, U+855A, U+8563, U+856D, U+8577, U+857E, U+8580, U+8587-8588, U+858A, U+8590-8591, U+8594, U+859B-859C, U+85A4, U+85A8, U+85B9-85BA, U+85C9, U+85CF-85D0, U+85D5, U+85DC-85DD, U+85E5, U+85EA, U+85F9-85FA, U+85FE, U+8602, U+8606, U+860A-860B, U+8613, U+8616-8617, U+861A, U+8622, U+862F-8630, U+863F, U+864D, U+8654-8655, U+865F, U+8667, U+8671, U+868B-868C, U+8693, U+86A3, U+86A9-86AB, U+86AF-86B0, U+86B6, U+86C4, U+86C6, U+86C9, U+86D4, U+86DB, U+86DE-86DF, U+86E9, U+86EC, U+86EF, U+86F9, U+86FB, U+8700, U+8703, U+8706, U+8708-870A, U+870D, U+8711-8712, U+871A, U+8725, U+8729, U+8734, U+8737, U+873B, U+873F, U+874C, U+874E, U+8753, U+8757, U+8759, U+875F-8760, U+8763, U+8768, U+876A, U+876E, U+8774, U+8778, U+8782, U+879F, U+87A2, U+87AB, U+87AF, U+87B3, U+87BB, U+87BD, U+87C0, U+87C4, U+87C6-87C7, U+87CB, U+87D0, U+87D2, U+87E0, U+87EF, U+87F2, U+87F6-87F7, U+87FE, U+8805, U+880D-880F, U+8811, U+8815-8816, U+8821-8823, U+8827, U+8831, U+8836, U+8839, U+883B, U+8842, U+8844, U+884D, U+8852, U+8859, U+885E, U+8862, U+886B, U+8872, U+8875, U+887D-887E, U+8881-8882, U+888D, U+8892, U+8897, U+8899, U+889E, U+88A2, U+88A4, U+88AE, U+88B0-88B1, U+88B5, U+88BF, U+88C3-88C4, U+88D4, U+88D8-88D9, U+88DD, U+88E8, U+88F2, U+88F4, U+88F9, U+88FC, U+8902, U+8904, U+890A, U+890C, U+8913, U+891D-891E, U+8925, U+892A-892B, U+8936, U+8938, U+893B, U+8941, U+8943-8944, U+894C-894D, U+895E, U+8960, U+8964, U+8966, U+896A, U+896D, U+896F, U+8974, U+8977, U+897E, U+8983, U+8988, U+898A, U+8993, U+8998, U+89A1, U+89A6, U+89A9, U+89AC, U+89AF, U+89B2, U+89BA, U+89BD, U+89BF-89C0, U+89DA, U+89DC-89DD, U+89E7, U+89F4, U+89F8, U+8A03, U+8A0C, U+8A10, U+8A16, U+8A1B, U+8A1D, U+8A25, U+8A36, U+8A41, U+8A46, U+8A48, U+8A52, U+8A5B, U+8A62, U+8A6C-8A6D, U+8A7C, U+8A82, U+8A84-8A85, U+8A91, U+8A9A, U+8AA1, U+8AA3, U+8AA5-8AA6, U+8AA8, U+8AC2, U+8AC4, U+8ACD, U+8ADA-8ADB, U+8ADE, U+8AE0-8AE2, U+8AE4, U+8AE7, U+8AEB, U+8AF1, U+8AF3, U+8AF7, U+8B07, U+8B0C, U+8B10, U+8B14, U+8B16-8B17, U+8B1A, U+8B20, U+8B26, U+8B28, U+8B2B, U+8B33, U+8B3E, U+8B41, U+8B49, U+8B4C, U+8B4E-8B4F, U+8B56, U+8B5A-8B5B, U+8B5F, U+8B6B-8B6C, U+8B6F, U+8B71, U+8B74, U+8B7D, U+8B80, U+8B8A, U+8B8C, U+8B8E, U+8B92-8B93, U+8B96, U+8B99-8B9A, U+8C3A, U+8C3F, U+8C41, U+8C48, U+8C4C, U+8C4E, U+8C50, U+8C55, U+8C62, U+8C6B-8C6C, U+8C78, U+8C7A, U+8C7C, U+8C82, U+8C85, U+8C89-8C8A, U+8C8D-8C8E, U+8C94, U+8C98, U+8CAA, U+8CAD-8CAE, U+8CB2-8CB3, U+8CB6, U+8CBD, U+8CC1, U+8CC8, U+8CCD, U+8CDA, U+8CE3-8CE4, U+8CFA-8CFB, U+8CFD, U+8D04-8D05, U+8D07, U+8D0A, U+8D0D, U+8D0F-8D10, U+8D13-8D14, U+8D16, U+8D67, U+8D6D, U+8D71, U+8D73, U+8D81, U+8D99, U+8DBA, U+8DBE, U+8DC2, U+8DCB-8DCC, U+8DCF, U+8DD6, U+8DDA-8DDB, U+8DDF, U+8DE3, U+8DEA-8DEB, U+8DFC, U+8DFF, U+8E08-8E09, U+8E10, U+8E1D-8E1F, U+8E2A, U+8E30, U+8E34-8E35, U+8E42, U+8E47-8E4A, U+8E4C, U+8E50, U+8E55, U+8E59, U+8E60, U+8E63-8E64, U+8E72, U+8E76, U+8E7C, U+8E81, U+8E84-8E85, U+8E87, U+8E8A-8E8B, U+8E91, U+8E93-8E94, U+8E99, U+8EA1, U+8EAA, U+8EAC, U+8EB0-8EB1, U+8EBE, U+8EC5-8EC6, U+8EC8, U+8ECB, U+8EDB, U+8EE3, U+8EEB, U+8EFB-8EFC, U+8EFE, U+8F05, U+8F0A, U+8F0C, U+8F12-8F13, U+8F15, U+8F19, U+8F1B-8F1C, U+8F1F, U+8F26, U+8F33, U+8F39, U+8F3B, U+8F3E, U+8F42, U+8F45-8F46, U+8F49, U+8F4C, U+8F4E, U+8F57, U+8F5C, U+8F62-8F64, U+8F9C, U+8F9F, U+8FA3, U+8FA7-8FA8, U+8FAD-8FAF, U+8FB7, U+8FDA, U+8FE2, U+8FE5, U+8FEA, U+8FEF, U+8FF4, U+8FF8-8FFA, U+9005, U+900B, U+900D-900E, U+9011, U+9015-9016, U+901E, U+9021, U+9027, U+9035-9036, U+9039, U+903E, U+9049, U+904F-9052, U+9056, U+9058-9059, U+905E, U+9068, U+906F, U+9072, U+9076, U+907D, U+9080-9083, U+9087, U+9089-908A, U+908F, U+90A8, U+90AF, U+90B1, U+90B5, U+90DB, U+90E2, U+90E4, U+9102, U+9112, U+9119, U+9130, U+9132, U+914A, U+9156, U+9158, U+9163, U+9165, U+9169, U+9172-9173, U+9182, U+9189, U+918B, U+91A2, U+91AA-91AB, U+91AF, U+91B4-91B5, U+91BA, U+91C0-91C1, U+91C9, U+91CB, U+91D0, U+91D6, U+91DB, U+91DF, U+91E1, U+91F5-91F6, U+91FC, U+91FF, U+9211, U+9214-9215, U+921E, U+9229, U+922C, U+923F, U+9245, U+9248-9249, U+924B, U+9250, U+9257, U+925A, U+925E, U+9264, U+9293, U+9295-9296, U+929B-929C, U+92B7, U+92B9, U+92CF, U+92E9, U+92FA, U+930F, U+9319-931A, U+9322-9323, U+932E, U+9335, U+933A-933B, U+9344, U+9356, U+935C, U+9360, U+936E, U+937C, U+9394, U+93AC-93AD, U+93B0, U+93B9, U+93C3, U+93C8, U+93D0, U+93D6-93D8, U+93DD, U+93E4-93E5, U+93E8, U+9403, U+9407, U+9410, U+9413-9414, U+941A, U+9421, U+942B, U+9435-9436, U+943A, U+9441, U+9444, U+9452, U+945A-945B, U+945E, U+9460, U+9462, U+946A, U+9470, U+9475, U+9477, U+947C-947F, U+9481, U+9582, U+9587, U+958A, U+9594, U+9596, U+9598-9599, U+95A0, U+95A7-95A8, U+95AD, U+95B9, U+95BB-95BC, U+95BE, U+95C3, U+95CA, U+95CC-95CD, U+95D4-95D6, U+95DC, U+95E1-95E2, U+95E5, U+9621, U+9628, U+962E-962F, U+9642, U+964B-964C, U+964F, U+965C-965F, U+9666, U+966C, U+9672, U+9677, U+968B, U+968D, U+9695, U+9697-9698, U+96A7-96A8, U+96AA, U+96B0-96B2, U+96B4, U+96B6, U+96B8-96B9, U+96C9, U+96CB, U+96CD-96CE, U+96D5-96D6, U+96D9, U+96DC, U+96F9, U+9704, U+9706, U+9708, U+970D-970F, U+9711, U+9713, U+9716, U+9719, U+9724, U+972A, U+9730, U+9738-9739, U+973D-973E, U+9742, U+9744, U+9746, U+9748-9749, U+975C, U+9760-9761, U+9764, U+9766, U+9768, U+976B, U+9771, U+9779-977A, U+977C, U+9781, U+9785-9786, U+978B, U+978F-9790, U+979C, U+97A3, U+97A6, U+97A8, U+97AB, U+97B3-97B4, U+97C3, U+97C6, U+97C8, U+97CB, U+97DC, U+97ED, U+97F2, U+97F5-97F6, U+980C, U+980F, U+9821, U+9824, U+9837-9838, U+983D, U+9846, U+984B, U+984F, U+986B, U+986F-9871, U+9873-9874, U+98AA, U+98AF, U+98B1, U+98B6, U+98C3-98C4, U+98C6, U+98DC, U+98E9, U+98EB, U+98ED-98EE, U+9903, U+9909, U+9912, U+9914, U+9918, U+991D-991E, U+9920-9921, U+9924, U+992C, U+992E, U+993D-993E, U+9942, U+9945, U+9949, U+994B-994C, U+9950-9952, U+9955, U+9997-9998, U+99A5, U+99AD-99AE, U+99BC, U+99D1, U+99D8, U+99DB, U+99DD, U+99DF, U+99E2, U+99ED-99EE, U+99F1-99F2, U+99F8, U+99FB, U+9A01, U+9A05, U+9A0F, U+9A19, U+9A2B, U+9A37, U+9A3E, U+9A40, U+9A42-9A43, U+9A45, U+9A4D, U+9A55, U+9A57, U+9A5B, U+9A5F, U+9A62, U+9A64-9A65, U+9A69-9A6B, U+9AAD, U+9AB0, U+9ABC, U+9AC0, U+9ACF, U+9AD1, U+9AD3-9AD4, U+9ADE-9ADF, U+9AE2-9AE3, U+9AE6, U+9AEB, U+9AEE-9AEF, U+9AF1, U+9AF4, U+9AF7, U+9AFB, U+9B06, U+9B18, U+9B1A, U+9B1F, U+9B22-9B23, U+9B25, U+9B27-9B2A, U+9B2E-9B2F, U+9B31-9B32, U+9B3B, U+9B43-9B44, U+9B4D-9B4F, U+9B51, U+9B58, U+9B74, U+9B83, U+9B91, U+9B93, U+9B96-9B97, U+9B9F-9BA0, U+9BA8, U+9BB4, U+9BB9, U+9BC0, U+9BC6, U+9BCA, U+9BCF, U+9BD1-9BD2, U+9BD4, U+9BE1-9BE4, U+9BF0-9BF2, U+9C04, U+9C06, U+9C08-9C0A, U+9C0C, U+9C12-9C15, U+9C1B, U+9C21, U+9C24-9C25, U+9C2E, U+9C30, U+9C32, U+9C3A, U+9C3E, U+9C46-9C47, U+9C5A, U+9C60, U+9C67, U+9C76, U+9C78, U+9CE7, U+9CEB-9CEC, U+9CF0, U+9D03, U+9D06, U+9D08-9D09, U+9D12, U+9D15, U+9D1F, U+9D23, U+9D26, U+9D2A, U+9D3E-9D3F, U+9D41, U+9D44, U+9D46, U+9D48, U+9D50-9D51, U+9D59, U+9D5D-9D5E, U+9D64, U+9D6F, U+9D72, U+9D7A, U+9D87, U+9D89, U+9D9A, U+9DA4, U+9DA9, U+9DAB, U+9DAF, U+9DB2, U+9DB8, U+9DBA-9DBB, U+9DC1-9DC2, U+9DC4, U+9DC6, U+9DCF, U+9DD3, U+9DD9, U+9DE6, U+9DED, U+9DEF, U+9DF8, U+9DFD, U+9E1A-9E1B, U+9E1E, U+9E75, U+9E79, U+9E7D, U+9E81, U+9E88, U+9E8B-9E8C, U+9E91-9E92, U+9E95, U+9E9D, U+9EA5, U+9EA9-9EAA, U+9EAD, U+9EB8, U+9EBC, U+9EBE, U+9ECC, U+9ECE-9ED0, U+9ED4, U+9ED8, U+9EDC-9EDE, U+9EE0, U+9EE5, U+9EE8, U+9EEF, U+9EF4, U+9EF6-9EF7, U+9EF9, U+9EFB-9EFD, U+9F07-9F08, U+9F15, U+9F21, U+9F2C, U+9F3E, U+9F4A-9F4B, U+9F4E-9F4F, U+9F52, U+9F54, U+9F5F-9F61, U+9F63, U+9F66-9F67, U+9F6A, U+9F6C, U+9F72, U+9F76-9F77, U+9F95, U+9F9C-9F9D, U+9FA0;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-base.d1ae93f1.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0-7E, U+A0-FF, U+131, U+141-142, U+152-153, U+160-161, U+178, U+17D-17E, U+192, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-308, U+30A-30C, U+327-328, U+332, U+336, U+391-3A1, U+3A3-3A9, U+3B1-3C1, U+3C3-3C9, U+401, U+410-44F, U+451, U+2002-2003, U+2010-2016, U+2018-201A, U+201C-201E, U+2020-2022, U+2025-2026, U+2030, U+2032-2033, U+2039-203B, U+203E, U+2044, U+205A, U+205D, U+2103, U+2109-210A, U+2113, U+2116, U+2121-2122, U+212B, U+213B, U+2160-216B, U+2170-217B, U+217F, U+2190-2193, U+21C4-21C6, U+21D2, U+21D4, U+21E6-21E9, U+2200, U+2202-2203, U+2207-2208, U+220B, U+2211-2212, U+2219-221A, U+221D-2220, U+2227-222E, U+2234-2235, U+223C-223D, U+2252, U+2260-2261, U+2266-2267, U+226A-226B, U+2282-2283, U+2286-2287, U+22A5, U+22BF, U+2312, U+23A7-23A9, U+23AB-23AD, U+2460-2490, U+249C-24B5, U+24EA, U+2500-254B, U+2550, U+255E, U+2561, U+256A, U+256D-2573, U+2581-258F, U+2594-2595, U+25A0-25A2, U+25B2-25B3, U+25B7, U+25BC-25BD, U+25C1, U+25C6-25C7, U+25C9, U+25CB, U+25CE-25CF, U+25E2-25E5, U+25EF, U+2600-2603, U+2605-2606, U+260E, U+261C-261F, U+2640, U+2642, U+2660-2667, U+266A, U+266D, U+266F, U+2776-277E, U+27A1, U+2B05-2B07, U+2E8E, U+2E90, U+2E92-2E94, U+2E99, U+2E9B, U+2E9F-2EA0, U+2EC1, U+2EC4, U+2ED1, U+2ED8, U+2EE4, U+2EE8-2EE9, U+2EEB, U+2EED, U+2EEF, U+2EF2, U+2F00-2F38, U+2F3A-2F66, U+2F68-2F70, U+2F72-2FA0, U+2FA2-2FC7, U+2FC9-2FD5, U+3000-3015, U+301C-301D, U+301F-3020, U+3036, U+3041-3096, U+309B-309E, U+30A1-30FE, U+322A-3243, U+3251-325B, U+3291-3294, U+3296, U+3298-3299, U+329D-329E, U+32A4-32B0, U+3300, U+3303, U+3305, U+330D, U+3314-3316, U+3318, U+331E, U+3322-3323, U+3326-3327, U+332A-332B, U+3331, U+3333, U+3336, U+3339, U+333B, U+3342, U+3347, U+3349-334A, U+334D-334E, U+3351, U+3357, U+337B-337F, U+3385-3389, U+338E-3390, U+3396-3398, U+339C-33A6, U+33B0-33B3, U+33C4, U+33C8, U+33CB-33CD, U+33D4, U+FB01-FB02, U+FE10-FE12, U+FE19, U+FE30-FE33, U+FE35-FE44, U+FE47-FE48, U+FF01-FF5E, U+FF61-FF9F, U+FFE0-FFE5, U+FFE8;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-ui.bdc82a80.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E00, U+4E07, U+4E09-4E0B, U+4E0D-4E0E, U+4E16, U+4E21, U+4E26, U+4E2D, U+4E38, U+4E3B, U+4E57, U+4E86, U+4E88, U+4E8B-4E8C, U+4EA4, U+4EBA, U+4ECA, U+4ED5-4ED6, U+4ED8, U+4EE3-4EE5, U+4EEE, U+4EF6, U+4EFB, U+4F1A, U+4F1D, U+4F38, U+4F3A, U+4F3C, U+4F4D-4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA1, U+4FB5, U+4FC2, U+4FD7, U+4FDD, U+4FE1, U+4FEE, U+500B, U+500D, U+5019, U+5024, U+505C, U+5074, U+5099, U+50CD, U+50CF, U+5104, U+512A, U+5143, U+5148-5149, U+514D, U+5165, U+5168, U+516C, U+5171, U+5177, U+5185, U+518D, U+51E6, U+51FA, U+5206-5207, U+5217, U+521D, U+5224-5225, U+5229, U+5236, U+523B, U+524A, U+524D, U+5272, U+5287, U+529B, U+529F-52A0, U+52A9, U+52B9, U+52D5, U+5316, U+533A, U+5341, U+5343, U+534A, U+5354, U+5358, U+5370, U+5373, U+539F, U+53BB, U+53C2, U+53CD-53CE, U+53D6-53D7, U+53E4-53E5, U+53E9, U+53EF-53F0, U+53F3, U+53F7, U+5404, U+5408, U+540C-540D, U+5411, U+5426, U+542B, U+544A, U+547C, U+54C1, U+54E1, U+554F, U+5584, U+55B6, U+5668, U+56DE, U+56E0, U+56F0, U+56F2, U+56FA, U+571F, U+5727-5728, U+5730, U+5747, U+578B, U+57CB, U+57DF, U+57FA, U+5831, U+5834, U+5857, U+5883, U+5897, U+58CA, U+58F0, U+58F2, U+5909, U+5916, U+591A, U+591C, U+5927, U+5929-592A, U+592E, U+5931, U+597D, U+59A8, U+59CB, U+5B50, U+5B57-5B58, U+5B88-5B89, U+5B8C, U+5B9A-5B9B, U+5B9F, U+5BA3, U+5BB3, U+5BB9, U+5BC6, U+5BF8, U+5BFE, U+5C02, U+5C0E-5C0F, U+5C11, U+5C3A, U+5C3E, U+5C4A, U+5C55, U+5C5E, U+5C65, U+5D29, U+5DE1, U+5DE5-5DE6, U+5DEE, U+5E03, U+5E0C, U+5E2F-5E30, U+5E38, U+5E45, U+5E55, U+5E73-5E74, U+5E83, U+5E8F, U+5EA6-5EA7, U+5EF6, U+5F0F, U+5F15, U+5F27, U+5F37, U+5F3E, U+5F53, U+5F62, U+5F69, U+5F71, U+5F79, U+5F80, U+5F85, U+5F8C, U+5F93, U+5F97, U+5FA9, U+5FC3, U+5FC5, U+5FDC, U+6027, U+60AA, U+60C5, U+60F3, U+610F, U+611F, U+614B, U+6210, U+623B, U+6240, U+624B, U+6271, U+6295, U+6298, U+629C, U+629E, U+62BC, U+62D2, U+62DB, U+62E0-62E1, U+62EC, U+6301, U+6307, U+6319, U+632F, U+6349, U+6355, U+6357, U+6368, U+6383, U+639B, U+63A1-63A2, U+63A5, U+63A7-63A8, U+63CF-63D0, U+63DB, U+640D, U+643A, U+64CD, U+6539, U+6545, U+6557, U+6559, U+6570, U+6574, U+6577, U+6587, U+6599, U+65AD, U+65B0, U+65B9, U+65BD, U+65E2, U+65E5, U+65E7, U+660E, U+6620, U+6642, U+666F, U+6697, U+66F2, U+66F4, U+66F8, U+66FF-6700, U+6708-6709, U+671B, U+671F, U+672A-672C, U+6761, U+6765, U+6790, U+679A, U+679C, U+67A0, U+67FB, U+6848, U+68C4, U+691C, U+696D, U+6975, U+697D, U+69CB, U+69D8, U+6A19, U+6A29-6A2A, U+6A5F, U+6B04, U+6B21, U+6B4C, U+6B62-6B63, U+6B6A, U+6B74, U+6B8B, U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C34, U+6C38, U+6C42, U+6C7A, U+6CC1, U+6CD5, U+6CE8, U+6D3B, U+6D3E, U+6D41, U+6D6E, U+6D88, U+6DF7, U+6DFB, U+6E08, U+6E1B, U+6E21, U+6E2C, U+6E80, U+6E90, U+6E96, U+6E9C, U+6F70, U+7070, U+70B9-70BA, U+7121, U+7136, U+713C, U+7167, U+7247-7248, U+7269, U+7279, U+72B6, U+72EC-72ED, U+7387, U+73FE, U+7406, U+74B0, U+751F, U+7528, U+7531, U+7537, U+753B, U+754C, U+7559, U+7565, U+756A, U+7573, U+767A-767B, U+767D-767E, U+7684, U+76E3, U+76EE, U+76F4, U+76F8, U+7701, U+7740, U+77AC, U+77E5, U+77ED, U+7834, U+78BA, U+793A, U+7981, U+79D2, U+79D8, U+79FB, U+7A0B, U+7A2E, U+7A3C, U+7A3F, U+7A4D, U+7A7A, U+7ACB, U+7AE0, U+7AEF, U+7B2C, U+7B49, U+7B54, U+7B56, U+7B87, U+7B97, U+7BA1, U+7BB1, U+7BC0, U+7BC4, U+7CFB, U+7D04, U+7D20, U+7D22, U+7D2F-7D30, U+7D42, U+7D4C, U+7D50, U+7D5E, U+7D61, U+7D71, U+7D76, U+7D99-7D9A, U+7DCF, U+7DD2, U+7DDA, U+7DE8, U+7E26, U+7E2E, U+7E70, U+7F6E, U+7F72, U+7FA9, U+7FCC, U+8003, U+8005, U+805E, U+8074, U+8096, U+80A2, U+80CC, U+80FD, U+8108, U+81EA, U+81F4, U+826F, U+8272, U+82F1, U+8377, U+843D, U+8449, U+8457, U+8584, U+85A6, U+866B, U+884C, U+8868, U+88D5, U+88DC, U+8907, U+8981, U+8986, U+898B, U+898F, U+8996, U+899A, U+89A7, U+89AA, U+89B3, U+89D2, U+89E3, U+89E6, U+8A00, U+8A08, U+8A18, U+8A2A, U+8A2D, U+8A31, U+8A33, U+8A3A, U+8A3C, U+8A55, U+8A5E, U+8A66, U+8A70, U+8A72-8A73, U+8A8D, U+8A98, U+8A9E, U+8AAC-8AAD, U+8AB0, U+8ABF, U+8AC7, U+8ACB, U+8AE6, U+8B58, U+8B77, U+8C61, U+8CA0, U+8CAC, U+8CBC, U+8CEA, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DB3, U+8DEF, U+8E0F, U+8EAB, U+8EE2, U+8EFD, U+8F03, U+8F09, U+8FBA, U+8FBC, U+8FD1, U+8FD4, U+8FFD, U+9000-9001, U+9006, U+900F, U+9014, U+901A, U+901F-9020, U+9023, U+9031-9032, U+9045, U+904B, U+904E, U+9053, U+9055, U+9069, U+9077-9078, U+907F, U+90E8, U+914D, U+91C8, U+91CD, U+91CF, U+91DD, U+9332, U+9375, U+9577, U+9589, U+958B, U+9593, U+95A2, U+95B2, U+9632, U+964D, U+9650, U+9664, U+967A, U+968E, U+9694, U+969B-969C, U+96A0, U+96C6, U+9759, U+975E, U+9762, U+97F3, U+97FF, U+9805-9806, U+9808, U+9818, U+982D, U+983C, U+984C, U+9858, U+985E, U+98DB, U+98DF, U+98FE, U+99C4, U+99C6, U+9AD8, U+9AED, U+9F62;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-rest.e68513aa.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+3D4E, U+4E28, U+4EDD, U+4EE1, U+4EFC, U+4F00, U+4F03, U+4F39, U+4F56, U+4F8A, U+4F92, U+4F94, U+4F9A, U+4FC9, U+4FCD, U+4FE0, U+4FFF, U+501E, U+5022, U+5040, U+5042, U+5046, U+5070, U+5094, U+50D8, U+50F4, U+514A, U+5164, U+519D, U+51BE, U+51EC, U+5215, U+525D, U+529C, U+52A6, U+52AF, U+52C0, U+52DB, U+5300, U+5324, U+5372, U+5393, U+53B2, U+53DD, U+548A, U+549C, U+54A9, U+54FF, U+555E, U+5586, U+5653, U+5699, U+56CA, U+5759, U+5765, U+57AC, U+57C7-57C8, U+5861, U+589E, U+58B2, U+590B, U+5953, U+595B, U+595D, U+5963, U+59A4, U+59BA, U+5B56, U+5BC0, U+5BD8, U+5C1E, U+5C5B, U+5C62, U+5CA6, U+5CBA, U+5CF5, U+5D27, U+5D42, U+5D53, U+5D6D, U+5DB8-5DB9, U+5DD0, U+5F21, U+5F34, U+5F45, U+5F67, U+5FB7, U+5FDE, U+605D, U+6085, U+608A, U+60D5, U+60DE, U+60F2, U+6111, U+6120, U+6130, U+6137, U+6198, U+6213, U+62A6, U+63F5, U+6414, U+6451, U+6460, U+649D, U+64CE, U+6522, U+654E, U+6600, U+6609, U+6615, U+6624, U+662E, U+6631, U+663B, U+6657, U+6659, U+6665, U+6673, U+6699, U+66A0, U+66B2, U+66BF, U+66FA-66FB, U+670E, U+6766, U+67BB, U+67C0, U+67FA, U+6805, U+6844, U+6852, U+688E, U+68C8, U+68CF, U+6968, U+6998, U+69E2, U+6A30, U+6A46, U+6A6B, U+6A73, U+6A7E, U+6AE2, U+6AE4, U+6BD6, U+6C3F, U+6C5C, U+6C6F, U+6C86, U+6CDA, U+6D04, U+6D6F, U+6D87, U+6D96, U+6DAC, U+6DCF, U+6DF2, U+6DF8, U+6DFC, U+6E27, U+6E39, U+6E3C, U+6E5C, U+6EBF, U+6F51, U+6F88, U+6FB5, U+6FF5, U+7005-7007, U+7028, U+7085, U+70AB, U+70BB, U+7104, U+710F, U+7130, U+7146-7147, U+715C, U+71C1, U+71FE, U+72B1, U+72BE, U+7324, U+7377, U+73BD, U+73C9, U+73D2, U+73D6, U+73E3, U+73F5, U+7407, U+7426, U+7429-742A, U+742E, U+7489, U+749F, U+7501, U+752F, U+756F, U+7682, U+769B-769C, U+769E, U+76A6, U+7746, U+7762, U+7821, U+784E, U+7864, U+787A, U+7930, U+7994, U+799B, U+79B1, U+7AD1, U+7AE7, U+7AEB, U+7B9E, U+7C1E, U+7D48, U+7DA0, U+7DB7, U+7DD6, U+7E52, U+7E61, U+7E6B, U+7E8A, U+7F47, U+7FA1, U+8301, U+8346, U+8362, U+837F, U+83C7, U+83F6, U+840A, U+8448, U+84B4, U+84DC, U+8523, U+853E, U+8553, U+8559, U+856B, U+85B0, U+87EC, U+8807, U+881F, U+88F5, U+891C, U+8A12, U+8A37, U+8A79, U+8AA7, U+8ABE, U+8ADF, U+8AF6, U+8B53, U+8B7F, U+8CF0, U+8CF4, U+8D12, U+8D76, U+8EC0, U+8ECF, U+9067, U+90DE, U+9115, U+9127, U+91AC, U+91B1, U+91D7, U+91DA, U+91DE, U+91E4-91E5, U+91ED-91EE, U+9206, U+920A, U+9210, U+9239-923A, U+923C, U+9240, U+924E, U+9251, U+9259, U+9267, U+9277-9278, U+9288, U+92A7, U+92D0, U+92D3, U+92D5, U+92D7, U+92D9, U+92E0, U+92E7, U+92F9, U+92FB, U+92FF, U+9302, U+931D-931E, U+9321, U+9325, U+9348, U+9357, U+9370, U+93A4, U+93C6, U+93DE, U+93F8, U+9431, U+9445, U+9448, U+9592, U+969D, U+96AF, U+9733, U+973B, U+9743, U+974D, U+974F, U+9751, U+9830, U+9857, U+985A, U+9865, U+9927, U+999E, U+9A4E, U+9A52, U+9AD9, U+9ADC, U+9B72, U+9B75, U+9B8F, U+9BB1, U+9BBB, U+9C00, U+9D6B, U+9D70, U+9DD7, U+9E19, U+9E7C, U+9EB4-9EB5, U+9ED1, U+F992-F993, U+F999, U+F9C3, U+F9EC, U+FA0E-FA10, U+FA12-FA14, U+FA16-FA23, U+FA25-FA2D, U+FA36, U+FA46, U+FA4A, U+FA6A, U+21A1A, U+243D0, U+25874, U+28CDD, U+28EF6, U+2F80F, U+2F818, U+2F877, U+2F884, U+2F8D3, U+2F8DC, U+2F8ED, U+2F920;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-k1a.be7c57eb.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E01, U+4E03, U+4E08, U+4E11, U+4E14, U+4E18-4E19, U+4E1E, U+4E32, U+4E39, U+4E43, U+4E45, U+4E4B, U+4E4D-4E4F, U+4E59, U+4E5D-4E5F, U+4E71, U+4E73, U+4E7E, U+4E80, U+4E89, U+4E91-4E92, U+4E94-4E95, U+4E98-4E99, U+4E9B-4E9C, U+4EA1, U+4EA5-4EA6, U+4EA8, U+4EAB-4EAE, U+4EC0-4EC1, U+4EC7, U+4ECB, U+4ECF, U+4ED4, U+4ED9, U+4EF0, U+4EF2, U+4F01, U+4F0A, U+4F0D-4F11, U+4F2F, U+4F34, U+4F36, U+4F3D, U+4F43, U+4F46, U+4F4F-4F51, U+4F73, U+4F75, U+4F7C, U+4F83, U+4F8D, U+4FA0, U+4FAD-4FAF, U+4FB6, U+4FBF, U+4FC3-4FC4, U+4FCA, U+4FE3, U+4FF3, U+4FF5, U+4FF8, U+4FFA, U+5009, U+5012, U+5016, U+501F, U+5023, U+5026, U+502B, U+502D, U+5036, U+5039, U+5049, U+504F, U+5065, U+5072, U+5075-5076, U+507D, U+508D, U+5091, U+5098, U+50AC-50AD, U+50B5, U+50B7, U+50BE, U+50C5, U+50D1, U+50D5, U+50DA, U+50E7, U+50FB, U+5100, U+5112, U+511F, U+5132, U+5141, U+5144-5147, U+514B, U+514E, U+5150, U+515A, U+515C, U+516B, U+516D, U+5175-5176, U+5178, U+517C, U+5186, U+518A, U+5192, U+5197, U+5199, U+51A0, U+51A5, U+51A8, U+51AC, U+51B4, U+51B6-51B7, U+51C4, U+51C6, U+51CB-51CD, U+51DD, U+51E1, U+51E7, U+51EA, U+51F1, U+51F6, U+51F8-51F9, U+51FD, U+5200, U+5203, U+5208, U+520A, U+5211, U+5230, U+5237-5238, U+523A, U+5243, U+5247, U+5256, U+525B, U+5263-5265, U+526F-5270, U+5275, U+5283, U+5289, U+52A3, U+52AA-52AB, U+52B1, U+52B4, U+52BE, U+52C3, U+52C5, U+52C7, U+52C9, U+52D8-52D9, U+52DD, U+52DF, U+52E2, U+52E4, U+52E7, U+52F2, U+52FA, U+52FE-52FF, U+5301-5302, U+5305, U+5317, U+5319, U+531D, U+5320-5321, U+532A, U+5339, U+533B, U+533F, U+5347-5348, U+5351-5353, U+5357, U+535A, U+535C, U+5360, U+5366, U+536F, U+5371, U+5374-5375, U+5378, U+537F, U+5384, U+5398, U+539A, U+53A8-53A9, U+53AD, U+53B3, U+53C8-53CC, U+53D4, U+53D9, U+53DB, U+53E1-53E3, U+53EA-53EC, U+53F1-53F2, U+53F6, U+53F8, U+5403, U+5409-540B, U+540E-5410, U+541B, U+541F-5420, U+5438-5439, U+543B, U+543E, U+5442, U+5446, U+5448-5449, U+5451, U+5468, U+546A, U+5473, U+547D, U+548B-548C, U+54B2-54B3, U+54BD, U+54C0, U+54C9, U+54E8-54E9, U+54F2, U+5504, U+5506-5507, U+5510, U+5516, U+552F, U+5531, U+553E, U+5544, U+5546, U+5553, U+5589, U+558B, U+559A, U+559C-559D, U+55A7, U+55AA-55AC, U+55B0, U+55E3, U+5606, U+5609, U+5617-5618, U+5629, U+5631, U+5642, U+564C, U+565B, U+5674, U+5678, U+567A, U+5687, U+56A2, U+56DA-56DB, U+56E3, U+56F3, U+56FD, U+5703, U+570F, U+5712, U+572D, U+5742, U+574A, U+5750-5751, U+5764, U+5766, U+576A, U+5782, U+57A2-57A3, U+57CE, U+57DC, U+57E0, U+57F4, U+57F7, U+57F9, U+57FC, U+5800, U+5802, U+5805-5806, U+5815, U+5824, U+582A, U+5830, U+5835, U+583A, U+5840-5841, U+584A, U+5851, U+5854, U+5858-585A, U+585E, U+5869, U+586B, U+5875, U+587E, U+5893, U+589C, U+58A8, U+58B3, U+58BE, U+58C1, U+58C7, U+58CC, U+58D5, U+58EB-58EC, U+58EE, U+58F1, U+58F7, U+590F, U+5915, U+5919, U+5922, U+592B, U+5937, U+5944, U+5947-5949, U+594F, U+5951, U+5954, U+5957, U+5965, U+5968, U+596A, U+596E, U+5973-5974, U+5982-5984, U+598A, U+5993, U+5996, U+5999, U+59A5, U+59AC, U+59B9, U+59BB, U+59BE, U+59C9, U+59D0-59D1, U+59D3-59D4, U+59E5-59E6, U+59EA-59EB, U+59F6, U+59FB, U+59FF, U+5A01, U+5A03, U+5A18, U+5A20, U+5A29, U+5A2F, U+5A3C, U+5A41, U+5A46, U+5A5A, U+5A66, U+5A7F, U+5A92, U+5A9B, U+5AC1, U+5AC9, U+5ACC, U+5AE1, U+5B09, U+5B22, U+5B2C, U+5B30, U+5B54, U+5B5C-5B5D, U+5B5F, U+5B63-5B64, U+5B66, U+5B6B, U+5B85, U+5B87, U+5B8B, U+5B8D, U+5B8F, U+5B95, U+5B97-5B99, U+5B9C-5B9D, U+5BA2, U+5BA4-5BA5, U+5BAE, U+5BB0, U+5BB4-5BB6, U+5BBF, U+5BC2, U+5BC4-5BC5, U+5BCC, U+5BD2-5BD3, U+5BDB, U+5BDD, U+5BDF, U+5BE1, U+5BE7, U+5BE9, U+5BEE, U+5BF5, U+5BFA, U+5BFF, U+5C01, U+5C04, U+5C06, U+5C09-5C0B, U+5C16, U+5C1A, U+5C24, U+5C2D, U+5C31, U+5C3B-5C3D, U+5C3F-5C40, U+5C45, U+5C48, U+5C4B, U+5C4D, U+5C51, U+5C60-5C61, U+5C64, U+5C6F, U+5C71, U+5C90, U+5CA1, U+5CA8-5CA9, U+5CAC, U+5CB1, U+5CB3, U+5CB8, U+5CE0-5CE1, U+5CE8, U+5CEF-5CF0, U+5CF6, U+5CFB, U+5D07, U+5D0E, U+5D16, U+5D50, U+5D69, U+5D6F, U+5D8B, U+5DBA, U+5DCC, U+5DDD-5DDE, U+5DE3, U+5DE7-5DE8, U+5DF1, U+5DF3-5DF4, U+5DF7, U+5DFB, U+5DFD-5DFE, U+5E02, U+5E06, U+5E16, U+5E1D, U+5E25, U+5E2B, U+5E2D, U+5E33, U+5E3D, U+5E4C, U+5E61, U+5E63, U+5E72, U+5E78-5E79, U+5E7B-5E7E, U+5E81, U+5E84, U+5E87, U+5E8A, U+5E95-5E97, U+5E9A, U+5E9C, U+5EAB, U+5EAD, U+5EB5-5EB8, U+5EC3, U+5EC9-5ECA, U+5ED3, U+5EDF-5EE0, U+5EF7, U+5EFA-5EFC, U+5EFF, U+5F01, U+5F04, U+5F0A, U+5F10, U+5F13-5F14, U+5F17-5F18, U+5F1B, U+5F1F, U+5F25-5F26, U+5F31, U+5F35, U+5F3C, U+5F4A, U+5F66, U+5F6A-5F6C, U+5F70, U+5F7C, U+5F81, U+5F84, U+5F8B, U+5F90, U+5F92, U+5FA1, U+5FAA, U+5FAE, U+5FB3-5FB4, U+5FB9, U+5FBD, U+5FCC-5FCD, U+5FD7-5FD9, U+5FE0, U+5FEB, U+5FF5, U+5FFD, U+6012, U+6016, U+601C-601D, U+6020, U+6025, U+6028, U+602A, U+602F, U+604B, U+6050, U+6052, U+6055, U+6062, U+6065, U+6068-6069, U+606D, U+606F-6070, U+6075, U+6089, U+608C, U+6094, U+609F-60A0, U+60A3, U+60A6, U+60A9, U+60B2, U+60B6, U+60BC, U+60C7, U+60D1, U+60DA, U+60DC, U+60DF, U+60E3, U+60E8, U+60F0, U+60F9, U+6101, U+6108-6109, U+611A-611B, U+6148, U+614C, U+614E, U+6155, U+6162-6163, U+6167-6168, U+616E, U+6170, U+6176, U+617E, U+6182, U+618E, U+6190, U+61A4, U+61A7, U+61A9, U+61B2, U+61B6, U+61BE, U+61C7, U+61D0, U+61F2, U+61F8, U+620A, U+620E, U+6211-6212, U+6216, U+621A, U+621F, U+6226, U+622F, U+6234, U+6238, U+623F, U+6247, U+6249, U+624D, U+6253, U+6255, U+6258, U+626E, U+6276, U+6279, U+627F-6280, U+6284, U+628A, U+6291, U+6297, U+62AB, U+62B1, U+62B5, U+62B9, U+62BD, U+62C5, U+62CD, U+62D0, U+62D3, U+62D8-62D9, U+62DD, U+62ED, U+62F3, U+62F6-62F7, U+62FE, U+6309, U+6311, U+631F, U+6328, U+632B, U+633A, U+633D, U+633F, U+634C, U+635C, U+6367, U+636E, U+6372, U+6377, U+637A-637B, U+6388, U+638C, U+6392, U+6398, U+63A0, U+63A9;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-k1b.a676eb5f.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+63AA, U+63AC, U+63B2, U+63B4, U+63BB, U+63C3, U+63D6, U+63DA, U+63E1, U+63EE, U+63F4, U+63FA, U+642C-642D, U+643E, U+6442, U+6458, U+6469, U+6478, U+647A, U+6483, U+6492, U+649A, U+649E, U+64A4, U+64AB, U+64AD-64AE, U+64B0, U+64B2, U+64B9, U+64C1, U+64E2, U+64E6, U+64EC, U+64FE, U+652F, U+653B, U+653E-653F, U+654F, U+6551, U+6562-6563, U+6566, U+656C, U+6575, U+6589, U+658C, U+658E, U+6590-6591, U+6597, U+659C, U+65A1, U+65A4-65A5, U+65A7, U+65AC, U+65AF, U+65BC, U+65C5, U+65CB, U+65CF, U+65D7, U+65E6, U+65E8-65E9, U+65EC-65ED, U+65FA, U+6602, U+6606-6607, U+660C, U+660F, U+6613-6614, U+661F, U+6625, U+6627-6628, U+662D, U+662F, U+663C, U+6643, U+664B, U+6652, U+6666, U+6669, U+666E, U+6674, U+6676, U+667A, U+6681, U+6687, U+6691, U+6696, U+66A2, U+66A6, U+66AB, U+66AE, U+66B4, U+66C7, U+66D9, U+66DC-66DD, U+66F3, U+66F9, U+66FD-66FE, U+670B, U+670D, U+6714-6715, U+6717, U+671D, U+6728, U+672D, U+6731, U+6734, U+673A, U+673D, U+6749, U+674E-6751, U+6753, U+6756, U+675C, U+675F, U+6762, U+676D, U+676F, U+6771, U+6775, U+6777, U+677E-677F, U+6787, U+6795, U+6797, U+679D, U+67A2, U+67AF, U+67B6, U+67C1, U+67C4, U+67CA, U+67CF-67D1, U+67D3-67D4, U+67D8, U+67DA, U+67F1, U+67F3-67F5, U+67FE-67FF, U+6802-6804, U+6813, U+6816-6817, U+6821-6822, U+682A, U+6834, U+6838-6839, U+683C-683D, U+6841-6843, U+6850-6851, U+6853-6854, U+685C-685D, U+685F, U+6867, U+6876, U+6881, U+6885, U+6893, U+6897, U+68A2, U+68A7-68A8, U+68AF-68B1, U+68B6, U+68BC, U+68C9, U+68CB, U+68D2, U+68DA, U+68DF, U+68EE, U+68F2, U+68FA, U+6900, U+6905, U+690B, U+690D-690E, U+6919, U+691B, U+6934, U+693F, U+694A, U+6953, U+6955, U+695A, U+6960, U+6962, U+696F, U+6973, U+697C, U+6982, U+698A, U+698E, U+6994, U+699B, U+69CC-69CD, U+69D9, U+69FB, U+69FD, U+6A0B, U+6A17, U+6A1F, U+6A21, U+6A2B, U+6A35, U+6A39-6A3A, U+6A3D, U+6A4B, U+6A58, U+6A61, U+6A7F-6A80, U+6A8E, U+6AD3, U+6ADB, U+6AE8, U+6B1D, U+6B20, U+6B23, U+6B27, U+6B32, U+6B3A, U+6B3D-6B3E, U+6B4E, U+6B53, U+6B64, U+6B66, U+6B69, U+6B6F, U+6B73, U+6B7B, U+6B86, U+6B89-6B8A, U+6B96, U+6BB4, U+6BBA-6BBB, U+6BBF, U+6BC5, U+6BCD, U+6BD2, U+6BD8, U+6BDB, U+6C0F, U+6C11, U+6C37, U+6C3E, U+6C40-6C41, U+6C4E, U+6C50, U+6C57, U+6C5A, U+6C5D, U+6C5F-6C60, U+6C70, U+6C72, U+6C7D, U+6C83, U+6C88, U+6C8C, U+6C93, U+6C96, U+6C99, U+6CA1-6CA2, U+6CAB, U+6CB3, U+6CB8-6CB9, U+6CBB-6CBC, U+6CBF, U+6CC9-6CCA, U+6CCC, U+6CE1-6CE3, U+6CE5, U+6CF0, U+6CF3, U+6D0B, U+6D17, U+6D1B, U+6D1E, U+6D25, U+6D29-6D2A, U+6D32, U+6D44-6D45, U+6D5C, U+6D66, U+6D69-6D6A, U+6D6C, U+6D74, U+6D77-6D78, U+6D8C, U+6D99, U+6D9B-6D9C, U+6DAF, U+6DB2, U+6DBC, U+6DC0, U+6DCB, U+6DD1, U+6DD8, U+6DE1, U+6DEB, U+6DF1, U+6DF3, U+6DF5, U+6E05, U+6E07, U+6E09, U+6E0B, U+6E13, U+6E1A, U+6E20, U+6E25-6E26, U+6E29, U+6E2F, U+6E4A, U+6E56, U+6E58, U+6E5B, U+6E67, U+6E6F, U+6E7E-6E7F, U+6E8C, U+6E9D, U+6EA2, U+6EB6, U+6EBA, U+6EC5, U+6ECB, U+6ED1, U+6EDD-6EDE, U+6EF4, U+6F01-6F02, U+6F06, U+6F09, U+6F0F, U+6F14-6F15, U+6F20, U+6F22-6F23, U+6F2B-6F2C, U+6F38, U+6F45, U+6F54, U+6F5C, U+6F5F, U+6F64, U+6F6E, U+6F84, U+6F97, U+6FB1, U+6FC0-6FC1, U+6FC3, U+6FE0-6FE1, U+6FEB, U+6FEF, U+7015, U+701E, U+7026-7027, U+702C, U+7058, U+706B, U+706F, U+7078, U+707C-707D, U+7089-708A, U+708E, U+70AD, U+70C8, U+70CF, U+70F9, U+7114, U+711A, U+7126, U+7149, U+714E, U+7159, U+7164, U+7169, U+716E, U+717D, U+718A, U+7194, U+719F, U+71B1, U+71C3, U+71C8, U+71D0, U+71D5, U+71E5-71E6, U+71ED, U+7206, U+722A, U+7235-7236, U+723A, U+723D-723E, U+724C, U+7252, U+7259, U+725B, U+725D, U+725F, U+7261-7262, U+7267, U+7272, U+727D, U+7280, U+72A0, U+72AC, U+72AF, U+72C2, U+72D0, U+72D7, U+72D9, U+72DB, U+72E9, U+72F8, U+72FC-72FD, U+731B, U+731F, U+732A-732B, U+732E, U+7336-7337, U+733F, U+7344-7345, U+7363, U+7372, U+7384, U+7389, U+738B, U+7396, U+73A9, U+73B2, U+73C2, U+73CA, U+73CD, U+73E0, U+73EA, U+73ED, U+7403, U+7409, U+7422, U+7433-7436, U+745A-745B, U+745E, U+7460, U+7473, U+7483, U+74BD, U+74DC, U+74E2, U+74E6, U+74F6, U+7511, U+7518, U+751A, U+751C, U+7523, U+7525, U+752B, U+7530, U+7532-7533, U+753A, U+754F, U+7551, U+7554, U+755C-755D, U+7560, U+7562, U+7566, U+7570, U+7577, U+757F, U+758B, U+758E-758F, U+7591, U+75AB, U+75B2, U+75B9, U+75BE, U+75C5, U+75C7, U+75D4-75D5, U+75D8, U+75DB, U+75E2, U+75E9, U+75F4, U+7642, U+764C, U+7652, U+7656, U+7686-7687, U+7690, U+76AE, U+76BF, U+76C3, U+76C6, U+76C8, U+76CA, U+76D7, U+76DB, U+76DF, U+76E4, U+76F2, U+76FE, U+7709, U+770B-770C, U+771F-7720, U+773A, U+773C, U+7761, U+7763, U+7766, U+77A5, U+77AD, U+77B3, U+77DB, U+77E2, U+77E7, U+77E9, U+77EF, U+77F3, U+7802, U+7814-7815, U+7825-7827, U+7832, U+783A, U+783F, U+785D, U+786B-786C, U+786F, U+7872, U+7881, U+7887, U+788D, U+7891, U+7893, U+7895, U+7897, U+78A7, U+78A9, U+78C1, U+78D0, U+78E8, U+78EF, U+7901, U+790E, U+793C, U+793E, U+7941, U+7947-7949, U+7950, U+7956, U+795D-795E, U+7962, U+7965, U+7968, U+796D, U+7977, U+7984-7985, U+798D-798F, U+79A6, U+79B0, U+79BD-79C1, U+79CB, U+79D1, U+79DF, U+79E4, U+79E6, U+79E9, U+79F0, U+7A00, U+7A0E, U+7A14, U+7A17, U+7A1A, U+7A1C, U+7A32, U+7A3D, U+7A40, U+7A42, U+7A46, U+7A4E-7A50, U+7A63, U+7A6B, U+7A74, U+7A76, U+7A7F, U+7A81, U+7A83-7A84, U+7A92-7A93, U+7A9F, U+7AAA, U+7AAE-7AAF, U+7ABA, U+7AC3, U+7ADC, U+7AE3, U+7AE5, U+7AEA, U+7AF6, U+7AF9-7AFA, U+7AFF, U+7B08, U+7B11, U+7B1B, U+7B20, U+7B25-7B26, U+7B39, U+7B46, U+7B48, U+7B4B, U+7B4F, U+7B51-7B52, U+7B86, U+7B94-7B95, U+7BAA, U+7BAD, U+7BB8, U+7BC7, U+7BC9, U+7BE0, U+7BE4, U+7BED, U+7C21, U+7C38, U+7C3E-7C3F, U+7C4D, U+7C73, U+7C7E, U+7C81-7C82, U+7C89, U+7C8B, U+7C8D, U+7C92, U+7C95, U+7C97-7C98, U+7C9B, U+7C9F, U+7CA5, U+7CA7, U+7CBE, U+7CCA, U+7CCE, U+7CD6, U+7CDE-7CE0, U+7CE7, U+7CF8, U+7CFE, U+7D00, U+7D05, U+7D0B, U+7D0D, U+7D10, U+7D14, U+7D17-7D1B, U+7D21, U+7D2B-7D2C, U+7D33, U+7D39-7D3A, U+7D43-7D44, U+7D62, U+7D66, U+7D75, U+7D79, U+7D9C, U+7DAC;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-k1c.c06333b2.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+7DAD, U+7DB1-7DB2, U+7DB4, U+7DBB, U+7DBE-7DBF, U+7DCA-7DCB, U+7DD1, U+7DE0, U+7DE9, U+7DEC, U+7DEF, U+7DF4, U+7E01, U+7E04, U+7E1B, U+7E1E, U+7E2B, U+7E3E, U+7E41, U+7E4A-7E4B, U+7E4D, U+7E54-7E55, U+7E6D, U+7E82, U+7E8F, U+7F36, U+7F6A-7F6B, U+7F70, U+7F75, U+7F77, U+7F85, U+7F8A, U+7F8E, U+7FA4, U+7FA8, U+7FBD, U+7FC1, U+7FD2, U+7FE0, U+7FEB, U+7FF0, U+7FFB-7FFC, U+8000-8001, U+800C, U+8010, U+8015, U+8017, U+8033, U+8036, U+803D, U+8056, U+8061, U+806F, U+8077, U+807E, U+8087, U+8089, U+808B-808C, U+8098, U+809D, U+80A1, U+80A5, U+80A9-80AA, U+80AF, U+80B1-80B2, U+80B4, U+80BA, U+80C3, U+80C6, U+80CE, U+80DE, U+80E1, U+80E4, U+80F4, U+80F8, U+8102, U+8105-8107, U+810A, U+811A, U+8131, U+8133, U+8139, U+814E, U+8150, U+8154-8155, U+816B, U+8170, U+8178-817A, U+817F, U+818F, U+819A, U+819C-819D, U+81A8, U+81B3, U+81BF, U+81C6, U+81D3, U+81E3, U+81E5, U+81E8, U+81ED, U+81F3, U+81FC, U+8208, U+820C, U+820E, U+8217-8218, U+821B-821C, U+821E-821F, U+822A, U+822C, U+8235-8237, U+8239, U+8247, U+8266, U+826E, U+8276, U+828B, U+8299, U+829D, U+82A5-82A6, U+82AD, U+82AF, U+82B1, U+82B3, U+82B8-82B9, U+82BD, U+82C5, U+82D1, U+82D3-82D4, U+82D7, U+82DB, U+82E5-82E7, U+82EB, U+8302, U+8304-8305, U+830E, U+831C, U+8328, U+8336, U+8338, U+8349-834A, U+834F, U+8352, U+8358, U+837B, U+839E, U+83AB, U+83B1, U+83C5, U+83CA, U+83CC, U+83D3, U+83D6, U+83DC, U+83DF, U+83E9, U+83EF-83F1, U+8404, U+840C, U+840E, U+8429, U+8431, U+844E, U+845B, U+8461, U+8463, U+8466, U+846C, U+8471, U+8475, U+847A, U+848B, U+8490, U+8494, U+8499, U+849C, U+84B2, U+84B8, U+84BC, U+84C4, U+84C9, U+84CB, U+84D1, U+84EC, U+84EE, U+8500, U+8511, U+8513, U+851A, U+8526, U+852D, U+8535, U+853D, U+8543, U+8549-854A, U+854E, U+8557, U+8568-856A, U+8597, U+8599, U+85A9-85AC, U+85AE-85AF, U+85C1, U+85CD, U+85E4, U+85E9, U+85F7, U+85FB, U+8607, U+862D, U+864E, U+8650, U+865A, U+865C, U+865E, U+8679, U+867B, U+868A, U+8695, U+86A4, U+86C7, U+86CB, U+86CD-86CE, U+86D9, U+86E4, U+86ED-86EE, U+86F8, U+86FE, U+8702, U+8718, U+871C, U+8749, U+874B, U+8755, U+8766, U+8776, U+877F, U+878D, U+87BA, U+87F9, U+87FB, U+8840, U+8846, U+8853, U+8857, U+885B, U+885D, U+8861, U+8863, U+8870, U+8877, U+887F, U+8888, U+888B, U+8896, U+88AB, U+88B4, U+88B7, U+88C1-88C2, U+88C5, U+88CF, U+88DF, U+88E1, U+88F3, U+88F8, U+88FD-88FE, U+8910, U+8912, U+8956, U+895F, U+8972, U+897F, U+8987, U+8997, U+8A02, U+8A0A, U+8A0E, U+8A13, U+8A17, U+8A1F, U+8A23, U+8A34, U+8A3B, U+8A50-8A51, U+8A54, U+8A60, U+8A63, U+8A69, U+8A6B, U+8A6E, U+8A71, U+8A87, U+8A89, U+8A8C, U+8A93, U+8A95, U+8AA0, U+8AA4, U+8AB2, U+8AB9, U+8ABC, U+8ACC, U+8ACF, U+8AD2, U+8AD6, U+8ADC, U+8AED-8AEE, U+8AF8, U+8AFA, U+8AFE, U+8B00-8B02, U+8B04, U+8B0E, U+8B19, U+8B1B, U+8B1D, U+8B21, U+8B2C, U+8B39, U+8B5C, U+8B66, U+8B70, U+8B72, U+8B83, U+8B90, U+8C37, U+8C46, U+8C4A, U+8C5A, U+8C6A, U+8C79, U+8C8C, U+8C9D-8C9E, U+8CA1-8CA2, U+8CA7-8CA9, U+8CAB, U+8CAF-8CB0, U+8CB4, U+8CB7-8CB8, U+8CBB, U+8CBF-8CC0, U+8CC2-8CC4, U+8CC7, U+8CCA, U+8CCE, U+8CD1, U+8CD3, U+8CDB-8CDC, U+8CDE, U+8CE0, U+8CE2, U+8CE6, U+8CED, U+8CFC, U+8D08, U+8D0B, U+8D64, U+8D66, U+8D6B, U+8D74, U+8DA3, U+8DA8, U+8DDD, U+8DE1, U+8DE8, U+8DF3, U+8DF5, U+8E0A, U+8E44, U+8E5F, U+8E74, U+8E8D, U+8EAF, U+8ECA, U+8ECC-8ECD, U+8ED2, U+8EDF, U+8EF8, U+8F14, U+8F1D, U+8F29-8F2A, U+8F2F, U+8F38, U+8F3F, U+8F44, U+8F4D, U+8F5F, U+8F61, U+8F9B, U+8F9E, U+8FB0-8FB2, U+8FBB, U+8FBF, U+8FC2, U+8FC4-8FC5, U+8FCE, U+8FE6, U+8FE9, U+8FEB, U+8FED, U+8FF0, U+8FF7, U+9003, U+9010, U+9013, U+9017, U+9019, U+901D, U+9022, U+902E, U+9038, U+903C, U+9041-9042, U+9047, U+904A, U+904D, U+9054, U+905C, U+9060-9061, U+9063, U+9065, U+906D-906E, U+9075, U+907A, U+907C, U+9084, U+9091, U+90A3, U+90A6, U+90AA, U+90B8, U+90C1, U+90CA, U+90CE, U+90E1, U+90ED, U+90F5, U+90F7, U+90FD, U+912D, U+9149, U+914B-914C, U+914E, U+9152, U+9154, U+9162, U+916A, U+916C, U+9175, U+9177-9178, U+9187, U+918D, U+9190, U+9192, U+9197, U+919C, U+91A4, U+91B8, U+91C6-91C7, U+91CC, U+91CE, U+91D1, U+91D8, U+91DC, U+91E3, U+91E6-91E7, U+920D-920E, U+9234, U+9237, U+9244, U+925B, U+9262, U+9266, U+9271, U+927E, U+9280, U+9283, U+9285, U+9291, U+9298, U+929A, U+92AD, U+92D2, U+92E4, U+92EA, U+92ED, U+92F2-92F3, U+92F8, U+92FC, U+9306, U+9310, U+9318, U+9320, U+9326, U+9328, U+932B-932C, U+932F, U+934B, U+934D, U+9354, U+935B, U+936C, U+937E, U+938C, U+9396-9397, U+939A, U+93A7, U+93AE, U+93D1, U+93E1, U+9418-9419, U+9438, U+9451, U+9453, U+9580, U+9583, U+958F, U+9591, U+95A3-95A5, U+95C7, U+95D8, U+961C, U+962A, U+963B, U+963F-9640, U+9644, U+965B, U+9662-9663, U+9665, U+966A, U+9670, U+9673, U+9675-9676, U+9678, U+967D, U+9685-9686, U+9688, U+968A, U+968F, U+9699, U+96A3, U+96B7, U+96BB-96BC, U+96C0-96C1, U+96C4-96C5, U+96C7, U+96CC, U+96D1, U+96DB, U+96E2-96E3, U+96E8, U+96EA-96EB, U+96F0, U+96F2, U+96F6-96F7, U+96FB, U+9700, U+9707, U+970A, U+971C, U+971E, U+9727, U+9732, U+9752, U+9756, U+9769, U+976D, U+9774, U+9784, U+978D, U+9798, U+97A0, U+97AD, U+97D3, U+97EE, U+97FB, U+9801-9803, U+9810-9813, U+9817, U+981A, U+982C, U+9834, U+983B, U+984D-984E, U+9854-9855, U+985B, U+9867, U+98A8, U+98E2, U+98EF, U+98F2, U+98F4, U+98FC-98FD, U+9905, U+990A, U+990C, U+9910, U+9913, U+9928, U+9957, U+9996, U+9999, U+99A8, U+99AC, U+99B3-99B4, U+99C1, U+99C5, U+99C8, U+99D0, U+99D2, U+99D5, U+99FF, U+9A0E, U+9A12-9A13, U+9A28, U+9A30, U+9A5A, U+9AA8, U+9AB8, U+9AC4, U+9AEA, U+9B3C, U+9B41-9B42, U+9B45, U+9B54, U+9B5A, U+9B6F, U+9B8E, U+9B92, U+9BAA-9BAB, U+9BAD-9BAE, U+9BC9, U+9BD6, U+9BDB, U+9BE8, U+9BF5, U+9C0D, U+9C10, U+9C2D, U+9C2F, U+9C39, U+9C3B, U+9C48, U+9C52, U+9C57, U+9CE5, U+9CE9, U+9CF3-9CF4, U+9CF6, U+9D07, U+9D0E, U+9D1B, U+9D28, U+9D2B-9D2C, U+9D3B, U+9D5C, U+9D60-9D61, U+9D6C, U+9D8F, U+9DB4, U+9DF2, U+9DF9-9DFA, U+9E78, U+9E7F, U+9E93, U+9E97, U+9E9F, U+9EA6, U+9EB9-9EBB, U+9EBF, U+9EC4, U+9ECD, U+9ED2, U+9ED9, U+9EDB, U+9F0E, U+9F13, U+9F20, U+9F3B, U+9F8D;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-k2a.9a513c7c.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E10, U+4E15, U+4E17, U+4E2A, U+4E31, U+4E36, U+4E3C, U+4E3F, U+4E42, U+4E55-4E56, U+4E58, U+4E62, U+4E82, U+4E85, U+4E8A, U+4E8E, U+4E9E-4EA0, U+4EA2, U+4EB0, U+4EB3, U+4EB6, U+4EC2, U+4EC4, U+4EC6, U+4ECD-4ECE, U+4ED7, U+4EDE-4EDF, U+4EED, U+4EF7, U+4F09, U+4F1C, U+4F30, U+4F47, U+4F57, U+4F5A-4F5B, U+4F5D-4F5E, U+4F69, U+4F6F-4F70, U+4F76, U+4F7B, U+4F86, U+4F88, U+4F8F, U+4F91, U+4F96, U+4F98, U+4FAB, U+4FCE, U+4FD0-4FD1, U+4FD4, U+4FD8, U+4FDA-4FDB, U+4FDF, U+4FE4-4FE5, U+4FEF, U+4FF6, U+4FFE, U+5005-5006, U+500F, U+5011, U+5014, U+501A, U+5021, U+5025, U+5028-502A, U+502C, U+5043, U+5047-5048, U+5050, U+5055-5056, U+505A, U+506C, U+5078, U+5080, U+5085, U+509A, U+50B2-50B4, U+50C2, U+50C9-50CA, U+50D6, U+50DE, U+50E3, U+50E5, U+50ED-50EE, U+50F5, U+50F9, U+5101-5102, U+5109, U+5114-5116, U+5118, U+511A, U+5121, U+5137, U+513A-513C, U+513F-5140, U+514C, U+5152, U+5154, U+5162, U+5169-516A, U+516E, U+5180, U+5182, U+5189, U+518C, U+518F-5191, U+5193, U+5195-5196, U+51A2, U+51A4, U+51A6, U+51A9-51AB, U+51B0-51B3, U+51B5, U+51BD, U+51C5, U+51C9, U+51D6, U+51DB-51DC, U+51E0, U+51E9, U+51ED, U+51F0, U+51F5, U+51FE, U+5204, U+520B, U+520E, U+5214, U+5227, U+522A, U+522E, U+5233, U+5239, U+5244, U+524B-524C, U+524F, U+5254, U+525E, U+5269-526A, U+5271, U+5273-5274, U+527D, U+527F, U+5288, U+528D, U+5291-5292, U+5294, U+52AC-52AD, U+52B5, U+52BC, U+52C1, U+52CD, U+52D2, U+52D7, U+52DE, U+52E0, U+52E3, U+52E6, U+52F3, U+52F5, U+52F8-52F9, U+5306, U+5308, U+530D, U+530F-5310, U+5315, U+531A, U+5323, U+532F, U+5331, U+5333, U+5338, U+5340, U+5345-5346, U+5349, U+534D, U+535E, U+5369, U+536E, U+5377, U+537B, U+5382, U+5396, U+53A0, U+53A5-53A6, U+53AE, U+53B0, U+53B6, U+53C3, U+53DF, U+53E8, U+53ED-53EE, U+53FA, U+5401, U+541D, U+5429, U+542C-542E, U+5436, U+543C-543D, U+5440, U+544E, U+545F, U+5470-5471, U+5475-5477, U+547B, U+5480, U+5484, U+5486, U+548E-5490, U+5492, U+54A2, U+54A4-54A5, U+54A8, U+54AB-54AC, U+54AF, U+54B8, U+54BC, U+54BE, U+54C2, U+54C4, U+54C7-54C8, U+54D8, U+54E2, U+54E5-54E6, U+54ED-54EE, U+54FA, U+54FD, U+550F, U+5514, U+552E, U+5533, U+5538-5539, U+5540, U+5545, U+554C, U+5556-5557, U+555C-555D, U+5563, U+557B-557C, U+557E, U+5580, U+5583, U+5587, U+558A, U+5598-5599, U+559E-559F, U+55A8-55A9, U+55AE, U+55C4-55C5, U+55C7, U+55D4, U+55DA, U+55DC, U+55DF, U+55E4, U+55F7, U+55F9, U+55FD-55FE, U+5614, U+5616, U+561B, U+562F, U+5632, U+5634, U+5636, U+5638, U+564E, U+5650, U+5664, U+566A-566C, U+5680, U+5686, U+568A, U+568F, U+5694, U+56A0, U+56A5, U+56AE, U+56B4, U+56B6, U+56BC, U+56C0-56C3, U+56C8, U+56CE, U+56D1, U+56D3, U+56D7-56D8, U+56EE, U+56F9, U+56FF-5700, U+5704, U+5708-5709, U+570B, U+570D, U+5713, U+5716, U+5718, U+571C, U+5726, U+5737-5738, U+573B, U+5740, U+574E-574F, U+5761, U+5769, U+577F, U+5788-5789, U+5793, U+57A0, U+57A4, U+57AA, U+57B0, U+57B3, U+57C0, U+57C3, U+57C6, U+57D2-57D4, U+57D6, U+57E3, U+580A-580B, U+5819, U+581D, U+5821, U+582F, U+583D, U+584B, U+5852, U+5862, U+5870, U+5872, U+5879, U+5885, U+589F, U+58AB, U+58AE, U+58B8-58BB, U+58C5, U+58D1, U+58D3, U+58D7-58D9, U+58DC, U+58DE-58DF, U+58E4-58E5, U+58EF, U+58F9-58FD, U+5902, U+590A, U+5910, U+5918, U+591B, U+5925, U+592C-592D, U+5932, U+5938, U+593E, U+594E, U+5950, U+5955, U+5958, U+595A, U+5960, U+5962, U+5967, U+5969, U+596C, U+5978, U+5981, U+598D, U+599B, U+599D, U+59A3, U+59B2, U+59C6, U+59D9-59DA, U+59DC, U+59E8, U+5A09, U+5A11, U+5A1A, U+5A1C, U+5A1F, U+5A25, U+5A35-5A36, U+5A40, U+5A49, U+5A62, U+5A6A, U+5A6C, U+5A9A, U+5ABC-5ABE, U+5AC2, U+5ACB, U+5AD0, U+5AD6-5AD7, U+5AE3, U+5AE6, U+5AE9, U+5AFA-5AFB, U+5B0B-5B0C, U+5B16, U+5B2A, U+5B32, U+5B36, U+5B3E, U+5B40, U+5B43, U+5B45, U+5B51, U+5B55, U+5B5A-5B5B, U+5B65, U+5B69, U+5B70-5B71, U+5B73, U+5B75, U+5B78, U+5B7A, U+5B80, U+5B83, U+5BA6, U+5BB8, U+5BC3, U+5BC7, U+5BC9, U+5BD0, U+5BD4, U+5BDE, U+5BE2, U+5BE4-5BE6, U+5BE8, U+5BEB, U+5BF0, U+5BF3, U+5BF6, U+5C05, U+5C07-5C08, U+5C0D, U+5C13, U+5C20, U+5C22, U+5C28, U+5C38-5C39, U+5C41, U+5C46, U+5C4E-5C50, U+5C53, U+5C6C, U+5C6E, U+5C76, U+5C79, U+5C8C, U+5C91, U+5C94, U+5CAB, U+5CB6-5CB7, U+5CBB-5CBC, U+5CBE, U+5CC5, U+5CC7, U+5CD9, U+5CE9-5CEA, U+5CED, U+5CFA, U+5CFD, U+5D0B, U+5D11, U+5D14-5D15, U+5D17-5D1B, U+5D1F, U+5D22, U+5D4B-5D4C, U+5D4E, U+5D52, U+5D5C, U+5D6C, U+5D73, U+5D76, U+5D82, U+5D84, U+5D87, U+5D8C, U+5D90, U+5D9D, U+5DA2, U+5DAC, U+5DAE, U+5DB7, U+5DBC-5DBD, U+5DC9, U+5DCD, U+5DD2-5DD3, U+5DD6, U+5DDB, U+5DEB, U+5DF2, U+5DF5, U+5E0B, U+5E11, U+5E19-5E1B, U+5E36-5E37, U+5E40, U+5E43-5E44, U+5E47, U+5E4E, U+5E54, U+5E57, U+5E5F, U+5E62, U+5E64, U+5E75-5E76, U+5E7A, U+5E7F, U+5EA0, U+5EC1-5EC2, U+5EC8, U+5ECF-5ED0, U+5ED6, U+5EDA-5EDB, U+5EDD, U+5EE1-5EE3, U+5EE8-5EE9, U+5EEC, U+5EF0-5EF1, U+5EF3-5EF4, U+5EF8, U+5EFE, U+5F03, U+5F09, U+5F0B-5F0D, U+5F11, U+5F16, U+5F29, U+5F2D, U+5F2F, U+5F38, U+5F41, U+5F48, U+5F4C, U+5F4E, U+5F51, U+5F56-5F57, U+5F59, U+5F5C-5F5D, U+5F61, U+5F6D, U+5F73, U+5F77, U+5F7F, U+5F82-5F83, U+5F87-5F88, U+5F8A, U+5F91, U+5F98-5F99, U+5F9E, U+5FA0, U+5FA8, U+5FAD, U+5FBC, U+5FD6, U+5FDD, U+5FE4, U+5FF0-5FF1, U+5FF8, U+5FFB, U+5FFF, U+600E-6010, U+6015, U+6019, U+601B, U+6021, U+6026, U+6029, U+602B, U+6031, U+603A, U+6041-6043, U+6046, U+604A, U+604D, U+6059-605A, U+605F-6060, U+6063-6064, U+606A-606C, U+6077, U+6081, U+6083-6084, U+608B, U+608D, U+6092, U+6096-6097, U+609A-609B, U+60A7, U+60B3-60B5, U+60B8, U+60BD, U+60C6, U+60D3, U+60D8, U+60E0-60E1, U+60E7, U+60F1, U+60F4, U+60F6-60F7, U+60FA-60FB, U+6100, U+6103, U+6106, U+610D-610E, U+6115, U+6121, U+6127-6128, U+612C, U+6134, U+613C-613F, U+6142, U+6144, U+6147, U+614A, U+614D, U+6153, U+6158-615A, U+615D, U+615F, U+6165, U+616B, U+616F, U+6171, U+6173-6175, U+6177, U+6187, U+618A, U+6191, U+6194, U+6196, U+6199-619A, U+61AB-61AC, U+61AE, U+61BA, U+61C3, U+61C6, U+61C8-61CD, U+61E3, U+61E6, U+61F4, U+61F6-61F7, U+61FA, U+61FC-6200, U+6208-6209, U+620C-620D, U+6214, U+621B, U+621D-621E, U+6221, U+622A, U+622E, U+6230, U+6232-6233, U+6241, U+6248, U+624E, U+625B, U+625E, U+6260, U+6263, U+6268, U+627C, U+627E, U+6282-6283, U+6289, U+6292-6294, U+6296, U+629B, U+62AC, U+62BB, U+62C2, U+62C6-62CA, U+62CC, U+62CF, U+62D1, U+62D4, U+62D7, U+62DC, U+62EE-62EF, U+62F1, U+62F5, U+62FF, U+6302, U+6308, U+630C, U+6327, U+633E, U+634D, U+634F-6350, U+6369, U+636B, U+6376, U+6380, U+6389, U+638E-638F, U+6396, U+639F, U+63A3, U+63AB, U+63B5, U+63BE, U+63C0, U+63C4, U+63C6, U+63C9, U+63D2, U+63E3, U+63E9, U+63F6, U+6406, U+640F, U+6413, U+6416-6417, U+641C, U+6426, U+6428, U+6434, U+6436, U+644E, U+6467, U+646F, U+6476, U+6488, U+6493, U+6495, U+64A5, U+64A9, U+64BB-64BC, U+64C2, U+64C5, U+64C7, U+64D2, U+64D4, U+64D8, U+64DA, U+64E0-64E1, U+64E3, U+64E7, U+64EF, U+64F1-64F2, U+64F4, U+64F6, U+64FA, U+64FD, U+6500, U+6505, U+6518, U+651C-651D, U+6523-6524, U+652A-652C, U+6534-6538, U+6548, U+654D, U+6555-6556, U+6558, U+655D-655E, U+6572, U+6578, U+6582-6583, U+6588, U+659B, U+659F, U+65AB, U+65B7, U+65C1, U+65C3-65C4, U+65C6, U+65CC, U+65D2, U+65D9, U+65DB, U+65E0-65E1, U+65F1, U+65FB, U+6603, U+660A, U+661C, U+6634-6636, U+663F, U+6641, U+6644, U+6649, U+664F, U+665D-665F, U+6662, U+6664, U+6667-6668, U+6670, U+6683-6684, U+6688-6689, U+668E, U+6698, U+669D, U+66B8-66B9, U+66BC, U+66BE, U+66C1, U+66C4, U+66C9, U+66D6, U+66DA, U+66E0, U+66E6, U+66E9, U+66F0, U+66F5, U+66F7, U+66FC, U+6703, U+670F, U+6716, U+671E, U+6726-6727, U+672E, U+6736-6738, U+673F, U+6741, U+6746, U+6759, U+675E, U+6760, U+6763-6764, U+676A, U+6770, U+6772-6773, U+677C, U+6785, U+6789, U+678B-678C, U+67A1, U+67A6, U+67A9, U+67B3-67B4, U+67B7-67B9, U+67C6, U+67CE, U+67DD-67DE, U+67E2, U+67E4, U+67E7, U+67E9, U+67EC, U+67EE-67EF, U+681E, U+6829, U+682B, U+6832, U+6840, U+6846, U+684D-684E, U+6859, U+6863, U+6874, U+6877, U+687E-687F, U+6883, U+688D, U+688F, U+6894, U+689B, U+689D, U+689F-68A0, U+68A6, U+68AD, U+68B3, U+68B5, U+68B9-68BA, U+68C6, U+68CA, U+68CD, U+68D4-68D5, U+68D7-68D8, U+68E0-68E1, U+68E3, U+68E7, U+68EF, U+68F9, U+6901, U+6904, U+6908, U+690C, U+690F, U+6912, U+691A, U+6921-6923, U+6925-6926;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-k2b.42aff2e3.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+6928, U+692A, U+6930, U+6936, U+6939, U+693D, U+6954, U+6959, U+695C-695E, U+6961, U+696A-696B, U+696E, U+6974, U+6977-6979, U+697E, U+6981, U+6991, U+6995, U+699C, U+69A0, U+69A7, U+69AE, U+69B1-69B2, U+69B4, U+69BB, U+69BE-69BF, U+69C1, U+69C3, U+69C7, U+69CA, U+69CE, U+69D0, U+69D3, U+69DD-69DE, U+69E7-69E8, U+69EB, U+69ED, U+69F2, U+69F9, U+69FF, U+6A02, U+6A05, U+6A0A, U+6A0C, U+6A12-6A14, U+6A1B, U+6A1E, U+6A22-6A23, U+6A2E, U+6A36, U+6A38, U+6A44, U+6A47-6A48, U+6A59, U+6A62, U+6A66, U+6A72, U+6A78, U+6A84, U+6A8D, U+6A90, U+6A97, U+6A9C, U+6AA0, U+6AA2-6AA3, U+6AAA, U+6AAC, U+6AAE, U+6AB3, U+6AB8, U+6ABB, U+6AC1-6AC3, U+6AD1, U+6ADA, U+6ADE-6ADF, U+6AEA, U+6AFA-6AFB, U+6B05, U+6B0A, U+6B12, U+6B16, U+6B1F, U+6B37-6B39, U+6B43, U+6B47, U+6B49, U+6B50, U+6B54, U+6B59, U+6B5B, U+6B5F, U+6B61, U+6B78-6B79, U+6B7F-6B80, U+6B83-6B84, U+6B8D, U+6B95, U+6B98, U+6B9E, U+6BA4, U+6BAA-6BAB, U+6BAF, U+6BB1-6BB3, U+6BB7, U+6BBC, U+6BC0, U+6BC6, U+6BCB, U+6BD3, U+6BDF, U+6BEB-6BEC, U+6BEF, U+6BF3, U+6C08, U+6C13-6C14, U+6C1B, U+6C23-6C24, U+6C55, U+6C5E, U+6C62, U+6C68, U+6C6A, U+6C73, U+6C7E, U+6C81-6C82, U+6C8D, U+6C90, U+6C92, U+6C9A-6C9B, U+6CAE, U+6CB1, U+6CBA, U+6CBD-6CBE, U+6CC4-6CC5, U+6CD3, U+6CD7, U+6CD9, U+6CDB, U+6CDD, U+6CEA, U+6CEF, U+6CF1, U+6D0C, U+6D12, U+6D19, U+6D1F, U+6D2B, U+6D33, U+6D35-6D36, U+6D38, U+6D3D, U+6D59-6D5A, U+6D63-6D64, U+6D79, U+6D85, U+6D8E, U+6D93, U+6D95, U+6DB5, U+6DB8, U+6DC5-6DC7, U+6DCC, U+6DD2, U+6DD5, U+6DD9, U+6DDE, U+6DE4, U+6DE6, U+6DE8, U+6DEA, U+6DEC, U+6DEE, U+6DF9-6DFA, U+6E0A, U+6E15, U+6E19, U+6E1D, U+6E1F, U+6E23-6E24, U+6E2B, U+6E2D-6E2E, U+6E38, U+6E3A, U+6E3E, U+6E43, U+6E4D-6E4E, U+6E5F, U+6E6B, U+6E6E, U+6E72, U+6E76, U+6E82, U+6E8F, U+6E98, U+6E9F, U+6EA5, U+6EAA, U+6EAF, U+6EB2, U+6EB7, U+6EBD, U+6EC2, U+6EC4, U+6EC9, U+6ECC, U+6ED3-6ED5, U+6EEC, U+6EEF, U+6EF2, U+6EF7-6EF8, U+6EFE-6EFF, U+6F11, U+6F13, U+6F31-6F32, U+6F3E-6F3F, U+6F41, U+6F58, U+6F5B, U+6F66, U+6F6D, U+6F6F, U+6F74, U+6F78, U+6F7A, U+6F7C, U+6F80-6F82, U+6F86, U+6F8E, U+6F91, U+6FA1, U+6FA3-6FA4, U+6FAA, U+6FB3, U+6FB9, U+6FC2, U+6FC6, U+6FD4-6FD5, U+6FD8, U+6FDB, U+6FDF, U+6FE4, U+6FEC, U+6FEE, U+6FF1, U+6FF3, U+6FF6, U+6FFA, U+6FFE, U+7001, U+7009, U+700B, U+700F, U+7011, U+7018, U+701A-701B, U+701D, U+701F, U+7030, U+7032, U+703E, U+704C, U+7051, U+7063, U+7092, U+7099, U+70AC, U+70AE-70AF, U+70B3, U+70B8, U+70CB, U+70D9, U+70DD, U+70DF, U+70F1, U+70FD, U+7109, U+7119, U+711C, U+714C, U+7155-7156, U+7162, U+7165-7166, U+716C, U+7184, U+7188, U+718F, U+7195, U+7199, U+71A8, U+71AC, U+71B9, U+71BE, U+71C9, U+71CE, U+71D2, U+71D4, U+71D7, U+71DF-71E0, U+71E7, U+71EC, U+71EE, U+71F5, U+71F9, U+71FB-71FC, U+71FF, U+720D, U+7210, U+721B, U+7228, U+722C-722D, U+7230, U+7232, U+723B-723C, U+723F-7240, U+7246, U+724B, U+7258, U+7274, U+727E, U+7281-7282, U+7287, U+7292, U+7296, U+72A2, U+72A7, U+72B2, U+72B9, U+72C3-72C4, U+72C6, U+72CE, U+72D2, U+72E0-72E2, U+72F7, U+72F9, U+730A, U+7316-7317, U+731C-731D, U+7325, U+7329, U+732F, U+7334, U+733E, U+734E-734F, U+7357, U+7368, U+736A, U+7370, U+7375, U+7378, U+737A-737B, U+73B3, U+73BB, U+73C0, U+73C8, U+73CE, U+73DE, U+73E5, U+73EE, U+73F1, U+73F8, U+7405, U+7425, U+7432, U+743A, U+743F, U+7441, U+7455, U+7459, U+745C, U+745F, U+7463-7464, U+7469-746A, U+746F-7470, U+7476, U+747E, U+748B, U+749E, U+74A2, U+74A7, U+74CA, U+74CF, U+74D4, U+74E0, U+74E3, U+74E7, U+74E9, U+74EE, U+74F0-74F2, U+74F7-74F8, U+7503-7505, U+750C-750E, U+7513, U+7515, U+751E, U+7526, U+752C, U+7538, U+753C, U+7544, U+7546, U+7549-754B, U+754D, U+755A-755B, U+7564, U+7567, U+7569, U+756B, U+756D, U+7574, U+7576, U+7578, U+7582, U+7586-7587, U+7589-758A, U+7594, U+759A, U+759D, U+75A3, U+75A5, U+75B1, U+75B3, U+75B5, U+75B8, U+75BC-75BD, U+75C2-75C3, U+75CA, U+75CD, U+75D2, U+75D9, U+75DE, U+75E3, U+75F0, U+75F2-75F3, U+75FA, U+75FC, U+75FE-75FF, U+7601, U+7609, U+760B, U+760D, U+761F-7622, U+7624, U+7627, U+7630, U+7634, U+763B, U+7646-7648, U+7658, U+765C, U+7661-7662, U+7667-766A, U+766C, U+7670, U+7672, U+7676, U+7678, U+767C, U+7680, U+7683, U+7688, U+768B, U+768E, U+7693, U+7696, U+7699-769A, U+76B0, U+76B4, U+76B7-76BA, U+76C2, U+76CD, U+76D2, U+76D6, U+76DC, U+76DE, U+76E1, U+76E5, U+76E7, U+76EA, U+76FB, U+7704, U+7707-7708, U+771B, U+771E, U+7724-7726, U+7729, U+7737-7738, U+7747, U+775A-775B, U+7765, U+7768, U+776B, U+7779, U+777E-777F, U+778B, U+778E, U+7791, U+779E, U+77A0, U+77B0, U+77B6, U+77B9, U+77BB-77BD, U+77BF, U+77C7, U+77CD, U+77D7, U+77DA, U+77DC, U+77E3, U+77EE, U+77FC, U+780C, U+7812, U+7820, U+7845, U+7874, U+787C, U+7886, U+788C, U+788E, U+789A, U+78A3, U+78AA, U+78AF, U+78B5, U+78BC, U+78BE, U+78C5-78C6, U+78CA-78CB, U+78D1, U+78D4, U+78DA, U+78E7, U+78EC, U+78F4, U+78FD, U+7907, U+7911-7912, U+7919, U+7926, U+792A-792C, U+7940, U+7953, U+7955, U+7957, U+795A, U+795F-7960, U+797A, U+797F-7980, U+798A, U+799D, U+79A7, U+79AA, U+79AE, U+79B3, U+79B9-79BA, U+79C9, U+79D5, U+79E1, U+79E3, U+79E7, U+79EC, U+7A08, U+7A0D, U+7A18-7A19, U+7A1F-7A20, U+7A31, U+7A37, U+7A3B, U+7A3E, U+7A43, U+7A49, U+7A57, U+7A61-7A62, U+7A69, U+7A70, U+7A79, U+7A7D, U+7A88, U+7A95-7A98, U+7AA9, U+7AB0, U+7AB6, U+7ABF, U+7AC4-7AC5, U+7AC7-7AC8, U+7ACA, U+7ACD, U+7ACF, U+7AD2-7AD3, U+7AD5, U+7AD9-7ADA, U+7ADD, U+7ADF, U+7AE1-7AE2, U+7AE6, U+7AED, U+7AF0, U+7AF8, U+7B02, U+7B04, U+7B06, U+7B0A-7B0B, U+7B0F, U+7B18-7B19, U+7B1E, U+7B28, U+7B33, U+7B35-7B36, U+7B45, U+7B4C-7B4D, U+7B50, U+7B5D, U+7B65, U+7B67, U+7B6C, U+7B6E, U+7B70-7B71, U+7B74-7B75, U+7B7A, U+7B8B, U+7B8D, U+7B8F, U+7B92, U+7B98-7B9A, U+7B9C-7B9D, U+7B9F, U+7BB4, U+7BC1, U+7BC6, U+7BCB-7BCC, U+7BCF, U+7BDD, U+7BE5-7BE6, U+7BE9, U+7BF3, U+7BF6-7BF7, U+7C00, U+7C07, U+7C0D, U+7C11-7C14, U+7C17, U+7C1F, U+7C23, U+7C27, U+7C2A-7C2B, U+7C37, U+7C3D, U+7C40, U+7C43, U+7C4C, U+7C4F-7C50, U+7C54, U+7C56, U+7C58, U+7C5F-7C60, U+7C64-7C65, U+7C6C, U+7C75, U+7C83, U+7C90, U+7CA1-7CA2, U+7CA4, U+7CA8, U+7CAB, U+7CAD-7CAE, U+7CB1-7CB3, U+7CB9, U+7CBD, U+7CC0, U+7CC2, U+7CC5, U+7CD2, U+7CD8, U+7CDC, U+7CE2, U+7CEF, U+7CF2, U+7CF4, U+7CF6, U+7CFA, U+7D02, U+7D06, U+7D0A, U+7D15, U+7D1C, U+7D2E, U+7D32, U+7D35, U+7D3F, U+7D45-7D46, U+7D4B, U+7D4E-7D4F, U+7D56, U+7D5B, U+7D63, U+7D68, U+7D6E, U+7D72-7D73, U+7D7D, U+7D89, U+7D8F, U+7D93, U+7D9B, U+7D9F, U+7DA2-7DA3, U+7DAB, U+7DAE-7DB0, U+7DB5, U+7DB8, U+7DBA, U+7DBD, U+7DC7, U+7DD5, U+7DD8, U+7DDC-7DDE, U+7DE1, U+7DE4, U+7DF2, U+7DFB, U+7E05, U+7E09-7E0B, U+7E12, U+7E1F, U+7E21-7E23, U+7E31-7E32, U+7E35, U+7E37, U+7E39-7E3B, U+7E3D, U+7E43, U+7E46, U+7E56, U+7E59-7E5A, U+7E5D-7E5E, U+7E66-7E67, U+7E69-7E6A, U+7E79, U+7E7B-7E7D, U+7E7F, U+7E83, U+7E88-7E89, U+7E8C, U+7E8E, U+7E90, U+7E92-7E94, U+7E96, U+7E9B-7E9C, U+7F38, U+7F3A, U+7F45, U+7F4C-7F4E, U+7F50-7F51, U+7F54-7F55, U+7F58, U+7F5F-7F60, U+7F67-7F69, U+7F78-7F79, U+7F82-7F83, U+7F86-7F88, U+7F8C, U+7F94, U+7F9A, U+7F9D-7F9E, U+7FA3, U+7FAE-7FAF, U+7FB2, U+7FB6, U+7FB8-7FB9, U+7FC5-7FC6, U+7FCA, U+7FD4-7FD5, U+7FE1, U+7FE6, U+7FE9, U+7FF3, U+7FF9, U+8004, U+8006, U+800B, U+8012, U+8018-8019, U+801C, U+8021, U+8028, U+803B, U+803F, U+8046, U+804A, U+8052, U+8058, U+805A, U+805F, U+8062, U+8068, U+8070, U+8072-8073, U+8076, U+8079, U+807D, U+807F, U+8084-8086, U+8093, U+809A-809B, U+80AC-80AD, U+80C4, U+80D6, U+80D9-80DB, U+80DD, U+80E5, U+80EF, U+80F1, U+80FC, U+8109, U+811B, U+8123, U+8129, U+812F, U+813E, U+8146, U+814B, U+8151, U+8153, U+815F, U+8165-8166, U+816E, U+8171, U+8174, U+8180, U+8182-8183, U+8188, U+818A, U+8193, U+8195, U+81A0, U+81A3-81A4, U+81A9, U+81B0, U+81B5, U+81B8, U+81BA, U+81BD-81BE, U+81C0, U+81C2, U+81C8-81C9, U+81CD, U+81D1, U+81D8-81DA, U+81DF-81E0, U+81E7, U+81FA-81FB, U+81FE, U+8201-8202, U+8205, U+8207, U+8209-820A, U+820D, U+8210, U+8212, U+8216, U+8229, U+822B, U+822E, U+8233, U+8238, U+8240, U+8258-825A, U+825D, U+825F, U+8262, U+8264, U+8268, U+826A-826B, U+8271, U+8277-8278, U+827E, U+828D, U+8292, U+829F, U+82AB-82AC, U+82BB, U+82D2, U+82D9, U+82DC, U+82DE-82DF, U+82E1, U+82E3, U+82F3-82F4, U+82F9-82FB, U+8303, U+8306, U+8309, U+8316-8318, U+8323, U+832B, U+832F, U+8331-8332, U+8334-8335, U+8339, U+8340, U+8345, U+8350, U+8373, U+8375, U+837C, U+8385;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("/static/fonts/split/LINESeedJP-Bd-k2c.132e6bce.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+8387, U+8389-838A, U+838E, U+8393, U+8396, U+839A, U+839F-83A0, U+83A2, U+83A8, U+83AA, U+83B5, U+83BD, U+83C1, U+83CE, U+83D8, U+83E0, U+83EB, U+83F2, U+83F4, U+83F7, U+83FB, U+83FD, U+8403, U+8407, U+840B, U+840D, U+8413, U+8420, U+8422, U+842A, U+842C, U+8435, U+8438, U+843C, U+8446, U+8462, U+8469, U+846B, U+846D-846F, U+8477, U+8479, U+8482, U+8484, U+849F, U+84A1, U+84AD, U+84B9, U+84BB, U+84BF, U+84C1, U+84C6, U+84CA, U+84CD, U+84D0, U+84D6, U+84D9-84DA, U+84F4, U+84FC, U+84FF, U+8506, U+8514-8515, U+8517-8518, U+851F, U+8521, U+852C, U+8540-8541, U+8548, U+854B, U+8555, U+8558, U+855A, U+8563, U+856D, U+8577, U+857E, U+8580, U+8587-8588, U+858A, U+8590-8591, U+8594, U+859B-859C, U+85A4, U+85A8, U+85B9-85BA, U+85C9, U+85CF-85D0, U+85D5, U+85DC-85DD, U+85E5, U+85EA, U+85F9-85FA, U+85FE, U+8602, U+8606, U+860A-860B, U+8613, U+8616-8617, U+861A, U+8622, U+862F-8630, U+863F, U+864D, U+8654-8655, U+865F, U+8667, U+8671, U+868B-868C, U+8693, U+86A3, U+86A9-86AB, U+86AF-86B0, U+86B6, U+86C4, U+86C6, U+86C9, U+86D4, U+86DB, U+86DE-86DF, U+86E9, U+86EC, U+86EF, U+86F9, U+86FB, U+8700, U+8703, U+8706, U+8708-870A, U+870D, U+8711-8712, U+871A, U+8725, U+8729, U+8734, U+8737, U+873B, U+873F, U+874C, U+874E, U+8753, U+8757, U+8759, U+875F-8760, U+8763, U+8768, U+876A, U+876E, U+8774, U+8778, U+8782, U+879F, U+87A2, U+87AB, U+87AF, U+87B3, U+87BB, U+87BD, U+87C0, U+87C4, U+87C6-87C7, U+87CB, U+87D0, U+87D2, U+87E0, U+87EF, U+87F2, U+87F6-87F7, U+87FE, U+8805, U+880D-880F, U+8811, U+8815-8816, U+8821-8823, U+8827, U+8831, U+8836, U+8839, U+883B, U+8842, U+8844, U+884D, U+8852, U+8859, U+885E, U+8862, U+886B, U+8872, U+8875, U+887D-887E, U+8881-8882, U+888D, U+8892, U+8897, U+8899, U+889E, U+88A2, U+88A4, U+88AE, U+88B0-88B1, U+88B5, U+88BF, U+88C3-88C4, U+88D4, U+88D8-88D9, U+88DD, U+88E8, U+88F2, U+88F4, U+88F9, U+88FC, U+8902, U+8904, U+890A, U+890C, U+8913, U+891D-891E, U+8925, U+892A-892B, U+8936, U+8938, U+893B, U+8941, U+8943-8944, U+894C-894D, U+895E, U+8960, U+8964, U+8966, U+896A, U+896D, U+896F, U+8974, U+8977, U+897E, U+8983, U+8988, U+898A, U+8993, U+8998, U+89A1, U+89A6, U+89A9, U+89AC, U+89AF, U+89B2, U+89BA, U+89BD, U+89BF-89C0, U+89DA, U+89DC-89DD, U+89E7, U+89F4, U+89F8, U+8A03, U+8A0C, U+8A10, U+8A16, U+8A1B, U+8A1D, U+8A25, U+8A36, U+8A41, U+8A46, U+8A48, U+8A52, U+8A5B, U+8A62, U+8A6C-8A6D, U+8A7C, U+8A82, U+8A84-8A85, U+8A91, U+8A9A, U+8AA1, U+8AA3, U+8AA5-8AA6, U+8AA8, U+8AC2, U+8AC4, U+8ACD, U+8ADA-8ADB, U+8ADE, U+8AE0-8AE2, U+8AE4, U+8AE7, U+8AEB, U+8AF1, U+8AF3, U+8AF7, U+8B07, U+8B0C, U+8B10, U+8B14, U+8B16-8B17, U+8B1A, U+8B20, U+8B26, U+8B28, U+8B2B, U+8B33, U+8B3E, U+8B41, U+8B49, U+8B4C, U+8B4E-8B4F, U+8B56, U+8B5A-8B5B, U+8B5F, U+8B6B-8B6C, U+8B6F, U+8B71, U+8B74, U+8B7D, U+8B80, U+8B8A, U+8B8C, U+8B8E, U+8B92-8B93, U+8B96, U+8B99-8B9A, U+8C3A, U+8C3F, U+8C41, U+8C48, U+8C4C, U+8C4E, U+8C50, U+8C55, U+8C62, U+8C6B-8C6C, U+8C78, U+8C7A, U+8C7C, U+8C82, U+8C85, U+8C89-8C8A, U+8C8D-8C8E, U+8C94, U+8C98, U+8CAA, U+8CAD-8CAE, U+8CB2-8CB3, U+8CB6, U+8CBD, U+8CC1, U+8CC8, U+8CCD, U+8CDA, U+8CE3-8CE4, U+8CFA-8CFB, U+8CFD, U+8D04-8D05, U+8D07, U+8D0A, U+8D0D, U+8D0F-8D10, U+8D13-8D14, U+8D16, U+8D67, U+8D6D, U+8D71, U+8D73, U+8D81, U+8D99, U+8DBA, U+8DBE, U+8DC2, U+8DCB-8DCC, U+8DCF, U+8DD6, U+8DDA-8DDB, U+8DDF, U+8DE3, U+8DEA-8DEB, U+8DFC, U+8DFF, U+8E08-8E09, U+8E10, U+8E1D-8E1F, U+8E2A, U+8E30, U+8E34-8E35, U+8E42, U+8E47-8E4A, U+8E4C, U+8E50, U+8E55, U+8E59, U+8E60, U+8E63-8E64, U+8E72, U+8E76, U+8E7C, U+8E81, U+8E84-8E85, U+8E87, U+8E8A-8E8B, U+8E91, U+8E93-8E94, U+8E99, U+8EA1, U+8EAA, U+8EAC, U+8EB0-8EB1, U+8EBE, U+8EC5-8EC6, U+8EC8, U+8ECB, U+8EDB, U+8EE3, U+8EEB, U+8EFB-8EFC, U+8EFE, U+8F05, U+8F0A, U+8F0C, U+8F12-8F13, U+8F15, U+8F19, U+8F1B-8F1C, U+8F1F, U+8F26, U+8F33, U+8F39, U+8F3B, U+8F3E, U+8F42, U+8F45-8F46, U+8F49, U+8F4C, U+8F4E, U+8F57, U+8F5C, U+8F62-8F64, U+8F9C, U+8F9F, U+8FA3, U+8FA7-8FA8, U+8FAD-8FAF, U+8FB7, U+8FDA, U+8FE2, U+8FE5, U+8FEA, U+8FEF, U+8FF4, U+8FF8-8FFA, U+9005, U+900B, U+900D-900E, U+9011, U+9015-9016, U+901E, U+9021, U+9027, U+9035-9036, U+9039, U+903E, U+9049, U+904F-9052, U+9056, U+9058-9059, U+905E, U+9068, U+906F, U+9072, U+9076, U+907D, U+9080-9083, U+9087, U+9089-908A, U+908F, U+90A8, U+90AF, U+90B1, U+90B5, U+90DB, U+90E2, U+90E4, U+9102, U+9112, U+9119, U+9130, U+9132, U+914A, U+9156, U+9158, U+9163, U+9165, U+9169, U+9172-9173, U+9182, U+9189, U+918B, U+91A2, U+91AA-91AB, U+91AF, U+91B4-91B5, U+91BA, U+91C0-91C1, U+91C9, U+91CB, U+91D0, U+91D6, U+91DB, U+91DF, U+91E1, U+91F5-91F6, U+91FC, U+91FF, U+9211, U+9214-9215, U+921E, U+9229, U+922C, U+923F, U+9245, U+9248-9249, U+924B, U+9250, U+9257, U+925A, U+925E, U+9264, U+9293, U+9295-9296, U+929B-929C, U+92B7, U+92B9, U+92CF, U+92E9, U+92FA, U+930F, U+9319-931A, U+9322-9323, U+932E, U+9335, U+933A-933B, U+9344, U+9356, U+935C, U+9360, U+936E, U+937C, U+9394, U+93AC-93AD, U+93B0, U+93B9, U+93C3, U+93C8, U+93D0, U+93D6-93D8, U+93DD, U+93E4-93E5, U+93E8, U+9403, U+9407, U+9410, U+9413-9414, U+941A, U+9421, U+942B, U+9435-9436, U+943A, U+9441, U+9444, U+9452, U+945A-945B, U+945E, U+9460, U+9462, U+946A, U+9470, U+9475, U+9477, U+947C-947F, U+9481, U+9582, U+9587, U+958A, U+9594, U+9596, U+9598-9599, U+95A0, U+95A7-95A8, U+95AD, U+95B9, U+95BB-95BC, U+95BE, U+95C3, U+95CA, U+95CC-95CD, U+95D4-95D6, U+95DC, U+95E1-95E2, U+95E5, U+9621, U+9628, U+962E-962F, U+9642, U+964B-964C, U+964F, U+965C-965F, U+9666, U+966C, U+9672, U+9677, U+968B, U+968D, U+9695, U+9697-9698, U+96A7-96A8, U+96AA, U+96B0-96B2, U+96B4, U+96B6, U+96B8-96B9, U+96C9, U+96CB, U+96CD-96CE, U+96D5-96D6, U+96D9, U+96DC, U+96F9, U+9704, U+9706, U+9708, U+970D-970F, U+9711, U+9713, U+9716, U+9719, U+9724, U+972A, U+9730, U+9738-9739, U+973D-973E, U+9742, U+9744, U+9746, U+9748-9749, U+975C, U+9760-9761, U+9764, U+9766, U+9768, U+976B, U+9771, U+9779-977A, U+977C, U+9781, U+9785-9786, U+978B, U+978F-9790, U+979C, U+97A3, U+97A6, U+97A8, U+97AB, U+97B3-97B4, U+97C3, U+97C6, U+97C8, U+97CB, U+97DC, U+97ED, U+97F2, U+97F5-97F6, U+980C, U+980F, U+9821, U+9824, U+9837-9838, U+983D, U+9846, U+984B, U+984F, U+986B, U+986F-9871, U+9873-9874, U+98AA, U+98AF, U+98B1, U+98B6, U+98C3-98C4, U+98C6, U+98DC, U+98E9, U+98EB, U+98ED-98EE, U+9903, U+9909, U+9912, U+9914, U+9918, U+991D-991E, U+9920-9921, U+9924, U+992C, U+992E, U+993D-993E, U+9942, U+9945, U+9949, U+994B-994C, U+9950-9952, U+9955, U+9997-9998, U+99A5, U+99AD-99AE, U+99BC, U+99D1, U+99D8, U+99DB, U+99DD, U+99DF, U+99E2, U+99ED-99EE, U+99F1-99F2, U+99F8, U+99FB, U+9A01, U+9A05, U+9A0F, U+9A19, U+9A2B, U+9A37, U+9A3E, U+9A40, U+9A42-9A43, U+9A45, U+9A4D, U+9A55, U+9A57, U+9A5B, U+9A5F, U+9A62, U+9A64-9A65, U+9A69-9A6B, U+9AAD, U+9AB0, U+9ABC, U+9AC0, U+9ACF, U+9AD1, U+9AD3-9AD4, U+9ADE-9ADF, U+9AE2-9AE3, U+9AE6, U+9AEB, U+9AEE-9AEF, U+9AF1, U+9AF4, U+9AF7, U+9AFB, U+9B06, U+9B18, U+9B1A, U+9B1F, U+9B22-9B23, U+9B25, U+9B27-9B2A, U+9B2E-9B2F, U+9B31-9B32, U+9B3B, U+9B43-9B44, U+9B4D-9B4F, U+9B51, U+9B58, U+9B74, U+9B83, U+9B91, U+9B93, U+9B96-9B97, U+9B9F-9BA0, U+9BA8, U+9BB4, U+9BB9, U+9BC0, U+9BC6, U+9BCA, U+9BCF, U+9BD1-9BD2, U+9BD4, U+9BE1-9BE4, U+9BF0-9BF2, U+9C04, U+9C06, U+9C08-9C0A, U+9C0C, U+9C12-9C15, U+9C1B, U+9C21, U+9C24-9C25, U+9C2E, U+9C30, U+9C32, U+9C3A, U+9C3E, U+9C46-9C47, U+9C5A, U+9C60, U+9C67, U+9C76, U+9C78, U+9CE7, U+9CEB-9CEC, U+9CF0, U+9D03, U+9D06, U+9D08-9D09, U+9D12, U+9D15, U+9D1F, U+9D23, U+9D26, U+9D2A, U+9D3E-9D3F, U+9D41, U+9D44, U+9D46, U+9D48, U+9D50-9D51, U+9D59, U+9D5D-9D5E, U+9D64, U+9D6F, U+9D72, U+9D7A, U+9D87, U+9D89, U+9D9A, U+9DA4, U+9DA9, U+9DAB, U+9DAF, U+9DB2, U+9DB8, U+9DBA-9DBB, U+9DC1-9DC2, U+9DC4, U+9DC6, U+9DCF, U+9DD3, U+9DD9, U+9DE6, U+9DED, U+9DEF, U+9DF8, U+9DFD, U+9E1A-9E1B, U+9E1E, U+9E75, U+9E79, U+9E7D, U+9E81, U+9E88, U+9E8B-9E8C, U+9E91-9E92, U+9E95, U+9E9D, U+9EA5, U+9EA9-9EAA, U+9EAD, U+9EB8, U+9EBC, U+9EBE, U+9ECC, U+9ECE-9ED0, U+9ED4, U+9ED8, U+9EDC-9EDE, U+9EE0, U+9EE5, U+9EE8, U+9EEF, U+9EF4, U+9EF6-9EF7, U+9EF9, U+9EFB-9EFD, U+9F07-9F08, U+9F15, U+9F21, U+9F2C, U+9F3E, U+9F4A-9F4B, U+9F4E-9F4F, U+9F52, U+9F54, U+9F5F-9F61, U+9F63, U+9F66-9F67, U+9F6A, U+9F6C, U+9F72, U+9F76-9F77, U+9F95, U+9F9C-9F9D, U+9FA0;
}
@font-face {
  font-family: "Material Symbols Rounded";
  src: url("/static/fonts/split/material-symbols-rounded.subset.65055aa8.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/* fonts:end */

:root {
  color-scheme: dark;
  --bg: #0b0b0d;
  --bg-2: #151518;
  --sidebar: rgba(22, 22, 24, 0.82);
  --surface: rgba(255, 255, 255, 0.075);
  --surface-2: rgba(255, 255, 255, 0.115);
  --surface-3: rgba(255, 255, 255, 0.16);
  --line: rgba(255, 255, 255, 0.11);
  --line-strong: rgba(255, 255, 255, 0.18);
  --surface-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.045));
  --surface-fill-strong: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.065));
  --control-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.055));
  --border-blend: linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.055) 42%, rgba(41, 196, 236, 0.18) 100%);
  --border-blend-soft: linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.045) 48%, rgba(41, 196, 236, 0.12) 100%);
  --border-blend-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.12) 42%, rgba(41, 196, 236, 0.3) 100%);
  --text: #f5f5f7;
  --muted: #a1a1a6;
  --muted-2: #d2d2d7;
  --accent: #29c4ec;
  --accent-soft: rgba(41, 196, 236, 0.2);
  --danger: #ff453a;
  --green: #30d158;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
  --space-1: 6px;
  --space-2: 12px;
  --space-3: 18px;
  --space-4: 24px;
  --space-5: 30px;
  --space-6: 36px;
  --space-7: 48px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --container: 1280px;
  --control-height: 40px;
  --button-height: 36px;
  --card-padding: var(--space-5);
  --section-gap: var(--space-7);
  --grid-gap: var(--space-4);
  --grid-min: 240px;
  --focus-ring: 0 0 0 3px var(--accent-soft);
  --glass-blur: blur(28px) saturate(1.15);
  /* 文字サイズはrem、余白・寸法はpxで持つ。スマートフォン幅では下の @media (max-width: 767.98px) で一段大きくする。 */
  --font-xs: 0.75rem;
  --font-sm: 0.8125rem;
  --font-md: 0.9375rem;
  --font-lg: 1.125rem;
  --font-xl: 1.5rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --chrome-bg: rgba(22, 22, 24, 0.84);
  --chrome-bg-solid: rgba(22, 22, 24, 0.97);
}

body[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f5f7;
  --bg-2: #ffffff;
  --sidebar: rgba(255, 255, 255, 0.74);
  --surface: rgba(255, 255, 255, 0.62);
  --surface-2: rgba(255, 255, 255, 0.82);
  --surface-3: rgba(255, 255, 255, 0.94);
  --line: rgba(0, 0, 0, 0.09);
  --line-strong: rgba(0, 0, 0, 0.14);
  --surface-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.58));
  --surface-fill-strong: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.72));
  --control-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.68));
  --border-blend: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(0, 0, 0, 0.065) 46%, rgba(41, 196, 236, 0.2) 100%);
  --border-blend-soft: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0.045) 52%, rgba(41, 196, 236, 0.13) 100%);
  --border-blend-hover: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0.1) 44%, rgba(41, 196, 236, 0.28) 100%);
  --text: #1d1d1f;
  --muted: #6e6e73;
  --muted-2: #3a3a3c;
  --accent-soft: rgba(41, 196, 236, 0.13);
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.12);
  --chrome-bg: rgba(255, 255, 255, 0.84);
  --chrome-bg-solid: rgba(250, 250, 252, 0.97);
}

@media (prefers-color-scheme: light) {
  body[data-theme="system"] {
    color-scheme: light;
    --bg: #f5f5f7;
    --bg-2: #ffffff;
    --sidebar: rgba(255, 255, 255, 0.74);
    --surface: rgba(255, 255, 255, 0.62);
    --surface-2: rgba(255, 255, 255, 0.82);
    --surface-3: rgba(255, 255, 255, 0.94);
    --line: rgba(0, 0, 0, 0.09);
    --line-strong: rgba(0, 0, 0, 0.14);
    --surface-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.58));
    --surface-fill-strong: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.72));
    --control-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.68));
    --border-blend: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(0, 0, 0, 0.065) 46%, rgba(41, 196, 236, 0.2) 100%);
    --border-blend-soft: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0.045) 52%, rgba(41, 196, 236, 0.13) 100%);
    --border-blend-hover: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0.1) 44%, rgba(41, 196, 236, 0.28) 100%);
    --text: #1d1d1f;
    --muted: #6e6e73;
    --muted-2: #3a3a3c;
    --accent-soft: rgba(41, 196, 236, 0.13);
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.12);
    --chrome-bg: rgba(255, 255, 255, 0.84);
    --chrome-bg-solid: rgba(250, 250, 252, 0.97);
  }
}

body[data-density="compact"] {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --font-sm: 0.75rem;
  --font-md: 0.875rem;
  --font-lg: 1rem;
  --font-xl: 1.3125rem;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; }
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(41, 196, 236, 0.42) rgba(255, 255, 255, 0.045);
}
body {
  min-height: 100vh;
  margin: 0;
  font-family: "LINE Seed JP", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  color: var(--text);
  font-size: var(--font-md);
  line-height: 1.5;
  background:
    radial-gradient(circle at 18% 12%, rgba(41, 196, 236, 0.24), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(255, 255, 255, 0.08), transparent 22%),
    linear-gradient(180deg, #1d1d20 0%, var(--bg) 34%, #070708 100%);
  letter-spacing: 0;
}

/* 固定UI(ヘッダー・下部タブ・下部プレイヤー)の寸法はここに集約する。
   本文の上下余白、全画面要素の高さ、浮かせる要素の位置はすべてこの変数から計算する。
   高さには境界線の1pxとセーフエリアも含める。幅ごとの値は @media (max-width: 1279.98px) で切り替える。
   (派生値は元の値と同じ要素で宣言しないと再計算されないため、:root ではなく body に置く) */
body {
  --header-row: 0px;
  --header-border: 0px;
  --header-safe-top: 0px;
  --tabbar-row: 0px;
  --tabbar-border: 0px;
  --tabbar-safe-bottom: 0px;
  --player-dock-h: 0px;
  --dock-gap: 12px;
  --page-pad-x: var(--space-7);
  --viewport-h: 100vh;
  --header-h: calc(var(--header-safe-top) + var(--header-row) + var(--header-border));
  --tabbar-h: calc(var(--tabbar-row) + var(--tabbar-border) + var(--tabbar-safe-bottom));
  --float-bottom: calc(var(--tabbar-h) + var(--dock-gap));
}
@supports (height: 100dvh) {
  body { --viewport-h: 100dvh; }
}

.nav-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 80;
  height: calc(var(--safe-top) + 3px);
  padding-top: var(--safe-top);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-base) ease;
}
.nav-progress::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--accent), #7de3ff);
  box-shadow: 0 0 10px rgba(41, 196, 236, 0.6);
  transform: scaleX(0);
  transform-origin: left center;
}
body.page-loading .nav-progress,
body.is-navigating .nav-progress {
  opacity: 1;
}
body.page-loading .nav-progress::before,
body.is-navigating .nav-progress::before {
  transform: scaleX(0.92);
  transition: transform 8s cubic-bezier(0.08, 0.7, 0.2, 1);
}
button.is-busy {
  cursor: progress;
  opacity: 0.72;
}
button.is-busy::after {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  animation: busySpin 700ms linear infinite;
}
@keyframes busySpin {
  to { transform: rotate(360deg); }
}

body.page-loading .page {
  opacity: 0.68;
  transform: none;
  filter: blur(14px);
  pointer-events: none;
  transition:
    opacity var(--motion-base) ease,
    filter var(--motion-base) ease;
}
.page.page-enter {
  opacity: 0.7;
  transform: none;
  filter: blur(14px);
}
.page.page-enter.page-enter-active {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition:
    opacity var(--motion-base) ease,
    filter var(--motion-base) ease;
}

body[data-theme="light"] {
  background:
    radial-gradient(circle at 18% 12%, rgba(41, 196, 236, 0.15), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(255, 45, 85, 0.08), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 42%, #ececf0 100%);
}

@media (prefers-reduced-motion: reduce) {
  body.page-loading .page,
  .page.page-enter,
  .page.page-enter.page-enter-active {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

@media (prefers-color-scheme: light) {
  body[data-theme="system"] {
    background:
      radial-gradient(circle at 18% 12%, rgba(41, 196, 236, 0.15), transparent 28%),
      radial-gradient(circle at 80% 0%, rgba(255, 45, 85, 0.08), transparent 22%),
      linear-gradient(180deg, #ffffff 0%, var(--bg) 42%, #ececf0 100%);
  }
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.035);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(41, 196, 236, 0.64), rgba(255, 255, 255, 0.18)) padding-box,
    var(--border-blend-soft) border-box;
}
*::-webkit-scrollbar-thumb:hover {
  background:
    linear-gradient(135deg, rgba(255, 55, 95, 0.84), rgba(255, 255, 255, 0.28)) padding-box,
    var(--border-blend-hover) border-box;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.035), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.025));
  mix-blend-mode: screen;
}

a { color: inherit; text-decoration: none; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: 0; }
h2 { margin: 0; font-size: var(--font-xl); line-height: 1.2; letter-spacing: 0; }
h3 { margin: 0; font-size: var(--font-lg); line-height: 1.25; letter-spacing: 0; }
p { margin: 0; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; }
img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}
button,
[role="button"],
input,
select,
textarea {
  font: inherit;
}

/* Component foundation: keep the custom visual style while normalizing layout primitives. */
:where(.page, .hero, .glass, .empty, .setup-panel, .notice, .admin-section, .modal, .global-sheet-panel) {
  min-width: 0;
}

:where(.glass, .empty, .setup-panel, .notice, .admin-section, .playlist-card, .active-player-card, .modal, .global-sheet-panel) {
  border: 1px solid transparent;
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: var(--glass-blur);
}

:where(.glass, .empty, .setup-panel, .admin-section, .modal) {
  border-radius: var(--radius-lg);
  padding: var(--card-padding);
}

:where(.content-grid, .card-grid, .playlist-grid, .metric-grid, .admin-stack, .ranking-list, .track-list) {
  min-width: 0;
}

:where(.inline-form, .search-bar, .action-row, .section-head) {
  min-width: 0;
}

:where(.inline-form, .search-bar, .action-row) > * {
  min-width: 0;
}

:where(.track-row, .playlist-tile, .media-card, .vc-row, .ranking-row) {
  min-width: 0;
}

:where(.track-row, .playlist-tile, .media-card, .vc-row, .ranking-row) > * {
  min-width: 0;
}

.material-symbols-rounded {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "liga";
}

button, .button {
  min-height: var(--button-height);
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0 var(--space-4);
  color: var(--text);
  background:
    var(--control-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  box-shadow: none;
  transition: background var(--motion-fast) ease, opacity var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, filter var(--motion-fast) ease;
}
button:hover, .button:hover {
  background:
    var(--surface-fill-strong) padding-box,
    var(--border-blend-hover) border-box;
  background-clip: padding-box, border-box;
}
button.danger, .button.danger {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 69, 58, 0.22), rgba(255, 69, 58, 0.12)) padding-box,
    linear-gradient(135deg, rgba(255, 180, 176, 0.5), rgba(255, 69, 58, 0.22)) border-box;
  background-clip: padding-box, border-box;
}
button.danger:hover, .button.danger:hover {
  background:
    linear-gradient(180deg, rgba(255, 69, 58, 0.34), rgba(255, 69, 58, 0.2)) padding-box,
    linear-gradient(135deg, rgba(255, 203, 199, 0.62), rgba(255, 69, 58, 0.34)) border-box;
  background-clip: padding-box, border-box;
}
.icon-button {
  width: 40px;
  min-width: 40px;
  padding: 0;
}
button.ghost, .button.ghost, .row-actions button, .row-action button {
  background:
    var(--control-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  color: var(--text);
}
button.ghost:hover, .button.ghost:hover, .row-actions button:hover, .row-action button:hover {
  background:
    var(--surface-fill-strong) padding-box,
    var(--border-blend-hover) border-box;
  background-clip: padding-box, border-box;
}

input, select, textarea {
  width: 100%;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  padding: 10px var(--space-3);
  background:
    var(--control-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  color: var(--text);
  outline: none;
}
input, select { min-height: var(--control-height); }
textarea { resize: vertical; font: inherit; }
input:focus, select:focus, textarea:focus {
  border-color: rgba(41, 196, 236, 0.72);
  background:
    var(--control-fill) padding-box,
    linear-gradient(135deg, rgba(255, 114, 132, 0.84), rgba(41, 196, 236, 0.42)) border-box;
  box-shadow: var(--focus-ring);
}
label { display: grid; gap: var(--space-2); margin: var(--space-3) 0; color: var(--muted); font-size: var(--font-sm); }
form { min-width: 0; }
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

table {
  width: 100%;
  min-width: 680px;
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  border-spacing: 0;
  overflow: hidden;
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
th, td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--line);
  text-align: left;
}
tr:last-child > th,
tr:last-child > td {
  border-bottom: 0;
}
.table-wrap {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  border-radius: var(--radius-lg);
}

.custom-select {
  position: relative;
  width: 100%;
}
.custom-select > select {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}
.custom-select-trigger {
  width: 100%;
  min-height: 42px;
  justify-content: space-between;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  padding: 0 var(--space-3);
  background:
    var(--control-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  color: var(--text);
  font-weight: 650;
}
.custom-select-trigger:hover {
  background:
    var(--surface-fill-strong) padding-box,
    var(--border-blend-hover) border-box;
  background-clip: padding-box, border-box;
}
.custom-select.is-open .custom-select-trigger {
  border-color: rgba(41, 196, 236, 0.7);
  background:
    var(--control-fill) padding-box,
    linear-gradient(135deg, rgba(255, 114, 132, 0.84), rgba(41, 196, 236, 0.42)) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--focus-ring);
}
.custom-select-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: none;
  max-height: 260px;
  overflow: auto;
  padding: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(36, 36, 40, 0.98), rgba(26, 26, 29, 0.98)) padding-box,
    var(--border-blend) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow);
}
.custom-select.is-open .custom-select-menu {
  display: grid;
  gap: var(--space-1);
}
.custom-select-option {
  width: 100%;
  min-height: 36px;
  justify-content: flex-start;
  border-radius: var(--radius-sm);
  padding: 0 var(--space-3);
  background: transparent;
  color: var(--muted-2);
}
.custom-select-option:hover,
.custom-select-option.is-selected {
  background: rgba(41, 196, 236, 0.18);
  color: var(--text);
}

.shell {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  z-index: 5;
  height: 100vh;
  padding: var(--space-6) var(--space-4);
  background: var(--sidebar);
  border-right: 1px solid var(--line);
  backdrop-filter: blur(34px) saturate(1.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sidebar-toggle,
.app-header {
  display: none;
}
.sidebar-footer-link {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 6px var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 700;
}
.sidebar-footer-link .material-symbols-rounded { font-size: 16px; }
.sidebar-footer-link:hover { color: var(--text); background: rgba(255, 255, 255, 0.1); }

.brand {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  font-size: var(--font-lg);
  font-weight: 700;
}
.reading {
  margin: 0 0 var(--space-6) 58px;
  color: var(--muted);
  font-size: var(--font-xs);
}
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-md);
  overflow: hidden;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #ff2d55, #ff7a45);
  box-shadow: 0 10px 22px rgba(41, 196, 236, 0.25);
}
.brand-mark img { width: 100%; height: 100%; object-fit: cover; }

.nav {
  display: grid;
  gap: var(--space-1);
  margin-top: var(--space-2);
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: none;
}
.nav::-webkit-scrollbar,
.sidebar-playlists::-webkit-scrollbar {
  display: none;
}
.nav a, .nav summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 10px var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--muted-2);
  font-weight: 650;
  font-size: var(--font-sm);
  cursor: pointer;
}
.nav a:hover, .nav summary:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text);
}
.nav-group { display: grid; gap: var(--space-1); }
.nav-group summary { list-style: none; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-arrow {
  margin-left: auto;
  transition: transform var(--motion-fast) ease;
}
.nav-group[open] .nav-arrow {
  transform: rotate(180deg);
}
.nav-group a { margin-left: 0; padding-block: 8px; }
.nav-shortcut-hint {
  margin-left: auto;
  padding: 2px 6px;
  border-radius: 6px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.nav-shortcut-hint:empty { display: none; }
.sidebar-playlists { display: grid; gap: var(--space-1); margin: var(--space-2) 0 var(--space-3); }
.side-label { margin: var(--space-2) 0 var(--space-1); color: var(--muted); font-size: var(--font-xs); font-weight: 700; }
.side-playlist {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.side-playlist > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.side-art {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  overflow: hidden;
  background: rgba(255,255,255,0.1);
}
.side-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.side-art .material-symbols-rounded {
  font-size: 18px;
}
.side-empty { padding: 4px var(--space-3); color: var(--muted); font-size: var(--font-xs); }
.profile-link {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: auto;
  padding: 10px var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--muted-2);
  font-weight: 700;
}
.profile-link:hover { background: rgba(255,255,255,0.1); color: var(--text); }
.profile-mini-avatar {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,0.1);
}
.profile-mini-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.profile-mini-avatar .material-symbols-rounded {
  font-size: 24px;
}
.mobile-tabbar {
  display: none;
}

.page {
  width: min(var(--container), 100%);
  margin: 0 auto;
  padding: var(--space-7) var(--space-7) 116px;
}

.hero {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-7);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
    radial-gradient(circle at 74% 30%, rgba(41, 196, 236, 0.42), transparent 34%),
    linear-gradient(135deg, rgba(78, 78, 84, 0.82), rgba(18, 18, 20, 0.96));
  box-shadow: var(--shadow);
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, 0.64));
  pointer-events: none;
}
.hero > div { position: relative; z-index: 1; max-width: 760px; }

.crumb-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 var(--space-2);
  color: var(--muted-2);
  font-size: var(--font-sm);
  font-weight: 700;
  text-decoration: none;
}
.crumb-back:hover { color: var(--text); }
.crumb-back .material-symbols-rounded { font-size: 16px; }
.hero-album {
  position: absolute;
  right: clamp(20px, 6vw, 74px);
  bottom: var(--space-7);
  width: min(26vw, 240px);
  min-width: 150px;
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-art-lg);
  transform: rotate(2deg);
}
.hero-album::before {
  content: "";
  position: absolute;
  inset: 12px -18px -18px 18px;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.1);
  z-index: -1;
}
.hero-album img, .hero-album span {
  width: 100%;
  height: 100%;
  display: block;
}
.hero-album img { object-fit: cover; }
.hero-album span {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #29c4ec, #7de3ff);
  font-size: 64px;
  font-weight: 700;
}
.hero.compact { min-height: 190px; }
.eyebrow {
  margin: 0 0 var(--space-2);
  color: var(--muted-2);
  font-size: var(--font-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}
.lead {
  max-width: 640px;
  margin-top: var(--space-3);
  color: var(--muted-2);
  font-size: 1.0625rem;
  line-height: 1.55;
}
.muted, small { color: var(--muted); }

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  margin: var(--section-gap) 0 var(--space-4);
}
.section-head:first-child {
  margin-top: 0;
}
.section-head h2,
.section-head p {
  margin: 0;
}
.section-head p {
  max-width: 680px;
  color: var(--muted-2);
}
.section-head .action-row {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .section-head,
  .hero {
    align-items: stretch;
    flex-direction: column;
  }

  .section-head .action-row {
    width: 100%;
  }

  .section-head .action-row > *,
  .inline-form > *,
  .search-bar > * {
    flex: 1 1 100%;
  }
}

.home-active-list {
  display: grid;
  gap: var(--space-4);
}

.active-player-card {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
  padding: var(--space-5);
  border: 1px solid transparent;
  border-radius: var(--radius-xl);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(26px) saturate(1.15);
  box-shadow: var(--shadow);
}

.active-player-art {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: var(--shadow-art);
}

.active-player-art img,
.media-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.active-player-art span,
.media-art span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #29c4ec, #7de3ff);
  font-size: 40px;
}

.active-player-body {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}

.media-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(168px, 196px);
  gap: var(--space-4);
  overflow-x: auto;
  overflow-y: hidden;
  padding: var(--space-1) 0 var(--space-3);
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.media-rail::-webkit-scrollbar { display: none; }

.media-card {
  position: relative;
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  align-content: start;
  scroll-snap-align: start;
}

.media-art {
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: var(--shadow-art);
  transition: box-shadow var(--motion-fast) ease, filter var(--motion-fast) ease;
}
.media-card:hover .media-art {
  box-shadow: var(--shadow-art-lg);
  filter: saturate(1.08) brightness(1.04);
}

.media-card strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-card p {
  color: var(--muted);
  font-size: var(--font-sm);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-overlay {
  position: absolute;
  inset: 0 0 auto;
  aspect-ratio: 1;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, transparent 32%, rgba(0, 0, 0, 0.72));
  opacity: 0;
  transition: opacity var(--motion-fast) ease;
}

.media-card:hover .media-overlay,
.media-card:focus-within .media-overlay {
  opacity: 1;
}

.media-overlay button {
  width: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  color: #fff;
  background:
    rgba(255, 255, 255, 0.18) padding-box,
    linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(255,255,255,0.08)) border-box;
  backdrop-filter: blur(16px);
}

.media-overlay form {
  margin: 0;
}

.media-card-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: var(--radius-md);
}

.playlist-media-card .media-overlay {
  z-index: 3;
}

.player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-5);
}
.player-card {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  border-radius: var(--radius-lg);
  background: transparent;
}
.player-card .art {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--surface);
  box-shadow: var(--shadow-art);
}
.art img, .now-art img, .mini-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.art span, .now-art span, .mini-art span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #29c4ec, #7de3ff);
  font-size: 48px;
  font-weight: 700;
}
.player-card-body {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}
.player-card-body p { color: var(--muted); font-size: var(--font-sm); }

.content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min)), 1fr));
  gap: var(--grid-gap);
  align-items: start;
}
.content-grid > article:not(.glass) {
  min-width: 0;
}

.track-list {
  display: grid;
  gap: var(--space-1);
  border-top: 0;
}
.track-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  min-height: 52px;
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background:
    rgba(255, 255, 255, 0.035) padding-box,
    linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.02)) border-box;
  background-clip: padding-box, border-box;
}
.track-row:hover {
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.track-row span { min-width: 0; font-weight: 600; }
.track-row small { font-variant-numeric: tabular-nums; }
.track-line {
  grid-template-columns: 36px minmax(0, 1fr) 64px auto;
  min-height: 40px;
  gap: var(--space-2);
  overflow: visible;
  align-items: center;
}
.track-line:has(.drag-handle) {
  grid-template-columns: 28px 36px minmax(0, 1fr) 64px auto;
}
.track-line:has(input[type="checkbox"]) {
  grid-template-columns: 28px auto 36px minmax(0, 1fr) 64px auto;
}
.track-line-art {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.1);
}
.track-line-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.track-line-art .material-symbols-rounded {
  font-size: 18px;
  color: var(--muted-2);
}
.track-row.is-playing {
  background:
    var(--accent-soft) padding-box,
    linear-gradient(135deg, rgba(41, 196, 236, 0.5), rgba(41, 196, 236, 0.12)) border-box;
  background-clip: padding-box, border-box;
}
.track-row.is-playing .track-line-title {
  color: var(--accent);
}
.track-eq {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 12px;
  margin-right: 6px;
  vertical-align: middle;
}
.track-eq span {
  width: 2px;
  background: var(--accent);
  border-radius: 1px;
  animation: track-eq-bounce 0.9s ease-in-out infinite;
}
.track-eq span:nth-child(1) { height: 40%; animation-delay: -0.6s; }
.track-eq span:nth-child(2) { height: 100%; animation-delay: -0.3s; }
.track-eq span:nth-child(3) { height: 65%; animation-delay: 0s; }
.track-row.is-paused .track-eq span {
  animation-play-state: paused;
  transform: scaleY(0.55);
}
@keyframes track-eq-bounce {
  0%, 100% { transform: scaleY(0.35); }
  50% { transform: scaleY(1); }
}
@media (prefers-reduced-motion: reduce) {
  .track-eq span {
    animation: none;
    transform: scaleY(0.7);
  }
}
.track-line-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
.track-line-duration {
  min-width: 56px;
  color: var(--muted);
  text-align: left;
  white-space: nowrap;
}
.track-line-meta {
  display: none;
}
.drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  min-width: 26px;
  height: 30px;
  color: var(--muted);
  cursor: grab;
  opacity: 0.72;
  border-radius: var(--radius-sm);
}
.drag-handle:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.08);
  opacity: 1;
}
.track-menu {
  position: relative;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 32px;
  height: 32px;
  overflow: visible;
}
.track-menu-toggle {
  width: 32px;
  min-width: 32px;
  min-height: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform-origin: center;
  transition: opacity var(--motion-fast) ease, transform var(--motion-fast) ease;
}
.track-menu-toggle .material-symbols-rounded {
  display: block;
  line-height: 1;
}
.track-menu-panel {
  position: absolute;
  z-index: 12;
  top: calc(100% + 6px);
  right: 0;
  display: none;
  min-width: 210px;
  padding: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background:
    color-mix(in srgb, var(--surface-strong) 92%, transparent) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(24px);
}
.track-menu.is-open .track-menu-panel {
  display: grid;
  gap: 0;
}
.track-menu-panel form {
  margin: 0;
}
/* 曲のメニュー: PC・タッチ・右クリックのどれでも、アイコンに名前を添えた行で縦に並べる(44pxのタップ領域) */
.track-menu-panel { min-width: 220px; }
.track-menu-panel button {
  width: 100%;
  min-width: 0;
  height: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}
.track-menu-panel button .material-symbols-rounded {
  display: block;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
}
.track-menu-panel button.danger,
.track-menu-panel button.danger .material-symbols-rounded { color: var(--danger-text); }

@media (hover: hover) and (pointer: fine) {
  .track-line {
    grid-template-columns: 36px minmax(0, 1fr) 64px auto;
  }
  .track-line:has(.drag-handle) {
    grid-template-columns: 28px 36px minmax(0, 1fr) 64px auto;
  }
  .track-line:has(input[type="checkbox"]) {
    grid-template-columns: 28px auto 36px minmax(0, 1fr) 64px auto;
  }
}
.skeleton-list.is-loaded {
  animation: none;
}
.skeleton-row, .skeleton-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.08);
}
.skeleton-row {
  min-height: 52px;
  margin: var(--space-2) 0;
}
.skeleton-card {
  min-height: 132px;
}
.skeleton-row::after, .skeleton-card::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.11), transparent);
  animation: skeleton-shimmer 1.25s infinite;
}
@keyframes skeleton-shimmer {
  100% { transform: translateX(100%); }
}
.queue-row[draggable="true"] { cursor: default; }
.queue-row[draggable="true"] .drag-handle:active { cursor: grabbing; }
.queue-row.dragging {
  opacity: 0.45;
  background: rgba(41, 196, 236, 0.12);
}
.queue-row[data-status="failed"] { border-left: 3px solid var(--danger); padding-left: var(--space-3); }
.queue-row[data-status="ready"], .queue-row[data-status="cached"] { border-left: 3px solid var(--green); padding-left: var(--space-3); }

.row-action { grid-column: 1 / -1; justify-self: start; }
.row-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.row-actions form { margin: 0; }
.row-actions button, .row-action button {
  min-height: 31px;
  padding: var(--space-2) var(--space-3);
  font-size: var(--font-xs);
}

.progress {
  grid-column: 1 / -1;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.seek, .volume {
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  overflow: hidden;
}
.progress span, .seek span, .volume span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}
.volume { width: min(160px, 100%); height: 4px; }
.browser-volume {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 32px;
  padding: 0 var(--space-2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}
.browser-volume input {
  width: 88px;
  min-height: 0;
  padding: 0;
}
.media-art-button,
.result-art-button,
.media-title-button,
.result-title-button,
.track-line-title {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  min-height: 0;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
}
.media-art-button,
.result-art-button {
  width: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.media-title-button,
.result-title-button {
  font-weight: 700;
}
.media-title-button:hover,
.result-title-button:hover {
  color: var(--accent);
}
/* 曲名はボタンだが、行全体のホバーで十分なので、ボタン共通のホバー(背景・枠線)は付けない。プレイリストの曲名(span)とも揃う */
.track-line-title:hover {
  background: transparent;
  border-color: transparent;
}

.artist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.artist-grid.compact {
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
}
.artist-card {
  min-width: 0;
  justify-items: center;
  text-align: center;
}
.artist-card-link {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: var(--space-2);
  color: inherit;
  text-decoration: none;
}
.artist-card-link strong,
.artist-card-link small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.artist-favorite-button {
  width: 36px;
  height: 36px;
  margin-top: var(--space-1);
  border-radius: 999px;
}
.artist-favorite-button.is-active {
  color: var(--accent);
}
.artist-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: var(--space-3);
  max-height: 50vh;
  overflow-y: auto;
  margin: var(--space-4) 0;
  padding-right: 2px;
}
.artist-picker-card {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  text-align: center;
  cursor: pointer;
}
.artist-picker-card strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.artist-picker-card.is-selected {
  background:
    var(--accent-soft) padding-box,
    linear-gradient(135deg, rgba(41, 196, 236, 0.7), rgba(41, 196, 236, 0.25)) border-box;
  background-clip: padding-box, border-box;
}
.artist-picker-card .artist-avatar {
  position: relative;
}
.artist-picker-card.is-selected .artist-avatar::after {
  content: "check_circle";
  font-family: "Material Symbols Rounded";
  font-size: 22px;
  position: absolute;
  right: -4px;
  bottom: -4px;
  color: var(--accent);
  background: var(--bg-2);
  border-radius: 50%;
}
.artist-avatar {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: var(--shadow-art);
}
.artist-avatar.small {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}
.artist-avatar.large {
  width: min(28vw, 190px);
  height: min(28vw, 190px);
  min-width: 132px;
  min-height: 132px;
}
.artist-avatar.square {
  border-radius: var(--radius-lg);
}
.artist-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.artist-avatar .material-symbols-rounded {
  font-size: 46px;
  color: var(--muted-2);
}
.artist-hero {
  position: relative;
  display: flex;
  align-items: end;
  gap: var(--space-5);
  min-height: 300px;
  overflow: hidden;
}
.artist-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.72;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.54)),
    var(--artist-banner, radial-gradient(circle at 70% 30%, rgba(41, 196, 236, 0.34), transparent 34%));
  background-size: cover;
  background-position: center;
  filter: blur(18px) saturate(1.15);
  transform: scale(1.06);
}
.search-artist-section {
  grid-column: 1 / -1;
}
.search-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-3) 0;
}
.search-tabs a,
.search-tabs button {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 var(--space-3);
  border-radius: 999px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font-size: var(--font-sm);
  font-weight: 700;
  text-decoration: none;
}
.search-tabs a:hover,
.search-tabs button:hover {
  border-color: var(--line-strong);
  color: var(--text);
}
.search-tabs a.active,
.search-tabs button.is-active {
  background: var(--accent);
  border-color: transparent;
  color: #fff;
}
.search-track-section,
.search-playlist-section {
  margin-top: var(--space-4);
}
.search-track-section:first-child,
.search-artist-section:first-child,
.search-playlist-section:first-child {
  margin-top: 0;
}
.search-track-section h2,
.search-artist-section h2,
.search-playlist-section h2 {
  margin-bottom: var(--space-3);
}
.admin-section .track-row:has(.artist-avatar),
.track-list .track-row:has(.artist-avatar) {
  grid-template-columns: 48px minmax(0, 1fr) auto auto auto;
}

.ranking-filter {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) auto;
  align-items: end;
}
.ranking-filter > button {
  align-self: end;
  height: var(--button-height);
  margin: 0;
}
.ranking-custom-fields {
  display: contents;
}
.ranking-custom-fields[hidden],
.ranking-custom-field[hidden],
[data-ranking-server-field][hidden] {
  display: none !important;
}
.ranking-custom-field {
  min-width: min(100%, 180px);
}

.inline-form, .search-bar, .action-row {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  flex-wrap: wrap;
}
.inline-form .check {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
}
.inline-form .check input { width: auto; min-height: auto; }

.playlist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: var(--grid-gap);
  margin-top: var(--space-4);
}
.playlist-card {
  display: grid;
  gap: var(--space-3);
  min-height: 132px;
  align-content: end;
  padding: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(41, 196, 236, 0.3), rgba(125, 227, 255, 0.18)) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow);
}
.playlist-card span { color: var(--muted-2); }
.progress-card { min-height: 100px; margin-top: var(--space-3); }

.glass, .empty, .setup-panel {
  border: 1px solid transparent;
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(28px) saturate(1.15);
  box-shadow: var(--shadow);
}
.glass {
  padding: var(--card-padding);
  border-radius: var(--radius-lg);
}
.glass.full { margin-top: var(--space-6); }
.empty {
  padding: var(--space-6);
  border-radius: var(--radius-lg);
}
.admin-grid form + form { margin-top: var(--space-5); }
.admin-stack {
  display: grid;
  gap: var(--space-5);
  margin-top: var(--space-6);
}
.admin-section {
  width: 100%;
  padding: var(--card-padding);
}
.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-5);
  align-items: end;
}
.admin-form-grid form,
form.admin-form-grid {
  margin: 0;
}

.admin-playlist-row {
  grid-template-columns: minmax(120px, 0.7fr) minmax(180px, 1fr) minmax(220px, 1.2fr) minmax(220px, 1.4fr) auto auto auto auto auto;
  align-items: end;
}

.admin-playlist-row label {
  display: grid;
  gap: var(--space-1);
}

.admin-playlist-row textarea {
  min-height: 42px;
  resize: vertical;
}

@media (max-width: 900px) {
  .admin-playlist-row {
    grid-template-columns: 1fr;
  }
}
.form-actions {
  align-self: end;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-3);
  margin: var(--space-4) 0;
}
.metric-grid > div {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.032)) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.metric-grid span {
  color: var(--muted);
  font-size: var(--font-xs);
}
.metric-grid strong {
  font-size: var(--font-lg);
  font-variant-numeric: tabular-nums;
}
.range-field {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 56px;
  gap: var(--space-3);
  align-items: center;
}
.range-field input[type="range"] {
  width: 100%;
  accent-color: var(--accent);
}
.range-field output {
  color: var(--text);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.vc-list {
  display: grid;
  gap: var(--space-2);
}
.vc-row {
  display: grid;
  grid-template-columns: 32px minmax(140px, 1.2fr) minmax(120px, 1fr) auto auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.028)) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.vc-row:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.082), rgba(255, 255, 255, 0.042)) padding-box,
    var(--border-blend-hover) border-box;
}
.guild-avatar {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 700;
  font-size: var(--font-sm);
}
.guild-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.diagnostic-list {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.diagnostic-row {
  display: grid;
  grid-template-columns: 12px minmax(140px, 0.8fr) minmax(120px, 0.8fr) minmax(180px, 1.4fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.028)) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--muted);
}
.status-ok .status-dot { background: var(--green); }
.status-warning .status-dot { background: #ff9f0a; }
.status-error .status-dot { background: var(--danger); }
.diagnostic-row small {
  color: var(--muted);
}

.worker-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3) var(--space-5);
  align-items: center;
}
.worker-grid span { color: var(--muted); }
.worker-grid strong { font-variant-numeric: tabular-nums; }

.player-page {
  position: relative;
  display: grid;
  gap: var(--space-6);
  min-width: 0;
  max-width: 100%;
}
.player-page > :not(.player-bg) {
  position: relative;
  z-index: 1;
}
.player-section,
.player-stack,
.player-page .glass {
  min-width: 0;
  max-width: 100%;
}
.player-bg {
  position: fixed;
  inset: -36px;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle at 20% 18%, rgba(41, 196, 236, 0.22), transparent 30%),
    radial-gradient(circle at 84% 12%, rgba(255, 255, 255, 0.1), transparent 28%);
  filter: blur(34px) saturate(1.25);
  transform: scale(1.04);
  transition: opacity var(--motion-slow) ease, background-image var(--motion-slow) ease;
}
.player-bg.has-art {
  opacity: 0.78;
  background:
    linear-gradient(180deg, rgba(11, 11, 13, 0.34), rgba(11, 11, 13, 0.88)),
    var(--player-bg-image) center / cover fixed no-repeat;
}
.player-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 28% 32%, rgba(41, 196, 236, 0.26), transparent 30%),
    radial-gradient(circle at 78% 22%, rgba(255, 255, 255, 0.14), transparent 24%),
    linear-gradient(180deg, rgba(11, 11, 13, 0.22), rgba(11, 11, 13, 0.68));
  mix-blend-mode: screen;
  animation: playerGlow 8s ease-in-out infinite alternate;
}
.player-section {
  width: 100%;
}
.player-stack {
  display: grid;
  gap: var(--space-6);
}
.player-animate {
  /* both だと終了後も transform が残り、中の position: fixed 要素がページ基準になってずれるため backwards にする */
  animation: playerSectionIn 240ms ease backwards;
}
.now-view {
  position: relative;
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: var(--space-7);
  align-items: end;
  min-height: 420px;
  padding: var(--space-7);
  border: 1px solid transparent;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background:
    radial-gradient(circle at 22% 24%, rgba(41, 196, 236, 0.28), transparent 30%) padding-box,
    var(--surface-fill-strong) padding-box,
    var(--border-blend-hover) border-box;
  background-clip: padding-box, padding-box, border-box;
  box-shadow: var(--shadow);
  backdrop-filter: blur(30px) saturate(1.14);
}
.now-view::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.34));
  pointer-events: none;
}
body[data-theme="light"] .now-view::before { background: linear-gradient(180deg, transparent 42%, rgba(255, 255, 255, 0.44)); }
@media (prefers-color-scheme: light) {
  body[data-theme="system"] .now-view::before { background: linear-gradient(180deg, transparent 42%, rgba(255, 255, 255, 0.44)); }
}
.now-art {
  position: relative;
  z-index: 1;
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--surface-2);
  box-shadow: var(--shadow-art-lg);
  transition: transform var(--motion-base) ease, opacity var(--motion-base) ease;
}
.now-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  gap: var(--space-4);
}
.now-copy p { color: var(--muted-2); }
.now-copy h1,
.now-copy p,
.now-copy .seek {
  transition: opacity var(--motion-base) ease, transform var(--motion-base) ease;
}
.action-row {
  flex-wrap: wrap;
  margin-top: var(--space-2);
}
.device-options {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-4) 0;
}
.device-options button {
  width: 100%;
  justify-content: flex-start;
}

.search-bar {
  margin: 0;
  padding: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(24px);
}

.player-stack > .glass,
.queue-section {
  border-radius: var(--radius-xl);
}

.mini-player, .playback-bar, .global-player {
  position: fixed;
  left: 280px;
  right: var(--space-7);
  bottom: var(--space-5);
  border: 1px solid transparent;
  background:
    rgba(30, 30, 32, 0.86) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(34px) saturate(1.25);
  box-shadow: var(--shadow-float);
  z-index: 10;
}
body[data-theme="light"] .mini-player,
body[data-theme="light"] .playback-bar,
body[data-theme="light"] .global-player {
  background:
    rgba(255, 255, 255, 0.82) padding-box,
    var(--border-blend-soft) border-box;
}
@media (prefers-color-scheme: light) {
  body[data-theme="system"] .mini-player,
  body[data-theme="system"] .playback-bar,
  body[data-theme="system"] .global-player {
    background:
      rgba(255, 255, 255, 0.82) padding-box,
      var(--border-blend-soft) border-box;
  }
}
.mini-player {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border-radius: var(--radius-lg);
}
.mini-art {
  width: 54px;
  height: 54px;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.mini-player p { margin: var(--space-1) 0 0; color: var(--muted); font-size: var(--font-sm); }
.playback-bar {
  display: grid;
  grid-template-columns: minmax(160px, 300px) minmax(160px, 1fr);
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
}
.bar-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}
.global-player {
  display: grid;
  grid-template-columns: auto minmax(160px, 320px) minmax(180px, 1fr) auto;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-xl);
  z-index: 18;
}
.global-player-art {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  display: grid;
  place-items: center;
  background: var(--surface-2);
  flex-shrink: 0;
}
.global-player-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.global-player-art .material-symbols-rounded {
  font-size: 22px;
  color: var(--muted-2);
}
.global-player-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}
.global-player-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.mini-progress {
  width: 100%;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
}
.mini-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}
body[data-theme="light"] .mini-progress {
  background: rgba(0, 0, 0, 0.09);
}
@media (prefers-color-scheme: light) {
  body[data-theme="system"] .mini-progress {
    background: rgba(0, 0, 0, 0.09);
  }
}
.global-seek,
.seek {
  appearance: none;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 4px;
  padding: 0;
  border: 0;
  cursor: pointer;
  display: block;
  text-align: left;
  line-height: 0;
  font-size: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  box-shadow: none;
  overflow: hidden;
  transition: height var(--motion-fast) ease, background var(--motion-fast) ease;
}
button.global-seek,
button.seek {
  min-height: 0;
  height: 4px;
  padding: 0;
  border: 0;
  background: rgba(255, 255, 255, 0.16);
}
.global-seek:hover,
.seek:hover,
.global-seek:focus-visible,
.seek:focus-visible {
  min-height: 0;
  height: 6px;
}
button.global-seek:hover,
button.seek:hover,
button.global-seek:focus-visible,
button.seek:focus-visible {
  min-height: 0;
  height: 6px;
}
.global-player-sheet {
  position: fixed;
  inset: 0;
  z-index: 17;
  display: grid;
  align-items: end;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-base) ease;
}
.global-player-sheet.is-open {
  opacity: 1;
  pointer-events: auto;
}
.global-sheet-panel {
  max-height: 90vh;
  overflow: auto;
  margin-left: 260px;
  padding: var(--space-6);
  border: 1px solid transparent;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  background:
    rgba(18, 18, 20, 0.94) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow-sheet);
  transform: translateY(18px);
  transition: transform var(--motion-base) ease;
}
.global-player-sheet.is-open .global-sheet-panel {
  transform: translateY(0);
}
.global-sheet-content {
  display: grid;
  gap: var(--space-6);
}
.global-sheet-now {
  margin: 0;
}
.player-page > .playback-bar {
  display: none;
}

.events {
  position: fixed;
  right: var(--space-5);
  top: var(--space-5);
  z-index: 20;
  width: min(360px, calc(100vw - 36px));
  pointer-events: none;
}
.event {
  margin-bottom: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(30, 30, 32, 0.9);
  backdrop-filter: blur(24px);
  box-shadow: var(--shadow);
}

.setup-page, .login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: var(--space-6);
}
.landing-body {
  min-height: 100vh;
}
.landing-page {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: var(--space-7);
}
.landing-hero {
  min-height: 540px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: var(--space-7);
  align-items: center;
  padding: var(--space-7);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 80% 20%, rgba(41, 196, 236, 0.36), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035));
  box-shadow: var(--shadow);
}
.landing-copy {
  display: grid;
  gap: var(--space-4);
}
.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}
.landing-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin: var(--space-2) 0 0;
  padding: 0;
  list-style: none;
}
.landing-badges li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted-2);
  font-size: var(--font-sm);
  font-weight: 700;
}
.landing-badges .material-symbols-rounded {
  font-size: 18px;
  color: var(--accent);
}
.landing-art {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #29c4ec, #7de3ff);
  box-shadow: var(--shadow-art-lg);
}
.landing-art img, .landing-art span {
  width: 100%;
  height: 100%;
}
.landing-art img {
  display: block;
  object-fit: cover;
}
.landing-art span {
  display: grid;
  place-items: center;
  font-size: 76px;
  font-weight: 700;
}
.landing-showcase {
  display: grid;
  gap: var(--space-8, 64px);
  margin-top: var(--space-8, 64px);
}
.landing-showcase-row {
  display: grid;
  grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}
.landing-showcase-row.reverse {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 380px);
}
.landing-showcase-row.reverse .landing-showcase-copy { order: 2; }
.landing-showcase-row.reverse .landing-showcase-art { order: 1; }
.landing-showcase-copy {
  display: grid;
  gap: var(--space-3);
}
.landing-showcase-copy h2 {
  font-size: 1.75rem;
  line-height: 1.25;
}
.landing-showcase-art {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.landing-showcase-art svg {
  display: block;
  width: 100%;
  height: auto;
}
.landing-cta {
  margin-top: var(--space-8, 64px);
  padding: var(--space-7);
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  text-align: center;
  display: grid;
  gap: var(--space-3);
  justify-items: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(41, 196, 236, 0.28), transparent 60%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03));
}
.landing-cta h2 { font-size: 1.875rem; }
.landing-actions.center { justify-content: center; }
.landing-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}
.landing-features article {
  display: grid;
  gap: var(--space-3);
  align-content: start;
  min-height: 190px;
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.07);
}
.landing-features .material-symbols-rounded {
  color: var(--accent);
  font-size: 30px;
}
.login-hero {
  width: min(980px, 100%);
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
  padding: var(--space-7);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 18% 18%, rgba(41, 196, 236, 0.34), transparent 34%),
    var(--surface);
  backdrop-filter: blur(30px);
  box-shadow: var(--shadow);
}
.login-art {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, var(--accent), #7de3ff);
  box-shadow: var(--shadow-art-lg);
}
.login-art img, .login-art span {
  width: 100%;
  height: 100%;
}
.login-art img {
  display: block;
  object-fit: cover;
}
.login-art span {
  display: grid;
  place-items: center;
  font-size: 76px;
  font-weight: 700;
}
.setup-panel {
  width: min(660px, 100%);
  padding: var(--space-7);
  border-radius: var(--radius-xl);
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: end;
  margin: 0 0 var(--space-6);
  padding: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(22px) saturate(1.08);
}
.filter-bar label {
  display: grid;
  gap: var(--space-2);
  min-width: min(220px, 100%);
  flex: 1 1 220px;
  color: var(--muted);
  font-size: var(--font-sm);
}
.filter-bar button {
  flex: 0 0 auto;
}
.ranking-list {
  display: grid;
  gap: var(--space-2);
}
.ranking-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--line);
}
.ranking-row span {
  min-width: 0;
}
.ranking-row a {
  color: var(--text);
  text-decoration: none;
}
.ranking-row small {
  display: block;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.ranking-row b {
  color: var(--accent);
}

.recap-hero { margin-bottom: var(--space-2); }
.recap-track-list {
  display: grid;
  gap: var(--space-1);
}
.recap-track-row {
  display: grid;
  grid-template-columns: 24px 40px minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--line);
}
.recap-track-row:last-child { border-bottom: 0; }
.recap-track-row > strong { color: var(--muted); font-variant-numeric: tabular-nums; }
.recap-track-row > span:not(.recap-track-art) { min-width: 0; }
.recap-track-row a { color: var(--text); text-decoration: none; }
.recap-track-row small { display: block; color: var(--muted); }
.recap-track-row b { color: var(--accent); font-variant-numeric: tabular-nums; }
.recap-track-art {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.1);
}
.recap-track-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.recap-track-art .material-symbols-rounded { font-size: 18px; color: var(--muted-2); }
.recap-share-result {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  font-size: var(--font-sm);
}
.recap-share-result input {
  flex: 1 1 auto;
  min-width: 0;
}

.lyrics-view {
  max-height: 50vh;
  overflow-y: auto;
  margin-top: var(--space-4);
  padding-right: 4px;
  display: grid;
  gap: var(--space-2);
}
.lyrics-line {
  margin: 0;
  padding: 4px 0;
  color: var(--muted);
  font-size: var(--font-md);
  line-height: 1.6;
  transition: color var(--motion-fast) ease, transform var(--motion-fast) ease;
}
.lyrics-line.is-current {
  color: var(--text);
  font-weight: 700;
  transform: scale(1.02);
  transform-origin: left center;
}
.lyrics-plain {
  max-height: 50vh;
  overflow-y: auto;
  margin: var(--space-4) 0 0;
  padding-right: 4px;
  white-space: pre-wrap;
  color: var(--muted-2);
  font-family: inherit;
  line-height: 1.7;
}
@media (prefers-reduced-motion: reduce) {
  .lyrics-line.is-current { transform: none; }
  .lyrics-line { transition: none; }
}
.recommendation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}
.player-page .recommendation-grid {
  margin: var(--space-4) 0 0;
}
.recommendation-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 360px);
  grid-template-columns: none;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 var(--space-2);
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.recommendation-rail::-webkit-scrollbar { display: none; }
.recommendation-rail > * {
  scroll-snap-align: start;
}
.recommendation-rail .result-card {
  min-width: 0;
  height: 100%;
}
.recommendation-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.recommendation-card strong,
.recommendation-card p {
  overflow-wrap: anywhere;
}
.recommendation-card .row-actions {
  grid-column: 1 / -1;
}
.glass.full details {
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--line);
}
.glass.full summary {
  cursor: pointer;
  font-weight: 700;
}
.cache-table {
  display: grid;
  gap: var(--space-2);
  overflow-x: auto;
}
.cache-row {
  min-width: 980px;
  display: grid;
  grid-template-columns: 42px minmax(240px, 1fr) 80px 90px 160px 160px 108px;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.034)) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.cache-head {
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 700;
  text-transform: uppercase;
  background: transparent;
}
.cache-row small {
  display: block;
  margin-top: var(--space-1);
  color: var(--muted);
  overflow-wrap: anywhere;
}
.check-cell {
  margin: 0;
  place-items: center;
}
.check-cell input {
  width: 18px;
  min-height: 18px;
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: var(--space-6);
  background: rgba(0, 0, 0, 0.64);
  backdrop-filter: blur(14px);
}
.modal-backdrop[hidden],
[data-playlist-modal][hidden],
[data-confirm-backdrop][hidden],
[data-modal][hidden] {
  display: none !important;
}
.confirm-modal {
  width: min(420px, 100%);
  padding: var(--space-6);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill-strong) padding-box,
    var(--border-blend) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow);
}
.confirm-modal p {
  margin: var(--space-3) 0 var(--space-5);
  color: var(--muted-2);
}
.modal {
  position: relative;
  width: min(560px, 100%);
  max-height: min(760px, 92vh);
  overflow: auto;
  padding: var(--space-6);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill-strong) padding-box,
    var(--border-blend) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow);
}
.modal-close {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
}
.compact-notice {
  align-items: start;
  margin: var(--space-3) 0;
}
.compact-help {
  padding: var(--space-4);
  margin-top: var(--space-4);
}
.import-progress {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.import-progress[hidden] {
  display: none;
}
.update-progress {
  width: 100%;
  height: 10px;
  margin: var(--space-4) 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
}
.update-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
  transition: width var(--motion-base) ease;
}
.update-details {
  max-height: 260px;
  margin: var(--space-4) 0;
  padding: var(--space-3);
  overflow: auto;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0.18)) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  white-space: pre-wrap;
}
.notice {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  margin: var(--space-5) 0;
  padding: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.search-panel, .form-panel, .profile-card {
  margin-top: var(--space-6);
}
.search-panel {
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018)) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(20px) saturate(1.06);
}
.form-panel, .profile-card {
  padding: var(--space-6);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--grid-gap);
  margin-top: var(--space-5);
  min-width: 0;
}
.result-card, .playlist-tile, .artist-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background:
    var(--surface-fill) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  backdrop-filter: blur(20px) saturate(1.08);
  transition: transform var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;
}
.result-card h3,
.playlist-tile h3,
.result-card p,
.playlist-tile p {
  min-width: 0;
  margin-block: var(--space-1);
  overflow-wrap: anywhere;
}
.result-card:hover,
.playlist-tile:hover,
.artist-card:hover {
  background:
    var(--surface-fill-strong) padding-box,
    var(--border-blend-hover) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--shadow);
}
.result-art, .playlist-art, .profile-avatar {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.1);
}
.result-art img, .playlist-art img, .profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.playlist-items + button {
  margin-top: var(--space-4);
}
.playlist-items {
  gap: var(--space-2);
}
.playlist-item {
  align-items: center;
  min-height: 54px;
}
.compact-head {
  margin-bottom: var(--space-3);
}
.compact-queue {
  gap: var(--space-1);
}
.compact-queue .queue-row {
  grid-template-columns: 28px 32px minmax(0, 1fr) 64px auto;
  min-height: 42px;
  padding: 8px var(--space-3);
}
.compact-queue .track-line-art {
  width: 32px;
  height: 32px;
  border-radius: 6px;
}
.compact-queue .queue-title,
.compact-queue .track-line-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compact-queue .queue-status,
.compact-queue .track-line-duration {
  min-width: 58px;
  color: var(--muted);
  text-align: left;
}
.queue-section .compact-head {
  margin-bottom: var(--space-4);
}

@keyframes playerGlow {
  from {
    transform: translate3d(-1.5%, -1%, 0) scale(1.02);
    opacity: 0.72;
  }
  to {
    transform: translate3d(1.5%, 1%, 0) scale(1.06);
    opacity: 1;
  }
}

@keyframes playerSectionIn {
  from {
    opacity: 0.45;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.profile-card {
  display: flex;
  align-items: center;
  gap: var(--space-5);
}
.my-page-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}
.my-page-grid > .my-discord-card {
  grid-column: 1 / -1;
}
.my-page-grid > .profile-card,
.my-page-grid > .glass {
  margin-top: 0;
  padding: var(--space-6);
}
.my-page-card {
  min-width: 0;
}
.profile-avatar {
  width: 96px;
  flex: 0 0 96px;
}
.suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-3) 0;
  min-height: 0;
}
.chip {
  min-height: 30px;
  padding: 0 var(--space-3);
  border: 1px solid transparent;
  background:
    rgba(255,255,255,0.12) padding-box,
    var(--border-blend-soft) border-box;
  background-clip: padding-box, border-box;
  color: var(--text);
}
.playlist-items .track-row:has(input[type="checkbox"]) {
  grid-template-columns: 28px auto 36px minmax(0, 1fr) 64px auto;
}
.dragging {
  opacity: 0.48;
}
.load-more {
  margin-top: var(--space-5);
}
.guild-checks {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  margin: var(--space-4) 0;
}
.guild-checks legend {
  color: var(--muted);
  padding: 0 var(--space-2);
}
.guild-checks label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.guild-checks input[type="checkbox"],
.playlist-item input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
}

@media (max-width: 900px) {
  .reading { display: none; }
  .nav-shortcut-hint { display: none; }
  .hero { min-height: 260px; padding: var(--space-6); }
  .hero-album { opacity: 0.22; right: var(--space-5); bottom: var(--space-5); width: 180px; }
  .active-player-card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: var(--space-4);
  }
  .media-rail {
    grid-auto-columns: minmax(136px, 42vw);
  }
  .media-overlay {
    opacity: 1;
    background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.78));
  }
  .media-overlay button {
    width: 34px;
    min-width: 34px;
    min-height: 34px;
  }
  .content-grid { gap: var(--space-5); }
  .player-page { gap: var(--space-5); }
  .player-stack { gap: var(--space-5); }
  .player-bg { inset: -24px; filter: blur(26px) saturate(1.18); }
  .now-view { grid-template-columns: 1fr; min-height: auto; padding: var(--space-5); gap: var(--space-5); }
  .now-art { max-width: 360px; width: 100%; }
  .recommendation-rail { grid-auto-columns: minmax(240px, 82vw); }
  .inline-form, .search-bar, .action-row { flex-direction: column; align-items: stretch; }
  .section-head { align-items: stretch; flex-direction: column; }
  .section-head .action-row {
    width: 100%;
  }
  .vc-row {
    grid-template-columns: 32px minmax(0, 1fr);
  }
  .vc-row span:nth-child(n+4) {
    grid-column: 2;
  }
  .diagnostic-row {
    grid-template-columns: 12px minmax(0, 1fr);
  }
  .diagnostic-row span:not(.status-dot),
  .diagnostic-row small {
    grid-column: 2;
  }
  .playback-bar { grid-template-columns: 1fr; }
  .global-player {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--space-2);
    padding: var(--space-2);
  }
  .global-player-art { width: 36px; height: 36px; }
  .global-player > .global-seek { grid-column: 1 / -1; order: 2; }
  .global-player-actions { gap: 4px; justify-content: end; }
  .global-player-actions .icon-button { width: 34px; min-width: 34px; min-height: 34px; }
  .global-sheet-panel { padding: var(--space-4); }
  .login-hero, .landing-hero { grid-template-columns: 1fr; padding: var(--space-6); }
  .artist-hero { flex-direction: column; align-items: start; }
  .landing-page { padding: var(--space-5) var(--space-4); }
  .landing-art { max-width: 340px; }
  .landing-showcase-row, .landing-showcase-row.reverse { grid-template-columns: 1fr; }
  .landing-showcase-row.reverse .landing-showcase-copy,
  .landing-showcase-row.reverse .landing-showcase-art { order: initial; }
  h1 { font-size: clamp(1.875rem, 9vw, 2.75rem); }
  h2 { font-size: 1.375rem; }
}

@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  .card-grid,
  .content-grid,
  .metric-grid,
  .my-page-grid {
    grid-template-columns: 1fr;
  }
  .my-page-grid > .my-discord-card {
    grid-column: auto;
  }
  .my-page-grid > .profile-card,
  .my-page-grid > .glass {
    padding: var(--space-5);
  }
  .ranking-filter {
    display: flex;
  }
  .ranking-filter > button {
    width: 100%;
  }
  .global-sheet-panel {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }
  .modal {
    width: calc(100vw - 24px);
    max-height: calc(var(--viewport-h) - var(--header-h) - var(--dock-gap) * 2);
    overflow: auto;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }
  .modal-backdrop {
    align-items: end;
    padding: 0 var(--space-2);
  }
}

/* ===== 1280px未満: 上部ヘッダー + 下部固定タブ + ドロワー型サイドバー ===== */
@media (max-width: 1279.98px) {
  body {
    --header-row: 56px;
    --header-border: 1px;
    /* PWA判定を待たずに常にセーフエリアを足す(通常のSafariでは0になる) */
    --header-safe-top: var(--safe-top);
    /* 1段のプレイヤー(実測82px) */
    --player-dock-h: 82px;
    --page-pad-x: var(--space-5);
  }
  body[data-tabbar="1"] {
    --tabbar-row: 68px;
    --tabbar-border: 1px;
    /* ホームバーとの間を最低12px空ける */
    --tabbar-safe-bottom: max(var(--safe-bottom), 12px);
  }
  .shell {
    display: block;
  }
  .app-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 45;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    height: var(--header-h);
    padding: var(--header-safe-top) calc(16px + var(--safe-right)) 0 calc(8px + var(--safe-left));
    border-bottom: var(--header-border) solid var(--line);
    background: var(--chrome-bg);
    backdrop-filter: blur(28px) saturate(1.2);
    -webkit-backdrop-filter: blur(28px) saturate(1.2);
  }
  .app-header-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    font-size: var(--font-lg);
    font-weight: 700;
  }
  .app-header-brand img {
    width: 28px;
    height: 28px;
    border-radius: 8px;
  }
  .sidebar-toggle {
    display: grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 999px;
    background: transparent;
  }
  .sidebar-toggle .material-symbols-rounded {
    font-size: 24px;
  }
  .sidebar {
    position: fixed;
    top: var(--header-h);
    bottom: 0;
    left: 0;
    width: min(84vw, 320px);
    height: auto;
    z-index: 40;
    padding: var(--space-4) var(--space-4) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left));
    background: var(--chrome-bg-solid);
    transform: translateX(-102%);
    transition: transform var(--motion-base) ease;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
  }
  .sidebar::-webkit-scrollbar {
    display: none;
  }
  .sidebar > .brand {
    display: none;
  }
  body.sidebar-open .sidebar {
    transform: translateX(0);
  }
  body.sidebar-open::before {
    content: "";
    position: fixed;
    inset: var(--header-h) 0 0 0;
    z-index: 39;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(8px);
  }
  .nav {
    overflow: visible;
    margin-top: 0;
  }
  .nav a,
  .nav summary {
    padding: 12px var(--space-3);
  }
  .profile-link {
    margin-top: var(--space-4);
  }
  .page {
    width: 100%;
    padding:
      calc(var(--header-h) + var(--space-5))
      calc(var(--page-pad-x) + var(--safe-right))
      calc(var(--float-bottom) + var(--player-dock-h) + var(--space-5))
      calc(var(--page-pad-x) + var(--safe-left));
  }
  .mini-player,
  .playback-bar,
  .global-player {
    left: calc(var(--dock-gap) + var(--safe-left));
    right: calc(var(--dock-gap) + var(--safe-right));
    bottom: var(--float-bottom);
  }
  .global-player-sheet {
    z-index: 42;
    padding-top: calc(var(--header-h) + var(--dock-gap));
  }
  .global-sheet-panel {
    margin-left: 0;
    max-height: calc(var(--viewport-h) - var(--header-h) - var(--dock-gap));
    padding-bottom: calc(var(--space-4) + var(--safe-bottom));
  }
  .events {
    top: calc(var(--header-h) + var(--dock-gap));
    right: calc(var(--dock-gap) + var(--safe-right));
  }
  .mobile-tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    height: var(--tabbar-h);
    padding: 0 var(--safe-right) var(--tabbar-safe-bottom) var(--safe-left);
    border-top: var(--tabbar-border) solid var(--line);
    background: var(--chrome-bg);
    backdrop-filter: blur(28px) saturate(1.2);
    -webkit-backdrop-filter: blur(28px) saturate(1.2);
  }
  .mobile-tabbar a {
    min-width: 0;
    height: var(--tabbar-row);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--muted);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-tabbar a[aria-current="page"] {
    color: var(--accent);
  }
  .mobile-tabbar a > .material-symbols-rounded,
  .tab-avatar,
  .tab-primary-icon {
    height: 32px;
    display: grid;
    place-items: center;
  }
  .mobile-tabbar .material-symbols-rounded {
    font-size: 24px;
  }
  .tab-label {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .tab-primary-icon {
    width: 52px;
    border-radius: 999px;
    color: #06232c;
    background: linear-gradient(135deg, #29c4ec, #7de3ff);
    box-shadow: 0 6px 18px rgba(41, 196, 236, 0.35);
  }
  .mobile-tabbar a.tab-primary {
    color: var(--text);
  }
  .mobile-tabbar a.tab-primary[aria-current="page"] .tab-primary-icon {
    box-shadow: 0 0 0 3px var(--accent-soft), 0 6px 18px rgba(41, 196, 236, 0.35);
  }
  .tab-avatar img {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    object-fit: cover;
  }
  .mobile-tabbar a[aria-current="page"] .tab-avatar img {
    box-shadow: 0 0 0 2px var(--accent);
  }
}

@media (max-width: 900px) {
  body {
    /* 900px以下はプレイヤーが2段(曲名+ボタン / シークバー)になる(実測114px) */
    --player-dock-h: 114px;
  }
}

/* ===== スマートフォン幅: 文字を一段大きく、入力欄は16px以上(iOSの自動拡大を防ぐ) ===== */
@media (max-width: 767.98px) {
  body {
    --font-xs: 0.8125rem;
    --font-sm: 0.875rem;
    --font-md: 1rem;
    --font-lg: 1.1875rem;
    --font-xl: 1.5625rem;
    --page-pad-x: var(--space-4);
    /* 曲名 / ボタン / シークバーの3段(実測118px) */
    --player-dock-h: 118px;
  }
  body[data-density="compact"] {
    --font-sm: 0.8125rem;
    --font-md: 0.9375rem;
    --font-lg: 1.0625rem;
    --font-xl: 1.375rem;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea {
    font-size: max(16px, 1rem);
  }
  /* 狭い画面ではボタン6個に曲名が押しつぶされて読めないため、曲名とボタンを段に分ける */
  .global-player {
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-areas:
      "art title"
      "art actions"
      "seek seek";
    column-gap: var(--space-2);
    row-gap: 2px;
    padding: var(--space-2) var(--space-2) 0 var(--space-3);
  }
  .global-player-art {
    grid-area: art;
    width: 40px;
    height: 40px;
    align-self: center;
  }
  .global-player-title {
    grid-area: title;
    padding-top: 2px;
  }
  .global-player-actions {
    grid-area: actions;
    justify-content: space-between;
  }
  /* 狭い画面では音量スライダーがボタンを押し出してはみ出すため隠す。
     iOSのSafariは audio.volume を変更できず、端末の音量ボタンで調整するので実害は小さい。 */
  .global-player .browser-volume {
    display: none !important;
  }
  .global-player > .global-seek {
    grid-area: seek;
    order: initial;
  }
}

/* ===== ログイン前のページ・エラー・ヘルプもセーフエリア分を空ける ===== */
.landing-page {
  padding-top: calc(var(--space-7) + var(--safe-top));
  padding-bottom: calc(var(--space-7) + var(--safe-bottom));
}
.setup-page,
.login-page {
  padding-top: calc(var(--space-6) + var(--safe-top));
  padding-bottom: calc(var(--space-6) + var(--safe-bottom));
}
@media (max-width: 900px) {
  .landing-page {
    padding:
      calc(var(--space-5) + var(--safe-top))
      calc(var(--space-4) + var(--safe-right))
      calc(var(--space-5) + var(--safe-bottom))
      calc(var(--space-4) + var(--safe-left));
  }
}

/* ===== iOSのPWA: ステータスバーが透けて読めなくならないよう背景を不透明に近くする。
   リンク長押しの標準プレビューは出さず、独自のボトムシートを出す ===== */
@media (display-mode: standalone) {
  a { -webkit-touch-callout: none; }
  .app-header,
  .mobile-tabbar { background: var(--chrome-bg-solid); }
}
html.is-standalone a { -webkit-touch-callout: none; }
html.is-standalone .app-header,
html.is-standalone .mobile-tabbar { background: var(--chrome-bg-solid); }

.link-sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0, 0, 0, 0.42);
  animation: linkSheetFade 160ms ease backwards;
}
.link-sheet {
  width: min(520px, 100%);
  display: grid;
  gap: 8px;
  padding: 8px calc(12px + var(--safe-right)) max(var(--safe-bottom), 12px) calc(12px + var(--safe-left));
  border-top: 1px solid var(--line-strong);
  border-radius: 20px 20px 0 0;
  background: var(--chrome-bg-solid);
  box-shadow: var(--shadow-sheet);
  animation: linkSheetUp 220ms cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}
.link-sheet-head {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 8px 6px;
}
.link-sheet-head strong,
.link-sheet-head span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.link-sheet-head span {
  color: var(--muted);
  font-size: var(--font-xs);
}
.link-sheet button {
  width: 100%;
  min-height: 52px;
  justify-content: flex-start;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 1rem;
}
.link-sheet button.link-sheet-cancel {
  justify-content: center;
  font-weight: 700;
}
@keyframes linkSheetUp {
  from { transform: translateY(100%); }
}
@keyframes linkSheetFade {
  from { opacity: 0; }
}

.zoom-notice {
  position: fixed;
  z-index: 60;
  top: calc(var(--header-h) + var(--dock-gap));
  left: calc(var(--dock-gap) + var(--safe-left));
  right: calc(var(--dock-gap) + var(--safe-right));
  max-width: 560px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 10px 10px 10px 14px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--chrome-bg-solid);
  box-shadow: var(--shadow);
  font-size: var(--font-sm);
}
.zoom-notice p {
  flex: 1;
  min-width: 0;
}
.zoom-notice button {
  flex: 0 0 auto;
  min-height: 32px;
}

/* ===== エラー / ヘルプ / フッター / 表示診断 ===== */
.error-page {
  min-height: var(--viewport-h, 100vh);
  display: grid;
  place-items: center;
}
.error-panel {
  width: min(640px, 100%);
  display: grid;
  gap: var(--space-3);
  padding: var(--space-7);
  border-radius: var(--radius-xl);
}
.error-panel .eyebrow {
  font-size: 1rem;
}
.error-detail {
  color: var(--muted);
  font-size: var(--font-sm);
}
.help-page {
  width: min(880px, 100%);
  display: grid;
  gap: var(--space-5);
}
.help-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
.help-brand {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-lg);
  font-weight: 700;
}
.help-brand img {
  border-radius: 10px;
}
.help-brand span,
.help-nav .button {
  white-space: nowrap;
}
.help-hero {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4) 0;
}
.help-section {
  display: grid;
  gap: var(--space-3);
  line-height: 1.8;
}
.help-section ol,
.help-section ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 1.4em;
}
.help-commands,
.help-faq {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}
.help-commands dt,
.help-faq dt {
  color: var(--text);
  font-weight: 700;
}
.help-commands dd,
.help-faq dd {
  margin: 2px 0 0;
  color: var(--muted-2);
}
.help-page code {
  padding: 1px 6px;
  border-radius: 6px;
  background: var(--surface-2);
  font-size: 0.9em;
}
.text-link {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.contact-form {
  display: grid;
  gap: var(--space-1);
}
.contact-form label {
  margin: var(--space-2) 0;
}
.contact-form .required,
.contact-form .optional {
  /* label は grid なので、そのままだと行幅いっぱいに伸びて帯のようになる */
  justify-self: start;
  display: inline-block;
  margin-left: 0;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: var(--font-xs);
  font-weight: 700;
  vertical-align: middle;
}
.contact-form .required {
  color: #06232c;
  background: var(--accent);
}
.contact-form .optional {
  color: var(--muted-2);
  background: var(--surface-2);
}
.contact-form textarea {
  min-height: 160px;
  line-height: 1.7;
}
.contact-form button[type="submit"] {
  justify-self: start;
  margin-top: var(--space-2);
}
.contact-note {
  font-size: var(--font-sm);
}
/* ボット対策の入力欄。画面にもスクリーンリーダーにも出さない */
.contact-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.form-errors {
  margin-bottom: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid rgba(255, 69, 58, 0.5);
  border-radius: var(--radius-md);
  background: rgba(255, 69, 58, 0.12);
}
.form-errors ul {
  margin: 6px 0 0;
  padding-left: 1.2em;
}
.contact-sent h2 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.contact-sent h2 .material-symbols-rounded {
  color: var(--green);
  font-size: 28px;
}
.site-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--font-sm);
}
.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.site-footer a:hover {
  color: var(--text);
}
.display-diagnostics {
  margin-top: var(--space-5);
}
.display-grid {
  display: grid;
  margin: var(--space-3) 0 0;
}
.display-grid > div {
  display: grid;
  grid-template-columns: minmax(0, 18em) minmax(0, 1fr);
  gap: var(--space-3);
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.display-grid dt {
  color: var(--muted);
}
.display-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.display-overflow {
  display: grid;
  gap: 4px;
  margin: var(--space-3) 0 0;
  padding-left: 1.4em;
  font-size: var(--font-sm);
  overflow-wrap: anywhere;
}
.display-probe {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .display-grid > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .error-panel {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .player-bg::after,
  .player-animate {
    animation: none !important;
  }
  .player-bg,
  .now-art,
  .now-copy h1,
  .now-copy p,
  .now-copy .seek {
    transition: none !important;
  }
}

/* Final seekbar override: keep seek controls visually thin even when they are buttons. */
.now-copy > .seek,
.playback-bar .seek,
.global-player > .global-seek,
.global-sheet-now .seek,
button.seek,
button.global-seek,
[data-seek] {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 4px !important;
  max-height: 4px !important;
  padding: 0 !important;
  margin: var(--space-3) 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, 0.18) !important;
  transform: none !important;
}
.now-copy > .seek:hover,
.playback-bar .seek:hover,
.global-player > .global-seek:hover,
.global-sheet-now .seek:hover,
button.seek:hover,
button.global-seek:hover,
[data-seek]:hover {
  height: 4px !important;
  max-height: 4px !important;
  min-height: 0 !important;
}
.now-copy > .seek > span,
.playback-bar .seek > span,
.global-player > .global-seek > span,
.global-sheet-now .seek > span,
button.seek > span,
button.global-seek > span,
[data-seek] > span {
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: inherit !important;
  background: var(--accent) !important;
}

/* =====================================================================
   2026 リニューアル「Quiet Stage」
   ライブ会場の世界観はそのままに、色を置く場所を絞り、文字は Bold まで、余白を広く。
   ここより上の既存スタイルを土台にして、色・文字・部品の見た目を上書きする。
   ===================================================================== */
:root {
  --bg: #0b0c11;
  --bg-2: #13141b;
  --sidebar: rgba(16, 17, 24, 0.94);
  --surface: rgba(255, 255, 255, 0.045);
  --surface-2: rgba(255, 255, 255, 0.075);
  --surface-3: rgba(255, 255, 255, 0.12);
  --line: rgba(255, 255, 255, 0.075);
  --line-strong: rgba(255, 255, 255, 0.13);
  --surface-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03));
  --surface-fill-strong: linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.05));
  --control-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.035));
  --border-blend: linear-gradient(135deg, rgba(255, 255, 255, 0.17), rgba(255, 255, 255, 0.07));
  --border-blend-soft: linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.05));
  --border-blend-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.11));
  --text: #ecebf1;
  --muted: #8b8d9c;
  --muted-2: #c4c5cf;
  --accent: #29c4ec;
  --accent-soft: rgba(41, 196, 236, 0.16);
  --rose: #ff6fae;
  --danger-text: #ff8a8a;
  --shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --chrome-bg: rgba(16, 17, 24, 0.86);
  --chrome-bg-solid: rgba(16, 17, 24, 0.97);
  --glass-blur: blur(24px) saturate(1.1);
  --primary-fill: #ecebf1;
  --primary-text: #0e0f15;
}
body[data-theme="light"] {
  --bg: #f6f5f3;
  --bg-2: #ffffff;
  --accent: #0a8fb5;
  --muted: #6e6f78;
  --primary-fill: #1c1c22;
  --primary-text: #ffffff;
  --danger-text: #c93b3b;
}
@media (prefers-color-scheme: light) {
  body[data-theme="system"] {
    --bg: #f6f5f3;
    --bg-2: #ffffff;
    --accent: #0a8fb5;
    --muted: #6e6f78;
    --primary-fill: #1c1c22;
    --primary-text: #ffffff;
    --danger-text: #c93b3b;
  }
}

/* ---- 土台: 背景は静かに、文字は Bold まで ---- */
body,
body[data-theme="light"] {
  background: var(--bg);
  letter-spacing: 0.02em;
}
@media (prefers-color-scheme: light) {
  body[data-theme="system"] { background: var(--bg); }
}
body::before { display: none; }
h1 { font-size: clamp(1.625rem, 3vw, 2.125rem); line-height: 1.35; font-weight: 700; letter-spacing: 0.04em; }
h2 { font-weight: 700; line-height: 1.4; letter-spacing: 0.03em; }
h3 { font-weight: 700; letter-spacing: 0.02em; }
.tabular { font-variant-numeric: tabular-nums; }
.eyebrow { letter-spacing: 0.08em; text-transform: none; color: var(--muted); font-weight: 700; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---- 画面の見出し: 大きな飾りの枠をやめ、見出しと説明だけにする ---- */
.hero,
.hero.compact {
  min-height: 0;
  padding: var(--space-2) 0 var(--space-5);
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
  flex-wrap: wrap;
}
.hero::after { display: none; }
.hero .lead,
.help-hero .lead {
  margin-top: 6px;
  max-width: 46em;
  color: var(--muted);
  font-size: var(--font-md);
  line-height: 1.8;
}

/* ---- ボタン: 白の塗り(primary)と線の2種類に絞る ---- */
button, .button {
  border-radius: 10px;
  letter-spacing: 0.02em;
}
.icon-button { border-radius: 999px; }
button.primary, .button.primary {
  color: var(--primary-text);
  background: var(--primary-fill);
  background-clip: border-box;
  border-color: transparent;
}
button.primary:hover, .button.primary:hover {
  color: var(--primary-text);
  background: var(--primary-fill);
  filter: brightness(1.08);
}
input, select, textarea { border-radius: 10px; }
/* 入力中の枠は、派手なグラデーションではなくシアンの細い線にする */
input:focus, select:focus, textarea:focus,
.custom-select.is-open .custom-select-trigger {
  border-color: var(--accent);
  background:
    var(--control-fill) padding-box,
    linear-gradient(var(--accent), var(--accent)) border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--focus-ring);
}

/* ---- 読み込み中: 細い線と、ゆっくり流れる光 ---- */
.nav-progress { height: calc(var(--safe-top) + 2px); }
.nav-progress::before { height: 2px; background: var(--accent); box-shadow: none; }
body.page-loading .page,
.page.page-enter { filter: none; }
.skeleton-row, .skeleton-card { background: var(--surface); }
.skeleton-row::after, .skeleton-card::after {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent);
  animation: skeleton-shimmer 1.8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .skeleton-row::after, .skeleton-card::after { animation: none; display: none; }
  .nav-progress::before { transition: none !important; }
}

/* ---- サイドバー ---- */
.nav a, .nav summary { font-weight: 400; }
.nav a[aria-current="page"] { background: var(--surface-2); color: var(--text); }
.nav a[aria-current="page"] > .material-symbols-rounded { color: var(--accent); }
.nav-live > .material-symbols-rounded { color: var(--rose); }
.live-dot {
  width: 6px;
  height: 6px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--rose);
}
.account {
  position: relative;
  margin-top: auto;
  padding-top: var(--space-2);
  border-top: 1px solid var(--line);
}
.account .profile-link {
  width: 100%;
  min-height: 44px;
  margin-top: 0;
  justify-content: flex-start;
  padding: 6px var(--space-2);
  border: 0;
  border-radius: var(--radius-sm);
  background: none;
  color: var(--muted-2);
  font-weight: 400;
}
.account .profile-link:hover,
.account .profile-link[aria-expanded="true"] { background: var(--surface-2); color: var(--text); }
.profile-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-chevron { margin-left: auto; font-size: 18px !important; color: var(--muted); }
.account-menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 6px);
  z-index: 60;
  display: grid;
  padding: 6px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: var(--chrome-bg-solid);
  box-shadow: var(--shadow);
}
.account-menu a,
.account-menu button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--muted-2);
  font-size: var(--font-sm);
  font-weight: 400;
}
.account-menu a:hover, .account-menu button:hover,
.account-menu a:focus-visible, .account-menu button:focus-visible { background: var(--surface-2); color: var(--text); outline: none; }
.account-menu .material-symbols-rounded { font-size: 18px; color: var(--muted); }
.account-menu hr { width: 100%; margin: 4px 0; border: 0; border-top: 1px solid var(--line); }
.account-menu form { margin: 0; }
.account-logout,
.account-logout .material-symbols-rounded { color: var(--danger-text) !important; }

/* ---- セグメンテッドコントロール(ライブラリ・管理メニュー) ---- */
.segmented {
  display: flex;
  gap: 2px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 var(--space-5);
  padding: 3px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
  scrollbar-width: none;
}
.segmented::-webkit-scrollbar { display: none; }
.segmented a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 8px;
  color: var(--muted-2);
  font-size: var(--font-sm);
  white-space: nowrap;
}
.segmented a .material-symbols-rounded { font-size: 18px; }
.segmented a:hover { color: var(--text); }
.segmented a[aria-current="page"] { background: var(--surface-3); color: var(--text); box-shadow: var(--shadow-sm); }
@media (max-width: 767.98px) {
  .segmented { width: 100%; }
  .segmented a { flex: 1 1 auto; min-height: 44px; padding: 0 10px; }
}
@media (max-width: 479.98px) {
  /* 4つの切り替えが1行に収まるよう、狭い画面ではアイコンを外して文字だけにする */
  .segmented a { padding: 0 6px; font-size: var(--font-xs); }
  .segmented a .material-symbols-rounded { display: none; }
}

/* ---- 曲名: 1行で表示し、はみ出す分はホバー・選択・再生中に流す(Discord Activityと同じ動き) ---- */
.mq {
  display: block;
  position: relative;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: clip;
}
.mq-in { display: inline-block; white-space: nowrap; }
.mq.is-over {
  text-align: left;
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
  mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
}
@keyframes mq-slide {
  0%, 10% { transform: translateX(0); opacity: 1; }
  82% { transform: translateX(calc(-1 * var(--mq-shift, 0px))); opacity: 1; }
  90% { transform: translateX(calc(-1 * var(--mq-shift, 0px))); opacity: 0; }
  90.01% { transform: translateX(0); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}
.mq.is-run > .mq-in,
:where(.track-row, .media-card, .playlist-tile, .artist-card, .contact-item, .search-artist-card):is(:hover, :focus-within) .mq.is-over > .mq-in,
.is-selected .mq.is-over > .mq-in {
  animation: mq-slide var(--mq-dur, 8s) ease-in-out infinite;
  animation-delay: var(--mq-delay, 0s);
}
@media (prefers-reduced-motion: reduce) {
  .mq-in { animation: none !important; transform: none !important; }
}

/* ---- ログイン前のページ(トップ・ヘルプ・規約・お問い合わせ) ---- */
.public-shell { width: min(880px, 100%); margin-inline: auto; display: grid; gap: var(--space-5); }
.public-shell > .help-page,
.page .help-page { width: min(880px, 100%); }
.site-footer a[aria-current="page"] { color: var(--text); }
.link-button {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
}
.link-button:hover { background: none; color: var(--text); }
.landing-hero {
  border-color: var(--line);
  background: radial-gradient(60% 70% at 85% 30%, rgba(255, 111, 174, 0.1), transparent 70%), var(--bg-2);
  box-shadow: none;
}
.landing-hero h1 { font-size: clamp(1.75rem, 4vw, 2.625rem); line-height: 1.5; letter-spacing: 0.04em; }
/* 日本語の見出しは文節で折り返す(対応ブラウザのみ)。狭い画面では手動の改行を外す */
h1, h2, .lead { word-break: auto-phrase; }
@media (max-width: 767.98px) {
  .landing-hero h1 { font-size: 1.5rem; letter-spacing: 0.02em; }
  .landing-hero h1 br { display: none; }
}
.landing-brand { display: flex; align-items: center; gap: 10px; color: var(--muted-2); font-weight: 700; letter-spacing: 0.08em; }
.landing-brand img { border-radius: 8px; }
.landing-note { color: var(--muted); font-size: var(--font-sm); }
.landing-cta { border-color: var(--line); background: var(--bg-2); box-shadow: none; }
.sticky-cta { display: none; }
@media (max-width: 767.98px) {
  .sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 10px calc(16px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(18px + var(--safe-left));
    border-top: 1px solid var(--line);
    background: var(--chrome-bg-solid);
  }
  .sticky-cta-note { color: var(--muted); font-size: var(--font-xs); }
  .sticky-cta .button { min-height: 40px; padding: 0 16px; }
  body:has(.sticky-cta) .landing-page { padding-bottom: calc(var(--space-5) + 72px + var(--safe-bottom)); }
}
.login-page {
  min-height: var(--viewport-h, 100vh);
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--space-5);
  padding: calc(var(--space-6) + var(--safe-top)) var(--space-4) calc(var(--space-6) + var(--safe-bottom));
}
.login-card { width: min(460px, 100%); display: grid; gap: var(--space-3); justify-items: start; padding: var(--space-6); }
.login-card h1 { font-size: clamp(1.375rem, 3vw, 1.75rem); }
.login-card .lead { margin: 0; color: var(--muted-2); font-size: var(--font-md); }
.login-icon { border-radius: 18px; }
.login-note { font-size: var(--font-xs); }
.login-footer, .error-footer { width: min(880px, 100%); }
.error-page { align-content: center; gap: var(--space-5); }

/* ---- Cookieの同意バナー ---- */
.consent-banner {
  position: fixed;
  z-index: 70;
  left: calc(16px + var(--safe-left));
  right: calc(16px + var(--safe-right));
  bottom: calc(16px + var(--safe-bottom));
  max-width: 420px;
  margin-left: auto;
  display: grid;
  gap: var(--space-3);
  padding: 16px 18px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--chrome-bg-solid);
  color: var(--text);
  box-shadow: var(--shadow);
}
.consent-banner h2 { font-size: var(--font-md); }
.consent-banner p { margin-top: 4px; color: var(--muted-2); font-size: var(--font-sm); line-height: 1.7; }
.consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.consent-actions button { min-height: 40px; }
@media (max-width: 767.98px) {
  .consent-banner { max-width: none; bottom: calc(76px + var(--safe-bottom)); }
  body[data-tabbar="1"] .consent-banner { bottom: calc(var(--float-bottom) + var(--player-dock-h) + 8px); }
  .consent-actions button { flex: 1; min-height: 44px; }
}

/* ---- フォーム: 項目ごとのエラー・下書きの保存 ---- */
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"],
input:user-invalid, select:user-invalid, textarea:user-invalid {
  border-color: #ff6b6b;
  background:
    var(--control-fill) padding-box,
    linear-gradient(#ff6b6b, #ff6b6b) border-box;
  background-clip: padding-box, border-box;
}
.field-error { display: flex; align-items: center; gap: 6px; color: var(--danger-text); font-size: var(--font-xs); }
.field-error::before { content: "error"; font-family: "Material Symbols Rounded"; font-size: 16px; line-height: 1; }
.form-errors { border-color: rgba(255, 107, 107, 0.45); background: rgba(255, 107, 107, 0.08); }
.form-errors:focus { outline: none; }
.draft-status { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--space-2); color: var(--muted-2); font-size: var(--font-sm); }
.draft-status .material-symbols-rounded { font-size: 18px; color: var(--accent); }

/* ---- お問い合わせの完了・履歴 ---- */
.contact-sent h1 { display: flex; align-items: center; gap: var(--space-2); font-size: clamp(1.375rem, 3vw, 1.75rem); }
.contact-sent h1 .material-symbols-rounded { color: var(--accent); font-size: 30px; }
.receipt { display: grid; margin: var(--space-2) 0; border-top: 1px solid var(--line); }
.receipt div { display: grid; grid-template-columns: 9em minmax(0, 1fr); gap: var(--space-3); padding: 12px 0; border-bottom: 1px solid var(--line); }
.receipt dt { display: flex; align-items: center; gap: 8px; color: var(--muted); }
.receipt dt .material-symbols-rounded { font-size: 18px; }
.receipt dd { margin: 0; }
.contact-history { display: grid; border-top: 1px solid var(--line); }
.contact-item { border-bottom: 1px solid var(--line); }
.contact-item summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  min-height: 64px;
  padding: 8px 4px;
  cursor: pointer;
  list-style: none;
}
.contact-item summary::-webkit-details-marker { display: none; }
.contact-item summary:hover { background: var(--surface); }
.contact-number { color: var(--muted-2); font-size: var(--font-sm); }
.contact-summary { display: grid; min-width: 0; }
.contact-summary strong { font-weight: 400; }
.contact-summary small { font-size: var(--font-xs); }
.contact-message { margin: 0 4px var(--space-3); padding: var(--space-3); border-radius: var(--radius-md); background: var(--surface); color: var(--muted-2); white-space: pre-wrap; }
.status-chip {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--muted-2);
  font-size: var(--font-xs);
  white-space: nowrap;
}
.status-chip.status-replied, .status-chip.status-done { border-color: rgba(41, 196, 236, 0.45); color: var(--text); }
.status-chip.status-in_progress { border-color: rgba(255, 179, 64, 0.5); }
@media (max-width: 767.98px) {
  .contact-item summary { grid-template-columns: minmax(0, 1fr) auto; }
  .contact-number { grid-column: 1 / -1; font-size: var(--font-xs); }
}

/* ---- 空の状態: 次にすることを示す ---- */
.empty-state { display: grid; justify-items: center; gap: var(--space-2); padding: var(--space-7) var(--space-4); text-align: center; }
.empty-state > .material-symbols-rounded { font-size: 40px; color: var(--muted); }
.empty-state h2 { font-size: var(--font-lg); }
.empty-state p { max-width: 32em; color: var(--muted); }
.empty-state .button { margin-top: var(--space-2); }

/* ---- マイページの設定一覧 ---- */
.settings-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.settings-group { display: grid; align-content: start; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.settings-group h2 { padding: 14px 16px 6px; color: var(--muted); font-size: var(--font-xs); letter-spacing: 0.08em; }
.settings-group a,
.settings-group button {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 18px;
  justify-content: stretch;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: none;
  color: var(--text);
  font-weight: 400;
  text-align: left;
}
.settings-group a:hover, .settings-group button:hover { background: var(--surface-2); }
.settings-group .material-symbols-rounded { font-size: 20px; color: var(--muted); }
.settings-group form { margin: 0; }
.settings-danger, .settings-danger .material-symbols-rounded { color: var(--danger-text) !important; }
.small-note { margin-top: var(--space-2); font-size: var(--font-xs); }

/* ---- 削除などの確認ダイアログ: 対象・影響・代わりの手段 ---- */
.confirm-dialog {
  width: min(520px, calc(100vw - 32px));
  padding: var(--space-5);
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  background: var(--bg-2);
  color: var(--text);
  box-shadow: var(--shadow);
}
.confirm-dialog::backdrop { background: rgba(0, 0, 0, 0.55); backdrop-filter: blur(6px); }
.confirm-dialog h2 { padding-right: 40px; font-size: var(--font-lg); }
.confirm-dialog-close { position: absolute; top: 12px; right: 12px; margin: 0; }
.impact-list { display: grid; gap: 10px; margin: var(--space-3) 0; padding: 0; list-style: none; color: var(--muted-2); }
.impact-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; }
.impact-list .material-symbols-rounded { font-size: 19px; color: var(--muted); }
.alt-box { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; padding: 14px; border-radius: 12px; background: var(--surface-2); }
.alt-box strong { display: block; }
.alt-box p { color: var(--muted); font-size: var(--font-sm); }
.dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-4); }
.dialog-actions form { margin: 0; }

/* ---- 保存状態・公開範囲 ---- */
.section-head-side { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.save-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--muted-2);
  font-size: var(--font-xs);
}
.save-state .material-symbols-rounded { font-size: 15px; }
.save-state[data-state="saved"] { border-color: rgba(41, 196, 236, 0.45); }
.save-state[data-state="saved"] .material-symbols-rounded { color: var(--accent); }
.save-state[data-state="saving"] .material-symbols-rounded { animation: busySpin 900ms linear infinite; }
.save-state[data-state="error"] { border-color: rgba(255, 107, 107, 0.5); color: var(--danger-text); }
.playlist-visibility { color: var(--muted); font-size: var(--font-sm); }

/* ---- 管理画面 ---- */
.admin-jump { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); padding: var(--space-4); }
.admin-jump div { display: grid; align-content: start; gap: 2px; }
.admin-jump h2 { margin: 0 0 6px; color: var(--muted); font-size: var(--font-xs); letter-spacing: 0.08em; }
.admin-jump a { display: flex; align-items: center; min-height: 32px; padding: 0 10px; border-radius: 8px; color: var(--muted-2); font-size: var(--font-sm); }
.admin-jump a:hover { background: var(--surface-2); color: var(--text); }
.admin-group-title { margin: var(--space-6) 0 var(--space-1); font-size: var(--font-lg); scroll-margin-top: calc(var(--header-h) + 16px); }
.admin-stack > .admin-group-title:first-child { margin-top: 0; }
.admin-section { scroll-margin-top: calc(var(--header-h) + 16px); }

/* ---- iPhone・iPadだけ: Liquid Glass(浮かぶガラスのタブバー・ミニプレイヤー) ---- */
@media (max-width: 1279.98px) {
  html[data-platform="ios"] body[data-tabbar="1"] {
    --tabbar-row: 60px;
    --tabbar-border: 0px;
    --tabbar-safe-bottom: max(var(--safe-bottom), 14px);
  }
  html[data-platform="ios"] .mobile-tabbar {
    left: calc(12px + var(--safe-left));
    right: calc(84px + var(--safe-right));
    bottom: max(var(--safe-bottom), 14px);
    height: 60px;
    padding: 4px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 0.5px solid rgba(255, 255, 255, 0.22);
    border-radius: 30px;
    background: rgba(58, 60, 78, 0.3);
    -webkit-backdrop-filter: blur(16px) saturate(1.9);
    backdrop-filter: blur(16px) saturate(1.9);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 14px 30px rgba(0, 0, 0, 0.35);
  }
  html[data-platform="ios"] .mobile-tabbar a { height: 52px; border-radius: 26px; }
  html[data-platform="ios"] .mobile-tabbar a[aria-current="page"] { background: rgba(255, 255, 255, 0.12); }
  /* 検索はタブから外し、右側の丸いボタンにする(タブバーを基準に位置を決める) */
  html[data-platform="ios"] .mobile-tabbar a.tab-primary {
    position: absolute;
    right: -72px;
    bottom: -0.5px;
    width: 60px;
    height: 60px;
    border: 0.5px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: rgba(58, 60, 78, 0.3);
    -webkit-backdrop-filter: blur(16px) saturate(1.9);
    backdrop-filter: blur(16px) saturate(1.9);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 14px 30px rgba(0, 0, 0, 0.35);
  }
  html[data-platform="ios"] .mobile-tabbar a.tab-primary .tab-label { display: none; }
  html[data-platform="ios"] .mobile-tabbar .tab-primary-icon,
  html[data-platform="ios"] .mobile-tabbar a.tab-primary[aria-current="page"] .tab-primary-icon {
    width: auto;
    background: none;
    box-shadow: none;
    color: var(--text);
  }
  html[data-platform="ios"] .mobile-tabbar a.tab-primary[aria-current="page"] .tab-primary-icon { color: var(--accent); }
  html[data-platform="ios"] .global-player {
    border: 0.5px solid rgba(255, 255, 255, 0.22);
    border-radius: 26px;
    background: rgba(58, 60, 78, 0.32);
    -webkit-backdrop-filter: blur(16px) saturate(1.9);
    backdrop-filter: blur(16px) saturate(1.9);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 12px 28px rgba(0, 0, 0, 0.3);
  }
  html[data-platform="ios"] body[data-theme="light"] .mobile-tabbar,
  html[data-platform="ios"] body[data-theme="light"] .mobile-tabbar a.tab-primary,
  html[data-platform="ios"] body[data-theme="light"] .global-player {
    border-color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.55);
    box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(0, 0, 0, 0.12);
  }
}
@media (max-width: 767.98px) {
  html[data-platform="ios"] .sticky-cta {
    left: calc(12px + var(--safe-left));
    right: calc(12px + var(--safe-right));
    bottom: max(var(--safe-bottom), 14px);
    padding: 7px 7px 7px 18px;
    border: 0.5px solid rgba(255, 255, 255, 0.22);
    border-radius: 28px;
    background: rgba(58, 60, 78, 0.32);
    -webkit-backdrop-filter: blur(16px) saturate(1.9);
    backdrop-filter: blur(16px) saturate(1.9);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 12px 26px rgba(0, 0, 0, 0.35);
  }
  html[data-platform="ios"] .sticky-cta .button { border-radius: 20px; }
  html[data-platform="ios"] .consent-banner {
    border-radius: 24px;
    background: rgba(46, 48, 62, 0.6);
    -webkit-backdrop-filter: blur(22px) saturate(1.8);
    backdrop-filter: blur(22px) saturate(1.8);
  }
}
/* ---- 透明効果を減らす(マイページの設定。「端末の設定に合わせる」ならOSの設定・低性能端末でもここに入る) ----
   すりガラスのぼかしを全部外し、ぼかしがないと下の内容が透けて読みにくい面は不透明にする。 */
html[data-transparency="reduced"] *,
html[data-transparency="reduced"] *::before,
html[data-transparency="reduced"] *::after,
html[data-transparency="reduced"] ::backdrop {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html[data-transparency="reduced"][data-platform="ios"] .mobile-tabbar,
html[data-transparency="reduced"][data-platform="ios"] .mobile-tabbar a.tab-primary,
html[data-transparency="reduced"][data-platform="ios"] .global-player,
html[data-transparency="reduced"][data-platform="ios"] .sticky-cta,
html[data-transparency="reduced"][data-platform="ios"] .consent-banner {
  background: var(--chrome-bg-solid);
}
html[data-transparency="reduced"] .app-header,
html[data-transparency="reduced"] .mobile-tabbar,
html[data-transparency="reduced"] .global-player,
html[data-transparency="reduced"] .mini-player,
html[data-transparency="reduced"] .playback-bar,
html[data-transparency="reduced"] .event {
  background: var(--chrome-bg-solid);
}
html[data-transparency="reduced"] .modal-backdrop { background: rgba(0, 0, 0, 0.72); }

/* ---- 切り替えボタン(ランキングの対象など)と、ページ内の移動 ---- */
.segmented button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--muted-2);
  font-size: var(--font-sm);
  font-weight: 400;
  white-space: nowrap;
}
.segmented button:hover { background: none; color: var(--text); }
.segmented button[aria-pressed="true"],
.segmented a[aria-current="true"] { background: var(--surface-3); color: var(--text); box-shadow: var(--shadow-sm); }
@media (max-width: 767.98px) {
  .segmented button { flex: 1 1 auto; min-height: 44px; padding: 0 10px; }
}

/* ---- 一覧の状態(件数・読み込み中)と、読み込みに時間がかかるとき ---- */
.list-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 var(--space-3); color: var(--muted); font-size: var(--font-sm); }
.list-status.is-loading::before {
  content: "";
  width: 12px;
  height: 12px;
  border: 2px solid var(--line-strong);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: busySpin 900ms linear infinite;
}
.list-status button { min-height: 32px; padding: 0 12px; font-size: var(--font-xs); }
@media (prefers-reduced-motion: reduce) {
  .list-status.is-loading::before { animation: none; }
}

/* ---- 複数選択 ---- */
/* 選んだ瞬間に一覧が下にずれて押し間違えないよう、操作バーは画面下(プレイヤーの上)に浮かせる */
.selection-bar {
  position: fixed;
  left: 50%;
  bottom: calc(var(--float-bottom) + var(--player-dock-h) + var(--selection-offset, 0px) + 12px);
  z-index: 45;
  width: min(760px, calc(100% - 32px));
  transform: translateX(-50%);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2) var(--space-3);
  margin: 0;
  padding: 8px 8px 8px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: var(--chrome-bg-solid);
  box-shadow: var(--shadow);
}
.selection-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.selection-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.selection-actions button { min-height: 36px; padding: 0 12px; font-size: var(--font-sm); }
input.row-select {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: var(--accent);
  cursor: pointer;
}
.track-line:has(> input.row-select) { grid-template-columns: 24px 36px minmax(0, 1fr) 64px auto; }
.track-row.is-selected {
  background:
    var(--accent-soft) padding-box,
    linear-gradient(135deg, rgba(41, 196, 236, 0.4), rgba(41, 196, 236, 0.1)) border-box;
  background-clip: padding-box, border-box;
}
.checkbox-line { display: flex; align-items: center; gap: 8px; color: var(--muted-2); }
.checkbox-line input { width: 18px; height: 18px; min-height: 0; padding: 0; accent-color: var(--accent); }
@media (min-width: 1280px) {
  /* PCではサイドバーを除いた本文の中央に置き、下部プレイヤーの分だけ上げる */
  .selection-bar { left: calc(248px + (100% - 248px) / 2); width: min(760px, calc(100% - 248px - 48px)); }
  body:has(.global-player) { --selection-offset: 80px; }
}
@media (max-width: 767.98px) {
  .selection-bar { padding: 8px; }
  .selection-actions { width: 100%; }
  .selection-actions button { flex: 1 1 auto; min-height: 44px; }
}

/* ---- 権限が足りないとき ---- */
.permission-title { display: flex; align-items: center; gap: 8px; }
.permission-title .material-symbols-rounded { color: var(--muted); }
.permission-box { display: grid; gap: var(--space-2); padding: var(--space-4); border-radius: 12px; background: var(--surface); text-align: left; }
.permission-box h2 { font-size: var(--font-md); }

/* ---- ホーム: 最近の再生と、サーバーで人気の曲を左右に並べる ---- */
.home-split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
  margin-top: var(--section-gap);
}
.home-split:has(> #home-server-section[hidden]) { grid-template-columns: minmax(0, 1fr); }
.home-split > section > .section-head { margin-top: 0; }
.home-split .media-rail { grid-auto-columns: minmax(140px, 172px); }
.rank-no { color: var(--muted); font-size: var(--font-sm); font-variant-numeric: tabular-nums; text-align: right; }
.track-row:first-child > .rank-no { color: var(--text); font-weight: 700; }
.track-line:has(> .rank-no) { grid-template-columns: 22px 36px minmax(0, 1fr) 64px auto; }
.active-player-card {
  border-color: var(--line);
  background: var(--bg-2);
  background-clip: border-box;
  box-shadow: none;
}
@media (max-width: 1100px) {
  .home-split { grid-template-columns: minmax(0, 1fr); }
}

/* ---- アーティスト詳細 ---- */
.artist-hero {
  isolation: isolate;
  min-height: 240px;
  margin-bottom: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--bg-2);
  box-shadow: none;
}
.artist-hero-bg { opacity: 0.4; filter: blur(28px) saturate(1.05); }
.artist-hero-body { display: grid; gap: var(--space-2); min-width: 0; }
.artist-meta { color: var(--muted); font-size: var(--font-sm); }
.artist-columns { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-6); align-items: start; }
.artist-columns.single { grid-template-columns: minmax(0, 1fr); }
.artist-columns > section > .section-head,
#artist-history > .section-head { margin-top: 0; }
#artist-history { margin-top: var(--section-gap); }
#artist-top, #artist-albums, #artist-history { scroll-margin-top: calc(var(--header-h) + 16px); }
.album-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: var(--space-4); }
.empty-state.compact { padding: var(--space-5) var(--space-3); }
@media (max-width: 1100px) {
  .artist-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  .artist-hero { flex-direction: column; align-items: flex-start; min-height: 0; padding: var(--space-4); }
  .artist-avatar.large { width: 96px; height: 96px; min-width: 96px; min-height: 96px; }
}

/* ---- 検索: いちばん近い結果と曲を並べる ---- */
.search-panel .search-bar { padding: 6px; border-radius: 14px; }
.search-tabs {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 2px;
  max-width: 100%;
  padding: 3px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
  scrollbar-width: none;
}
.search-tabs a,
.search-tabs button { min-height: 34px; padding: 0 14px; border: 0; border-radius: 8px; background: none; color: var(--muted-2); font-weight: 400; white-space: nowrap; }
.search-tabs a:hover,
.search-tabs button:hover { background: none; color: var(--text); }
.search-tabs a.active,
.search-tabs button.is-active { background: var(--surface-3); color: var(--text); box-shadow: var(--shadow-sm); }
.search-overview { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.45fr); gap: var(--space-6); align-items: start; margin-top: var(--space-4); }
.search-overview:not(:has(.search-top-hit)) { grid-template-columns: minmax(0, 1fr); }
.search-overview h2 { margin-bottom: var(--space-3); font-size: var(--font-lg); }
.search-top-hit-card {
  display: grid;
  justify-items: start;
  gap: var(--space-2);
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-2);
}
.search-top-hit-card:hover { border-color: var(--line-strong); }
.search-top-hit-card .artist-avatar { width: 88px; height: 88px; }
.search-top-hit-card strong { font-size: var(--font-xl); }
@media (max-width: 900px) {
  .search-overview { grid-template-columns: minmax(0, 1fr); }
}

/* ---- ランキング ---- */
.ranking-filter { align-items: center; gap: var(--space-2) var(--space-3); padding: 0; border: 0; background: none; box-shadow: none; }
.ranking-filter .segmented { margin: 0; }
.ranking-filter label { flex: 0 1 220px; min-width: 160px; margin: 0; }
.ranking-main-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--space-6); }
.ranking-main-grid .glass { padding: 0; border: 0; background: none; backdrop-filter: none; }
.ranking-main-grid h2 { margin-bottom: var(--space-2); font-size: var(--font-lg); }
.ranking-row { border-bottom: 1px solid var(--line); }
.ranking-row > strong { color: var(--muted); font-weight: 400; font-variant-numeric: tabular-nums; text-align: right; }
.ranking-row:first-child > strong { color: var(--text); font-weight: 700; }
.ranking-main { display: grid; gap: 2px; min-width: 0; }
.ranking-row > b { color: var(--muted); font-weight: 400; font-variant-numeric: tabular-nums; }
.rank-bar { display: block; height: 3px; margin-top: 6px; overflow: hidden; border-radius: 3px; background: var(--surface-2); }
.rank-bar i { display: block; height: 100%; border-radius: 3px; background: var(--accent); }
@media (max-width: 1100px) {
  .ranking-main-grid { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   旧UIの「ガラス」の元になっていた変数を、キービジュアルの平らな面と1pxの線に置き換える。
   旧UIの部品は background: 面 padding-box, 枠 border-box で塗っているので、
   面は単色、枠は線の色にすると、個別に上書きしなくても平らな面と細い線になる。
   ライト表示は body[data-theme] でも変数を定義し直しているため、同じ詳細度で後から定義する。
   ===================================================================== */
:root,
body[data-theme],
body[data-theme="light"],
body[data-theme="system"] {
  --surface-fill: linear-gradient(var(--surface), var(--surface));
  --surface-fill-strong: linear-gradient(var(--surface-2), var(--surface-2));
  --control-fill: linear-gradient(rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.035));
  --border-blend: linear-gradient(var(--line-strong), var(--line-strong));
  --border-blend-soft: linear-gradient(var(--line), var(--line));
  --border-blend-hover: linear-gradient(var(--line-strong), var(--line-strong));
  --glass-blur: none;
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.24);
}
body[data-theme="light"] {
  --control-fill: linear-gradient(rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02));
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.08);
}
@media (prefers-color-scheme: light) {
  body[data-theme="system"] {
    --control-fill: linear-gradient(rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02));
    --shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.08);
  }
}
/* サイドバーはキービジュアルでは透けない単色の面 */
.sidebar { background: var(--bg-2); -webkit-backdrop-filter: none; backdrop-filter: none; }

/* =====================================================================
   キービジュアルに合わせた部品の見た目
   ガラスのグラデーション枠をやめ、1pxの線と平らな面、Regularの文字にそろえる
   ===================================================================== */

/* ---- ボタン: 線のボタンと、白の塗り(primary)の2種類 ---- */
button, .button,
button.ghost, .button.ghost,
.row-actions button, .row-action button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.03);
  background-clip: border-box;
  color: var(--text);
  box-shadow: none;
  backdrop-filter: none;
}
button:hover, .button:hover,
button.ghost:hover, .button.ghost:hover,
.row-actions button:hover, .row-action button:hover {
  border-color: var(--line-strong);
  background: var(--surface-2);
  background-clip: border-box;
}
button.danger, .button.danger {
  border-color: rgba(255, 107, 107, 0.4);
  background: rgba(255, 107, 107, 0.08);
  background-clip: border-box;
  color: var(--danger-text);
}
button.danger:hover, .button.danger:hover { background: rgba(255, 107, 107, 0.16); background-clip: border-box; }
.icon-button, button.icon-button {
  width: 36px;
  min-width: 36px;
  padding: 0;
  border-color: transparent;
  background: transparent;
  color: var(--muted-2);
}
.icon-button:hover, button.icon-button:hover { border-color: transparent; background: var(--surface-2); color: var(--text); }
.icon-button.danger { color: var(--danger-text); }
.brand-mark { background: var(--surface-2); box-shadow: none; }
.section-head h2 { font-size: var(--font-lg); }

/* ---- 入力欄 ---- */
input, select, textarea, .custom-select-trigger {
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.035);
  background-clip: border-box;
}
input[type="checkbox"], input[type="radio"], input[type="range"] { border: 0; background: none; }
.custom-select-trigger { font-weight: 400; }
.custom-select-trigger:hover { background: var(--surface-2); background-clip: border-box; }
.custom-select-menu { border: 1px solid var(--line-strong); background: var(--chrome-bg-solid); background-clip: border-box; }
input:focus, select:focus, textarea:focus,
.custom-select.is-open .custom-select-trigger {
  border-color: var(--accent);
  background: rgba(255, 255, 255, 0.05);
  background-clip: border-box;
  box-shadow: var(--focus-ring);
}
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"],
input:user-invalid, select:user-invalid, textarea:user-invalid {
  border-color: #ff6b6b;
  background: rgba(255, 107, 107, 0.05);
  background-clip: border-box;
}

/* ---- 面: 平らな面と1pxの線 ---- */
.glass, .empty, .setup-panel, .notice, .admin-section, .playlist-card, .modal, .global-sheet-panel, .filter-bar {
  border: 1px solid var(--line);
  background: var(--bg-2);
  background-clip: border-box;
  backdrop-filter: none;
}
.notice { background: var(--surface); }
.filter-bar.ranking-filter { padding: 0; border: 0; background: none; }

/* ---- 曲の行: 線で区切り、曲名の下にアーティストを小さく出す ---- */
.track-list { gap: 0; }
.track-row {
  min-height: 56px;
  padding: 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
  background-clip: border-box;
}
.track-row:hover { background: var(--surface); background-clip: border-box; }
.track-row span { font-weight: 400; }
.track-line {
  grid-template-columns: 40px minmax(0, 1fr) 56px 36px;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 0;
}
.track-line:has(.drag-handle) { grid-template-columns: 28px 40px minmax(0, 1fr) 56px 36px; }
.track-line:has(input[type="checkbox"]) { grid-template-columns: 28px auto 40px minmax(0, 1fr) 56px 36px; }
.playlist-items .track-row:has(input[type="checkbox"]) { grid-template-columns: 28px auto 40px minmax(0, 1fr) 56px 36px; }
.track-line:has(> input.row-select) { grid-template-columns: 24px 40px minmax(0, 1fr) 56px 36px; }
.track-line:has(> .rank-no) { grid-template-columns: 22px 40px minmax(0, 1fr) 56px 36px; }
.track-line:not(:has(> .track-line-art)) { grid-template-columns: minmax(0, 1fr) 56px 36px; }
.track-line > :not(.track-line-title):not(.track-line-meta) { grid-row: 1 / span 2; }
.track-line:has(> .track-menu) > .track-line-meta { grid-column: -4 / -3; }
.track-line > .track-line-title { grid-row: 1; align-self: end; color: var(--text); font-size: var(--font-md); font-weight: 400; }
.track-line > .track-line-meta {
  display: block;
  grid-row: 2;
  align-self: start;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--font-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.track-line:not(:has(> .track-line-meta)) > .track-line-title { grid-row: 1 / span 2; align-self: center; }
.track-line-art { width: 40px; height: 40px; border-radius: 6px; background: var(--surface-2); }
.track-line-duration { min-width: 0; font-size: var(--font-xs); text-align: right; }
.track-menu-toggle { color: var(--muted); }
.track-row.is-playing { background: rgba(255, 111, 174, 0.06); background-clip: border-box; }
.track-row.is-playing .track-line-title { color: var(--text); }
.track-eq span { background: var(--rose); }
.track-row.is-selected { background: var(--accent-soft); background-clip: border-box; }

/* ---- カード: 正方形のアートワークと小さな文字 ---- */
.media-rail { grid-auto-columns: minmax(148px, 168px); gap: var(--space-4); }
.media-art { border-radius: 10px; background: var(--surface-2); box-shadow: none; }
.media-card:hover .media-art { box-shadow: none; filter: brightness(1.06); }
.media-art span,
.active-player-art span,
.result-art > .material-symbols-rounded,
.playlist-art > .material-symbols-rounded { background: var(--surface-2); color: var(--muted); font-size: 32px; }
.media-card strong,
.media-card .media-title-button { color: var(--text); font-size: var(--font-sm); font-weight: 400; }
.media-card p { font-size: var(--font-xs); }
.media-card:has(> a.media-art-button[href^="/artists/"]) .media-art { border-radius: 50%; }
.media-overlay { border-radius: 10px; }
.media-overlay button {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(12, 13, 18, 0.72);
  background-clip: border-box;
  color: #fff;
  backdrop-filter: blur(8px);
}
.card-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 168px), 1fr)); gap: var(--space-5) var(--space-4); }
.result-card, .playlist-tile, .artist-card {
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  background-clip: border-box;
  backdrop-filter: none;
}
.result-card:hover, .playlist-tile:hover, .artist-card:hover { background: none; background-clip: border-box; box-shadow: none; }
.playlist-tile:hover .playlist-art, .result-card:hover .result-art { filter: brightness(1.06); }
.result-art, .playlist-art { border-radius: 10px; background: var(--surface-2); }
.playlist-tile h3, .result-card h3 { font-size: var(--font-sm); font-weight: 400; }
.playlist-tile p, .result-card p { margin: 0; color: var(--muted); font-size: var(--font-xs); }

/* ---- 検索欄と候補 ---- */
.search-panel { padding: 0; border: 0; background: none; background-clip: border-box; }
.search-bar, .search-panel .search-bar {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  padding: 6px 6px 6px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--bg-2);
  background-clip: border-box;
}
.search-bar > * { flex: 0 0 auto; }
.search-bar input, .search-panel .search-bar input,
.search-bar input:focus, .search-panel .search-bar input:focus {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  border-color: transparent;
  background: none;
  box-shadow: none;
  font-size: var(--font-md);
}
.search-bar:focus-within { border-color: var(--accent); box-shadow: var(--focus-ring); }
.chip {
  min-height: 32px;
  border: 1px solid var(--line);
  background: var(--surface);
  background-clip: border-box;
  color: var(--muted-2);
  font-size: var(--font-sm);
  font-weight: 400;
}
.chip:hover { background: var(--surface-2); background-clip: border-box; color: var(--text); }

/* ---- ランキングの行: 回数の線は独立した列に置く ---- */
.ranking-row { grid-template-columns: 28px minmax(0, 1fr) minmax(48px, 120px) 60px; gap: 14px; min-height: 52px; padding: 8px 0; }
.ranking-row a { font-weight: 400; }
.ranking-row > .rank-bar { margin-top: 0; }
.ranking-row > b { text-align: right; }
@media (max-width: 559.98px) {
  .ranking-row { grid-template-columns: 24px minmax(0, 1fr) 52px; }
  .ranking-row > .rank-bar { display: none; }
}

/* ---- 下部プレイヤー: 暗い面に細い線、再生ボタンだけ枠を付ける ---- */
.global-player {
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: rgba(22, 23, 32, 0.92);
  background-clip: border-box;
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  box-shadow: var(--shadow-float);
}
body[data-theme="light"] .global-player { background: rgba(255, 255, 255, 0.94); }
@media (prefers-color-scheme: light) {
  body[data-theme="system"] .global-player { background: rgba(255, 255, 255, 0.94); }
}
.global-player-art { border-radius: 8px; }
.global-player-title { font-size: var(--font-sm); font-weight: 400; }
.global-seek span { background: var(--text); }
.global-player-actions [data-global-action="pause"] { border-color: var(--line-strong); color: var(--text); }
.browser-volume { background: none; }
.browser-volume input[type="range"] { accent-color: var(--text); }

/* ---- 規約・プライバシー・使い方: 箱に入れず、線で区切った読み物にする ---- */
.help-page { width: min(720px, 100%); gap: var(--space-4); }
.help-page .help-section {
  gap: var(--space-2);
  padding: var(--space-4) 0 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: none;
  background-clip: border-box;
  box-shadow: none;
}
.help-page .help-section h2 { font-size: var(--font-md); }
.help-page .help-section p,
.help-page .help-section li,
.help-page .help-section dd { color: var(--muted-2); font-size: var(--font-sm); line-height: 1.9; }
.help-page .help-hero h1 { letter-spacing: 0.04em; }
.help-page.contact-page .help-section:has(form) { padding-top: var(--space-4); }

/* ---- プレイリスト・アルバムの見出し: アートワークと文字を並べるだけの平らな見出し ---- */
.artist-hero:has(> .artist-avatar.square) {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: end;
  gap: 26px;
  min-height: 0;
  margin-bottom: var(--space-5);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  background-clip: border-box;
  box-shadow: none;
}
.artist-hero:has(> .artist-avatar.square) > .artist-hero-bg { display: none; }
.artist-hero:has(> .artist-avatar.square) > .artist-avatar {
  width: 180px;
  height: 180px;
  min-width: 0;
  min-height: 0;
  border-radius: 12px;
  background: var(--surface-2);
  box-shadow: none;
}
.artist-hero:has(> .artist-avatar.square) h1 { margin: 2px 0 4px; }
.artist-hero:has(> .artist-avatar.square) p { margin: 0; color: var(--muted); font-size: var(--font-xs); }
.artist-hero:has(> .artist-avatar.square) .lead { color: var(--muted-2); font-size: var(--font-sm); }
.artist-hero:has(> .artist-avatar.square) .action-row { flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: var(--space-3); }
@media (max-width: 719.98px) {
  .artist-hero:has(> .artist-avatar.square) { grid-template-columns: 92px minmax(0, 1fr); gap: 14px; align-items: center; }
  .artist-hero:has(> .artist-avatar.square) > .artist-avatar { width: 92px; height: 92px; }
  .artist-hero:has(> .artist-avatar.square) .lead { display: none; }
  .artist-hero:has(> .artist-avatar.square) .action-row { gap: 6px; }
  .artist-hero:has(> .artist-avatar.square) .action-row :is(button, .button) { min-height: 32px; padding: 0 10px; font-size: var(--font-xs); }
}

/* スマホ幅の曲の行: 長さの列をなくし、曲名に幅を使う(キービジュアルのスマホ版と同じ) */
@media (max-width: 479.98px) {
  .track-line,
  .track-line:has(> .rank-no),
  .track-line:has(> input.row-select),
  .track-line:has(.drag-handle) { column-gap: 10px; }
  .track-line { grid-template-columns: 34px minmax(0, 1fr) 32px; }
  .track-line:has(.drag-handle) { grid-template-columns: 24px 34px minmax(0, 1fr) 32px; }
  .track-line:has(input[type="checkbox"]),
  .playlist-items .track-row:has(input[type="checkbox"]) { grid-template-columns: 24px auto 34px minmax(0, 1fr) 32px; }
  .track-line:has(> input.row-select) { grid-template-columns: 22px 34px minmax(0, 1fr) 32px; }
  .track-line:has(> .rank-no) { grid-template-columns: 18px 34px minmax(0, 1fr) 32px; }
  .track-line:not(:has(> .track-line-art)) { grid-template-columns: minmax(0, 1fr) 32px; }
  .track-line > .track-line-duration { display: none; }
  .track-line:has(> .track-menu) > .track-line-meta { grid-column: -3 / -2; }
  .track-line-art { width: 34px; height: 34px; }
  .track-row { padding: 8px 0; }
}

/* ---- プレイヤー: 背景に大きく画像を敷かず、平らな面にアートワークを置く ---- */
.player-bg { display: none; }
.now-view {
  border: 1px solid var(--line);
  background: var(--bg-2);
  background-clip: border-box;
  box-shadow: none;
}
.now-view::before { display: none; }
.now-art, .active-player-art { box-shadow: none; }
.now-copy h1 { font-weight: 400; letter-spacing: 0.02em; }

/* ---- マイページ: プロフィールの行と、2列の設定グループ ---- */
.profile-row { display: flex; align-items: center; gap: 12px; margin: 0 0 var(--space-4); }
.profile-row .profile-avatar {
  width: 44px;
  height: 44px;
  flex: none;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: var(--surface-2);
}
.profile-row .profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-row .profile-avatar .material-symbols-rounded { font-size: 28px; color: var(--muted); }
.profile-row > div:last-child { display: grid; min-width: 0; }
.profile-row b { font-size: var(--font-md); }
.profile-row small { overflow: hidden; color: var(--muted); font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.settings-list.me-columns { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: start; margin-top: 0; }
.settings-col { display: grid; align-content: start; gap: var(--space-4); }
.settings-group { background: var(--bg-2); }
.settings-group h2 { font-weight: 400; }
.settings-form { display: grid; }
.settings-field {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 6px 12px 6px 16px;
  border-top: 1px solid var(--line);
  color: var(--text);
  font-size: var(--font-md);
}
.settings-field { grid-template-columns: 22px minmax(0, 1fr) minmax(9rem, 13rem); }
.settings-field > :last-child { width: 100%; min-width: 0; justify-self: end; }
.settings-field select,
.settings-field .custom-select-trigger { width: 100%; min-height: 34px; white-space: nowrap; }
.settings-field .custom-select-trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 設定の行のボタン指定が、選択肢のボタンにまで効かないように戻す */
.settings-group .custom-select-trigger {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  min-height: 34px;
  padding: 0 8px 0 12px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  font-size: var(--font-sm);
}
.settings-group .custom-select-trigger .material-symbols-rounded { font-size: 18px; }
.settings-group .custom-select-option {
  display: flex;
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  font-size: var(--font-sm);
}
.settings-group .custom-select-trigger:hover,
.settings-group .custom-select-option:hover { background: var(--surface-2); }
.settings-group:has(.custom-select.is-open) { overflow: visible; }
.settings-field > span:nth-child(2) { white-space: nowrap; }
@media (max-width: 479.98px) {
  .settings-field { grid-template-columns: 22px auto minmax(0, 1fr); gap: 10px; padding-right: 10px; }
}
.settings-save { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px 10px 16px; border-top: 1px solid var(--line); }
.settings-save small { font-size: var(--font-xs); }
.settings-group .settings-save button {
  display: inline-flex;
  flex: none;
  width: auto;
  min-height: 34px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: var(--primary-fill);
  color: var(--primary-text);
}
.settings-group .settings-save button:hover { background: var(--primary-fill); filter: brightness(1.08); }
.settings-group button > span:nth-child(2) small { display: block; color: var(--muted); font-size: var(--font-xs); }
.settings-group button:has(small) { min-height: 60px; padding-block: 8px; }

/* ---- 管理: 左に目次、右に設定の面を縦に並べる ---- */
.admin-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: start; gap: 30px; }
.admin-layout > .admin-jump {
  position: sticky;
  top: calc(var(--header-h, 0px) + 16px);
  grid-template-columns: 1fr;
  gap: var(--space-3);
  max-height: calc(100dvh - var(--header-h, 0px) - 32px);
  margin: 0;
  padding: 0;
  overflow: auto;
  border: 0;
  background: none;
}
.admin-layout .admin-jump h2 { margin: 0 10px 4px; font-weight: 400; font-size: 0.6875rem; letter-spacing: 0.1em; }
.admin-layout .admin-jump a { min-height: 30px; font-size: var(--font-sm); }
.admin-layout .admin-jump a[aria-current="true"] { background: var(--surface-2); color: var(--text); }
.admin-group-title { color: var(--muted); font-weight: 400; font-size: var(--font-sm); letter-spacing: 0.1em; }
.admin-section { border-radius: 14px; }
.admin-section .section-head h2 { font-size: var(--font-md); }
@media (max-width: 959.98px) {
  .admin-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .admin-layout > .admin-jump {
    position: static;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    max-height: none;
    padding: var(--space-3);
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--bg-2);
  }
}

/* ---- 入力フォーム(新規プレイリストなど): 箱に入れず、幅を絞って縦に並べる ---- */
.narrow-page { width: min(620px, 100%); }
.form-panel.flat-form {
  display: grid;
  gap: var(--space-4);
  margin-top: 0;
  padding: 0;
  border: 0;
  background: none;
  background-clip: border-box;
  box-shadow: none;
}
.flat-form label { display: grid; gap: 6px; color: var(--muted-2); font-size: var(--font-sm); }
.flat-form label small { font-size: var(--font-xs); }
.flat-form label { grid-template-columns: max-content max-content 1fr; align-items: center; column-gap: 8px; }
.flat-form label > :not(.required):not(.optional) { grid-column: 1 / -1; }
.flat-form .required,
.flat-form .optional { display: inline-block; padding: 0 7px; border-radius: 999px; font-size: 0.625rem; font-weight: 400; line-height: 1.7; }
.flat-form .required { background: var(--accent-soft); color: var(--accent); }
.flat-form .optional { background: var(--surface-2); color: var(--muted); }
.flat-form .guild-checks { display: grid; gap: 6px; margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; }
.flat-form .guild-checks legend { padding: 0 6px; color: var(--muted-2); font-size: var(--font-sm); }
.flat-form .guild-checks label { display: flex; align-items: center; gap: 8px; color: var(--text); }
.flat-form input[type="file"] { padding: 8px; font-size: var(--font-sm); }
.form-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-1); }

/* ---- まとめ: 数字は1本の帯に並べ、曲とアーティストを2列にする ---- */
.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
  gap: 1px;
  margin-bottom: var(--space-5);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--line);
}
.metric-grid > div {
  display: grid;
  gap: 2px;
  padding: 14px 16px;
  border: 0;
  border-radius: 0;
  background: var(--bg-2);
  background-clip: border-box;
  box-shadow: none;
}
.metric-grid strong { order: -1; font-size: 1.375rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.metric-grid span { color: var(--muted); font-size: var(--font-xs); }
.recap-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 30px; align-items: start; }
@media (max-width: 859.98px) { .recap-columns { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } }
.recap-track-row { gap: 12px; min-height: 52px; padding: 6px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
.recap-track-row a, .recap-track-row span { font-weight: 400; }
.recap-track-row small { display: block; color: var(--muted); font-size: var(--font-xs); }
.ranking-row:not(:has(> .rank-bar)) { grid-template-columns: 28px minmax(0, 1fr) 60px; }

/* ---- プレイリストの編集道具: ふだんは畳んでおき、曲の一覧を先に見せる ---- */
.playlist-tools { margin: 0 0 var(--space-4); border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); }
.playlist-tools > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 14px;
  color: var(--muted-2);
  font-size: var(--font-sm);
  cursor: pointer;
  list-style: none;
}
.playlist-tools > summary::-webkit-details-marker { display: none; }
.playlist-tools > summary .material-symbols-rounded { font-size: 20px; color: var(--muted); }
.playlist-tools > summary .chevron { margin-left: auto; transition: transform var(--motion-slow) ease; }
.playlist-tools[open] > summary .chevron { transform: rotate(180deg); }
.playlist-tools > .content-grid { margin: 0; padding: 0 14px 14px; }
.playlist-tools .glass { padding: 14px; background: none; }
/* 面の中の見出しは、ページの見出しより控えめにする(キービジュアルの面の見出しと同じ大きさ) */
.content-grid > .glass > h2,
.admin-section .section-head h2 { font-size: var(--font-md); }
@media (prefers-reduced-motion: reduce) { .playlist-tools > summary .chevron { transition: none; } }

/* ---- 検索のいちばん近い結果: ページへのリンクと、再生・ページを開くの操作 ---- */
.search-top-hit-link { display: grid; justify-items: start; gap: var(--space-2); color: inherit; text-decoration: none; }
.search-top-hit-link:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.search-top-hit-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.search-top-hit-actions :is(button, .button) { min-height: 34px; }

/* ---- 採点で見つかった旧UIの残り(段階1〜5共通) ---- */
/* ボタン・タブ・ナビの文字は、キービジュアルと同じ通常の太さ */
button, .button, .tab-label, .nav-shortcut-hint, .sidebar .brand > span, .app-header-brand span, output,
.landing-hero li, .landing-points li { font-weight: 400; }
.sidebar .brand > span { letter-spacing: 0.08em; }
.contact-form .required, .contact-form .optional { font-weight: 400; }
/* ログイン前のページ上部の名前・音量の数字・管理の一覧の名前も通常の太さ(キービジュアルの管理の行と同じ) */
.help-brand span { font-weight: 400; letter-spacing: 0.08em; }
.range-field output { font-weight: 400; }
.track-row > span > strong { font-weight: 400; }
/* トップページの大見出しは、キービジュアルと同じ40px */
.landing-hero h1 { font-size: min(2.5rem, 40px); }
@media (max-width: 767.98px) { .landing-hero h1 { font-size: 1.5rem; } }
/* エラーの面の角丸はほかの面と同じ16px */
.error-panel { border-radius: 16px; }
/* タブバー中央の検索は、グラデーションの丸ではなく単色の丸 */
.tab-primary-icon { background: var(--surface-2); background-image: none; box-shadow: none; }
.mobile-tabbar a[aria-current="page"] .tab-primary-icon { background: var(--accent-soft); color: var(--accent); }
/* トップページの見出しの背景に光のグラデーションを敷かない */
.landing-hero { background: none; background-image: none; }
/* 画像の上の操作は、暗い単色の面にボタンを置くだけにする */
.media-overlay { background: none; background-image: none; }
/* 検索欄と検索の面は透けない */
.search-panel, .search-bar, .search-panel .search-bar { -webkit-backdrop-filter: none; backdrop-filter: none; }
/* アーティストのアイコンに大きな影を付けない */
.artist-avatar { box-shadow: none; }
/* 小さな区切り見出しの字間は控えめに */
.settings-group h2, .admin-jump h2, .admin-layout .admin-jump h2, .admin-group-title { letter-spacing: 0.04em; }
/* ランキング・まとめの曲名は1行で、はみ出す分は省略する */
.ranking-main > a, .ranking-main > span:first-child, .recap-track-row a, .recap-track-row > span:not(.recap-track-art) > a {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ranking-main, .recap-track-row > span:not(.recap-track-art) { min-width: 0; }

/* ---- 管理の一覧(プレイリストなど): 1行に名前と情報、編集は畳んだ中に置く ---- */
.admin-rows { display: grid; }
.admin-row { border-bottom: 1px solid var(--line); }
.admin-row > summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 6px 0;
  cursor: pointer;
  list-style: none;
}
.admin-row > summary::-webkit-details-marker { display: none; }
.admin-row-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: var(--surface-2); }
.admin-row-icon .material-symbols-rounded { font-size: 19px; color: var(--muted); }
.admin-row-main { display: grid; min-width: 0; }
.admin-row-main b { overflow: hidden; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.admin-row-main small { overflow: hidden; color: var(--muted); font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.admin-row-main code { font-size: 0.6875rem; color: var(--muted-2); }
.admin-row-edit { pointer-events: none; min-height: 32px; }
.admin-row[open] .admin-row-edit { background: var(--surface-2); }
.admin-row-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); padding: 4px 0 var(--space-4) 52px; }
.admin-row-form label { display: grid; gap: 6px; min-width: 0; color: var(--muted-2); font-size: var(--font-sm); }
.admin-row-form .wide { grid-column: 1 / -1; }
@media (max-width: 719.98px) {
  .admin-row-form { grid-template-columns: minmax(0, 1fr); padding-left: 0; }
  .admin-row-edit { padding: 0 10px; }
}

/* ---- トップページ: 見出しと大きな画像、その下にできることの4列(キービジュアルのトップページ) ---- */
.landing-page { width: min(1080px, 100%); margin-inline: auto; }
.landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
  gap: 40px;
  min-height: 0;
  padding: 56px 0 48px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.landing-hero h1 { margin: 16px 0 20px; line-height: 1.5; letter-spacing: 0.04em; }
.landing-hero .lead { max-width: 30em; color: var(--muted-2); font-size: var(--font-md); }
.landing-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.landing-note { margin: 16px 0 0; color: var(--muted); font-size: var(--font-xs); }
.landing-art {
  justify-self: center;
  width: min(340px, 100%);
  aspect-ratio: 1;
  max-width: 100%;
  overflow: hidden;
  border-radius: 40px;
  background: var(--surface-2);
  box-shadow: var(--shadow-art-lg), 0 0 0 1px var(--line-strong);
}
.landing-art img { width: 100%; height: 100%; object-fit: cover; }
.landing-feats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 48px; border-top: 1px solid var(--line); }
.landing-feats > div { display: grid; gap: 4px; padding: 18px 20px 0 0; }
.landing-feats b { font-size: var(--font-sm); font-weight: 400; }
.landing-feats small { color: var(--muted); font-size: var(--font-xs); line-height: 1.7; }
@media (max-width: 767.98px) {
  .landing-hero { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 12px 0 24px; }
  .landing-hero > .landing-copy { order: 2; }
  .landing-art { order: 1; width: 96px; justify-self: start; border-radius: 22px; box-shadow: 0 0 0 1px var(--line-strong); }
  .landing-hero h1 { margin: 6px 0 10px; }
  .landing-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
  .landing-feats > div { padding-right: 0; }
}

/* ---- 画面には出さず、読み上げには残す文字 ---- */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---- ランキング: 切り替えと丸い選択を1行に、行には順位・アートワーク・回数の線 ---- */
.ranking-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 var(--space-4); padding: 0; border: 0; background: none; }
.ranking-filter .segmented { margin: 0; }
.ranking-custom-fields { display: contents; }
.ranking-custom-fields[hidden] { display: none !important; }
.ranking-pill { position: relative; display: inline-flex; margin: 0; }
.ranking-pill select,
.ranking-pill input,
.ranking-pill .custom-select-trigger {
  width: auto;
  min-height: 34px;
  padding: 0 32px 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  font-size: var(--font-sm);
}
.ranking-pill input { padding-right: 14px; }
.ranking-pill .custom-select { min-width: 0; }
.ranking-recap-link { margin-left: auto; min-height: 34px; }
.ranking-main-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 30px; align-items: start; }
.ranking-main-grid .section-head { margin-bottom: var(--space-2); }
.ranking-row,
.ranking-row:not(:has(> .rank-bar)) { grid-template-columns: 22px 38px minmax(0, 1fr) minmax(48px, 100px) 52px; gap: 12px; min-height: 50px; padding: 6px 0; }
.ranking-row.is-artist,
.ranking-row:not(:has(> .rank-bar)) { grid-template-columns: 22px 38px minmax(0, 1fr) 52px; }
.ranking-row > strong { color: var(--muted); font-weight: 400; text-align: right; font-variant-numeric: tabular-nums; }
.ranking-row:first-child > strong { color: var(--text); }
.rank-art { width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; border-radius: 6px; background: var(--surface-2); }
.rank-art.round { border-radius: 50%; }
.rank-art img { width: 100%; height: 100%; object-fit: cover; }
.rank-art .material-symbols-rounded { font-size: 18px; color: var(--muted); }
.ranking-row > b { color: var(--muted); font-size: var(--font-xs); font-weight: 400; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 859.98px) {
  .ranking-main-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
}
@media (max-width: 559.98px) {
  .ranking-row, .ranking-row.is-artist, .ranking-row:not(:has(> .rank-bar)) { grid-template-columns: 18px 34px minmax(0, 1fr) 44px; gap: 10px; }
  .rank-art { width: 34px; height: 34px; }
  .ranking-recap-link { margin-left: 0; }
}

/* ---- キャッシュ管理: 数字の帯・1行の検索・線で区切った曲の行 ---- */
.cache-settings { margin-bottom: var(--space-3); }
.cache-search { max-width: 640px; margin: 0 0 var(--space-4); }
.cache-search > .material-symbols-rounded { color: var(--muted); font-size: 20px; }
.cache-search select.cache-filter { width: auto; min-height: 34px; border-radius: 999px; font-size: var(--font-sm); }
/* 絞り込みの選択は中身の幅だけにして、検索欄に残りの幅を使う */
.cache-search > input { flex: 1 1 auto; width: auto; min-width: 6rem; }
.cache-search > .custom-select { flex: 0 0 auto; width: auto; min-width: 9.5rem; }
.cache-search > .custom-select .custom-select-trigger { min-height: 34px; border-radius: 999px; font-size: var(--font-sm); }
.cache-search button { min-height: 36px; }
.cache-list .cache-row {
  display: grid;
  grid-template-columns: 28px 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
}
.cache-list .row-actions { display: flex; gap: 2px; }
@media (max-width: 559.98px) {
  .cache-list .cache-row { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .cache-list .cache-row > .admin-row-icon { display: none; }
  .cache-search { flex-wrap: wrap; }
}

/* ---- 管理のアーティスト一覧: 丸い画像・名前と情報・編集ボタンの行 ---- */
.admin-list-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 6px 0;
  border-bottom: 1px solid var(--line);
}
.admin-row-icon { overflow: hidden; }
.admin-row-icon.round { border-radius: 50%; }
.admin-row-icon img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 559.98px) {
  .admin-list-row > .button { padding: 0 10px; }
}

/* ---- 検索: 大きな検索欄に、虫めがね・ショートカットの案内・検索ボタン ---- */
.search-bar-large { min-height: 56px; padding-left: 14px; }
.search-bar-icon { flex: none; color: var(--muted); font-size: 22px; }
.search-kbd {
  flex: none;
  padding: 2px 8px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--muted);
  font-family: inherit;
  font-size: 0.6875rem;
}
@media (max-width: 767.98px) {
  .search-kbd { display: none; }
  .search-bar-large { min-height: 48px; }
}

/* ---- プレイヤー: 左に大きなアートワークと操作、右に次に再生(キービジュアルのプレイヤー) ---- */
.player-kv { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 0; min-height: calc(100dvh - 120px); }
.player-now { display: grid; justify-items: center; align-content: center; gap: 16px; padding: 24px 32px 40px; text-align: center; }
.player-vc { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: var(--font-xs); }
.player-vc .material-symbols-rounded { font-size: 16px; }
.player-now .now-art {
  width: min(300px, 100%);
  aspect-ratio: 1;
  max-width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: var(--surface-2);
  box-shadow: var(--shadow-art-lg);
}
.player-now .now-art img { width: 100%; height: 100%; object-fit: cover; }
.player-now .now-art > .material-symbols-rounded { font-size: 64px; color: var(--muted); display: grid; place-items: center; height: 100%; }
.player-title { display: grid; justify-items: center; width: 100%; max-width: 420px; min-width: 0; }
.player-title h1 { width: 100%; margin: 0; overflow: hidden; font-size: 1.5rem; letter-spacing: 0.04em; text-overflow: ellipsis; white-space: nowrap; }
.player-title p { margin: 2px 0 0; color: var(--muted); font-size: var(--font-sm); }
.player-now > .seek { width: min(420px, 100%); margin: 0; }
.player-times { display: flex; justify-content: space-between; width: min(420px, 100%); margin-top: -8px; color: var(--muted); font-size: 0.6875rem; font-variant-numeric: tabular-nums; }
.big-ctrls { display: flex; align-items: center; justify-content: center; gap: 18px; }
.big-ctrls form, .player-sub-actions form { margin: 0; }
.big-ctrls .icon-button { width: 44px; height: 44px; color: var(--muted-2); }
.big-ctrls .icon-button .material-symbols-rounded { font-size: 26px; }
.big-ctrls .icon-button.play { width: 60px; height: 60px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--text); }
.big-ctrls .icon-button.play .material-symbols-rounded { font-size: 32px; }
.big-ctrls .icon-button.is-on { color: var(--accent); }
.player-sub-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.player-queue { display: grid; align-content: start; gap: var(--space-3); min-height: 100%; padding: 22px 20px; border-left: 1px solid var(--line); background: var(--bg-2); }
.player-queue .section-head { margin: 0; }
.player-queue .section-head h2 { font-size: var(--font-md); }
.player-queue .section-head p { margin: 2px 0 0; font-size: 0.6875rem; }
.player-add-form { min-height: 44px; padding: 4px 4px 4px 12px; }
.player-add-form button { min-height: 34px; }
.player-extras { margin: 0; }
.player-extras-body { display: grid; gap: var(--space-2); padding: 0 14px 14px; }
.player-extras-body h3 { margin: var(--space-2) 0 0; color: var(--muted); font-size: var(--font-xs); font-weight: 400; }
@media (max-width: 1099.98px) {
  .player-kv { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .player-queue { min-height: 0; border-left: 0; border-top: 1px solid var(--line); background: none; padding-inline: 0; }
}
@media (max-width: 559.98px) {
  .player-now { padding: 12px 0 24px; gap: 14px; }
  .player-now .now-art { width: min(190px, 100%); box-shadow: var(--shadow-art); }
  .player-title h1 { font-size: 1.1875rem; }
  .big-ctrls { gap: 12px; }
}

/* ---- ホームの再生中: 大きなアートワーク・再生中の印・シーク・プレイヤーを開く ---- */
.active-player-card.home-now {
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg-2);
}
.home-now .active-player-art { width: 150px; height: 150px; border-radius: 10px; }
.home-now .active-player-body { display: grid; justify-items: start; gap: 4px; min-width: 0; }
.now-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-height: 22px; padding: 0 9px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--muted-2); font-size: 0.6875rem; white-space: nowrap; text-overflow: ellipsis; }
.now-chip i { flex: none; width: 5px; height: 5px; border-radius: 50%; background: var(--rose); }
.home-now h3 { width: 100%; margin: 6px 0 0; overflow: hidden; font-size: 1.25rem; text-overflow: ellipsis; white-space: nowrap; }
.home-now .now-meta { margin: 0; color: var(--muted); font-size: var(--font-xs); }
.home-now .mini-progress { width: 100%; max-width: 380px; height: 3px; margin-top: 10px; border-radius: 3px; background: var(--surface-2); overflow: hidden; }
.home-now .mini-progress span { display: block; height: 100%; border-radius: 3px; background: var(--muted-2); }
.home-now .now-times { display: flex; justify-content: space-between; width: 100%; max-width: 380px; margin: 0; color: var(--muted); font-size: 0.6875rem; font-variant-numeric: tabular-nums; }
@media (max-width: 719.98px) {
  .active-player-card.home-now { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .home-now .active-player-art { width: 64px; height: 64px; }
  .home-now h3 { font-size: var(--font-md); }
  .home-now .now-times, .home-now .now-chip { display: none; }
  .home-now-open { grid-column: 1 / -1; justify-self: stretch; justify-content: center; }
}

/* ---- 曲名・カードの題名は、流れる表示が付く前でも1行に収める(長い曲名で4行に折り返していた) ---- */
.media-card .media-title-button,
.media-card > strong,
.result-card .result-title-button,
.playlist-tile h3 {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---- 通知: 長いエラー文でも画面の幅を広げず、3行までにする ---- */
.notice-row { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.notice-message {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.notice-message strong { margin-right: 6px; font-weight: 700; }
.notice-error .notice-message strong { color: var(--danger-text); }
.notice-row small { white-space: nowrap; }
.events .event {
  max-width: min(420px, calc(100vw - 32px));
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* ---- 再生中の本番で見つかった旧UIの残り ---- */
/* 画像のない曲の仮のアートワークは、水色のグラデーションではなく無彩色の面にする */
.art span, .now-art span, .mini-art span { background: var(--surface-2); background-image: none; color: var(--muted); font-weight: 400; }
/* ホームの再生中カードは透けない平らな面(旧UIのぼかしを外す) */
.active-player-card, .active-player-card.home-now { -webkit-backdrop-filter: none; backdrop-filter: none; }
/* 通知は平らな面にし、画面の下側(下部プレイヤーとタブバーの上)に出す。音楽アプリの通知と同じ位置で、
   画面の上部にある見出しや操作(プレイヤー画面の「次に再生」など)を覆わない。
   --player-dock-h は下部プレイヤーの実際の高さ(app.jsで反映。下部プレイヤーがない画面では0) */
.event { border-color: var(--line-strong); background: var(--chrome-bg-solid); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: var(--shadow-md); font-size: var(--font-sm); }
.events {
  top: auto;
  left: auto;
  right: calc(var(--space-5) + var(--safe-right, 0px));
  bottom: calc(var(--space-5) + var(--player-dock-h, 0px) + 12px);
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
  width: min(380px, calc(100vw - 32px));
}
.events .event { margin-bottom: 0; }
/* 複数選択の操作バーが出ている間は、その上に出す */
body:has([data-selection-bar]:not([hidden])) .events { transform: translateY(-72px); }
@media (max-width: 1279.98px) {
  .events {
    right: calc(var(--dock-gap) + var(--safe-right, 0px));
    bottom: calc(var(--float-bottom) + var(--player-dock-h, 0px) + 12px);
  }
}
@media (max-width: 767.98px) {
  .events {
    right: 12px;
    bottom: calc(var(--float-bottom) + var(--player-dock-h, 0px) + 8px);
    left: 12px;
    width: auto;
  }
  .events .event { max-width: none; }
  .events .event:nth-child(n + 2) { display: none; }
}

/* ---- 再生中の本番とシートで見つかった旧UIの残り ---- */
/* キューの行: 準備の状態は曲名の下の文字で伝え、旧UIの行の左の色の線は使わない */
.queue-row[data-status] { border-left: 0; padding-left: 0; }
.queue-row[data-status="failed"] .track-line-meta { color: var(--danger-text); }
/* 「次に再生」を右の列に置く幅では、曲名に幅を残す(キービジュアル: 22px 38px 1fr 52px 22px・間隔12px) */
@media (min-width: 1100px) {
  .player-kv { grid-template-columns: minmax(0, 1fr) clamp(340px, 30vw, 400px); }
  .player-queue .track-line:has(.drag-handle) { grid-template-columns: 20px 36px minmax(0, 1fr) 40px 32px; column-gap: 10px; }
  .player-queue .track-line-art { width: 36px; height: 36px; }
  .player-queue .drag-handle { width: 20px; min-width: 0; }
  .player-queue .track-line-duration { min-width: 0; }
  .player-queue .track-menu,
  .player-queue .track-menu-toggle { width: 32px; min-width: 32px; }
}
/* 管理画面の「接続VC」: 旧UIの薄いグラデーションのカードではなく、線で区切った行にする(キービジュアルの管理画面の行)。
   再生中にだけ出るので、再生中の採点(段階6)で見つかった */
.vc-list { gap: 0; }
.vc-row {
  grid-template-columns: 36px minmax(0, 1.2fr) minmax(0, 1fr) auto auto;
  gap: 14px;
  min-height: 58px;
  padding: 8px 4px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
  background-clip: border-box;
}
.vc-row:hover { background: var(--surface); }
.vc-row > strong { overflow: hidden; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.vc-row > span:nth-child(n + 3) { overflow: hidden; color: var(--muted); font-size: var(--font-xs); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.vc-row > .guild-avatar { width: 36px; height: 36px; }
@media (max-width: 767.98px) {
  .vc-row { grid-template-columns: 36px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; }
  .vc-row > .guild-avatar { grid-row: 1 / span 2; }
  .vc-row > strong { grid-column: 2; grid-row: 1; }
  .vc-row > span:nth-child(3) { grid-column: 2; grid-row: 2; }
  .vc-row > span:nth-child(4) { grid-column: 3; grid-row: 1; justify-self: end; }
  .vc-row > span:nth-child(5) { grid-column: 3; grid-row: 2; justify-self: end; }
}

}

/* 下部プレイヤーから開くシート: プレイヤー画面と同じ並び(左に大きなアートワークと操作、右に次に再生) */
.global-sheet-panel > .section-head { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-3); }
.global-sheet-panel > .section-head h2 { flex: 1 1 auto; min-width: 0; margin: 0; white-space: nowrap; }
.global-sheet-panel > .section-head .action-row { flex: none; flex-wrap: nowrap; width: auto; }
/* PC幅では、シートを下部プレイヤーの上に浮かせる(下部プレイヤーの後ろにシートの操作が隠れないように)。左右は下部プレイヤーにそろえる */
@media (min-width: 1280px) {
  .global-sheet-panel {
    max-height: calc(100vh - var(--space-5) - var(--player-dock-h, 0px) - 36px);
    margin: 0 var(--space-7) calc(var(--space-5) + var(--player-dock-h, 0px) + 12px) 280px;
    padding-bottom: var(--space-5);
    border-radius: 16px;
  }
}
@media (max-width: 1279.98px) {
  .global-sheet-panel { padding-bottom: calc(var(--space-4) + var(--safe-bottom, 0px)); }
  /* シートは下部プレイヤーとタブバーを覆うので、開いている間の通知はシートの上の画面の下端に出す */
  body:has(.global-player-sheet.is-open) .events { z-index: 43; bottom: calc(var(--safe-bottom, 0px) + 16px); }
}
/* ダイアログを開いている間は、通知をダイアログより上に重ね、画面の上の中央に1件だけ出す。
   ダイアログは上に通知の分の余白を空けて置くので、見出し・閉じるボタン・下の操作ボタンを覆わない
   (ダイアログの高さは中身で変わり、右下に出すと背の高いダイアログのボタンに重なる) */
body:has(.modal-backdrop .modal) .events {
  z-index: 51;
  top: calc(var(--safe-top, 0px) + 12px);
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(420px, calc(100vw - 24px));
  transform: translateX(-50%);
}
body:has(.modal-backdrop .modal) .events .event:nth-child(n + 2) { display: none; }
.modal-backdrop { padding-top: calc(var(--safe-top, 0px) + 104px); }
.modal { max-height: min(760px, calc(100vh - var(--safe-top, 0px) - 104px - var(--space-6))); }
@media (max-width: 768px) {
  .modal { max-height: calc(var(--viewport-h, 100vh) - var(--safe-top, 0px) - 104px); }
}
.global-sheet-player { min-height: 0; }
.global-sheet-player .player-now { padding-top: 8px; }
/* PC幅のシートは下部プレイヤーの上に収めるので、アートワークを少し小さくして操作までスクロールせずに見せる */
@media (min-width: 1100px) {
  .global-sheet-player .player-now { align-content: start; padding-bottom: 8px; }
  .global-sheet-player .player-now .now-art { width: min(220px, 100%); }
}
.global-sheet-player .player-queue { background: none; }
.player-title h2 { width: 100%; margin: 0; overflow: hidden; font-size: 1.375rem; letter-spacing: 0.02em; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1099.98px) {
  .global-sheet-player .player-queue { padding-inline: 0; }
}
@media (max-width: 559.98px) {
  .player-title h2 { font-size: 1.1875rem; }
}

/* ---- 連絡先のボタン ---- */
.contact-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.contact-actions .external-icon { font-size: 16px; color: var(--muted); }
@media (max-width: 479.98px) {
  .contact-actions .button { flex: 1 1 100%; justify-content: center; }
}

/* ---- 端末の文字サイズ設定に追従する(iOSの「テキストサイズ」= Dynamic Type) ---- */
@supports (font: -apple-system-body) {
  html[data-platform="ios"] { font: -apple-system-body; }
}

/* 管理画面ではプレイヤーを隠す。<audio> は残すので、画面を移っても再生は止まらない。 */
body[data-admin-page="1"] .global-player,
body[data-admin-page="1"] .global-player-sheet {
  display: none !important;
}

/* 管理画面: サーバー別の統計 */
.stat-section { margin-bottom: var(--space-6); }
.stat-section h2 { margin: 0 0 var(--space-3); font-size: var(--font-lg); }
.stat-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--space-5); }
.bar-chart {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 120px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-2);
}
.bar-chart .bar {
  flex: 1 1 0;
  min-width: 2px;
  height: max(var(--h), 2px);
  border-radius: 3px 3px 0 0;
  background: var(--brand, #29C4EC);
}
.bar-axis { display: flex; justify-content: space-between; margin: 4px 2px 0; font-size: var(--font-xs); }
.stat-list { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.stat-list li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 10px 14px; background: var(--bg-2); }
.stat-main { display: grid; min-width: 0; }
.stat-main b, .stat-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stat-main small { color: var(--muted); font-size: var(--font-xs); }
.stat-count { flex: none; font-variant-numeric: tabular-nums; color: var(--muted); }

/* フィードバック: 5段階アンケートのカード・新機能への反応・フィードバック画面・管理画面の回答 */
.feedback-card {
  position: fixed;
  right: var(--space-4);
  bottom: calc(var(--float-bottom, 0px) + var(--player-dock-h, 0px) + var(--space-4));
  z-index: 40;
  display: grid;
  gap: var(--space-2);
  width: min(360px, calc(100vw - var(--space-4) * 2));
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-2);
  box-shadow: var(--shadow-md);
}
.feedback-card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.feedback-stars, .rating-choices { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-2); }
.feedback-stars button,
.rating-choice .rating-number {
  display: grid;
  place-items: center;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-2, var(--bg-2));
  color: inherit;
  font: inherit;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.feedback-stars button[aria-checked="true"],
.rating-choice input:checked + .rating-number {
  border-color: var(--accent);
  background: var(--accent);
  color: #06222a;
}
.rating-choice { position: relative; }
.rating-choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.rating-choice input:focus-visible + .rating-number,
.feedback-stars button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.feedback-scale, .rating-scale { display: flex; justify-content: space-between; margin: 0; font-size: var(--font-xs); }
.feedback-more { display: grid; gap: var(--space-2); }
.feedback-more textarea { resize: vertical; }
.feedback-done { margin: 0; }
.feedback-form, .feedback-dm { display: grid; gap: var(--space-4); max-width: 560px; margin-bottom: var(--space-6); }
.rating-field { display: grid; gap: var(--space-2); margin: 0; padding: 0; border: 0; }
.rating-field legend { margin-bottom: var(--space-2); font-weight: 700; }
.feedback-thanks { display: grid; gap: var(--space-3); max-width: 560px; margin-bottom: var(--space-6); }
.feature-news { margin-bottom: var(--space-6); }
.feature-news-list { display: grid; gap: var(--space-3); }
.feature-news-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-2);
}
.feature-news-item p { margin: 2px 0 0; }
.feature-react { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.feature-react button[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
.rating-distribution li { display: grid; grid-template-columns: 2rem 1fr auto; }
.rating-bar { height: 8px; border-radius: 4px; background: var(--line); overflow: hidden; }
.rating-bar > span { display: block; height: 100%; background: var(--accent); }
.feedback-row { align-items: flex-start; }
.feedback-rating { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: #29C4EC; color: #06222a; font-weight: 700; }
.feedback-comment { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
body[data-admin-page="1"] .feedback-card { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .feedback-card { animation: feedback-in 0.28s ease-out; }
}
@keyframes feedback-in { from { opacity: 0; transform: translateY(8px); } }

/* 管理画面: アナリティクス */
.analytics-live { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: var(--font-sm); color: var(--muted); }
.analytics-dot { width: 8px; height: 8px; border-radius: 50%; background: #3ccf91; }
.analytics-live[data-state="error"] .analytics-dot { background: #ff6b6b; }
@media (prefers-reduced-motion: no-preference) {
  .analytics-live[data-state="ok"] .analytics-dot { animation: analytics-pulse 2s ease-in-out infinite; }
}
@keyframes analytics-pulse { 50% { opacity: 0.35; } }
.an-sub { margin: var(--space-4) 0 var(--space-2); font-size: var(--font-md); color: var(--muted); font-weight: 600; }
.metric-grid > div[data-tone="warn"] strong { color: #ffb84d; }
.stat-list li.an-download { display: grid; grid-template-columns: 1fr auto; row-gap: 6px; }
.stat-list li.an-download .rating-bar { grid-column: 1 / -1; }

/* ブラウザ再生のダウンロード状況 */
.browser-download {
  position: fixed;
  left: var(--space-4);
  bottom: calc(var(--float-bottom, 0px) + var(--player-dock-h, 0px) + var(--space-4));
  z-index: 41;
  display: grid;
  gap: 6px;
  width: min(420px, calc(100vw - var(--space-4) * 2));
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg-2);
  box-shadow: var(--shadow-md);
}
.browser-download[hidden] { display: none; }
.browser-download-title { display: flex; justify-content: space-between; gap: var(--space-3); font-weight: 700; }
.browser-download-title span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.browser-download-detail { margin: 0; font-size: var(--font-xs); color: var(--muted); font-variant-numeric: tabular-nums; }
.browser-download .rating-bar > span { transition: width var(--motion-slow) ease-out; }
.browser-download[data-indeterminate="1"] .rating-bar > span { width: 35% !important; }
@media (prefers-reduced-motion: no-preference) {
  .browser-download[data-indeterminate="1"] .rating-bar > span { animation: browser-download-slide 1.4s ease-in-out infinite; }
}
@keyframes browser-download-slide { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
body[data-admin-page="1"] .browser-download { display: none; }

/* アナリティクス(グラフ表示) */
.an { --an-a: #29C4EC; --an-b: #FF6FAE; --an-warn: #ffb84d; display: grid; gap: var(--space-4); }
.an-card { display: grid; align-content: start; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--line); border-radius: 16px; background: var(--bg-2); min-width: 0; }
.an-card h2 { margin: 0; font-size: var(--font-lg); }
.an-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.an-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-4); }
.an-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.an-empty { margin: 0; padding: var(--space-3) 0; }
.an-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: var(--space-3); }
.an-kpi { display: grid; align-content: start; gap: 4px; padding: var(--space-4); border: 1px solid var(--line); border-radius: 16px; background: var(--bg-2); min-width: 0; }
.an-kpi-label { color: var(--muted); font-size: var(--font-xs); }
.an-kpi-value { font-size: 1.75rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; overflow-wrap: anywhere; }
.an-kpi small { font-size: var(--font-xs); }
.an-kpi svg { margin-top: 6px; }
.an-kpi[data-tone="warn"] .an-kpi-value { color: var(--an-warn); }
.an-rings { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: var(--space-4); justify-items: center; }
.an-ring { position: relative; display: grid; justify-items: center; gap: 4px; text-align: center; }
.an-ring svg { display: block; }
.an-ring-center { position: absolute; top: 0; left: 0; right: 0; height: 108px; display: grid; place-items: center; pointer-events: none; }
.an-ring-center strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.an-ring-track { stroke: var(--line); }
.an-ring-value { stroke: var(--an-a); transition: stroke-dasharray 0.6s ease-out; }
.an-ring[data-tone="warn"] .an-ring-value { stroke: var(--an-warn); }
.an-ring-label { font-size: var(--font-sm); font-weight: 600; }
.an-ring small { font-size: var(--font-xs); }
.an-now { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.an-now-card { display: flex; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--line); border-radius: 12px; border-left: 4px solid var(--an-a); min-width: 0; }
.an-now-card[data-source="browser"] { border-left-color: var(--an-b); }
.an-now-body { display: grid; gap: 4px; min-width: 0; flex: 1; }
.an-now-body b, .an-now-body small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.an-now-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); font-size: var(--font-xs); color: var(--muted); font-variant-numeric: tabular-nums; }
.an-art { display: grid; place-items: center; flex: none; width: 52px; height: 52px; overflow: hidden; border-radius: 10px; background: var(--surface-2); }
.an-art img { width: 100%; height: 100%; object-fit: cover; }
.an-art .material-symbols-rounded { color: var(--muted); }
.an-bar { display: block; height: 6px; overflow: hidden; border-radius: 3px; background: var(--line); }
.an-bar > span { display: block; height: 100%; border-radius: 3px; background: var(--an-a); transition: width 0.6s ease-out; }
.an-bar-thick { height: 8px; }
.an-bar-live > span { background-image: linear-gradient(90deg, rgb(255 255 255 / 0.25) 25%, transparent 25% 50%, rgb(255 255 255 / 0.25) 50% 75%, transparent 75%); background-size: 24px 100%; }
@media (prefers-reduced-motion: no-preference) {
  .an-bar-live > span { animation: an-stripes 1s linear infinite; }
  .an-bar-live[data-indeterminate="1"] > span { animation: an-stripes 1s linear infinite, an-slide 1.4s ease-in-out infinite; }
}
@keyframes an-stripes { to { background-position: 24px 0; } }
@keyframes an-slide { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
.an-area { display: block; max-height: 240px; }
.an-grid-line { stroke: var(--line); stroke-width: 1; }
.an-axis { fill: var(--muted); font-size: 11px; }
.an-dot { fill: var(--an-a); opacity: 0; }
.an-dot:hover { opacity: 1; }
.an-dot-now { fill: var(--an-a); stroke: var(--bg-2); stroke-width: 2; }
.an-donut-wrap { display: grid; place-items: center; }
.an-donut { display: grid; justify-items: center; gap: var(--space-3); }
.an-donut-figure { position: relative; width: 150px; height: 150px; }
.an-donut-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.an-donut-center strong { font-size: 1.5rem; font-variant-numeric: tabular-nums; line-height: 1; }
.an-legend { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: var(--font-sm); width: 100%; }
.an-legend li { display: flex; align-items: center; gap: 8px; }
.an-legend b { margin-left: auto; font-variant-numeric: tabular-nums; }
.an-legend-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.an-dl-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--space-4); align-items: center; }
.an-speed { display: grid; gap: 4px; }
.an-speed-label { color: var(--muted); font-size: var(--font-xs); }
.an-speed strong { font-size: 2rem; font-variant-numeric: tabular-nums; line-height: 1.1; }
.an-dl-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: var(--space-3); }
.an-stat { display: grid; gap: 2px; }
.an-stat strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.an-stat span { color: var(--muted); font-size: var(--font-xs); }
.an-stat[data-tone="warn"] strong { color: var(--an-warn); }
.an-downloads { display: grid; gap: var(--space-3); }
.an-download { display: grid; gap: 6px; padding: var(--space-3); border: 1px solid var(--line); border-radius: 12px; }
.an-download-head { display: flex; justify-content: space-between; gap: var(--space-3); }
.an-download-head b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.an-rank { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.an-rank-item { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.an-rank-no { flex: none; width: 1.5rem; color: var(--muted); font-weight: 700; font-variant-numeric: tabular-nums; text-align: center; }
.an-rank-item:nth-child(-n+3) .an-rank-no { color: var(--an-a); }
.an-rank-body { display: grid; gap: 3px; min-width: 0; flex: 1; }
.an-rank-body b, .an-rank-body small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.an-rank-item .an-art { width: 40px; height: 40px; }
@media (max-width: 760px) {
  .an-grid, .an-dl-top { grid-template-columns: minmax(0, 1fr); }
}

/* フィードバックへのDM返信(管理画面) */
.feedback-reply-box { margin-top: var(--space-2); }
.feedback-reply-box summary { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; cursor: pointer; color: var(--an-a, #29C4EC); font-size: var(--font-sm); }
.feedback-reply-box form { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.feedback-reply-log { display: flex; gap: 8px; margin: 6px 0 0; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); font-size: var(--font-sm); overflow-wrap: anywhere; }
.feedback-reply-log .material-symbols-rounded { flex: none; font-size: 18px; color: #3ccf91; }
.feedback-reply-log[data-delivered="0"] .material-symbols-rounded { color: #ffb84d; }

/* ---- ページ間の見た目の統一(管理画面も同じ基準にそろえる) ----
   見出し h2 は 18px・太字、小見出し h3 は 15px・太字、入力欄は文字15px、ボタンは 36px・文字15px。
   マイページ・管理画面のグループ名は 12px・細字・グレーのラベルにそろえる。 */
.section-head h2,
.admin-section .section-head h2,
.help-page .help-section h2,
.feedback-dm h2,
.stat-section h2,
.an-card h2,
.display-diagnostics h2,
.player-queue .section-head h2,
.search-overview h2,
.ranking-main-grid h2 { font-size: var(--font-lg); font-weight: 700; }
.admin-section h3,
.an-sub { font-size: var(--font-md); font-weight: 700; color: var(--text); }
.settings-group h2,
.admin-group-title,
.admin-layout .admin-jump h2,
.admin-jump h2 { font-size: var(--font-xs); font-weight: 400; letter-spacing: 0.04em; }
:is(.contact-form, .form-panel, .flat-form, .feedback-form, .admin-form-grid, .admin-row-form, .cache-settings) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea, .custom-select-trigger) {
  font-size: var(--font-md);
}
:is(.contact-form, .form-panel, .flat-form, .feedback-form, .admin-form-grid, .admin-row-form, .cache-settings) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]), select, .custom-select-trigger) {
  min-height: 45px;
}
.settings-group .settings-save button { border-radius: var(--radius-sm); }

/* ---- 小さな部品(絞り込み・切り替え・チップ・設定の選択欄)も、標準ボタンと同じ 高さ36px・文字15px・角丸10px にそろえる ---- */
.segmented { border-radius: 13px; }
.segmented button,
.segmented a {
  min-height: 36px;
  border-radius: 10px;
  font-size: var(--font-md);
}
.chip {
  min-height: 36px;
  border-radius: 10px;
  font-size: var(--font-md);
}
.ranking-pill select,
.ranking-pill input,
.ranking-pill .custom-select-trigger,
.cache-search select.cache-filter,
.cache-search > .custom-select .custom-select-trigger,
.settings-field select,
.settings-field .custom-select-trigger,
.settings-group .custom-select-trigger {
  min-height: 36px;
  border-radius: 10px;
  font-size: var(--font-md);
}
.settings-group .settings-save button {
  min-height: 36px;
  border-radius: 10px;
  font-size: var(--font-md);
}
.player-add-form button { min-height: 36px; }

/* ---- 続きの統一(カード・ラベル・折りたたみ・リンク) ---- */
/* カードは角丸14px・余白24pxにそろえる(管理画面のセクション、アナリティクス、折りたたみ、通知) */
.an-card,
.playlist-tools,
.notice { border-radius: 14px; }
.admin-section,
.display-diagnostics { padding: var(--space-4); }
/* フォームのラベルは、13px・やや濃いグレーにそろえる */
:is(.contact-form, .feedback-form, .form-panel, .flat-form, .admin-form-grid, .admin-row-form) label:not(.checkbox-line) {
  color: var(--muted-2);
  font-size: var(--font-sm);
}
/* 折りたたみの見出しは、文字15pxにそろえる */
.playlist-tools > summary { font-size: var(--font-md); }
/* 文章の中のリンクは、シアン色・下線にそろえる(.text-link と同じ) */
:is(p, dd, .lead, small, .muted) > a:not([class]) {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

/* ---- 続きの統一2(ダイアログ・リード文・補足・アイコン・余白・エラーページ) ---- */
/* ダイアログの見出しは、ページのセクション見出しと同じ大きさにする */
.modal h2 { font-size: var(--font-lg); }
/* 詳細ページの説明文は、標準のリード文(15px・グレー)にそろえる */
.artist-hero .lead,
.artist-hero:has(> .artist-avatar.square) .lead { font-size: var(--font-md); color: var(--muted); }
/* 入力欄の説明は、補足の標準(12px)にそろえる */
.contact-form small.muted { font-size: var(--font-xs); }
/* ボタンの中のアイコンは20pxにそろえる */
.contact-actions .button .material-symbols-rounded { font-size: 20px; }
.admin-row-icon .material-symbols-rounded { font-size: 20px; }
/* 見出しの下の余白をそろえる */
.ranking-main-grid .section-head { margin-bottom: var(--space-4); }
.player-queue .section-head.compact-head { margin-bottom: var(--space-3); }
/* アプリ内のエラーページ(ログイン中) */
.error-app { display: grid; justify-items: center; padding-block: var(--space-7); }
.error-app .error-panel { width: min(640px, 100%); }

/* ---- アニメーション・影のトークン ---- */
:root {
  --motion-fast: 140ms;
  --motion-base: 220ms;
  --motion-slow: 320ms;
}
body {
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.2);
  --shadow-art: 0 18px 44px rgba(0, 0, 0, 0.3);
  --shadow-art-lg: 0 28px 60px rgba(0, 0, 0, 0.4);
  --shadow-float: 0 18px 48px rgba(0, 0, 0, 0.42);
  --shadow-sheet: 0 -20px 60px rgba(0, 0, 0, 0.45);
}
body[data-theme="light"] {
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-art: 0 18px 44px rgba(0, 0, 0, 0.16);
  --shadow-art-lg: 0 28px 60px rgba(0, 0, 0, 0.2);
  --shadow-float: 0 18px 48px rgba(0, 0, 0, 0.2);
  --shadow-sheet: 0 -20px 60px rgba(0, 0, 0, 0.2);
}
@media (prefers-color-scheme: light) {
  body[data-theme="system"] {
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-art: 0 18px 44px rgba(0, 0, 0, 0.16);
    --shadow-art-lg: 0 28px 60px rgba(0, 0, 0, 0.2);
    --shadow-float: 0 18px 48px rgba(0, 0, 0, 0.2);
    --shadow-sheet: 0 -20px 60px rgba(0, 0, 0, 0.2);
  }
}

/* AI選曲：キューの「おすすめ」「AIミックス」のバッジと理由（設計8.3） */
.source-badge {
  display: inline-block;
  margin-right: 6px;
  padding: 0 6px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--text);
  font-size: var(--font-xs);
  line-height: 1.5;
}
.source-badge.is-infinity { border-color: var(--accent); color: var(--accent); }
.source-reason { color: var(--muted); }
.player-infinity-note { margin: 0; text-align: center; font-size: var(--font-xs); }
