/* i18n.css — FOUC protection for client-side language switching.
   See docs/superpowers/specs/2026-07-01-i18n-zh-en-toggle-design.md §C.

   Strategy: i18n.js (loaded synchronously in <head>) adds the
   .i18n-translating class to <html> BEFORE first paint when the user's
   saved language is non-zh. body fades in once translations are applied.

   If i18n.js fails to load or JS is disabled, no one adds the class,
   so body stays opacity:1 and Chinese fallback is fully visible. */

html.i18n-translating body {
  opacity: 0;
}

html body {
  opacity: 1;
  transition: opacity 80ms ease;
}

/* English mode: render all body text in Poppins. Per-character fallback
   handles any stray CJK (e.g., ICP filing string) via Source Han Sans SC. */
html[lang="en"] body {
  font-family: "Poppins", "Source Han Sans SC", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
