.language-switch { display: inline-flex; flex: none; align-items: center; gap: 0; margin-left: clamp(.75rem,1.5vw,1.5rem); padding: 3px; color: var(--color-white); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(4,28,42,.38); box-shadow: 0 6px 18px rgba(2,20,31,.12); backdrop-filter: blur(10px); font-size: .66rem; letter-spacing: .08em; }
.language-switch a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.8rem; height: 2rem; padding: 0 .65rem; color: inherit; border-radius: 999px; text-decoration: none; opacity: .68; transition: color .2s ease, background-color .2s ease, opacity .2s ease; }
.language-switch a:hover { opacity: 1; }
.language-switch a:focus-visible { outline: 2px solid #8dd8f4; outline-offset: 2px; opacity: 1; }
.language-switch a[aria-current="page"] { color: var(--color-white); background: #2784b5; opacity: 1; }
.site-header.is-scrolled .language-switch, body:not(.home) .site-header .language-switch { color: var(--color-ink); border-color: rgba(16,38,51,.16); background: rgba(255,255,255,.74); box-shadow: 0 6px 18px rgba(5,24,36,.07); }
.site-header.is-scrolled .language-switch a[aria-current="page"], body:not(.home) .site-header .language-switch a[aria-current="page"] { color: var(--color-white); }
html[lang="zh-CN"] {
    --font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
    --font-serif: "Songti SC", STSong, SimSun, "Noto Serif CJK SC", serif;
}
html[lang="zh-CN"] body { font-family: var(--font-sans); font-synthesis: none; }
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2, html[lang="zh-CN"] h3 { word-break: keep-all; overflow-wrap: anywhere; }
html[lang="zh-CN"] .cjk-latin-emphasis {
    display: inline-block;
    font-size: 1.12em;
    line-height: 1;
    transform: translateY(.13em);
}

@media (max-width: 760px) {
    .language-switch { position: absolute; z-index: 102; top: 50%; right: 4.5rem; margin: 0; padding: 2px; transform: translateY(-50%); }
    .language-switch a { min-width: 2.35rem; height: 1.8rem; padding-inline: .5rem; font-size: .62rem; }
}
