html[data-locale-pending] :is(#main-content, .foot, .nav .navigation, .nav .locale-switcher) { visibility: hidden; }
.locale-switcher { position: relative; flex: 0 0 auto; margin-inline-start: -24px; }
.locale-toggle { display: grid; place-items: center; width: 36px; height: 32px; padding: 4px; border: 0; border-radius: 6px; background: #161616; color: #fff; font-family: var(--sans); font-size: 16px; font-weight: 500; line-height: 24px; transition: background-color .3s cubic-bezier(0,.7,.3,1), color .3s cubic-bezier(0,.7,.3,1); }
.locale-toggle:is(:hover,:focus-visible) { background: #8f8b85; color: #fafaf9; }
.locale-toggle:focus-visible { outline-color: var(--nav-accent); }
.locale-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Match the existing page fade while leaving navigation and scrolling responsive. */
.locale-transition-surface { position: fixed; inset: 0; z-index: 25; pointer-events: none; background: var(--paper); }
/* English uses the same type hierarchy, with natural wrapping instead of Chinese line breaks. */
html[lang=en] .model > p[lang=en] { display: none; }
html[lang=en] .policy-brand > span[lang=en] { display: none; }
html[lang=en] .research-cover h1 { font-family: var(--serif); }
@media (min-width: 672px) and (max-width: 1399px) {
  .locale-switcher { margin-inline-start: -8px; }
}
@media (max-width: 671px) {
  .nav-inner { gap: 12px; }
  .nav-inner > .locale-switcher { order: 1; margin-inline-start: auto; }
  .nav-inner > .responsive-menu-toggle { order: 2; margin-inline-start: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .locale-toggle { transition: none; }
}
