/* ==========================================================================
   GA-7 / Deep Galaxy Relay — Chinese locale overrides (/zh/)
   Tighter letter-spacing, Chinese serif body text, smaller line-height
   ========================================================================== */

body[data-lang="zh"] {
  /* Chinese reads tighter than English; reduce overall line-height */
  line-height: 1.55;
}

/* All mono labels keep their tight letter-spacing; only headline-style
   uppercase mono text needs to relax for Chinese readability. */
body[data-lang="zh"] .headline,
body[data-lang="zh"] .chapter__title,
body[data-lang="zh"] .station__title,
body[data-lang="zh"] .reply__heading,
body[data-lang="zh"] .console-bar__mark {
  letter-spacing: 0.04em;
}

/* Body text — use Noto Serif SC for the long-form narrative,
   keep mono for labels / data. */
body[data-lang="zh"] .body-text,
body[data-lang="zh"] .chapter__body p,
body[data-lang="zh"] .log-entry__body p,
body[data-lang="zh"] .reply__intro,
body[data-lang="zh"] .reveal p,
body[data-lang="zh"] .station__desc,
body[data-lang="zh"] .wall-card__body,
body[data-lang="zh"] .lost__body {
  font-family: "Noto Serif SC", "Source Serif Pro", "Georgia", serif;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.02em;
  text-align: center;
  margin: 0 auto;
}

/* Restore mono for the upper-eyebrow / label / status lines */
body[data-lang="zh"] .eyebrow,
body[data-lang="zh"] .section-label,
body[data-lang="zh"] .station__index,
body[data-lang="zh"] .chapter__no,
body[data-lang="zh"] .chapter__origin,
body[data-lang="zh"] .chapter__year,
body[data-lang="zh"] .chapter__sig,
body[data-lang="zh"] .reply__label,
body[data-lang="zh"] .reply__hint,
body[data-lang="zh"] .reply__submit,
body[data-lang="zh"] .console-bar__nav a,
body[data-lang="zh"] .console-bar__clock,
body[data-lang="zh"] .signal-panel__head,
body[data-lang="zh"] .status-cell__label,
body[data-lang="zh"] .archive-card__id,
body[data-lang="zh"] .archive-card__foot,
body[data-lang="zh"] .log-entry__date,
body[data-lang="zh"] .log-entry__title,
body[data-lang="zh"] .log-tag,
body[data-lang="zh"] .wall-toolbar,
body[data-lang="zh"] .wall-card__head,
body[data-lang="zh"] .wall-card__callsign,
body[data-lang="zh"] .wall-card__origin,
body[data-lang="zh"] .wall-cta p,
body[data-lang="zh"] .wall-cta a,
body[data-lang="zh"] .transmission-footer span,
body[data-lang="zh"] .transmission-footer__ticker-track,
body[data-lang="zh"] .lost__code,
body[data-lang="zh"] .lost__title,
body[data-lang="zh"] .lost__meta,
body[data-lang="zh"] .lost__btn,
body[data-lang="zh"] .reply-receipt,
body[data-lang="zh"] .reply-log,
body[data-lang="zh"] .reply-receipt__label,
body[data-lang="zh"] .reply-receipt__sig,
body[data-lang="zh"] .reply-receipt__share,
body[data-lang="zh"] .reply-receipt__copy,
body[data-lang="zh"] .boot,
body[data-lang="zh"] .decode-block {
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
}

/* Headlines also keep mono feel but allow slight scaling down on Chinese */
body[data-lang="zh"] .headline {
  font-size: clamp(28px, 4.5vw, 48px);
}
body[data-lang="zh"] .headline--xl {
  font-size: clamp(36px, 6vw, 64px);
}

/* The console bar mark is the most prominent Chinese string — use slightly
   smaller letter-spacing so it doesn't feel stretched. */
body[data-lang="zh"] .console-bar__mark {
  font-size: 11px;
  letter-spacing: 0.08em;
}

/* Ticker — Chinese ticker speed is a bit slower; the long phrases need
   more time to read. The animation duration is set in styles.css as a
   fixed value, so just leave it. */

/* Decode block — for Chinese, the typewriter "feel" works, but the
   character count to settle is different. JS computes it dynamically,
   so no override needed here. */
body[data-lang="zh"] .decode-block {
  font-size: clamp(22px, 3.4vw, 36px);
  line-height: 1.6;
}
