:root {
  --site-red: #c8102e;
  --site-red-deep: #a60b25;
  --site-gold: #8a651f;
  --site-gold-bright: #c6a96b;
  --site-gold-soft: #eadfca;
  --site-red-accent: #b5122b;
  --site-ink: #211e1b;
  --site-muted: #514b46;
  --site-faint: #716b65;
  --site-line: #d8dee4;
  --site-warm-gray: #eff1f4;
  --site-canvas-primary: #eff1f4;
  --site-canvas-secondary: #e2e7eb;
  --site-canvas: var(--site-canvas-primary);
  --site-champagne: #c6a96b;
  --site-burgundy: #741d2c;
  --site-charcoal: #302a27;
  --site-white: #fff;
  --site-section-title-size: clamp(2rem, 4vw, 3.5rem);
  --site-subsection-title-size: clamp(1.25rem, 1.8vw, 1.625rem);
  --site-subtitle-size: clamp(1rem, 1.2vw, 1.125rem);
  --site-body-size: 1rem;
  --site-meta-size: .8125rem;
  --site-caption-size: .75rem;
  --site-title-line-height: 1.16;
  --site-section-title-weight: 800;
  --site-subsection-title-weight: 700;
  --site-font: "Alibaba PuHuiTi", "Alibaba PuHuiTi Full", "Malgun Gothic", "Yu Gothic", "Meiryo", "Microsoft YaHei", Arial, sans-serif;
  --xjj-title-scale: 1;
  --xjj-body-scale: 1;
  --xjj-letter-spacing: 0em;
  --xjj-line-height: 1;
}

@media (max-width: 760px) {
  :root {
    --site-section-title-size: clamp(1.75rem, 7.6vw, 2.375rem);
    --site-subsection-title-size: clamp(1.1rem, 4.8vw, 1.375rem);
    --site-subtitle-size: 1rem;
    --site-body-size: 1rem;
    --site-meta-size: .8125rem;
  }
}

html.xjj-reveal-ready [data-effect="slide-up"] {
  transition-property: opacity, translate, scale !important;
  transition-duration: .78s !important;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
  transition-delay: var(--xjj-reveal-delay, 0ms) !important;
}

html.xjj-reveal-ready [data-effect="slide-up"]:not(.is-visible) {
  opacity: 0 !important;
  translate: 0 54px !important;
  scale: .97 !important;
}

html.xjj-reveal-ready [data-effect="slide-up"].is-visible {
  opacity: 1 !important;
  translate: none !important;
  scale: 1 !important;
}

/* React experiences use the same tokens without a second DOM font controller. */
#root {
  --xjj-text-scale: var(--xjj-body-scale, 1);
  letter-spacing: var(--xjj-letter-spacing, 0em);
  line-height: calc(1.5 * var(--xjj-line-height, 1));
}
#root :is(h1, h2, h3, h4, h5, h6) { --xjj-text-scale: var(--xjj-title-scale, 1); }
html[data-xjj-body-weight] #root :not(:is(h1, h2, h3, h4, h5, h6)):not(:is(h1, h2, h3, h4, h5, h6) *) { font-weight: var(--xjj-body-weight) !important; }
html[data-xjj-title-weight] #root :is(h1, h2, h3, h4, h5, h6), html[data-xjj-title-weight] #root :is(h1, h2, h3, h4, h5, h6) * { font-weight: var(--xjj-title-weight) !important; }
html[data-xjj-dark-text] #root :is(.text-gray-900, .text-gray-800, .text-zinc-900, .text-zinc-800) { color: var(--site-ink) !important; }
html[data-xjj-secondary-text] #root :is(.text-gray-600, .text-gray-500, .text-zinc-600, .text-zinc-500) { color: var(--site-muted) !important; }
html[data-xjj-muted-text] #root :is(.text-gray-400, .text-zinc-400) { color: var(--site-faint) !important; }
html[data-xjj-primary-text] #root :is(.text-white, [class*="text-white/"]) { color: var(--site-text-primary) !important; }
