.header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.language-picker { position: relative; }
.language-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; min-width: 96px; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--fg); font: 600 14px/1.4 var(--font-body); cursor: pointer; white-space: nowrap; }
.language-toggle:hover, .language-toggle[aria-expanded="true"] { background: #f0f3f4; }
.language-toggle img { flex: none; }
.language-chevron { opacity: .55; transition: transform .15s ease; }
.language-toggle[aria-expanded="true"] .language-chevron { transform: rotate(180deg); }
.language-toggle:focus-visible, .language-option:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.language-menu { position: absolute; z-index: 20; top: calc(100% + 10px); right: 0; width: 224px; max-width: calc(100vw - 40px); padding: 6px; border: 1px solid #e0e5e8; border-radius: 8px; background: #fff; box-shadow: 0 10px 32px rgba(25,29,32,.12); }
.language-menu[hidden] { display: none; }
.language-option { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 42px; padding: 10px 12px; border: 0; border-radius: 4px; background: transparent; color: var(--fg); font: 500 14px/1.4 var(--font-body); text-align: left; cursor: pointer; }
.language-option > span:first-child { margin-right: auto; }
.language-option:hover, .language-option:focus-visible { background: #f1f4f5; }
.language-option[aria-checked="true"] { background: #edf3f2; font-weight: 700; }
.language-code { color: var(--meta); font-size: 10px; font-weight: 500; }
.language-option img { visibility: hidden; flex: none; }
.language-option[aria-checked="true"] img { visibility: visible; }
.language-auto { font-size: 13px; color: var(--muted); }
.language-separator { height: 1px; margin: 6px 10px; background: var(--border); }
.language-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.topnav-inner { display: grid; grid-template-columns: 1fr auto; gap: 0 20px; padding-block: 10px 0; }
.topnav .logo { grid-column: 1; grid-row: 1; width: fit-content; }
.header-actions { grid-column: 2; grid-row: 1; }
.topnav nav { grid-column: 1 / -1; grid-row: 2; display: flex; width: 100%; justify-content: flex-start; gap: 24px; overflow-x: auto; scrollbar-width: thin; }
.topnav nav a { flex: 0 0 auto; font-size: 14px; padding-block: 10px; }
.section { scroll-margin-top: 126px; }
html:not([lang^="zh"]) .modern-hero h1 { font-size: 64px; }
html:not([lang^="zh"]) .modern-hero h1 span { font-size: 42px; }
html:not([lang^="zh"]) .hero-affiliation { max-width: 720px; font-size: 18px; line-height: 1.45; }
html:not([lang^="zh"]) .hero-summary { font-size: 17px; line-height: 1.65; }
.hero-content { padding-top: 36px; }
.modern-hero { min-height: 480px; }
.team-tab, .paper-tab { min-width: 0; overflow-wrap: anywhere; }
.section-head > *, .paper-space-intro > *, .collaboration-copy > * { min-width: 0; }
h2, h3, h4, .lead, .student-name, .btn { overflow-wrap: anywhere; }
@media (min-width: 1600px) {
  html[lang^="zh"] .topnav-inner { display: flex; padding-block: 12px; gap: 20px; }
  html[lang^="zh"] .topnav nav { justify-content: flex-end; width: auto; gap: 16px; }
}
@media (max-width: 640px) {
  .topnav .logo { font-size: 21px; }
  .topnav .logo span { display: none; }
  .header-actions { gap: 8px; }
  .topnav .header-actions .btn { display: none; }
  .language-toggle { padding-inline: 8px; }
  .topnav nav { gap: 20px; }
  .topnav nav a { font-size: 13px; }
  .hero-content { padding-top: 28px; }
  html:not([lang^="zh"]) .modern-hero h1 { font-size: 40px; margin-bottom: 16px; }
  html:not([lang^="zh"]) .modern-hero h1 span { display: block; font-size: 27px; margin-top: 6px; }
  html:not([lang^="zh"]) .hero-affiliation { font-size: 15px; line-height: 1.5; margin-bottom: 16px; }
  html:not([lang^="zh"]) .hero-summary { font-size: 15px; line-height: 1.6; margin-bottom: 20px; }
  .modern-hero { height: auto; min-height: 490px; }
  .hero-photo-caption { padding-block: 18px; }
  .hero-cta { gap: 16px; flex-wrap: wrap; }
  .team-tabs { gap: 8px; }
  .team-tab { font-size: 13px; padding-inline: 6px; }
  .paper-tabs { gap: 14px; }
  .paper-tab { font-size: 14px; }
  .paper-subhead { flex-wrap: wrap; gap: 12px; }
}
