.language-selector{position:relative;z-index:40;margin-left:auto;color:#d8c39a;font:500 .85rem/1.4 system-ui,sans-serif}
.language-selector summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:.5rem .8rem;border:1px solid #8b7958;border-radius:2px;list-style:none;background:#191c1b}
.language-selector summary::after{content:'⌄';margin-left:.7rem}.language-selector nav{position:absolute;right:0;top:100%;min-width:190px;padding:.4rem;background:#191c1b;border:1px solid #8b7958;box-shadow:0 12px 30px #0005}
.language-selector button{display:block;min-height:44px;width:100%;text-align:start;background:transparent;border:0;color:#f3efe5;padding:.6rem .8rem;cursor:pointer;font:inherit}
.language-selector button[aria-pressed=true]{background:#3b3529;color:#e6cf9c}.language-selector button:hover{background:#3b3529}
.language-selector :focus-visible{outline:2px solid #e5c780;outline-offset:3px}
html:lang(ja) body,html:lang(zh-Hans) body{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN','Microsoft YaHei','Noto Sans CJK SC',system-ui,sans-serif;line-height:1.65}
html:lang(ja) h1,html:lang(zh-Hans) h1{line-height:1.3;word-break:normal}h1,h2,h3,button,a{overflow-wrap:break-word}
@media(max-width:760px){.language-selector{margin-left:auto}.language-selector summary{padding:.4rem .55rem}.navigation{flex-wrap:wrap}.language-selector nav{max-width:calc(100vw - 2rem)}}
@media(max-width:500px){html:lang(ja) .hero h1,html:lang(zh-Hans) .hero h1{font-size:2.15rem;line-height:1.4;letter-spacing:0;text-wrap:balance}}
