.site-header { gap: 18px; }
.site-header > .brand { flex-shrink: 0; }
.site-header > #site-nav { margin-left: auto; }
.language-switcher { position: relative; flex: 0 0 auto; color: var(--plum); }
.language-switcher > summary { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 56px; min-height: 44px; padding: 6px 4px; cursor: pointer; list-style: none; }
.language-switcher > summary::-webkit-details-marker { display: none; }
.language-switcher > summary b { font-size: 14px; font-weight: 500; letter-spacing: 0; }
.language-chevron { width: 14px; height: 14px; }
.language-switcher[open] .language-chevron { transform: rotate(180deg); }
.language-menu { position: absolute; right: 0; top: calc(100% + 4px); width: 176px; max-width: calc(100vw - 32px); max-height: min(320px, calc(100dvh - 110px)); overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); box-shadow: 0 5px 16px rgba(52, 42, 50, .1); }
.language-menu ul { list-style: none; padding: 0; margin: 0; }
.language-menu a[data-translation-language] { display: flex; align-items: center; min-height: 36px; padding: 6px 10px; border-radius: 2px; font-size: 14px; line-height: 1.35; font-weight: 400; }
.language-menu a[data-translation-language]:hover, .language-menu a[data-translation-language]:focus-visible { background: var(--shell); color: var(--coral-dark); }
.language-menu a[aria-current="page"] { background: var(--shell); }
@media (max-width: 1100px) {
  .site-header { gap: 12px; }
  .language-switcher { order: 1; margin-left: auto; }
  .site-header > .menu-button { order: 2; flex-shrink: 0; }
  .site-header > #site-nav { margin-left: 0; }
  .language-menu { right: -70px; max-height: min(300px, calc(100dvh - 96px)); }
  .language-menu a[data-translation-language] { min-height: 44px; }
}
@media (max-width: 760px) {
  .site-header { gap: 10px; }
  .language-menu { width: 220px; }
  .language-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.language-switcher > summary:focus-visible, .language-menu a:focus-visible { outline: 2px solid var(--coral-dark); outline-offset: 2px; }
@media (pointer: coarse) {
  .language-menu { width: 220px; max-height: min(300px, calc(100dvh - 96px)); }
  .language-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .language-menu a[data-translation-language] { min-height: 44px; }
}
html[lang="zh-CN"] body { font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif; }
html[lang="ja"] body { font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Helvetica Neue", sans-serif; }
html:not([lang="en"]) :is(h1, h2, h3, p, li, td, th) { overflow-wrap: anywhere; hyphens: auto; }
html:not([lang="en"]) :is(.page-hero-inner, .footer-call, .footer-grid, .article-layout) > * { min-width: 0; }
