*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
.bar{position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;letter-spacing:0}
.brand img{width:36px;height:36px;border-radius:10px}
.links{display:flex;gap:6px;align-items:center}
.links a{padding:8px 14px;border-radius:999px;font-weight:600;font-size:15px}
.tools{display:flex;gap:8px;align-items:center}
.pill{border:0;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px}
.burger{display:none}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:0}
p{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:999px;font-weight:800;font-size:17px;transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
.sect{padding:88px 0}
.eyebrow{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px}
.foot{margin-top:auto;padding:36px 0 44px;font-size:15px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
@media(max-width:860px){
 .links{display:none;position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:stretch;padding:12px 20px 18px}
 .links.open{display:flex}.links a{padding:14px 12px}
 .burger{display:inline-flex}.sect{padding:60px 0}
}
img.ico-d{display:none}
:root[data-theme=dark] img.ico-l{display:none}
:root[data-theme=dark] img.ico-d{display:block}
.langsel{font:inherit;font-weight:700;font-size:14px;max-width:132px;cursor:pointer;text-overflow:ellipsis}
.tools{flex-shrink:0}.brand{min-width:0}
@media(max-width:860px){
 .bar .wrap{min-height:60px}.links{top:60px;box-shadow:0 18px 30px rgba(0,0,0,.12)}
 .mp .links,.hub .links{background:var(--bg);border-bottom:1px solid var(--line)}.lt .links{background:var(--glow3);border-bottom:1px solid var(--edge)}
 .links a{font-size:17px;padding:15px 14px}
 .pill{min-height:40px;min-width:40px}.langsel{max-width:120px;padding:8px 8px}
 .tools{gap:6px}.brand img{width:32px;height:32px}.brand{font-size:18px}
 body{font-size:16.5px}.foot .wrap{flex-direction:column}.foot ul{gap:8px 18px}
}
@media(max-width:380px){.langsel{max-width:100px}.brand span{display:none}}
html:lang(ja),html:lang(zh){--cjk:1}
html:lang(ja) body,html:lang(zh) body{line-break:strict;overflow-wrap:anywhere}
html:lang(ja) h1,html:lang(zh) h1{font-size:clamp(32px,5.2vw,62px)!important;line-height:1.2}
html:lang(ja) h2,html:lang(zh) h2{line-height:1.25}
html:lang(ja) .eyebrow,html:lang(zh) .eyebrow{letter-spacing:.06em}
.pill[data-theme-btn]{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;width:42px}
#sc-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;display:flex;flex-direction:column;gap:12px;padding:16px 18px;border-radius:20px;background:var(--card,#fff);color:var(--ink,#111);border:1px solid var(--line,rgba(0,0,0,.1));box-shadow:0 18px 50px rgba(0,0,0,.22);font-size:14.5px;line-height:1.5}
#sc-consent p{margin:0}#sc-consent a{text-decoration:underline;font-weight:700}
#sc-consent .sc-btns{display:flex;gap:10px;justify-content:flex-end}
#sc-consent button{border:1px solid var(--line,rgba(0,0,0,.14));background:transparent;color:inherit;border-radius:999px;padding:10px 18px;font-weight:700;font-size:14.5px;min-height:42px}
#sc-consent button.sc-yes{background:var(--or,#FF7A00);border-color:transparent;color:#fff}
@media(min-width:700px){#sc-consent{left:20px;right:auto}}
