/* Loaded only by the localized mirror.  The original bundles intentionally
   contain Latin subsets of their web fonts, so Chinese uses the host's
   high-quality CJK UI font instead of falling back character by character. */
html[lang="zh-CN"],
html[lang="zh-CN"] body,
html[lang="zh-CN"] button,
html[lang="zh-CN"] input,
html[lang="zh-CN"] select,
html[lang="zh-CN"] textarea {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;
  letter-spacing: 0;
}

html[lang="zh-CN"] body { line-height: 1.78; }
html[lang="zh-CN"] {
  --onez-accent: #8d9bff;
  --onez-accent-soft: color-mix(in srgb, var(--onez-accent) 16%, transparent);
  --onez-cyan: #5fd6c7;
}

html[lang="zh-CN"] body {
  background-image:
    radial-gradient(circle at 12% 6%, var(--onez-accent-soft), transparent 28rem),
    radial-gradient(circle at 88% 42%, color-mix(in srgb, var(--onez-cyan) 9%, transparent), transparent 32rem);
  background-attachment: fixed;
}

html[lang="zh-CN"] header {
  border-bottom-color: color-mix(in srgb, var(--onez-accent) 34%, var(--color-line));
  box-shadow: 0 10px 34px -30px color-mix(in srgb, var(--onez-accent) 75%, transparent);
}

html[lang="zh-CN"] header a[href="/"] > span.font-sans::after,
html[lang="zh-CN"] footer a[href="/"] > span.font-sans::after {
  content: " 造物书";
  color: var(--onez-accent);
  font-weight: 700;
}
html[lang="zh-CN"] .display,
html[lang="zh-CN"] .display-sm,
html[lang="zh-CN"] .prose-body h2,
html[lang="zh-CN"] .prose-body h3,
html[lang="zh-CN"] .prose-body h4 {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;
  letter-spacing: -0.01em;
}

html[lang="zh-CN"] .eyebrow {
  letter-spacing: 0.08em;
  text-transform: none;
  color: color-mix(in srgb, var(--onez-accent) 70%, var(--color-forest));
}

html[lang="zh-CN"] h1,
html[lang="zh-CN"] h2,
html[lang="zh-CN"] h3 {
  text-wrap: balance;
}

html[lang="zh-CN"] :is(article, section) :is(.rounded-2xl, .rounded-3xl) {
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

html[lang="zh-CN"] :is(article, section) :is(.rounded-2xl, .rounded-3xl):hover {
  border-color: color-mix(in srgb, var(--onez-accent) 24%, var(--color-line));
  box-shadow: 0 18px 50px -38px color-mix(in srgb, var(--onez-accent) 65%, transparent);
}

html[lang="zh-CN"] .prose-body,
html[lang="zh-CN"] .prose-body p,
html[lang="zh-CN"] .prose-body li,
html[lang="zh-CN"] .prose-body blockquote {
  line-height: 1.82;
  word-break: normal;
  overflow-wrap: anywhere;
}

html[lang="zh-CN"] .prose-body h2 { line-height: 1.35; }
html[lang="zh-CN"] .prose-body h3 { line-height: 1.42; }
html[lang="zh-CN"] .prose-body table { word-break: normal; }
html[lang="zh-CN"] .prose-body th { letter-spacing: 0.04em; }

html[lang="zh-CN"] .onez-source-link {
  position: fixed;
  z-index: 60;
  right: 20px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(520px, calc(100vw - 40px));
  padding: 9px 10px 9px 14px;
  border: 1px solid color-mix(in srgb, var(--onez-accent) 34%, var(--color-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-card) 88%, transparent);
  color: var(--color-slate);
  box-shadow: 0 14px 40px -24px rgba(12, 18, 26, 0.75);
  backdrop-filter: blur(18px);
  font-size: 12px;
  line-height: 1.3;
}

html[lang="zh-CN"] .onez-source-link a {
  flex: none;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--onez-accent);
  color: #10131d;
  font-weight: 700;
  text-decoration: none;
}

html[lang="zh-CN"] .onez-source-link a:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  html[lang="zh-CN"] body { line-height: 1.72; }
  html[lang="zh-CN"] .onez-source-link {
    right: 10px;
    bottom: 10px;
    max-width: calc(100vw - 20px);
  }
  html[lang="zh-CN"] .onez-source-link span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html[lang="zh-CN"] *,
  html[lang="zh-CN"] *::before,
  html[lang="zh-CN"] *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
