/* Midnight tools. Presentation only: the original forms, charts and reading states remain authoritative. */
html body.tianji-mystic.orchid-tool-page {
  --tool-accent: var(--gold, #7959bc);
  --tool-wash: rgba(121, 89, 188, .07);
  --tool-line: var(--line, rgba(121, 89, 188, .14));
  --tool-lilac: var(--surface-panel, #ffffff);
  --tool-rose-wash: var(--surface-raised, #f2edf9);
  --tool-shadow: var(--shadow-card, inset 0 1px 0 #ffffffcc, 0 16px 40px #3e286313);
  --mystic-tool-surface: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc));
  --mystic-tool-inset: var(--surface-control, #fcfaff);
  --mystic-tool-line: var(--line, rgba(121, 89, 188, .14));
  --mystic-tool-muted: var(--dim, #736b83);
  --star-major-fg: #a55267;
  --star-soft-fg: #3f8066;
  --star-tough-fg: #9a6b24;
  --earth: #9a6b24;
  --earth-wash: #fff3da;
  --jade-deep: #3f8066;
  --mutagen-lu: #3f8066;
  --mutagen-quan: #6858c7;
  --mutagen-ke: #5078a5;
  --mutagen-ji: #a55267;
  --ai-answer-body: var(--ink-soft, #514a63);
  --ai-answer-heading: var(--ink, #2b263d);
  /* Keep the traditional five-element hues, with enough contrast on midnight. */
  --wood-ink: #28624c;
  --wood-wash: #dcece1;
  --fire-ink: #a24542;
  --fire-wash: #f4dfdb;
  --earth-ink: #6c5034;
  --metal-ink: #8f6000;
  --metal-wash: #fff1c2;
  --water-ink: #356b84;
  --water-wash: #dcebf0;
}

html body.tianji-mystic.orchid-tool-page :is(.paper-card, .hehun-panel, .glass) {
  color: var(--ink, #2b263d);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc));
  box-shadow: var(--shadow-card, inset 0 1px 0 #ffffffcc, 0 16px 40px #3e286313);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html body.tianji-mystic.orchid-tool-page :is(.hero, .hehun-hero, .orchid-input-intro, .ziwei-entry-head) {
  color: var(--ink);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: transparent;
}
html body.tianji-mystic.orchid-tool-page :is(.hero h1, .hehun-hero h1, .orchid-input-intro h2, .ziwei-entry-head h1) {
  color: var(--ink, #2b263d);
  text-shadow: none;
}
html body.tianji-mystic.orchid-tool-page :is(.eyebrow, .step, .card-kicker, .panel-title, .reading-followup-kicker, .orchid-palace-detail > header span) { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page :is(.hero-copy, .hehun-hero-copy > p:last-child, .hero > p:last-of-type, .orchid-input-intro p) { color: var(--mystic-tool-muted); }
html body.tianji-mystic.orchid-tool-page :is(.panel-heading, .card-heading, .ziwei-entry-head) { border-color: var(--line, rgba(121, 89, 188, .14)); }

/* A small, dimensional object belongs to each existing entry heading. */
html body.tianji-mystic.orchid-tool-page .mystic-tool-intro {
  position: relative;
  min-height: 126px;
  padding-right: 144px;
  isolation: isolate;
}
html body.tianji-mystic.orchid-tool-page :is(.orchid-input-intro, .ziwei-entry-head).mystic-tool-intro { min-height: 116px; padding-top: 15px; padding-bottom: 24px; }
html body.tianji-mystic.orchid-tool-page .mystic-tool-art {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 126px;
  height: 126px;
  margin: 0;
  pointer-events: none;
  transform: translateY(-50%);
}
html body.tianji-mystic.orchid-tool-page .mystic-tool-art::before {
  content: "";
  position: absolute;
  inset: 10%;
  border: 1px solid var(--line, rgba(121, 89, 188, .14));
  border-radius: 50%;
  transform: rotateX(61deg) rotate(-22deg) scale(1.18);
}
html body.tianji-mystic.orchid-tool-page .mystic-tool-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.04) brightness(1.03) drop-shadow(0 12px 18px #8b68b426);
}
html body.tianji-mystic.orchid-tool-page .mystic-tool-intro:hover .mystic-tool-art img { filter: saturate(1.06) brightness(1.03) drop-shadow(0 12px 22px #b991df25); }
html body.tianji-mystic.orchid-tool-page .hehun-hero.mystic-tool-intro { grid-template-columns: minmax(0, 1fr); min-height: 210px; padding: 28px 176px 28px 30px; background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc)); }
html body.tianji-mystic.orchid-tool-page .hehun-hero .mystic-tool-art { right: 26px; width: 140px; height: 140px; }
html body.tianji-mystic.orchid-tool-page .hehun-hero::after { background: none; }
html body.tianji-mystic.orchid-tool-page .hehun-hero .hehun-orbit { display: none; }

/* Native selections retain their real selected/disabled states. */
html body.tianji-mystic.orchid-tool-page :is(.seg, .segment, .mode-tabs, .seg-options, .picker-tabs, .time-mode-seg, .calendar-picker-tabs, .location-path) {
  color: var(--mystic-tool-muted);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
  box-shadow: none;
}
html body.tianji-mystic.orchid-tool-page :is(.seg button, .segment button, .mode-tabs button, .picker-tab, .calendar-picker-tab, .location-step) { color: var(--dim, #736b83); }
html body.tianji-mystic.orchid-tool-page :is(.seg button.active, .segment button.active, .mode-tabs button.active, .picker-tab.active, .calendar-picker-tab.active, .location-step.active),
html body.tianji-mystic.orchid-tool-page :is(#baziForm, #ziweiForm) :is(.seg, .segment) button.active,
html body.tianji-mystic.orchid-tool-page #inputPanel > .mode-tabs button.active {
  color: var(--gold, #7959bc);
  border-color: #7959bc78;
  background: linear-gradient(135deg, #f0e8fa, #f2edf9);
  box-shadow: inset 0 1px 0 #ffffffcc;
}
html body.tianji-mystic.orchid-tool-page #inputPanel > .mode-tabs { border-color: var(--line, rgba(121, 89, 188, .14)); background: var(--surface-control, #fcfaff); }
html body.tianji-mystic.orchid-tool-page #inputPanel > .mode-tabs button { color: var(--dim, #736b83); }
html body.tianji-mystic.orchid-tool-page #inputPanel > .mode-tabs button:not(.active):hover { color: var(--gold, #7959bc); background: var(--surface-raised, #f2edf9); }
html body.tianji-mystic.orchid-tool-page :is(#baziForm, #ziweiForm) button.active .calendar-seg-alias { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea, .picker-trigger) {
  color: var(--ink, #2b263d);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
  box-shadow: inset 0 1px 3px #3e28630d;
}
html body.tianji-mystic.orchid-tool-page :is(input, textarea)::placeholder { color: var(--faint, #80768f); opacity: 1; }
html body.tianji-mystic.orchid-tool-page :is(input, select, textarea, .picker-trigger):focus-visible {
  border-color: #7959bc78;
  outline: 2px solid var(--gold, #7959bc);
  box-shadow: 0 0 0 3px #7959bc14;
}
html body.tianji-mystic.orchid-tool-page :is(.field, .question-field):focus-within > :is(label, .field-title, .question-title) { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page :is(.picker-trigger-mark, .vision-step-mark, .vision-submit-mark, .daily-profile-mark, .kind-options b) {
  color: var(--gold, #7959bc);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-raised, #f2edf9);
  box-shadow: inset 0 1px 3px #3e28630d;
}
html body.tianji-mystic.orchid-tool-page :is(.app-dialog-surface, .hehun-dialog-surface, .consent-surface, .consent-panel) {
  color: var(--ink);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc));
  box-shadow: var(--shadow-card, inset 0 1px 0 #ffffffcc, 0 16px 40px #3e286313);
}
html body.tianji-mystic.orchid-tool-page :is(.app-dialog-surface::before, .dialog-glow) { border-color: rgba(121, 89, 188, .055); box-shadow: none; }
html body.tianji-mystic.orchid-tool-page :is(.dialog-search, .location-option, .time-option, .calendar-picker-option, .picker-option, .location-county-panel) {
  color: var(--ink-soft, #514a63);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
html body.tianji-mystic.orchid-tool-page :is(.location-option, .time-option, .calendar-picker-option, .picker-option):hover { color: var(--gold, #7959bc); background: var(--surface-raised, #f2edf9); }
html body.tianji-mystic.orchid-tool-page :is(.location-option, .time-option, .calendar-picker-option, .picker-option).is-selected {
  color: var(--gold, #7959bc);
  border-color: #7959bc78;
  background: linear-gradient(135deg, #f0e8fa, #f2edf9);
  box-shadow: inset 0 1px 0 #ffffffcc;
}
html body.tianji-mystic.orchid-tool-page :is(.calendar-picker-tab.active, .location-step.active) > span { color: var(--gold, #7959bc); border-color: #7959bc78; background: linear-gradient(135deg, #f0e8fa, #f2edf9); }
html body.tianji-mystic.orchid-tool-page .location-step.active small { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page :is(.birth-confirm-card, .birth-confirm-actions, .vision-review-summary, .capture-guide, .consent-box, .dream-extra-details, .calendar-picker-summary, .location-draft-summary, .daily-profile-panel, .new-profile-intro, .profile-note) {
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
html body.tianji-mystic.orchid-tool-page :is(#baziForm, #ziweiForm).birth-flow-flat .birth-confirm-actions { background: transparent; }

/* Satin champagne actions; thin bright edge, small lift, no flashing sweep. */
html body.tianji-mystic.orchid-tool-page :is(.primary-btn, .primary-button, .primary-action, .submit-btn, .ai-generate-button, .reading-followup-send, .dialog-primary-btn),
html body.tianji-mystic.orchid-tool-page #baziForm #btnPaipan {
  color: #ffffff;
  border: 1px solid #7959bc78;
  background: linear-gradient(115deg, #8860c4, #7952b8);
  box-shadow: inset 0 1px 0 #ffffff77, 0 5px 18px #3e28631a;
  text-shadow: none;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
html body.tianji-mystic.orchid-tool-page :is(.primary-btn, .primary-button, .primary-action, .ai-generate-button, .reading-followup-send, .dialog-primary-btn):hover:not(:disabled),
html body.tianji-mystic.orchid-tool-page #baziForm #btnPaipan:hover:not(:disabled) {
  color: #ffffff;
  border-color: #7959bc78;
  background: linear-gradient(115deg, #7959bc, #6845ac);
  box-shadow: inset 0 1px 0 #ffffff77, 0 7px 22px #3e286324;
  transform: translateY(-2px);
}
html body.tianji-mystic.orchid-tool-page :is(.primary-btn, .primary-button, .primary-action):active:not(:disabled) { transform: translateY(0); }
html body.tianji-mystic.orchid-tool-page .primary-btn::after { display: none; }
html body.tianji-mystic.orchid-tool-page :is(.secondary-btn, .secondary-button, .ghost-btn, .ai-secondary-button, .orchid-reading-index button, .reading-followup-suggestions button) {
  color: var(--gold, #7959bc);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
  box-shadow: inset 0 1px 3px #3e28630d;
}
html body.tianji-mystic.orchid-tool-page :is(.secondary-button, .ghost-btn, .ai-secondary-button, .reading-followup-suggestions button):hover:not(:disabled) { color: var(--gold, #7959bc); background: var(--surface-raised, #f2edf9); border-color: var(--line-strong, rgba(121, 89, 188, .29)); }
html body.tianji-mystic.orchid-tool-page :is(.emotion-grid label > span, .focus-options label > span, .kind-options label > span, .focus-options button) { color: var(--dim, #736b83); border-color: var(--line, rgba(121, 89, 188, .14)); background: var(--surface-control, #fcfaff); }
html body.tianji-mystic.orchid-tool-page :is(.focus-options button.active, .focus-options input:checked + span, .emotion-grid input:checked + span, .seg-options input:checked + span, .kind-options input:checked + span) {
  color: var(--gold, #7959bc);
  border-color: #7959bc78;
  background: linear-gradient(135deg, #f0e8fa, #f2edf9);
  box-shadow: inset 0 1px 0 #ffffffcc;
}
html body.tianji-mystic.orchid-tool-page :is(.emotion-grid, .focus-options, .kind-options) label:hover > span { border-color: var(--line-strong, rgba(121, 89, 188, .29)); }

/* Steps and readable reports. Five-element classes are intentionally not recolored. */
html body.tianji-mystic.orchid-tool-page .orchid-stepper button { color: var(--ink-soft, #514a63); }
html body.tianji-mystic.orchid-tool-page .orchid-stepper b { border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page .orchid-stepper button[aria-current="step"] { color: var(--gold, #7959bc); background: linear-gradient(135deg, #f0e8fa, #f2edf9); }
html body.tianji-mystic.orchid-tool-page .orchid-stepper button[aria-current="step"] b { color: #ffffff; background: var(--gold, #7959bc); border-color: #7959bc78; }
html body.tianji-mystic.orchid-tool-page .orchid-stepper button:disabled { color: var(--faint, #80768f); }
html body.tianji-mystic.orchid-tool-page .orchid-stepper button:not(:disabled):hover { background: var(--surface-raised, #f2edf9); }
html body.tianji-mystic.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text, .reading-followup-message-body, .followup-message-body) { color: var(--ink-soft, #514a63); }
html body.tianji-mystic.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) :is(h2, h3, h4, strong) { color: var(--ink, #2b263d); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) blockquote { color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); border-left-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page :is(.reading-plan, .reading-followup, .ai-reading-text, .followup-panel, .orchid-reading-index, .yaogua-followup-form) { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); box-shadow: none; }
html body.tianji-mystic.orchid-tool-page :is(.reading-followup-message, .followup-message-body, .yaogua-followup-message-body) { border-color: var(--line, rgba(121, 89, 188, .14)); background: var(--surface-control, #fcfaff); box-shadow: none; }
html body.tianji-mystic.orchid-tool-page :is(.reading-followup-message.user, .followup-message.user .followup-message-body, .yaogua-followup-message.user .yaogua-followup-message-body) { color: var(--ink-soft, #514a63); border-color: var(--line, rgba(121, 89, 188, .14)); background: var(--surface-control, #fcfaff); }
html body.tianji-mystic.orchid-tool-page :is(.orchid-reading-index summary, .orchid-reading-index button:hover, .orchid-reading-index button[aria-current="location"]) { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page :is(.result-empty, .empty-reading) { background: transparent; }
html body.tianji-mystic.orchid-tool-page :is(.result-empty h3, .empty-reading h2) { color: var(--ink, #2b263d); }
html body.tianji-mystic.orchid-tool-page :is(.result-status.is-complete, .ai-reading-status.is-complete, .result-status.is-success) { color: #367c68; background: #eef8f2; }
html body.tianji-mystic.orchid-tool-page :is(.result-status.is-error, .ai-reading-status.is-error, .result-status.is-warning) { color: #ad4969; background: #fff1f5; }
html body.tianji-mystic.orchid-tool-page .mystic-empty-object { width: 138px; height: 138px; display: block; object-fit: contain; margin: 0 auto 12px; filter: saturate(1.02) brightness(1.02) drop-shadow(0 14px 20px #8b68b41f); }
html body.tianji-mystic.orchid-tool-page .mystic-empty-object + :is(.moon-mark, span[aria-hidden="true"]) { display: none; }
html body.tianji-mystic.orchid-tool-page .mystic-welcome-object { width: 138px; height: 138px; padding: 0; border: 0; background: transparent; box-shadow: none; }
html body.tianji-mystic.orchid-tool-page .mystic-welcome-object::before,
html body.tianji-mystic.orchid-tool-page .mystic-welcome-object::after { display: none; }

/* 八字: entry, screenshot verification, four pillars and annual chart surfaces. */
html body.tianji-mystic.orchid-tool-page #chartPanel > :is(.meta-row, .shensha-block, .wx-block, .rule-evidence-block, .dayun-block) { color: #514a63; background: #f6f2fb; border-color: var(--mystic-tool-line); box-shadow: none; }
html body.tianji-mystic.orchid-tool-page .meta-row :is(b, span) { color: var(--dim, #736b83); }
html body.tianji-mystic.orchid-tool-page .meta-row span { color: var(--ink-soft, #514a63); }
html body.tianji-mystic.orchid-tool-page .meta-row::after { opacity: .16; }
/* These two legacy chart surfaces use !important, so match that boundary explicitly. */
html body.tianji-mystic.orchid-tool-page #chartPanel > .calculation-basis { background: var(--surface-control, #fcfaff) !important; }
html body.tianji-mystic.orchid-tool-page #chartPanel > .calculation-warning { color: #ad4969; border-color: #ad496940 !important; background: #fff1f5 !important; }
html body.tianji-mystic.orchid-tool-page .pillar-card { border-color: var(--line, rgba(121, 89, 188, .14)); background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc)); box-shadow: var(--shadow-card, inset 0 1px 0 #ffffffcc, 0 16px 40px #3e286313); }
html body.tianji-mystic.orchid-tool-page .pillar-card.day { border-color: #7959bc6b; background: linear-gradient(165deg, #f4effb, #f8f5fc 80%); box-shadow: inset 0 2px #7959bc44, 0 8px 24px #3e286312; }
html body.tianji-mystic.orchid-tool-page .wx-bar[data-wuxing="金"] .wx-name { color: #8f6000; border-color: #b8790085; background: #fff1c2; box-shadow: inset 0 1px #ffffff66; }
html body.tianji-mystic.orchid-tool-page :is(.pillar-card .pc-hidden-layer, .shensha-column, .dayun-chip, .dayun-year-card, .annual-reading-fact, .vision-field-card, .vision-dayun-row) { border-color: var(--mystic-tool-line); background: #fcfaff; }
html body.tianji-mystic.orchid-tool-page .shensha-column.day { background: #ffffff; border-color: #7959bc52; }
html body.tianji-mystic.orchid-tool-page .dayun-chip.current { background: #eef8f4; border-color: #43877987; box-shadow: inset 0 0 0 1px #43877926; }
html body.tianji-mystic.orchid-tool-page .dayun-chip.selected { border-color: #7959bc99; box-shadow: inset 0 0 0 1px #7959bc33; }
html body.tianji-mystic.orchid-tool-page .dayun-year-card.current { border-color: #7959bc80; background: #f4effb; }
html body.tianji-mystic.orchid-tool-page :is(.dayun-detail, .annual-reading-preview) { background: #eef8f4; border-color: #43877930; }
html body.tianji-mystic.orchid-tool-page .dayun-current.is-uncertain { color: #9a6b24; background: #fff3da; }
html body.tianji-mystic.orchid-tool-page .dayun-current.is-uncertain b { color: #7959bc; }
html body.tianji-mystic.orchid-tool-page #visionForm > :is(.vision-entry-card, .vision-submit-actions) { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); box-shadow: inset 0 1px 3px #3e28630d; }
html body.tianji-mystic.orchid-tool-page :is(.dropzone, .vision-upload-card .dropzone) { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page .dropzone:hover { background: var(--surface-raised, #f2edf9); border-color: var(--line-strong, rgba(121, 89, 188, .29)); }
html body.tianji-mystic.orchid-tool-page .vision-upload-card .dz-icon { color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); box-shadow: none; }
html body.tianji-mystic.orchid-tool-page :is(.vision-field-card.is-low, .vision-dayun-row.is-low) { background: #fff3da; border-color: #9a6b2488; }
html body.tianji-mystic.orchid-tool-page :is(.vision-field-card.is-edited, .vision-dayun-row.is-edited) { background: #f0f3fc; border-color: #7485bd80; }

/* 双盘合参: a quiet dual-color distinction, without invented scores. */
html body.tianji-mystic.orchid-tool-page .profile-card { border-color: #7959bc45; background: linear-gradient(160deg, #f4effb, #ffffff 220px); }
html body.tianji-mystic.orchid-tool-page .profile-card[data-person="right"] { border-color: #bd628641; background: linear-gradient(160deg, #fbf0f6, #ffffff 220px); }
html body.tianji-mystic.orchid-tool-page .profile-card legend > span { color: #6845ac; border-color: #7959bc4d; background: #eee5f9; }
html body.tianji-mystic.orchid-tool-page .profile-card[data-person="right"] legend > span { color: #a55267; border-color: #bd62864d; background: #fbf0f6; }
html body.tianji-mystic.orchid-tool-page .profile-card:focus-within { border-color: #7959bc78; box-shadow: 0 0 0 3px #7959bc14; }
html body.tianji-mystic.orchid-tool-page :is(.position-card, .relation-card, .result-summary, .chart-person, .highlight-item, .location-block, .submit-area, .reality-check li) { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page .summary-seal { color: var(--gold, #7959bc); background: var(--surface-raised, #f2edf9); box-shadow: inset 0 1px 3px #3e28630d; }
html body.tianji-mystic.orchid-tool-page .ai-reading-empty > span { color: transparent; border: 0; border-radius: 0; background: url('/assets/home-icons-v3/hehun.webp') center / contain no-repeat; }

/* 六爻: existing SVG bronze coins gain a dark, illuminated casting field. */
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .ritual-stage {
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .coin-stage::before { background: radial-gradient(ellipse, #d7ad681f, transparent 70%); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .coin svg { filter: saturate(1.02) drop-shadow(0 9px 5px #8b68b42b); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .coin-label { color: #736b83; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .coin[data-face] + .coin-label { color: #8f6000; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] :is(.yao-mark::before, .yao-mark::after) { background: linear-gradient(90deg, #b87900, #d7a33f); box-shadow: 0 2px 5px #3e28631a; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .yao-mark.empty::before { background: transparent; border-color: #7959bc2c; box-shadow: none; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .yao-row.is-changing :is(.yao-mark::before, .yao-mark::after) { background: #bd6286; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .yao-row.is-new { background: #7959bc09; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .progress-track span { background: linear-gradient(90deg, #8860c4, #7952b8); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .gua-summary { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .primary-gua { border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .empty-reading-art { width: min(100%, 210px); border: 0; background: transparent; box-shadow: none; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="yaogua"] .empty-reading-art img { aspect-ratio: 1; object-fit: contain; opacity: .9; filter: saturate(1.02) brightness(1.02) drop-shadow(0 18px 22px #8b68b426); }

/* 紫微: twelve distinct readable palaces, softened star colors and an orbital center. */
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .astrolabe { background: var(--canvas, #fbfafe); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .palace { background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc)); border-color: var(--line, rgba(121, 89, 188, .14)); box-shadow: none; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .palace.is-soul { background: linear-gradient(145deg, #fbf0f6, #fff8fc); border-color: #bd628638; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .palace.is-body { background: linear-gradient(145deg, #eef8f4, #f5fbf8); border-color: #43877938; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .palace:hover { background: var(--surface-raised, #f2edf9); border-color: var(--line-strong, rgba(121, 89, 188, .29)); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .palace.is-expanded { background: linear-gradient(135deg, #f0e8fa, #f2edf9); border-color: #7959bc78; box-shadow: inset 0 1px 0 #ffffffcc; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .palace.is-expanded .palace-title { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .chart-center { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] .center-emblem { color: var(--gold, #7959bc); border-color: var(--line, rgba(121, 89, 188, .14)); background: var(--surface-control, #fcfaff); box-shadow: inset 0 1px 3px #3e28630d; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="ziwei"] :is(.palace-details, .orchid-palace-detail) { background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc)); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page .orchid-palace-detail :is(.palace-details-title, p b, .palace-detail-row > b) { color: var(--gold, #7959bc); }
html body.tianji-mystic.orchid-tool-page .orchid-palace-detail p { color: var(--ink-soft, #514a63); }
html body.tianji-mystic.orchid-tool-page .orchid-palace-detail > header button { color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); }

/* Dream / photo: illustrated empty states, legible chips and a responsive dropzone. */
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="dream"] .result-empty { background: transparent; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="dream"] .result-empty::before { background-image: none; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="xiangshu"] .image-dropzone {
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="xiangshu"] .image-dropzone.is-dragging { border-color: var(--line-strong, rgba(121, 89, 188, .29)); background: var(--surface-raised, #f2edf9); box-shadow: inset 0 1px 3px #3e28630d; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="xiangshu"] .image-dropzone:has(.upload-preview:not([hidden])) { background: var(--surface-control, #fcfaff); border-color: var(--line, rgba(121, 89, 188, .14)); }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="xiangshu"] .upload-icon { color: var(--ink-soft, #514a63); background: var(--surface-raised, #f2edf9); border-color: var(--line, rgba(121, 89, 188, .14)); box-shadow: inset 0 1px 3px #3e28630d; }
html body.tianji-mystic.orchid-tool-page[data-orchid-tool="xiangshu"] .upload-preview img { background: var(--surface-control, #fcfaff); box-shadow: inset 0 1px 3px #3e28630d; }

/* Real busy state only. These add no timers, progress values or extra actions. */
html body.tianji-mystic.orchid-tool-page .mystic-work-active { border-color: #7959bc4d; }
html body.tianji-mystic.orchid-tool-page .mystic-work-indicator {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 12px;
  vertical-align: middle;
  border: 1px solid #7959bc26;
  border-top-color: #7959bc;
  border-right-color: #a58bcc;
  border-radius: 50%;
  animation: mystic-tool-orbit 2.2s linear infinite;
  animation-play-state: paused;
}
html body.tianji-mystic.orchid-tool-page .mystic-work-indicator[hidden] { display: none; }
html body.tianji-mystic.orchid-tool-page .mystic-work-indicator.mystic-indicator-visible { animation-play-state: running; }
/* Page/card entry and decorative floating are owned by mystic-motion. */
@keyframes mystic-tool-orbit { to { transform: rotate(360deg); } }

@media (max-width: 980px) {
  html body.tianji-mystic.orchid-tool-page :is(.hero, .hehun-hero, .orchid-input-intro, .ziwei-entry-head) { background: var(--surface-control, #fcfaff); }
  html body.tianji-mystic.orchid-tool-page .mystic-tool-intro { padding-right: 132px; }
  html body.tianji-mystic.orchid-tool-page .mystic-tool-art { right: 8px; width: 112px; height: 112px; }
}
@media (max-width: 640px) {
  html body.tianji-mystic.orchid-tool-page .mystic-tool-intro { min-height: 118px; padding: 18px 99px 18px 16px; text-align: left; }
  html body.tianji-mystic.orchid-tool-page :is(.orchid-input-intro, .ziwei-entry-head).mystic-tool-intro { min-height: 110px; padding: 16px 99px 16px 16px; }
  html body.tianji-mystic.orchid-tool-page .mystic-tool-art { right: 3px; width: 92px; height: 92px; }
  html body.tianji-mystic.orchid-tool-page :is(.hero h1, .hehun-hero h1) { font-size: 24px; text-wrap: balance; }
  html body.tianji-mystic.orchid-tool-page .hehun-hero.mystic-tool-intro { min-height: 164px; padding: 22px 103px 22px 18px; }
  html body.tianji-mystic.orchid-tool-page .hehun-hero .mystic-tool-art { right: 4px; width: 98px; height: 98px; }
  html body.tianji-mystic.orchid-tool-page .mystic-empty-object { width: 114px; height: 114px; }
  html body.tianji-mystic.orchid-tool-page .mystic-tool-intro .eyebrow { font-size: 10px; letter-spacing: .7px; }
  html body.tianji-mystic.orchid-tool-page .mystic-tool-intro .eyebrow span { display: none; }
}
html body.tianji-mystic.orchid-tool-page.mystic-tools-paused *,
html body.tianji-mystic.orchid-tool-page.mystic-tools-paused *::before,
html body.tianji-mystic.orchid-tool-page.mystic-tools-paused *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  html body.tianji-mystic.orchid-tool-page *,
  html body.tianji-mystic.orchid-tool-page *::before,
  html body.tianji-mystic.orchid-tool-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
