/* CJK typography uses local fonts; no additional font download is required. */
html[lang^="zh"] {
  --font-display: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  --font-body: var(--font-display);
  --text-h1: 72px;
  --text-h2: 44px;
  --leading-h1: 1.3;
  --leading-h2: 1.4;
}
html[lang="zh-Hant"] {
  --font-display: "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", system-ui, sans-serif;
}
html[lang^="zh"] body { font-family: var(--font-body); line-height: 1.7; }
html[lang^="zh"] * { letter-spacing: 0; }
html[lang^="zh"] :is(h1, h2, h3, h4, button, input, select, textarea) { font-family: var(--font-body); }
html[lang^="zh"] :is(h1, h2, h3, h4, .pcase-title, .s3-card-title) { line-height: 1.4; word-break: normal; }
html[lang^="zh"] em { font-style: normal; }
html[lang^="zh"] h1 { text-wrap: balance; }
html[lang^="zh"] .hero-title-line { display: block; }
html[lang^="zh"][data-source-path="/about/"] .hero { position: relative; }
html[lang^="zh"] .signal-row { grid-template-columns: 100px minmax(0, 1fr); }
html[lang^="zh"] .pcase-expanded-frame { font-style: normal; }
html[lang^="zh"] :is(p, li) { line-height: 1.75; }
html[lang^="zh"] :is(.vc-desc, .analysis-desc) { min-height: 0; height: auto; }
html[lang^="zh"] :is(.pcase-pill, .pcase-expanded-pill) { max-width: calc(100% - 64px); white-space: normal; }
html[lang^="zh"] :is(.s3-chat-bubble, .pcase-chat-message) { line-height: 1.75; }
@media (max-width: 1024px) {
  html[lang^="zh"] { --text-h1: 52px; --text-h2: 34px; }
}
@media (max-width: 600px) {
  html[lang^="zh"] { --text-h1: 36px; --text-h2: 28px; }
  html[lang^="zh"] h1 br { display: none; }
  html[lang^="zh"] .nav-book { padding: 10px 12px; }
}
