/* Zhishi: warm paper for reading, ink purple for the cards. Shared by every locale. */
body.zhishi {
  --bg: #f7f3ec;
  --bg-2: #eee6dc;
  --bg-deep: #302637;
  --panel: #fffcf7;
  --panel-solid: #fffcf7;
  --panel-soft: #f2ece3;
  --panel-light: #eee6dc;
  --ink: #302637;
  --text: #302637;
  --muted: #625865;
  --dim: #685e69;
  --gold: #795b31;
  --gold-bright: #624829;
  --line: #c8b99f;
  --line-soft: #dcd2c5;
  --success: #396647;
  --danger: #993f47;
  --shadow: 0 12px 36px rgba(57, 42, 30, .07);
  color-scheme: light;
  background: var(--bg);
  color: var(--text);
}
body.zhishi::before { display: none; }
body.zhishi ::selection { background: #e1d4bd; color: #302637; }
body.zhishi :is(button, a, input, textarea, select):focus-visible {
  outline: 2px solid #795b31; outline-offset: 4px;
}
body.zhishi .brand {
  display: inline-flex; align-items: center; gap: 11px; min-height: 44px;
  color: var(--ink); text-transform: none; letter-spacing: 0; text-decoration: none;
  flex-shrink: 0;
}
body.zhishi .brand-mark {
  display: block; width: 34px; height: 34px; flex: 0 0 34px;
  border: 0; border-radius: 0;
}
body.zhishi .brand-wordmark { display: grid; gap: 4px; }
body.zhishi .brand-name {
  font: 500 26px/1.05 'Songti SC', 'STSong', Georgia, serif;
  letter-spacing: .13em;
}
body.zhishi .brand-byline {
  color: var(--muted); font: 400 10px/1.25 -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
  letter-spacing: .09em;
}
body.zhishi .topbar, body.zhishi .top { border-bottom: 1px solid var(--line-soft); }
body.zhishi .topbar { min-height: 88px; }
body.zhishi .top { padding-bottom: 19px; }
body.zhishi .trust-row span { color: var(--muted); background: #fffcf7; }
body.zhishi .tool, body.zhishi .reading-card { background: var(--panel); }
body.zhishi :is(input, textarea, select) { background: #fffdfa; border-color: #b3a694; color: var(--ink); }
body.zhishi :is(input, textarea)::placeholder { color: var(--dim); opacity: 1; }
body.zhishi label, body.zhishi summary { color: var(--ink); }
body.zhishi .primary, body.zhishi .result-actions-card .result-actions .primary,
body.zhishi #shareModal .share-modal-actions .primary, body.zhishi .cta a {
  background: #42324c; color: #fffaf2; border-color: #42324c; box-shadow: none;
}
body.zhishi .primary:hover, body.zhishi .result-actions-card .result-actions .primary:hover,
body.zhishi #shareModal .share-modal-actions .primary:hover, body.zhishi .cta a:hover {
  background: #56415f; border-color: #56415f; color: #fffaf2;
}
body.zhishi .secondary { background: transparent; color: var(--ink); border-color: #b3a694; }
body.zhishi .lang-switch button.active { background: var(--ink); color: #fffaf2; }
body.zhishi .status { color: var(--danger); }
body.zhishi .reading-text { color: var(--text); }
body.zhishi .whisper { color: #624829; border-color: #b99d6c; }
body.zhishi .opening { color: var(--ink); }
body.zhishi .share-panel, body.zhishi .shared-welcome,
body.zhishi .referral-panel, body.zhishi .referral-reward,
body.zhishi .result-actions-card, body.zhishi .upgrade-card,
body.zhishi .purchase-shelf { background: #eee6dc; border-color: var(--line-soft); }
body.zhishi .purchase-path { background: #f2ece3; }
body.zhishi .purchase-option, body.zhishi .sample-card,
body.zhishi .referral-benefit, body.zhishi .share-benefit { background: #fffcf7; }
body.zhishi .offer span { color: #795b31; }
body.zhishi .offer, body.zhishi .guide-link, body.zhishi .history-item { background: #fffcf7; }
body.zhishi .card-reading { background: #fffcf7; }
body.zhishi .interpretation-card .card-reading-text, body.zhishi .report-text { color: #443a49; }
body.zhishi .interpretation-card .card-whisper { border-color: var(--line-soft); color: #624829; }
/* Dark zones own their text tokens so global light-theme changes cannot hide captions. */
body.zhishi .card-stage, body.zhishi .card-portrait,
body.zhishi .deck, body.zhishi .ritual {
  --text: #faf3e8; --muted: #d5c9d8; --dim: #c6b7cd;
  --gold: #dfc296; --gold-bright: #efd7ae;
  --line-soft: #6f5978;
  color: var(--text);
  background: radial-gradient(ellipse at 50% 20%, #503b59 0, #2c2234 80%);
}
body.zhishi .card-stage .stage-copy { color: var(--muted); }
body.zhishi .card-portrait figcaption { color: var(--gold-bright); }
body.zhishi .deck .card-copy h3 { color: var(--text); }
body.zhishi .ritual h2 { color: var(--text); }
body.zhishi .ritual .ritual-copy, body.zhishi .ritual p { color: var(--muted); }
body.zhishi .ritual .eyebrow { color: var(--gold); }
body.zhishi .card-back, body.zhishi .settle-card, body.zhishi .ritual-card {
  background: linear-gradient(145deg, #3a2c45, #594261 54%, #302439);
}
/* Share/reward/history overlays keep the same warm reading surface. */
body.zhishi .share-modal { background: rgba(39, 29, 44, .67); }
body.zhishi .share-modal-card, body.zhishi #shareModal .share-modal-card {
  background: #fffcf7; border-color: var(--line-soft); box-shadow: 0 24px 70px rgba(39,29,44,.23);
}
body.zhishi #shareModal .share-studio-visual { background: #e9e0d3; }
body.zhishi #shareModal .share-studio-copy { background: #fffcf7; }
body.zhishi #shareModal .share-card-preview, body.zhishi .share-card-preview {
  background: #f7f3ec; border-color: #c8b99f; box-shadow: none;
}
body.zhishi #shareModal .share-modal-head h2 { font-size: clamp(26px, 3.1vw, 36px); line-height: 1.35; letter-spacing: 0; }
body.zhishi #shareModal .share-modal-head .eyebrow,
body.zhishi #shareModal .share-reward-item span,
body.zhishi #shareModal .share-reward-arrow { color: #795b31; }
body.zhishi #shareModal .share-preview-state.is-error { color: #993f47; }
body.zhishi #shareModal .share-modal-notice { color: #396647; }
body.zhishi #shareModal .share-modal-close { background: #fffcf7; color: #42324c; border-color: #b3a694; }
body.zhishi .share-preview, body.zhishi #shareModal .share-card-preview img {
  box-shadow: 0 12px 26px rgba(62,43,27,.14);
}
body.zhishi .share-preview-wrap::before { display: none; }
body.zhishi .brand-note { margin: 62px auto 0; padding-top: 24px; border-top: 1px solid var(--line-soft); max-width: 820px; }
body.zhishi .brand-note h2 { font-size: 22px; margin: 0 0 8px; }
body.zhishi .brand-note p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
body.zhishi.guide-page :is(.faq, .more, .cta) { background: #fffcf7; }
body.zhishi.guide-page h1 { font-size: clamp(30px, 4.5vw, 42px); line-height: 1.4; }
body.zhishi.guide-page h2 { font-size: clamp(23px, 3vw, 28px); line-height: 1.5; }
body.zhishi.guide-page article { color: #443a49; }
@media (max-width: 620px) {
  body.zhishi .brand { gap: 8px; }
  body.zhishi .brand-name { font-size: 24px; }
  body.zhishi .brand-mark { width: 30px; height: 30px; flex-basis: 30px; }
  body.zhishi .brand-byline { font-size: 9px; }
  body.zhishi .topbar { min-height: 80px; gap: 10px; }
  body.zhishi .top-link, body.zhishi .lang-link { padding: 10px; }
  body.zhishi .hero h1, body.zhishi #productTitle { font-size: 30px; line-height: 1.4; }
  body.zhishi #shareModal .share-modal-head h2 { font-size: 26px; }
}
