/* Public chrome adapted from Paper City Guide, October 26, 2026.
   Same font assets, dimensions, icon system and responsive tracks; product copy belongs to Journey Pilot. */
@font-face {
  font-family: Inter;
  src: url("/assets/fonts/supporting-b5db46dc5dc7.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}
@font-face {
  font-family: Japanese;
  src: url("/assets/fonts/japanese-sans-common-39dcb2238f70.woff2")
    format("woff2");
  font-display: swap;
  font-weight: 100 900;
  unicode-range:
    U+20, U+21, U+22, U+23, U+24, U+25, U+26, U+27, U+28, U+29, U+2A, U+2B,
    U+2C, U+2D, U+2E, U+2F, U+30, U+31, U+32, U+33, U+34, U+35, U+36, U+37,
    U+38, U+39, U+3A, U+3B, U+3C, U+3D, U+3E, U+3F, U+40, U+41, U+42, U+43,
    U+44, U+45, U+46, U+47, U+48, U+49, U+4A, U+4B, U+4C, U+4D, U+4E, U+4F,
    U+50, U+51, U+52, U+53, U+54, U+55, U+56, U+57, U+58, U+59, U+5A, U+5B,
    U+5C, U+5D, U+5E, U+5F, U+60, U+61, U+62, U+63, U+64, U+65, U+66, U+67,
    U+68, U+69, U+6A, U+6B, U+6C, U+6D, U+6E, U+6F, U+70, U+71, U+72, U+73,
    U+74, U+75, U+76, U+77, U+78, U+79, U+7A, U+7B, U+7C, U+7D, U+7E, U+A0,
    U+A1, U+A2, U+A3, U+A4, U+A5, U+A6, U+A7, U+A8, U+A9, U+AA, U+AB, U+AC,
    U+AD, U+AE, U+AF, U+B0, U+B1, U+B2, U+B3, U+B4, U+B5, U+B6, U+B7, U+B8,
    U+B9, U+BA, U+BB, U+BC, U+BD, U+BE, U+BF, U+C0, U+C1, U+C2, U+C3, U+C4,
    U+C5, U+C6, U+C7, U+C8, U+C9, U+CA, U+CB, U+CC, U+CD, U+CE, U+CF, U+D0,
    U+D1, U+D2, U+D3, U+D4, U+D5, U+D6, U+D7, U+D8, U+D9, U+DA, U+DB, U+DC,
    U+DD, U+DE, U+DF, U+E0, U+E1, U+E2, U+E3, U+E4, U+E5, U+E6, U+E7, U+E8,
    U+E9, U+EA, U+EB, U+EC, U+ED, U+EE, U+EF, U+F0, U+F1, U+F2, U+F3, U+F4,
    U+F5, U+F6, U+F7, U+F8, U+F9, U+FA, U+FB, U+FC, U+FD, U+FE, U+FF, U+2013,
    U+3001, U+3002, U+3005, U+3044, U+3046, U+3048, U+304A, U+304B, U+304C,
    U+304D, U+304F, U+3051, U+3052, U+3054, U+3055, U+3057, U+3058, U+3059,
    U+305A, U+305B, U+305F, U+3060, U+3061, U+3063, U+3064, U+3066, U+3067,
    U+3068, U+3069, U+306A, U+306B, U+306E, U+306F, U+3072, U+3073, U+3076,
    U+3078, U+3079, U+307E, U+307F, U+3080, U+3081, U+3082, U+3084, U+3086,
    U+3087, U+3088, U+3089, U+308A, U+308B, U+308C, U+308D, U+308F, U+3092,
    U+3093, U+30A2, U+30A4, U+30A6, U+30A7, U+30A8, U+30A9, U+30AA, U+30AB,
    U+30AC, U+30AE, U+30AF, U+30B1, U+30B3, U+30B5, U+30B7, U+30B8, U+30B9,
    U+30BB, U+30BC, U+30BF, U+30C0, U+30C1, U+30C3, U+30C8, U+30C9, U+30CA,
    U+30CB, U+30CE, U+30D0, U+30D1, U+30D2, U+30D5, U+30D6, U+30D7, U+30D8,
    U+30DA, U+30DD, U+30DE, U+30E1, U+30E2, U+30E5, U+30E8, U+30E9, U+30EA,
    U+30EB, U+30EC, U+30ED, U+30EF, U+30F3, U+30FB, U+30FC, U+4E00, U+4E0A,
    U+4E16, U+4E2D, U+4E8C, U+4E95, U+4EAC, U+4ECA, U+4EE3, U+4EFB, U+4F1A,
    U+4F1D, U+4F59, U+4F7F, U+4FDD, U+5143, U+5165, U+516C, U+5185, U+51FA,
    U+5206, U+5229, U+5237, U+524D, U+52D5, U+5305, U+5317, U+5357, U+535A,
    U+5370, U+53CE, U+53EF, U+5404, U+5408, U+540C, U+5411, U+5473, U+554F,
    U+5584, U+56DE, U+56FD, U+5712, U+5730, U+57DF, U+5831, U+5834, U+5909,
    U+5916, U+591A, U+5927, U+5951, U+597D, U+59CB, U+5B58, U+5B9A, U+5B9F,
    U+5BAE, U+5BDF, U+5BFA, U+5C0F, U+5C11, U+5C45, U+5CF6, U+5E02, U+5E83,
    U+5EAD, U+5EFA, U+5F79, U+5FA9, U+5FC5, U+601D, U+6069, U+60C5, U+610F,
    U+6238, U+6240, U+6298, U+629E, U+6301, U+63A2, U+63A5, U+6539, U+6563,
    U+6587, U+6599, U+65AD, U+65B0, U+65B9, U+65E5, U+6614, U+6620, U+6642,
    U+666F, U+66AE, U+66F4, U+66F8, U+6709, U+672C, U+6771, U+6790, U+679A,
    U+6839, U+691C, U+697D, U+69D8, U+6A2A, U+6B69, U+6BBF, U+6C5F, U+6C60,
    U+6CD5, U+6D25, U+6D5C, U+6E2C, U+6F6E, U+7121, U+7248, U+7269, U+73FE,
    U+7406, U+7528, U+7531, U+753B, U+754C, U+767A, U+767D, U+7684, U+76EE,
    U+7740, U+793A, U+793E, U+795E, U+7981, U+79C1, U+79FB, U+7ACB, U+7B56,
    U+7BA1, U+7D04, U+7D19, U+7DD1, U+80FD, U+81EA, U+8272, U+82F1, U+8846,
    U+884C, U+8857, U+8868, U+8981, U+898B, U+898F, U+89A7, U+89B3, U+89E3,
    U+8A00, U+8A08, U+8A2A, U+8A2D, U+8A31, U+8A73, U+8A9E, U+8ABF, U+8CDC,
    U+8D64, U+8DDD, U+8EE2, U+8F09, U+8F2A, U+9023, U+9053, U+9078, U+90E8,
    U+90ED, U+90FD, U+91D1, U+9332, U+95B2, U+962A, U+9662, U+96A3, U+96C6,
    U+96E2, U+9759, U+9762, U+9854, U+9928, U+9BAE, U+9CE5, U+FF08, U+FF09,
    U+FF0B, U+FF1F;
}
@font-face {
  font-family: Japanese;
  src: url("/assets/fonts/japanese-sans-extra-143011b1c144.woff2")
    format("woff2");
  font-display: swap;
  font-weight: 100 900;
  unicode-range:
    U+14D, U+153, U+16B, U+2014, U+2015, U+2019, U+201C, U+201E, U+2026, U+2190,
    U+2192, U+2605, U+2713, U+3000, U+300C, U+300D, U+301C, U+3042, U+304E,
    U+3050, U+3053, U+3056, U+305C, U+305D, U+305E, U+3062, U+3065, U+306D,
    U+3070, U+3071, U+3074, U+3075, U+3077, U+307B, U+307C, U+3083, U+30A1,
    U+30A3, U+30A5, U+30AD, U+30B0, U+30B2, U+30B4, U+30B6, U+30BA, U+30BD,
    U+30BE, U+30C4, U+30C6, U+30C7, U+30CC, U+30CD, U+30CF, U+30D3, U+30D4,
    U+30D9, U+30DB, U+30DC, U+30DF, U+30E0, U+30E3, U+30E4, U+30E6, U+30E7,
    U+30F4, U+30F6, U+4E01, U+4E09, U+4E0B, U+4E0D, U+4E0E, U+4E18, U+4E21,
    U+4E26, U+4E38, U+4E3B, U+4E43, U+4E4B, U+4E57, U+4E59, U+4E80, U+4E86,
    U+4E88, U+4E8B, U+4E92, U+4E94, U+4EA4, U+4EBA, U+4ECB, U+4ECF, U+4ED5,
    U+4ED6, U+4ED8, U+4EE4, U+4EE5, U+4EEE, U+4EF0, U+4EF2, U+4EF6, U+4F01,
    U+4F0E, U+4F0F, U+4F11, U+4F34, U+4F38, U+4F3D, U+4F47, U+4F4D, U+4F4E,
    U+4F4F, U+4F53, U+4F55, U+4F5C, U+4F75, U+4F8B, U+4F9B, U+4F9D, U+4FA1,
    U+4FAF, U+4FB5, U+4FBF, U+4FC2, U+4FC3, U+4FE1, U+4FEE, U+5009, U+500B,
    U+5012, U+5019, U+5024, U+505C, U+5074, U+508D, U+5098, U+5099, U+50AC,
    U+50BE, U+50CD, U+50CF, U+5100, U+512A, U+5148, U+5149, U+514D, U+5150,
    U+5168, U+516B, U+516D, U+5171, U+5177, U+5178, U+5186, U+518A, U+518D,
    U+5199, U+51A0, U+51A8, U+51AC, U+51DD, U+51E6, U+51F1, U+51F8, U+51F9,
    U+5203, U+5207, U+5217, U+521D, U+5224, U+5225, U+5230, U+5236, U+5238,
    U+523A, U+523B, U+5247, U+524A, U+526F, U+5272, U+5275, U+5287, U+529B,
    U+52A0, U+52A9, U+52B4, U+52B9, U+52D9, U+52DD, U+52E2, U+52E4, U+52E7,
    U+52FE, U+5302, U+5316, U+533A, U+5341, U+5343, U+5348, U+534A, U+5354,
    U+5358, U+5360, U+5371, U+5374, U+5378, U+539A, U+539F, U+53B3, U+53BB,
    U+53C2, U+53C8, U+53CD, U+53D6, U+53D7, U+53E3, U+53E4, U+53E9, U+53EC,
    U+53F0, U+53F2, U+53F3, U+53F7, U+5409, U+540A, U+540D, U+5426, U+542B,
    U+5439, U+544A, U+5468, U+547D, U+548C, U+54B2, U+54C1, U+54E1, U+5506,
    U+5510, U+5546, U+55A7, U+55AB, U+55B6, U+55DC, U+5668, U+5674, U+56DB,
    U+56F0, U+56F2, U+56F3, U+56FA, U+570F, U+571F, U+5727, U+5728, U+5742,
    U+5747, U+578B, U+57A3, U+57CB, U+57CE, U+57E0, U+57F7, U+57FA, U+57FC,
    U+5800, U+5802, U+582A, U+583A, U+5854, U+5857, U+585E, U+5883, U+5893,
    U+5897, U+589F, U+58A8, U+58C1, U+58C7, U+58EB, U+58EE, U+58F0, U+58F2,
    U+590F, U+5915, U+591C, U+5922, U+5929, U+592B, U+592E, U+5931, U+5947,
    U+5948, U+5949, U+5965, U+5968, U+596A, U+5973, U+5983, U+5993, U+59A8,
    U+59D4, U+59FF, U+5A01, U+5A2F, U+5A5A, U+5B50, U+5B57, U+5B63, U+5B66,
    U+5B85, U+5B87, U+5B88, U+5B89, U+5B8C, U+5B97, U+5B98, U+5B9D, U+5BA2,
    U+5BA3, U+5BA4, U+5BB3, U+5BB6, U+5BB9, U+5BBF, U+5BC2, U+5BC4, U+5BC6,
    U+5BCC, U+5BE7, U+5BFE, U+5BFF, U+5C02, U+5C04, U+5C06, U+5C0A, U+5C0B,
    U+5C0E, U+5C16, U+5C3D, U+5C3E, U+5C40, U+5C48, U+5C4A, U+5C4B, U+5C55,
    U+5C5E, U+5C64, U+5C65, U+5C71, U+5CA1, U+5CA9, U+5CB3, U+5CB8, U+5CE1,
    U+5CE8, U+5D0E, U+5D16, U+5D50, U+5D6F, U+5DBD, U+5DDD, U+5DDE, U+5DE1,
    U+5DE3, U+5DE5, U+5DE6, U+5DE7, U+5DE8, U+5DEE, U+5E03, U+5E0C, U+5E1D,
    U+5E2B, U+5E2D, U+5E2F, U+5E30, U+5E38, U+5E45, U+5E55, U+5E5F, U+5E61,
    U+5E72, U+5E73, U+5E74, U+5E79, U+5E7C, U+5E7E, U+5E81, U+5E8A, U+5E97,
    U+5EA6, U+5EA7, U+5EAB, U+5EC3, U+5ECA, U+5EDF, U+5EF6, U+5EF7, U+5F0F,
    U+5F14, U+5F15, U+5F35, U+5F37, U+5F53, U+5F62, U+5F69, U+5F6B, U+5F71,
    U+5F77, U+5F7C, U+5F7F, U+5F80, U+5F84, U+5F85, U+5F8B, U+5F8C, U+5F90,
    U+5F92, U+5F93, U+5F97, U+5FA1, U+5FAA, U+5FB3, U+5FB4, U+5FC3, U+5FCD,
    U+5FD8, U+5FDC, U+5FEB, U+5FF5, U+6025, U+6027, U+606F, U+6075, U+60AA,
    U+60BC, U+60D1, U+60F3, U+611F, U+614B, U+614C, U+614E, U+6163, U+616E,
    U+6170, U+61A9, U+61B6, U+61D0, U+61F8, U+6210, U+6226, U+623B, U+623F,
    U+6249, U+624B, U+6253, U+6255, U+6271, U+6279, U+627F, U+6280, U+628A,
    U+6295, U+629C, U+62B5, U+62BC, U+62BD, U+62D2, U+62DB, U+62DD, U+62E0,
    U+6307, U+631F, U+632F, U+6349, U+6368, U+636E, U+6388, U+63A1, U+63A8,
    U+63AA, U+63B2, U+63C3, U+63CF, U+63D0, U+63DB, U+63E1, U+63FA, U+640D,
    U+643A, U+6458, U+6469, U+6483, U+64A4, U+64AE, U+64B2, U+64C1, U+64CD,
    U+6500, U+652F, U+653E, U+6545, U+6557, U+6559, U+656C, U+6570, U+6574,
    U+6577, U+658E, U+659C, U+65BD, U+65C5, U+65CB, U+65CF, U+65D7, U+65E7,
    U+65E9, U+65EC, U+6607, U+660E, U+661F, U+6625, U+662D, U+663C, U+666E,
    U+6674, U+6697, U+66A6, U+66DC, U+66F2, U+66F9, U+66FF, U+6700, U+6708,
    U+670D, U+671B, U+671D, U+671F, U+6728, U+672A, U+672B, U+672D, U+6731,
    U+6749, U+6750, U+6751, U+675F, U+6761, U+6765, U+676F, U+677E, U+677F,
    U+6797, U+679C, U+679D, U+67A0, U+67AF, U+67B6, U+67D3, U+67D4, U+67F1,
    U+67F4, U+67F5, U+67FB, U+6821, U+683C, U+683D, U+6848, U+685C, U+685F,
    U+6881, U+6885, U+68A2, U+68B0, U+68B1, U+68C4, U+68DA, U+68DF, U+68EE,
    U+6905, U+690D, U+696D, U+697C, U+6982, U+69CB, U+69FD, U+6A19, U+6A21,
    U+6A29, U+6A39, U+6A4B, U+6A5F, U+6B04, U+6B20, U+6B21, U+6B4C, U+6B53,
    U+6B62, U+6B63, U+6B64, U+6B66, U+6B73, U+6B74, U+6B8B, U+6BB5, U+6BCD,
    U+6BCE, U+6BD4, U+6C0F, U+6C11, U+6C17, U+6C34, U+6C37, U+6C38, U+6C42,
    U+6C50, U+6C7A, U+6C88, U+6C8C, U+6CA1, U+6CA2, U+6CB3, U+6CBB, U+6CBF,
    U+6CC1, U+6CC9, U+6CE2, U+6CE8, U+6CF3, U+6D0B, U+6D17, U+6D2A, U+6D32,
    U+6D3B, U+6D3E, U+6D41, U+6D45, U+6D66, U+6D6A, U+6D6E, U+6D74, U+6D77,
    U+6D88, U+6DC0, U+6DE1, U+6DF1, U+6DF7, U+6DFB, U+6E05, U+6E08, U+6E09,
    U+6E0B, U+6E13, U+6E21, U+6E29, U+6E2F, U+6E4A, U+6E56, U+6E58, U+6E6F,
    U+6E7E, U+6E80, U+6E90, U+6E96, U+6EAA, U+6EB6, U+6ED1, U+6EDD, U+6EF4,
    U+6F09, U+6F0F, U+6F14, U+6F15, U+6F2C, U+6F54, U+6F84, U+6FC0, U+7027,
    U+706B, U+706F, U+708E, U+70B9, U+7126, U+7136, U+713C, U+7159, U+7167,
    U+718A, U+71FB, U+7206, U+7247, U+7267, U+7279, U+72AC, U+72B6, U+72EC,
    U+72ED, U+732B, U+732E, U+733F, U+7384, U+7387, U+7389, U+738B, U+7403,
    U+7434, U+74B0, U+74E6, U+7518, U+751F, U+7523, U+7530, U+7533, U+753A,
    U+7554, U+7559, U+756A, U+7570, U+7573, U+7591, U+75C5, U+75D5, U+767B,
    U+7687, U+76AE, U+76C6, U+76CA, U+76E3, U+76E4, U+76F4, U+76F8, U+7701,
    U+770B, U+770C, U+771F, U+773A, U+773C, U+7763, U+77AC, U+77E5, U+77ED,
    U+77F3, U+7802, U+7814, U+7826, U+7834, U+7891, U+7897, U+78BA, U+78D0,
    U+78E8, U+793C, U+7947, U+7948, U+795D, U+7965, U+796D, U+7977, U+798F,
    U+79CB, U+79D1, U+79D8, U+79F0, U+7A0B, U+7A1C, U+7A2E, U+7A32, U+7A3C,
    U+7A3D, U+7A3F, U+7A42, U+7A4D, U+7A4F, U+7A76, U+7A7A, U+7A81, U+7A93,
    U+7AE0, U+7AEF, U+7AF6, U+7AF9, U+7B26, U+7B2C, U+7B46, U+7B49, U+7B4B,
    U+7B54, U+7B87, U+7B97, U+7BB1, U+7BC0, U+7BC4, U+7BC9, U+7C21, U+7C4D,
    U+7C73, U+7CBE, U+7CFB, U+7D00, U+7D05, U+7D0D, U+7D10, U+7D20, U+7D22,
    U+7D30, U+7D39, U+7D42, U+7D44, U+7D4C, U+7D50, U+7D5E, U+7D61, U+7D71,
    U+7D75, U+7D76, U+7D99, U+7D9A, U+7DAD, U+7DB2, U+7DCF, U+7DD2, U+7DDA,
    U+7DE8, U+7DF4, U+7DFB, U+7E01, U+7E1E, U+7E26, U+7E2B, U+7E2E, U+7E4A,
    U+7E4B, U+7E54, U+7E55, U+7E70, U+7F6E, U+7F85, U+7F8E, U+7FA4, U+7FA9,
    U+7FBD, U+7FCC, U+7FD2, U+7FFB, U+8003, U+8005, U+8017, U+8033, U+8056,
    U+805E, U+8074, U+8077, U+808C, U+80A2, U+80B2, U+80CC, U+8107, U+811A,
    U+8131, U+8170, U+8179, U+81A8, U+81E8, U+81F3, U+81F4, U+8208, U+820E,
    U+8217, U+821E, U+821F, U+822A, U+822C, U+8236, U+8239, U+8247, U+826F,
    U+8292, U+829D, U+82B1, U+82B8, U+82D1, U+82D4, U+8302, U+8336, U+8349,
    U+8352, U+8377, U+83EF, U+843D, U+8449, U+8457, U+845B, U+8463, U+84B8,
    U+8535, U+854E, U+85A6, U+85AC, U+85AE, U+85CD, U+85E4, U+8607, U+878D,
    U+8853, U+885D, U+8863, U+888B, U+88AB, U+88C5, U+88CF, U+88D5, U+88DC,
    U+88FD, U+8907, U+8972, U+897F, U+8986, U+8996, U+899A, U+89AA, U+89D2,
    U+89E6, U+8A02, U+8A0E, U+8A18, U+8A23, U+8A33, U+8A3C, U+8A55, U+8A66,
    U+8A69, U+8A71, U+8A72, U+8A87, U+8A8D, U+8A95, U+8A98, U+8AA4, U+8AAC,
    U+8AAD, U+8AB0, U+8AC7, U+8ACB, U+8AF8, U+8AFE, U+8B1B, U+8B1D, U+8B58,
    U+8B66, U+8B70, U+8B72, U+8B77, U+8C37, U+8C4A, U+8C61, U+8C6A, U+8C8C,
    U+8CA0, U+8CA1, U+8CA2, U+8CA8, U+8CA9, U+8CAC, U+8CB4, U+8CB7, U+8CB8,
    U+8CBB, U+8CBC, U+8CC3, U+8CC7, U+8CD1, U+8CD3, U+8CDE, U+8CEA, U+8CFC,
    U+8D0B, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DA3, U+8DB3, U+8DE1, U+8DEF,
    U+8E0A, U+8E0F, U+8E8D, U+8EAB, U+8ECA, U+8ECD, U+8ED2, U+8EDF, U+8EFD,
    U+8F03, U+8F1D, U+8F5F, U+8F9B, U+8FB2, U+8FBA, U+8FBC, U+8FBF, U+8FC2,
    U+8FCE, U+8FD1, U+8FD4, U+8FF7, U+8FFD, U+9001, U+9003, U+900F, U+9014,
    U+901A, U+901F, U+9020, U+9031, U+9032, U+9042, U+904A, U+904B, U+904E,
    U+9054, U+9055, U+9060, U+9069, U+906E, U+9075, U+907A, U+907F, U+9083,
    U+90AA, U+90B8, U+90CA, U+90E1, U+914D, U+918D, U+9190, U+91B8, U+91C8,
    U+91CC, U+91CD, U+91CE, U+91CF, U+9244, U+9280, U+9285, U+9298, U+92AD,
    U+92ED, U+9320, U+9326, U+932F, U+9375, U+9396, U+93E1, U+9451, U+9577,
    U+9580, U+9589, U+958B, U+9593, U+9598, U+95A2, U+95A3, U+95D8, U+9632,
    U+963F, U+964D, U+9650, U+9663, U+9664, U+9670, U+9673, U+9675, U+967A,
    U+967D, U+9685, U+968E, U+9694, U+969B, U+969C, U+96A0, U+96C0, U+96D1,
    U+96E3, U+96E8, U+96F0, U+96FB, U+9700, U+970A, U+9732, U+9752, U+975E,
    U+9769, U+9774, U+97F3, U+97FF, U+9802, U+9803, U+9805, U+9806, U+9808,
    U+9810, U+9813, U+9818, U+982D, U+983C, U+984C, U+984D, U+9858, U+985E,
    U+9867, U+98A8, U+98DF, U+98EF, U+98F2, U+98FC, U+98FE, U+990A, U+990C,
    U+9999, U+99AC, U+99B3, U+99B4, U+99C4, U+99C5, U+99D0, U+99D2, U+9A0E,
    U+9A12, U+9A13, U+9AA8, U+9AB8, U+9AD8, U+9B45, U+9B54, U+9B5A, U+9CF4,
    U+9D28, U+9DAF, U+9DB4, U+9DF9, U+9E93, U+9E97, U+9EA6, U+9EBB, U+9EC4,
    U+9ED2, U+9ED9, U+9F62, U+9F8D, U+FF06, U+FF0D, U+FF0F, U+FF16, U+FF1A,
    U+FF1B, U+FF5E;
}
:root {
  --shell-sans: Inter, "Hiragino Kaku Gothic ProN", sans-serif;
}
html[lang="ja"] {
  --shell-sans: Inter, Japanese, "Hiragino Kaku Gothic ProN", sans-serif;
}
.portal-header,
.portal-footer {
  font-family: var(--shell-sans);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
}
.portal-header svg,
.portal-footer svg {
  display: block;
  width: 21px;
  height: 21px;
  flex-shrink: 0;
}
.shell-wrap {
  max-width: 1360px;
  margin-inline: auto;
  padding-inline: 64px;
}
/* Theme-aware emonster controls and SkyStamp footer composition. */
:root {
  --shell-bg: #fdfcf7;
  --shell-footer-bg: #edeee5;
  --shell-ink: #262923;
  --shell-text: #51574b;
  --shell-secondary: #64665d;
  --shell-muted: #64665d;
  --shell-rule: #c9c9bd;
  --shell-footer-rule: #c9c9bd;
  --shell-hover-border: #858c7b;
  --shell-control: #f7f5ee;
  --shell-control-hover: #e8ebdf;
  --shell-hover: #e5e8dd;
  --shell-nav-hover: #e5e8dd;
  --shell-accent: #9d412a;
  --shell-footer-accent: #9d412a;
  --shell-focus: #9d412a;
  --shell-footer-focus: #9d412a;
  --shell-shadow: #2629231a;
}
:root[data-theme="dark"] {
  --shell-bg: #080f17;
  --shell-footer-bg: #050e17;
  --shell-ink: #f1f6ff;
  --shell-text: #c0cad9;
  --shell-secondary: #bdc6d0;
  --shell-muted: #a1aebb;
  --shell-rule: #263a55;
  --shell-footer-rule: #304353;
  --shell-hover-border: #38506f;
  --shell-control: #101e31;
  --shell-control-hover: #132339;
  --shell-hover: #172b44;
  --shell-nav-hover: #17283e;
  --shell-accent: #5c9cff;
  --shell-footer-accent: #edbc53;
  --shell-focus: #75aeff;
  --shell-footer-focus: #dca735;
  --shell-shadow: #0006;
}
.shell-wordmark-dark {
  display: none;
}
:root[data-theme="dark"] .shell-wordmark-dark {
  display: block;
}
:root[data-theme="dark"] .shell-wordmark-light {
  display: none;
}
.portal-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--shell-bg);
  color: var(--shell-text);
  border-bottom: 1px solid var(--shell-rule);
}
.shell-header-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 84px;
}
.shell-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: none;
  color: var(--shell-ink);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.035em;
  white-space: nowrap;
}
.shell-brand:hover {
  color: var(--shell-ink);
}
.shell-brand > svg {
  width: 44px;
  height: 34px;
  stroke-width: 3;
}
.shell-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 24px;
}
.shell-nav > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 8px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 6px;
  white-space: nowrap;
}
.shell-nav > a:hover {
  color: var(--shell-ink);
  background: var(--shell-nav-hover);
}
.shell-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.portal-header :is(a, button, summary):focus-visible {
  outline: 3px solid var(--shell-focus);
  outline-offset: 3px;
}
.portal-header svg {
  stroke-width: 1.8;
}
.legal-menu {
  position: relative;
}
.legal-menu summary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
  list-style: none;
  cursor: pointer;
}
.legal-menu summary::-webkit-details-marker {
  display: none;
}
.legal-menu summary svg {
  width: 22px;
  height: 22px;
}
.legal-menu[open] summary,
.legal-menu summary:hover {
  color: var(--shell-accent);
}
.legal-menu-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  width: 210px;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--shell-rule);
  border-radius: 8px;
  background: var(--shell-control);
  box-shadow: 0 22px 70px var(--shell-shadow);
  z-index: 120;
}
.legal-menu-panel a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 13px;
  color: var(--shell-text);
  font-size: 13px;
  font-weight: 650;
}
.legal-menu-panel a:hover,
.legal-menu-panel a:focus-visible {
  color: var(--shell-ink);
  background: var(--shell-hover);
}
.portal-header .language-menu {
  position: relative;
  width: 128px;
  line-height: 1.55;
}
.portal-header .language-menu > summary {
  height: 42px;
  min-height: 42px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid var(--shell-rule);
  border-radius: 8px;
  background: var(--shell-control);
  color: var(--shell-ink);
  font-family: var(--shell-sans);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  list-style: none;
}
.portal-header .language-menu > summary:hover {
  background: var(--shell-control-hover);
  border-color: var(--shell-hover-border);
}
.portal-header .language-menu > summary svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.portal-header .language-menu > summary > span {
  display: inline;
}
.portal-header .language-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 100%;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--shell-rule);
  border-radius: 8px;
  background: var(--shell-control);
  box-shadow: 0 22px 70px var(--shell-shadow);
  z-index: 120;
}
.portal-header .language-link {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 14px;
  color: var(--shell-text);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
}
.portal-header .language-link:hover,
.portal-header .language-link[aria-current] {
  background: var(--shell-hover);
  color: var(--shell-ink);
}
.language-flag {
  width: 22px;
  flex: 0 0 22px;
  font-size: 17px;
  line-height: 1;
  text-align: center;
}
.shell-theme {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--shell-rule);
  border-radius: 8px;
  background: var(--shell-control);
  color: var(--shell-ink);
  cursor: pointer;
  flex: none;
}
.shell-theme:hover {
  border-color: var(--shell-hover-border);
  background: var(--shell-control-hover);
}
.shell-theme svg {
  width: 22px;
  height: 22px;
}
.shell-theme [data-icon] {
  display: none;
}
[data-theme-mode="system"] .shell-theme [data-icon="system"],
[data-theme-mode="light"] .shell-theme [data-icon="light"],
[data-theme-mode="dark"] .shell-theme [data-icon="dark"] {
  display: grid;
  place-items: center;
}
.shell-menu-toggle,
.shell-mobile-languages {
  display: none;
}
.portal-footer {
  background: var(--shell-footer-bg);
  color: var(--shell-ink);
  color-scheme: inherit;
  border-top: 1px solid var(--shell-footer-rule);
}
.shell-footer-inner {
  display: grid;
  grid-template-columns: minmax(230px, 1.1fr) minmax(0, 4fr);
  gap: 32px;
  padding-top: 52px;
  padding-bottom: 28px;
}
.shell-footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.shell-brand-footer {
  font-size: 22px;
  white-space: normal;
  max-width: 100%;
  gap: 12px;
}
.shell-brand-footer > svg {
  width: 60px;
  height: 50px;
  flex: 0 0 60px;
}
.shell-brand-footer > span {
  max-width: 170px;
}
.shell-footer-brand > p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--shell-secondary);
  margin: 16px 0 24px;
  max-width: 330px;
}
.shell-studio-link {
  margin-top: auto;
  padding-top: 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--shell-secondary);
}
.shell-studio-link img {
  width: 140px;
  height: auto;
}
.shell-studio-link > svg {
  width: 14px;
  height: 14px;
}
.shell-footer-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}
.shell-footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}
.shell-footer-column h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 20px;
  margin: 4px 0 16px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--shell-ink);
}
.shell-footer-column h2 > svg {
  width: 20px;
  height: 20px;
  stroke-width: 1.8;
}
.shell-footer-column a,
.shell-footer-button {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  min-height: 30px;
  max-width: 100%;
  padding: 2px 0;
  border: 0;
  background: none;
  color: var(--shell-secondary);
  font-family: var(--shell-sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.65;
  text-align: left;
  cursor: pointer;
}
.shell-footer-column a:hover,
.shell-footer-button:hover,
.shell-studio-link:hover {
  color: var(--shell-footer-accent);
}
.shell-footer-column a > svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  align-self: flex-start;
  margin-top: 3px;
  stroke-width: 1.8;
}
.shell-company-mark {
  position: relative;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  overflow: hidden;
}
.shell-company-mark img {
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  max-width: none;
  height: 20px;
}
.shell-footer-bottom {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--shell-footer-rule);
}
.shell-copyright {
  margin: 0;
  color: var(--shell-muted);
  font-size: 12px;
  line-height: 1.6;
}
.shell-footer-preferences {
  margin-left: auto;
  flex-shrink: 0;
  text-align: right;
}
.portal-footer :is(a, button):focus-visible {
  outline: 3px solid var(--shell-footer-focus);
  outline-offset: 4px;
}
html[lang="ja"] .portal-header :is(summary, .shell-nav > a) {
  font-size: 13px;
}
html[lang="ja"] .portal-footer h2 {
  letter-spacing: 0;
}
@media (max-width: 1240px) {
  .shell-footer-inner {
    grid-template-columns: 1fr;
  }
  .shell-footer-brand {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
  }
  .shell-footer-brand > p {
    flex: 1;
    margin: 0;
  }
  .shell-studio-link {
    margin: 0;
    padding: 0;
  }
  .shell-header-inner {
    gap: 16px;
  }
  .shell-nav {
    gap: 14px;
  }
  .shell-brand {
    font-size: 20px;
  }
}
@media (max-width: 860px) {
  .shell-header-inner {
    min-height: 76px;
    gap: 12px;
    justify-content: space-between;
  }
  .shell-brand {
    margin-right: auto;
    font-size: 18px;
    gap: 8px;
  }
  .shell-brand > svg {
    width: 36px;
    height: 28px;
  }
  .shell-menu-toggle {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 9px;
    border: 1px solid var(--shell-rule);
    border-radius: 8px;
    background: var(--shell-control);
    color: var(--shell-ink);
  }
  .shell-menu-toggle .icon-tabler-x {
    display: none;
  }
  .shell-menu-toggle[aria-expanded="true"] .icon-tabler-x {
    display: block;
  }
  .shell-menu-toggle[aria-expanded="true"] .icon-tabler-menu-2 {
    display: none;
  }
  .shell-nav {
    display: none;
    position: fixed;
    inset: 76px 0 0;
    align-items: stretch;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 20px 24px 32px;
    background: var(--shell-bg);
    height: calc(100dvh - 76px);
    overflow: auto;
    overscroll-behavior: contain;
  }
  .shell-nav[data-open] {
    display: flex;
  }
  .shell-nav > a {
    min-height: 48px;
    padding: 10px 4px;
    font-size: 15px;
  }
  .legal-menu summary {
    width: 100%;
    min-height: 48px;
    padding: 10px 4px;
    font-size: 15px;
  }
  .legal-menu-panel {
    position: static;
    transform: none;
    width: 100%;
    margin: 4px 0 12px;
    box-shadow: none;
  }
  .portal-header .language-menu {
    display: none;
  }
  .shell-mobile-languages {
    display: block;
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--shell-rule);
  }
  .shell-mobile-languages h2 {
    font-size: 14px;
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0 0 10px;
  }
  .portal-header .shell-mobile-languages .language-panel {
    position: static;
    border: 0;
    background: none;
    box-shadow: none;
    width: 100%;
  }
  .portal-header .shell-mobile-languages .language-link {
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 14px;
  }
  html.shell-menu-open {
    overflow: hidden;
  }
  html:not([data-shell-ready]) .portal-header {
    position: relative;
  }
  html:not([data-shell-ready]) .shell-header-inner {
    flex-wrap: wrap;
  }
  html:not([data-shell-ready]) .shell-nav {
    display: flex;
    position: static;
    height: auto;
    flex-basis: 100%;
    order: 3;
    padding: 0 0 24px;
  }
  html:not([data-shell-ready]) .shell-menu-toggle {
    display: none;
  }
  html[lang="ja"] .shell-nav > a,
  html[lang="ja"] .legal-menu summary {
    font-size: 15px;
  }
}
@media (max-width: 720px) {
  .shell-header-inner {
    padding-inline: 16px;
    gap: 10px;
  }
  .shell-footer-inner {
    padding-inline: 20px;
    padding-top: 36px;
  }
  .shell-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 22px;
  }
  .shell-footer-brand {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .shell-footer-brand > p {
    margin: 0;
  }
  .shell-studio-link {
    margin-top: 8px;
  }
  .shell-footer-bottom {
    margin-top: 4px;
  }
  .shell-footer-column a,
  .shell-footer-button {
    min-height: 36px;
  }
}
@media (max-width: 380px) {
  .shell-header-inner {
    gap: 8px;
  }
  .shell-header-actions {
    gap: 8px;
  }
  .shell-brand {
    font-size: 16px;
    gap: 7px;
  }
  .shell-brand > svg {
    width: 31px;
    height: 24px;
  }
}
@media (min-width: 761px) and (max-width: 1150px) {
  .shell-nav {
    gap: 12px;
  }
  .portal-header :is(summary, .shell-nav > a) {
    font-size: 13px;
  }
}
@media (min-width: 861px) and (max-width: 1040px) {
  .shell-header-inner {
    padding-inline: 12px;
    gap: 8px;
  }
  .shell-brand {
    font-size: 18px;
    gap: 8px;
  }
  .shell-brand > svg {
    width: 36px;
    height: 28px;
  }
  .shell-nav {
    gap: 4px;
  }
  .portal-header .language-menu {
    width: 112px;
    flex: none;
  }
}
@media (min-width: 861px) and (max-width: 899px) {
  .shell-header-inner .shell-brand > span {
    max-width: 95px;
    white-space: normal;
  }
}
/* Cities use the shared coordinated disclosure behavior and retain native links. */
.cities-menu {
  position: relative;
}
.cities-menu summary {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  list-style: none;
  white-space: nowrap;
  cursor: pointer;
}
.cities-menu summary::-webkit-details-marker {
  display: none;
}
.cities-menu summary > svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.cities-menu summary > svg:last-child {
  width: 16px;
  height: 16px;
}
.cities-menu[open] summary,
.cities-menu summary:hover {
  color: var(--shell-ink);
  background: var(--shell-nav-hover);
}
.cities-menu[open] summary > svg:last-child {
  transform: rotate(180deg);
}
.cities-menu-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 180px;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--shell-rule);
  border-radius: 8px;
  background: var(--shell-control);
  box-shadow: 0 22px 70px var(--shell-shadow);
  z-index: 120;
}
.cities-menu-panel a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  padding: 10px 13px;
  color: var(--shell-text);
  font-size: 14px;
  font-weight: 600;
}
.cities-menu-panel a > svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.cities-menu-panel a:hover,
.cities-menu-panel a[aria-current] {
  color: var(--shell-ink);
  background: var(--shell-hover);
}
.shell-footer-preferences {
  align-items: center;
}
.shell-footer-preferences > svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  stroke-width: 1.8;
}
@media (max-width: 860px) {
  .cities-menu summary {
    min-height: 48px;
    padding: 10px 4px;
    font-size: 15px;
  }
  .cities-menu summary > svg:last-child {
    margin-left: auto;
  }
  .cities-menu-panel {
    position: static;
    min-width: 0;
    width: 100%;
    margin: 4px 0 12px;
    box-shadow: none;
  }
}
@media (max-width: 720px) {
  .shell-footer-preferences {
    max-width: 100%;
    flex-shrink: 1;
    text-align: left;
  }
  .shell-footer-preferences > span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
.shell-footer-column a,
.shell-footer-column h2 {
  overflow-wrap: anywhere;
  hyphens: auto;
}
.shell-footer-column h2 > svg {
  flex-shrink: 0;
}
/* The toolbar shares one hover surface; city selection belongs inside its panel. */
.legal-menu > summary {
  padding: 6px 8px;
  min-height: 44px;
  border-radius: 6px;
}
.portal-header
  :is(
    .shell-nav > a,
    .cities-menu > summary,
    .legal-menu > summary,
    .language-menu > summary,
    .shell-theme,
    .shell-menu-toggle
  ):is(:hover, :focus-visible),
.portal-header [data-shell-menu][open] > summary {
  background: var(--shell-nav-hover);
  color: var(--shell-ink);
}
.portal-header
  :is(.cities-menu-panel a, .legal-menu-panel a, .language-link):is(
    :hover,
    :focus-visible
  ) {
  background: var(--shell-nav-hover);
  color: var(--shell-ink);
}
/* Shared tracks align Company and the right-anchored privacy control. */
.shell-footer-inner {
  grid-template-columns: minmax(230px, 1.1fr) repeat(
      3,
      minmax(0, 1fr)
    ) max-content;
}
.shell-footer-columns {
  display: contents;
}
.shell-footer-bottom {
  display: grid;
  grid-template-columns: inherit;
  grid-template-columns: subgrid;
  align-items: center;
  column-gap: inherit;
}
.shell-copyright {
  grid-column: 1/-2;
  min-width: 0;
}
.shell-footer-preferences {
  grid-column: -2/-1;
  justify-self: end;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  margin-left: 0;
  text-align: right;
}
.shell-footer-preferences > span {
  text-align: right;
}
@media (max-width: 1240px) {
  .shell-footer-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) max-content;
  }
  .shell-footer-brand {
    grid-column: 1/-1;
  }
}
@media (max-width: 860px) {
  .legal-menu > summary {
    min-height: 48px;
    padding: 10px 4px;
  }
}
@media (max-width: 720px) {
  .shell-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 28px;
  }
  .shell-copyright {
    grid-column: 1/-1;
  }
  .shell-footer-preferences {
    grid-column: 2;
    flex-shrink: 1;
  }
}
.shell-nav > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
/* Geographic discovery: one disclosure, linked parents, native city links. */
.cities-menu-panel {
  width: 320px;
  max-width: calc(100vw - 32px);
  max-height: 72dvh;
  overflow: auto;
  padding: 12px;
}
.cities-menu-panel h2,
.cities-menu-panel h3 {
  font-family: var(--shell-sans);
  letter-spacing: 0;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
.cities-menu-panel h2 a {
  font-size: 13px;
  color: #64665d;
  padding-top: 16px;
}
.cities-menu-panel h3 a {
  font-weight: 600;
}
.cities-menu-panel ul {
  list-style: none;
  margin: 0;
  padding: 0 0 0 14px;
}
.cities-menu-panel .cities-menu-all {
  border-bottom: 1px solid #c9c9bd;
  padding-bottom: 14px;
  margin-bottom: 4px;
}
.cities-menu-region + .cities-menu-region {
  border-top: 1px solid #c9c9bd;
  margin-top: 12px;
}
.cities-menu-country + .cities-menu-country {
  margin-top: 12px;
}
@media (max-width: 820px) {
  .shell-nav .cities-menu-panel {
    width: 100%;
    max-width: none;
    max-height: none;
    overflow: visible;
  }
  .cities-menu-panel {
    padding: 12px;
  }
}
.shell-nav {
  min-width: 0;
}
.shell-footer-column a {
  white-space: normal;
}
.shell-nav summary::-webkit-details-marker {
  display: none;
}
.shell-studio-link {
  text-decoration: none;
}
