/* Website typography only; the demonstrated translation target remains Chinese. */
html:lang(ja) {
  --font-sans: "Plus Jakarta Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --tracking-h1: 0; --tracking-h2: 0; --tracking-h3: 0; --tracking-body: 0;
  --type-h1-leading: 1.3; --type-h2-leading: 1.35;
  line-break: strict;
}
html:lang(ko) {
  --font-sans: "Plus Jakarta Sans", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --tracking-h1: -.02em; --tracking-h2: -.02em; --tracking-h3: 0; --tracking-body: 0;
  --type-h1-leading: 1.25; --type-h2-leading: 1.3;
  word-break: keep-all; overflow-wrap: anywhere;
}
/* Korean word grouping must not change the embedded English/Chinese source surfaces. */
html:lang(ko) [lang="en"], html:lang(ko) [lang^="zh"] {
  word-break: normal; overflow-wrap: normal; line-break: auto;
}
.km-time, .km-mono, .continuity-mono, .continuity-timestamp { white-space: nowrap; }
.km-title:lang(ja) .km-title-opening, .km-title:lang(ko) .km-title-opening { font-size: var(--km-type-frame); letter-spacing: -.025em; }
.km-title:lang(ja) .km-title-ending, .km-title:lang(ko) .km-title-ending { font-size: 2.375rem; line-height: 1.4; letter-spacing: -.025em; }
.km-story-title:lang(ja), .km-story-title:lang(ko),
.continuity h2:lang(ja), .continuity h2:lang(ko) { line-height: 1.3; letter-spacing: -.025em; }
@media (max-width: 1199px) {
  .km-title:lang(ja) .km-title-opening, .km-title:lang(ko) .km-title-opening { font-size: 2rem; }
  .km-title:lang(ja) .km-title-ending, .km-title:lang(ko) .km-title-ending { font-size: 1.875rem; }
}
@media (max-width: 599px) {
  .km-title:lang(ja) .km-title-ending, .km-title:lang(ko) .km-title-ending { margin-left: 24px; }
  .km-title:lang(ja) .km-title-opening, .km-title:lang(ko) .km-title-opening { font-size: 1.875rem; }
}
