/* Typography shared by home, casting, reading, reflection, learning and account pages. */
:root {
  --font-title: "Guanyi Zhaohua A", "Songti SC", "STSong", "SimSun", serif;
  --font-reading: "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --font-ui: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif;
  --font-serif: var(--font-title);
  --font-sans: var(--font-reading);
  --serif: var(--font-title);
}
body { font-family: var(--font-reading); }
h1, h2, h3, h4, .h1, .h2, .h3,
.brand-text, .reading-hex strong, .reading-point .point-text,
.hero-brand .hb-cn, .hex-name, .cp-name, .today-card .tc-name,
.fav-card .fc-name, .hex-cell .hc-name, .bagua-card .bc-name,
.empty .em-title, .sc-title, .ap-name, .faq-list summary {
  font-family: var(--font-title);
  font-synthesis: none;
}
/* The supplied face is a real Bold; do not add synthetic bold on top. */
.brand-text, .reading-hex strong { font-weight: 700; }
.new-copy h1, .cast-head h1, .reading-head h1, .mind-head h1,
.auth-title, .step-head h1, .faq-intro h2 { letter-spacing: .015em; }
.new-copy h1 { line-height: 1.28; }
.reading-point .point-text, .mind-report h2 { letter-spacing: .015em; }
.reading-head h1, .mind-head h1, .auth-title { line-height: 1.5; }
.classic-quote, .classic-quote .q-sub, .cp-v, .card-preview .cp-v,
.run-q, .ai-stream, .mind-report p, .mind-sources blockquote {
  font-family: var(--font-reading);
}
input, textarea, select, .input, .textarea, .code-editor,
input::placeholder, textarea::placeholder {
  font-family: var(--font-ui);
}
.latin, .brand-en { font-family: var(--font-latin); }
@media (max-width: 600px) {
  .new-copy h1 { line-height: 1.35; letter-spacing: .01em; }
  .new-copy h1 br { display: block; }
  .reading-head h1, .mind-head h1, .auth-title { letter-spacing: 0; }
}
code, pre, .code-editor, .content-editor { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
