/* Shared language navigation; Chinese pages reuse the existing design tokens. */
.footer-languages { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: .85rem; }
.footer-languages a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-languages a[aria-current] { color: var(--paper-soft); }
.footer-languages a:hover { color: var(--paper-soft); text-decoration: underline; text-underline-offset: 4px; }
html:lang(zh-CN) { --serif: "Fraunces", "Songti SC", "STSong", "Noto Serif CJK SC", serif; --sans: "Nunito Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }
html:lang(zh-CN) body { line-height: 1.8; }
html:lang(zh-CN) h1, html:lang(zh-CN) h2, html:lang(zh-CN) h3 { letter-spacing: 0; line-height: 1.3; word-break: normal; overflow-wrap: normal; }
html:lang(zh-CN) .label, html:lang(zh-CN) .kicker { letter-spacing: .08em; }
html:lang(zh-CN) .app-page p { max-width: 100%; }
html:lang(zh-CN) .site-footer .footer-group h2 { font-family: var(--sans); font-size: .75rem; letter-spacing: .08em; }
html:lang(zh-CN) .opening h1 { white-space: pre-line; }
@media (max-width: 640px) {
  html:lang(zh-CN) h1,
  html:lang(zh-CN) .app-page h1,
  html:lang(zh-CN) .teacher-page h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
}
