/* Local typography and responsive layout; the Chinese design remains the base. */
html:lang(en), html:lang(de), html:lang(fr), html:lang(es), html:lang(ru) {
  --sans: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
html:lang(ja) { --sans: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, sans-serif; }
html:lang(ko) { --sans: "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans CJK KR", system-ui, sans-serif; }
html:not(:lang(zh)) body { overflow-wrap: break-word; }
html:not(:lang(zh)) .nw { white-space: normal; }
html:not(:lang(zh)) .header-tools { margin-left: auto; flex: none; gap: 12px; }
html:not(:lang(zh)) .site-header .wrap { gap: 20px; }
html:not(:lang(zh)) .main-nav { gap: 4px 18px; }
html:not(:lang(zh)) .header-phone { display: none; }
html:not(:lang(zh)) .lang-menu { max-height: calc(100dvh - 88px); overflow-y: auto; }
html:lang(de) h1, html:lang(fr) h1, html:lang(es) h1, html:lang(ru) h1,
html:lang(de) h2, html:lang(fr) h2, html:lang(es) h2, html:lang(ru) h2,
html:lang(de) h3, html:lang(fr) h3, html:lang(es) h3, html:lang(ru) h3 {
  word-break: normal; overflow-wrap: anywhere; hyphens: auto;
}
html:lang(de) .hero h1, html:lang(fr) .hero h1, html:lang(es) .hero h1 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.14; }
html:lang(de) .ph h1, html:lang(fr) .ph h1, html:lang(es) .ph h1 { font-size: clamp(30px, 3.5vw, 46px); line-height: 1.18; }
html:lang(ko) body { word-break: keep-all; overflow-wrap: anywhere; }
html:lang(ko) h1, html:lang(ko) h2, html:lang(ko) h3 { word-break: keep-all; overflow-wrap: anywhere; line-height: 1.3; }
html:lang(ko) .hero h1 { font-size: clamp(32px, 3.8vw, 52px); }
html:not(:lang(zh)) .btn { padding-block: 12px; line-height: 1.45; }
html:not(:lang(zh)) .btn svg, html:not(:lang(zh)) .link-arrow svg { flex: none; }
html:not(:lang(zh)) .viewer-load { width: max-content; max-width: calc(100% - 32px); white-space: normal; justify-content: center; padding: 12px 18px; text-align: center; line-height: 1.5; }
html:not(:lang(zh)) .mount-title { flex-wrap: wrap; gap: 4px 12px; }
html:not(:lang(zh)) .facts { grid-template-columns: minmax(64px, .42fr) minmax(0, 1fr); gap: 10px 12px; }
html:not(:lang(zh)) .facts > *, html:not(:lang(zh)) .field, html:not(:lang(zh)) .footer-cols > div { min-width: 0; }
html:not(:lang(zh)) .spec-table td { overflow-wrap: anywhere; }
html:not(:lang(zh)) .hero-actions > .btn { max-width: 100%; }
html:not(:lang(zh)) .proof h2 { flex: 0 1 auto; min-width: 0; max-width: 100%; }
html:not(:lang(zh)) .film-player video { max-width: 100%; }
html:not(:lang(zh)) .field label { line-height: 1.5; }
.resource-language { display: inline-block; flex: none; margin-inline-start: .4em; padding: 1px 4px; border: 1px solid currentColor; border-radius: 3px; font: 600 10px/1.3 system-ui, sans-serif; vertical-align: middle; white-space: nowrap; opacity: .75; }
.download-language { display: inline-block; flex: none; margin-inline-start: .4em; padding: 1px 4px; border: 1px solid currentColor; border-radius: 3px; font: 600 10px/1.3 system-ui, sans-serif; white-space: nowrap; vertical-align: middle; opacity: .8; }
html:not(:lang(zh)) .rs-top, html:not(:lang(zh)) .rs-tools, html:not(:lang(zh)) .art-tools { flex-wrap: wrap; }
html:not(:lang(zh)) .rs-meta { flex-wrap: wrap; }
html:not(:lang(zh)) .rs-card, html:not(:lang(zh)) .rs-body { min-width: 0; }
html:not(:lang(zh)) .rs-card h3 { overflow-wrap: anywhere; hyphens: auto; }
html:not(:lang(zh)) .rs-dl { white-space: normal; text-align: center; }
html:not(:lang(zh)) .ra-table th, html:not(:lang(zh)) .ra-table td { overflow-wrap: break-word; }
html:not(:lang(zh)) .rs-search input { min-width: 0; }
html:not(:lang(zh)) .art-tools .link-arrow { line-height: 1.45; }
html:not(:lang(zh)) .prose { overflow-wrap: anywhere; min-width: 0; }
html:not(:lang(zh)) summary { overflow-wrap: anywhere; word-break: break-word; }
@media (max-width: 1480px) {
  html:not(:lang(zh)) .header-phone { display: none; }
}
@media (max-width: 1240px) {
  html:not(:lang(zh)) .header-cta { display: none; }
}
@media (max-width: 1100px) {
  html:not(:lang(zh)) .nav-toggle { display: inline-flex; flex: none; }
  html:not(:lang(zh)) .main-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%; margin: 0;
    flex-direction: column; gap: 0; padding: 8px var(--gutter) 16px;
    background: var(--ground); border-bottom: 1px solid var(--line);
    box-shadow: 0 16px 32px rgba(20,22,25,.12); max-height: calc(100dvh - var(--header-h)); overflow-y: auto;
  }
  html:not(:lang(zh)) .main-nav.open { display: flex; }
  html:not(:lang(zh)) .main-nav a { padding: 14px 0; border-bottom: 1px solid var(--line-soft); font-size: 16px; white-space: normal; }
  html:not(:lang(zh)) .main-nav a:hover, html:not(:lang(zh)) .main-nav a[aria-current="page"] { border-bottom-color: var(--line-soft); color: var(--accent-text); }
  html:not(:lang(zh)) .brand { margin-right: auto; }
}
@media (max-width: 640px) {
  html:not(:lang(zh)) .site-header .wrap { gap: 8px; }
  html:not(:lang(zh)) .header-tools { gap: 6px; }
  html:not(:lang(zh)) .lang-btn { padding-inline: 6px; }
  html:not(:lang(zh)) .brand img { height: 28px; }
  html:not(:lang(zh)) .hero-copy { gap: 20px; }
  html:not(:lang(zh)) .spec-strip dd { font-size: 15px; }
  html:not(:lang(zh)) .spec-strip dt { font-size: 12px; }
  html:not(:lang(zh)) .spec-strip dd .num { font-size: 26px; }
  html:not(:lang(zh)) .ph-facts > div { max-width: 100%; }
  html:not(:lang(zh)) .ph-play { max-width: calc(100% - 20px); padding-block: 8px; line-height: 1.4; text-align: center; }
  html:not(:lang(zh)) .toc nav a { font-size: 13px; }
  html:not(:lang(zh)) .film-player video { width: 100%; height: auto; }
}
@media (max-width: 380px) {
  html:not(:lang(zh)) .brand img { height: 24px; }
  html:not(:lang(zh)) .lang-btn { gap: 4px; padding-inline: 4px; }
  html:not(:lang(zh)) .lang-btn > svg:last-child { display: none; }
}
/* Navigation remains available when scripts are disabled. */
@media (max-width: 1100px) {
  html:not(.js):not(:lang(zh)) .site-header .wrap { flex-wrap: wrap; }
  html:not(.js):not(:lang(zh)) .main-nav { position: static; display: flex; flex-direction: row; flex-wrap: wrap; order: 3; width: 100%; padding: 8px 0; box-shadow: none; }
  html:not(.js):not(:lang(zh)) .main-nav a { padding: 8px 12px 8px 0; }
  html:not(.js):not(:lang(zh)) .nav-toggle { display: none; }
}

/* Localized formula explanations keep explicit calculation lines readable. */
.ra-formula { min-width: 0; }
.ra-formula code { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 0; line-height: 1.8; }
