/* 兰紫玫瑰 · 工具工作区。仅表现层，不改变排盘、授权或生成内容。 */
body.orchid-tool-page {
  --tool-lilac: #f3effa;
  --tool-rose-wash: #fbf0f5;
  --tool-shadow: 0 8px 30px rgba(82, 57, 124, .045);
  background: radial-gradient(ellipse at 90% 0, #f7effa 0, transparent 34rem), #fbfafe;
  color: var(--ink, #2b263d);
}
html[data-theme="light"] body.orchid-tool-page::before { background-image: none; }
body.orchid-tool-page #stars, body.orchid-tool-page .bagua-bg { display: none; }
body.orchid-tool-page :is(.paper-card, .hehun-panel, .glass) {
  border-color: rgba(121, 89, 188, .15);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--tool-shadow);
}
body.orchid-tool-page :is(.page-shell, .hehun-main) { padding-top: 32px; }
body.orchid-tool-page :is(.hero, .hehun-hero) {
  position: relative;
  padding: 8px 0 20px;
  margin-bottom: 22px;
}
body.orchid-tool-page :is(.hero h1, .hehun-hero h1) {
  color: var(--ink, #2b263d);
  font-size: clamp(28px, 3.1vw, 42px);
  line-height: 1.5;
  letter-spacing: .04em;
}
body.orchid-tool-page :is(.eyebrow, .step, .card-kicker) { color: var(--orchid, #7959bc); }
body.orchid-tool-page :is(.hero-copy, .hehun-hero-copy > p:last-child, .hero > p:last-of-type) {
  color: var(--dim, #736b83);
  font: 14px/1.9 var(--sans, sans-serif);
}
.orchid-input-intro { padding-bottom: 18px; }
.orchid-input-intro h2 { margin: 0 0 5px; font: 600 26px/1.45 var(--serif, serif); letter-spacing: .06em; }
.orchid-input-intro p { margin: 0; color: var(--dim, #736b83); font-size: 12px; line-height: 1.8; }
body.orchid-tool-page :is(.ziwei-entry-head, .panel-heading, .card-heading) { border-color: var(--line, rgba(121,89,188,.14)); }
body.orchid-tool-page :is(.panel-heading h2, .card-heading h2, .section-heading h2) { font-size: clamp(20px, 2vw, 25px); }

/* A small route through the actual stages. Unavailable stages stay disabled. */
.orchid-stepper { display: flex; align-items: center; gap: 6px; margin: 0 0 22px; padding: 0; list-style: none; }
.orchid-stepper li { display: flex; align-items: center; min-width: 0; }
.orchid-stepper li + li::before { content: "›"; margin-right: 6px; color: #b4a6cc; }
.orchid-stepper button { display: flex; align-items: center; gap: 7px; min-height: 36px; border: 0; border-radius: 9px; padding: 5px 9px; background: transparent; color: var(--dim, #736b83); font: 500 12px/1.5 var(--sans, sans-serif); cursor: pointer; white-space: nowrap; }
.orchid-stepper b { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid #e6dff2; border-radius: 50%; font-size: 10px; font-weight: 500; }
.orchid-stepper button[aria-current="step"] { color: var(--orchid-deep, #6845ac); background: var(--tool-lilac); }
.orchid-stepper button[aria-current="step"] b { color: white; background: var(--orchid, #7959bc); border-color: var(--orchid, #7959bc); }
.orchid-stepper button:disabled { color: #9890a6; opacity: 1; cursor: default; }
.orchid-stepper button:not(:disabled):hover { background: var(--tool-lilac); }
body[data-orchid-tool="bazi"] .orchid-stepper, body[data-orchid-tool="ziwei"] .orchid-stepper { gap: 2px; }
body[data-orchid-tool="bazi"] .orchid-stepper button, body[data-orchid-tool="ziwei"] .orchid-stepper button { padding-inline: 5px; font-size: 11px; }

/* Selection, focus and form hierarchy. Keep five-element semantic colors intact. */
body.orchid-tool-page :is(.seg, .segment, .mode-tabs, .seg-options, .picker-tabs, .time-mode-seg) { background: #f7f4fc; border-color: #e9e1f4; }
body.orchid-tool-page :is(.seg button.active, .segment button.active, .mode-tabs button.active, .picker-tab.active) { color: var(--orchid-deep, #6845ac); background: #fff; box-shadow: 0 2px 7px rgba(85,59,131,.08); }

/* Bazi entry modes share one quiet, inset control instead of layered tab styles. */
body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(420px, 100%);
  gap: 5px;
  margin: 0 0 24px;
  padding: 5px;
  border: 1px solid #eae3f2;
  border-radius: 16px;
  background: #f5f1fa;
}
body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  min-height: 46px;
  padding: 10px 12px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #786d89;
  box-shadow: none;
  font: 500 14px/1.5 var(--sans, sans-serif);
  letter-spacing: .02em;
  white-space: nowrap;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button.active {
  color: var(--orchid-deep, #6845ac);
  background: #fff;
  box-shadow: 0 2px 7px rgba(85,59,131,.08), 0 0 0 1px rgba(121,89,188,.09);
  font-weight: 600;
}
body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button::after { content: none; }
body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs .mode-tab-icon { width: 19px; height: 19px; flex: 0 0 19px; }
body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button:focus-visible { outline: 2px solid var(--orchid, #7959bc); outline-offset: 2px; }
@media (hover: hover) {
  body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button:not(.active):hover { color: var(--orchid-deep, #6845ac); background: #ede6f6; }
}
@media (max-width: 380px) {
  body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button { gap: 7px; padding-inline: 6px; font-size: 13px; }
}

body.orchid-tool-page :is(#baziForm, #ziweiForm) :is(.seg, .segment) button.active { color: #7046ad; background: #f1eafa; box-shadow: none; }
body.orchid-tool-page :is(input[type="text"], input[type="number"], select, textarea, .picker-trigger) {
  border-color: #e3dcec;
  border-radius: 12px;
  background: #fefcff;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
body.orchid-tool-page :is(input, select, textarea, .picker-trigger):focus-visible { border-color: var(--orchid, #7959bc); outline: 3px solid rgba(121,89,188,.16); outline-offset: 2px; }
body.orchid-tool-page :is(.field, .question-field):focus-within > :is(label, .field-title, .question-title) { color: var(--orchid-deep, #6845ac); }
body.orchid-tool-page :is(.picker-trigger-mark, .vision-step-mark) { color: var(--orchid, #7959bc); background: #f3eefb; border-color: #e6dcf5; }
body.orchid-tool-page :is(.calendar-picker-option, .time-option, .location-option).is-selected {
  color: #fff; background: var(--orchid, #7959bc); border-color: var(--orchid, #7959bc);
}
body.orchid-tool-page :is(.calendar-picker-option, .time-option, .location-option).is-selected :is(small, span) { color: inherit; }
body.orchid-tool-page :is(.birth-confirm-card, .vision-review-summary, .capture-guide, .consent-box, .dream-extra-details, .birth-confirm-actions) { background: #faf7fd; border-color: #e9e1f4; }
body.orchid-tool-page :is(.birth-confirm-card, .vision-review-summary) { border-radius: 15px; }
body.orchid-tool-page :is(#baziForm, #ziweiForm).birth-flow-flat .birth-confirm-actions { grid-template-columns: 1fr; background: transparent; }
body.orchid-tool-page :is(#baziForm, #ziweiForm).birth-flow-flat .birth-flow-section > .field { margin-bottom: 0; }
body.orchid-tool-page .app-dialog-surface { border: 1px solid #e5dcf2; background: #fff; box-shadow: 0 24px 90px rgba(47,32,71,.18); }
body.orchid-tool-page .app-dialog-surface::before { border: 0; }
body.orchid-tool-page .dialog-glow { opacity: .3; }
body.orchid-tool-page :is(.primary-btn, .primary-button, .primary-action, .submit-btn, .ai-generate-button, .reading-followup-send) {
  color: #fff; border-color: transparent; background: linear-gradient(115deg, #8962c6, #7651b8); box-shadow: 0 5px 16px rgba(121,89,188,.16);
}
body.orchid-tool-page :is(.primary-btn, .primary-button, .primary-action, .submit-btn, .ai-generate-button, .reading-followup-send):hover:not(:disabled) { background: linear-gradient(115deg, #8058bf, #6845ac); box-shadow: 0 7px 20px rgba(121,89,188,.22); }
body.orchid-tool-page #baziForm #btnPaipan { background: linear-gradient(115deg, #8962c6, #7651b8); color: #fff; border-color: transparent; }
body.orchid-tool-page :is(.secondary-button, .ghost-btn, .ai-secondary-button) { color: var(--orchid-deep, #6845ac); border-color: #dfd3ed; background: #fff; }
body.orchid-tool-page :is(.focus-options button.active, .focus-options input:checked + span, .emotion-grid input:checked + span, .seg-options input:checked + span) { color: var(--orchid-deep, #6845ac); background: #f0e9fa; border-color: #bba1dd; }
body.orchid-tool-page :is(.emotion-grid label > span, .focus-options label > span, .kind-options label > span) { transition: background .2s, border-color .2s, transform .2s; }
body.orchid-tool-page :is(.emotion-grid, .focus-options, .kind-options) label:hover > span { border-color: #bea7dc; }

/* Reading is a quiet white surface, with headings and an optional section index. */
body.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) { color: #393246; font-size: 15px; line-height: 1.95; }
body.orchid-tool-page :is(.result-text, .ai-reading-text, .reading-followup-message-body) { font-family: var(--sans, sans-serif); }
body.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) :is(h2, h3) { color: #392c50; scroll-margin-top: 100px; }
body.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) h2 { padding-bottom: .45em; border-bottom: 1px solid #ede5f5; }
body.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) blockquote { background: #f7f2fc; border-left-color: var(--orchid, #7959bc); color: #635473; }
body.orchid-tool-page :is(.reading-plan, .reading-followup, .ai-reading-text, .followup-panel) { border-color: #e8def2; background: linear-gradient(135deg, #fdfbff, #fff); }
body.orchid-tool-page :is(.reading-followup-message.user, .followup-message.user) { background: #f1eafa; border-color: #e3d4f2; }
body.orchid-tool-page .reading-followup-message { box-shadow: 0 3px 12px rgba(80,55,120,.025); }
body.orchid-tool-page .reading-followup-suggestions button { background: #fff; border-color: #e1d4ee; min-height: 38px; }
body.orchid-tool-page .reading-followup-suggestions button:hover { color: var(--orchid-deep, #6845ac); background: #f3edfb; }
.orchid-reading-index { padding: 12px 14px; margin: 18px 0; border: 1px solid #e7def1; border-radius: 13px; background: #fbf8ff; }
.orchid-reading-index summary { color: var(--orchid-deep, #6845ac); font: 600 12px/1.8 var(--sans, sans-serif); cursor: pointer; }
.orchid-reading-index nav { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 10px; }
.orchid-reading-index button { max-width: 100%; padding: 7px 11px; border: 1px solid #ebe3f4; border-radius: 8px; background: #fff; color: #645471; font: 12px/1.6 var(--sans, sans-serif); text-align: left; cursor: pointer; }
.orchid-reading-index button:hover, .orchid-reading-index button[aria-current="location"] { border-color: #b9a0d8; color: var(--orchid-deep, #6845ac); background: #f2ebfa; }
body.orchid-tool-page :is(.result-status, .ai-reading-status, .generation-notice) { border-radius: 12px; }
body.orchid-tool-page :is(.result-status.is-complete, .ai-reading-status.is-complete) { color: #557969; background: #eff7f3; }
body.orchid-tool-page :is(.report-panel, .reading-result, .result-live, .vision-review-panel):not([hidden]) { animation: orchid-reveal .3s ease both; }

/* Three real coins, then six real lines. Motion accompanies the existing cast. */
body[data-orchid-tool="yaogua"] .ritual-stage { border-color: #e6ddf1; background: radial-gradient(ellipse at 50% 10%, #ede2f7, transparent 60%), #fbf9ff; }
body[data-orchid-tool="yaogua"] .coin-stage { position: relative; min-height: 124px; }
body[data-orchid-tool="yaogua"] .coin-stage::before { content: ""; position: absolute; inset: 48% 4% 6%; border: 1px solid #d9c7ed; border-radius: 50%; background: radial-gradient(ellipse, #e8daf4 0, transparent 70%); transform: rotate(-5deg); }
body[data-orchid-tool="yaogua"] .coin { z-index: 1; width: 70px; height: 70px; border-color: #b89a78; color: #866243; background: radial-gradient(circle at 35% 25%, #fffaf0, #eee0ca 68%, #d5b993); box-shadow: inset 0 0 0 4px #f9efdc, inset 0 0 0 5px #d8bea0, 0 8px 15px rgba(92,65,115,.16); }
body[data-orchid-tool="yaogua"] .coin[data-face="back"] { color: #72528d; border-color: #ab92ba; background: radial-gradient(circle at 35% 25%, #fbf8ff, #e2d5ed 68%, #c6afd8); box-shadow: inset 0 0 0 4px #f1eaf7, inset 0 0 0 5px #c5aed6, 0 8px 15px rgba(92,65,115,.13); }
body[data-orchid-tool="yaogua"] .coin-stage.is-shaking .coin { animation-name: orchid-coin-toss; animation-duration: .65s; }
body[data-orchid-tool="yaogua"] .coin-stage.is-shaking::before { animation: orchid-coin-ripple .79s ease both; }
body[data-orchid-tool="yaogua"] .yao-mark::before, body[data-orchid-tool="yaogua"] .yao-mark::after { border-radius: 3px; background: #9474c6; box-shadow: none; }
body[data-orchid-tool="yaogua"] .yao-mark.empty::before { height: 9px; border: 1px solid #e5dcef; background: transparent; }
body[data-orchid-tool="yaogua"] .yao-row.is-changing .yao-mark::before, body[data-orchid-tool="yaogua"] .yao-row.is-changing .yao-mark::after { background: #bd6286; }
body[data-orchid-tool="yaogua"] .yao-row.is-new { border-radius: 7px; background: rgba(121,89,188,.05); animation: orchid-line-arrive .38s ease both; }
body[data-orchid-tool="yaogua"] .yao-kind { font-size: 11px; }
body[data-orchid-tool="yaogua"] .empty-reading-art { box-shadow: none; border-color: #eee5f6; }
body[data-orchid-tool="yaogua"] .progress-track span { background: linear-gradient(90deg, #9874c9, #bd6286); }
body[data-orchid-tool="yaogua"] .gua-summary { background: #faf7fd; border-color: #e7dcf1; }
body[data-orchid-tool="yaogua"] .primary-gua { border-color: #cdb6e7; }

/* Selected Ziwei palace: a clear state and a separate readable detail card. */
body[data-orchid-tool="ziwei"] .astrolabe { border-color: #dcd0ec; background: #f9f5fd; }
body[data-orchid-tool="ziwei"] .palace { background: #fff; border-color: #e7dff0; transition: background .18s, box-shadow .18s; }
body[data-orchid-tool="ziwei"] .palace:hover { background: #f8f3fd; }
body[data-orchid-tool="ziwei"] .palace.is-expanded { background: #f0e7fa; border-color: #a788cf; box-shadow: inset 0 0 0 1px #a788cf; }
body[data-orchid-tool="ziwei"] .palace.is-expanded .palace-title { color: #7044aa; }
body[data-orchid-tool="ziwei"] .chart-center { background: radial-gradient(circle, #f0e6fa, #fff 80%); }
body[data-orchid-tool="ziwei"] .center-emblem { border-color: #dfd0ee; box-shadow: 0 0 0 12px rgba(121,89,188,.025); }
body[data-orchid-tool="ziwei"] .palace-details { background: #fff; border-color: #d7c3ea; }
body[data-orchid-tool="ziwei"] .orchid-palace-selected .palace-details { display: none; }
.orchid-palace-detail { position: relative; margin-top: 16px; padding: 19px 22px; border: 1px solid #d9c6ed; border-radius: 15px; background: linear-gradient(110deg, #faf6ff, #fff 65%); animation: orchid-reveal .2s ease both; }
.orchid-palace-detail[hidden] { display: none; }
.orchid-palace-detail > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.orchid-palace-detail > header span { color: #967bb2; font-size: 11px; letter-spacing: .12em; }
.orchid-palace-detail > header button { width: 32px; height: 32px; border: 1px solid #e6dcf0; border-radius: 50%; background: #fff; color: #816699; cursor: pointer; }
.orchid-palace-detail .palace-details-title { display: block; color: #6845ac; font: 600 22px/1.5 var(--serif, serif); margin-bottom: 10px; }
.orchid-palace-detail .star-line { margin-bottom: 12px; }
.orchid-palace-detail p { margin: 9px 0 0; font-size: 13px; color: #736480; line-height: 1.8; }
.orchid-palace-detail p b { margin-right: 12px; font-weight: 500; color: #9978b7; }
.orchid-palace-detail .palace-detail-row { display: flex; align-items: baseline; gap: 12px; font-size: 13px; }
.orchid-palace-detail .palace-detail-row > b { font-weight: 500; color: #9978b7; }
.orchid-palace-detail :is(.star, .palace-detail-stars .star) { font-size: 13px; min-height: 24px; padding: 3px 7px; }
.orchid-palace-detail .brightness { font-size: 11px; }

/* Two independent profiles, linked without an invented compatibility score. */
body[data-orchid-tool="hehun"] .hehun-orbit { background: radial-gradient(ellipse, #f1e8fa, transparent 68%); }
body[data-orchid-tool="hehun"] .hehun-hero { padding: 30px 36px; }
body[data-orchid-tool="hehun"] .profile-card { border-color: #e3d8ef; border-radius: 17px; background: linear-gradient(#fbf8ff, #fff 180px); }
body[data-orchid-tool="hehun"] .profile-card[data-person="right"] { border-color: #efdae5; background: linear-gradient(#fff7fb, #fff 180px); }
body[data-orchid-tool="hehun"] .profile-card[data-person="right"] legend span { background: #f7e7ef; color: #ac597a; }
body[data-orchid-tool="hehun"] .profile-card:focus-within { box-shadow: 0 0 0 3px rgba(121,89,188,.045); }
body[data-orchid-tool="hehun"] :is(.position-card, .relation-card, .result-summary) { border-color: #e8def2; background: #fdfbff; }
body[data-orchid-tool="hehun"] .summary-seal { background: #f2e9fb; color: #8860b8; }

/* Dream chips and photo previews keep the input/result relationship visible. */
body[data-orchid-tool="dream"] .dream-form, body[data-orchid-tool="xiangshu"] .xiangshu-form { padding: 26px; }
body[data-orchid-tool="dream"] .emotion-grid { gap: 8px; }
body[data-orchid-tool="dream"] .emotion-grid label > span { min-height: 40px; font-size: 13px; }
body[data-orchid-tool="dream"] :is(.dream-extra-details, .dream-extra-body) { border-radius: 13px; }
body[data-orchid-tool="dream"] .result-empty { background: #fff; }
body[data-orchid-tool="dream"] .result-empty-art { box-shadow: none; }
body[data-orchid-tool="xiangshu"] .kind-options input:checked + span { color: #6845ac; background: #f4edfb; border-color: #bea3dd; box-shadow: none; }
body[data-orchid-tool="xiangshu"] .kind-options b { background: #fff; color: #8961b3; border-color: #e2d3ef; }
body[data-orchid-tool="xiangshu"] .kind-options small { font-size: 12px; }
body[data-orchid-tool="xiangshu"] .image-dropzone { border-color: #cbb6e4; background: linear-gradient(130deg, #fbf8ff, #fff7fb); border-radius: 17px; transition: border-color .18s, background .18s, box-shadow .18s; }
body[data-orchid-tool="xiangshu"] .image-dropzone.is-dragging { border-color: #8860bc; background: #f0e7fb; box-shadow: 0 0 0 5px rgba(121,89,188,.1); }
body[data-orchid-tool="xiangshu"] .image-dropzone:has(.upload-preview:not([hidden])) { border-style: solid; background: #faf7fd; }
body[data-orchid-tool="xiangshu"] .upload-icon { color: #976cc0; background: #f3e9fc; border: 1px solid #e6d6f4; }
body[data-orchid-tool="xiangshu"] .upload-preview:not([hidden]) { animation: orchid-reveal .24s ease both; }
body[data-orchid-tool="xiangshu"] .upload-preview img { border-radius: 12px; box-shadow: 0 4px 18px rgba(60,42,88,.07); }
body[data-orchid-tool="xiangshu"] :is(.capture-guide ul, .upload-empty small, .result-empty p) { font-size: 12px; }
body.orchid-tool-page :is(.result-empty h3, .empty-reading h2) { color: #574269; }

@keyframes orchid-reveal { from { opacity: .2; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes orchid-coin-toss { 0% { transform: translateY(0) rotateY(0); } 38% { transform: translateY(-36px) rotateY(420deg) rotateX(18deg); } 76% { transform: translateY(0) rotateY(900deg); } 88% { transform: translateY(-5px) rotateY(1010deg); } 100% { transform: translateY(0) rotateY(1080deg); } }
@keyframes orchid-coin-ripple { 0%, 45% { opacity: .35; transform: scale(.9); } 80% { opacity: .9; transform: scale(1.04); } 100% { opacity: 1; transform: scale(1); } }
@keyframes orchid-line-arrive { from { opacity: .35; transform: translateY(-5px) scaleX(.95); } to { opacity: 1; transform: none; } }
@media (min-width: 981px) {
  body[data-orchid-tool="yaogua"] .divination-grid { grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr); width: 100%; max-width: none; align-items: start; }
  body[data-orchid-tool="yaogua"] .empty-reading { grid-template-columns: 1fr; gap: 22px; }
  body[data-orchid-tool="yaogua"] .empty-reading-art { width: min(100%, 370px); justify-self: center; }
  body[data-orchid-tool="yaogua"] .empty-reading ol { width: 100%; max-width: none; margin-top: 18px; }
  body[data-orchid-tool="dream"] .result-card, body[data-orchid-tool="xiangshu"] .result-card { top: 104px; }
}
@media (max-width: 640px) {
  body.orchid-tool-page :is(.page-shell, .hehun-main) { padding-top: 22px; }
  body.orchid-tool-page :is(.paper-card, .hehun-panel, .glass) { border-radius: 17px; }
  body.orchid-tool-page :is(.hero, .hehun-hero) { padding: 0 0 8px; margin-bottom: 12px; }
  body[data-orchid-tool="hehun"] .hehun-hero { padding: 22px 20px; }
  body.orchid-tool-page :is(.hero h1, .hehun-hero h1) { font-size: 27px; line-height: 1.5; }
  body.orchid-tool-page :is(.hero-copy, .hehun-hero-copy > p:last-child, .hero > p:last-of-type) { font-size: 13px; }
  body[data-orchid-tool="dream"] .dream-form, body[data-orchid-tool="xiangshu"] .xiangshu-form { padding: 20px 16px; }
  body.orchid-tool-page :is(.reading, .markdown, .result-text, .ai-reading-text) { font-size: 15px; line-height: 1.9; }
  body.orchid-tool-page :is(input[type="text"], input[type="number"], select, textarea) { font-size: 16px; }
  body.orchid-tool-page :is(.kind-options, .emotion-grid, .focus-options) input { font-size: inherit; }
  body[data-orchid-tool="xiangshu"] .kind-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-orchid-tool="xiangshu"] .kind-options label > span { grid-template-columns: 1fr; justify-items: center; padding: 12px 5px; text-align: center; }
  body[data-orchid-tool="xiangshu"] .kind-options b { grid-row: auto; }
  body[data-orchid-tool="xiangshu"] .kind-options small { font-size: 10px; white-space: normal; }
  .orchid-stepper { gap: 3px; margin-bottom: 17px; }
  .orchid-stepper button { padding-inline: 5px; gap: 5px; font-size: 11px; }
  .orchid-stepper li + li::before { margin-right: 3px; }
  .orchid-reading-index { margin-block: 14px; }
  .orchid-reading-index button { min-height: 40px; }
  .orchid-palace-detail { padding: 15px; }
  .orchid-palace-detail .palace-details-title { font-size: 20px; }
  body[data-orchid-tool="yaogua"] .coin { width: 60px; height: 60px; }
  body[data-orchid-tool="yaogua"] .yao-row { grid-template-columns: 30px minmax(70px, 1fr) 78px; gap: 7px; }
  body.orchid-tool-page :is(#baziForm, #ziweiForm).birth-flow-flat .birth-flow-section { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body.orchid-tool-page *, body.orchid-tool-page *::before, body.orchid-tool-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* 手机工具页沿用首页类别色，操作按钮和步骤保持同一主色。 */
@media (max-width: 980px) {
  body.orchid-tool-page { --tool-accent:#68419f; --tool-wash:#eae0f7; --tool-line:#d7c2ed; }
  body[data-orchid-tool="hehun"] { --tool-accent:#a34870; --tool-wash:#f8e5ee; --tool-line:#eac2d3; }
  body[data-orchid-tool="yaogua"] { --tool-accent:#8e6328; --tool-wash:#f7edda; --tool-line:#e5d3b1; }
  body[data-orchid-tool="ziwei"] { --tool-accent:#416da8; --tool-wash:#e7effa; --tool-line:#c5d7ef; }
  body[data-orchid-tool="dream"] { --tool-accent:#7550b5; --tool-wash:#eee3f8; --tool-line:#d9c7eb; }
  body[data-orchid-tool="xiangshu"] { --tool-accent:#267363; --tool-wash:#e3f2ec; --tool-line:#bddcd1; }
  body.orchid-tool-page :is(.paper-card, .hehun-panel, .glass) { background:#fff; border-color:var(--tool-line); box-shadow:0 5px 18px #39234f08; }
  body.orchid-tool-page :is(.hero, .hehun-hero, .orchid-input-intro, .ziwei-entry-head) { padding:18px; border:1px solid var(--tool-line); border-radius:16px; background:var(--tool-wash); }
  body.orchid-tool-page .orchid-input-intro { margin-bottom:18px; }
  body.orchid-tool-page :is(.hero h1, .hehun-hero h1, .orchid-input-intro h2, .ziwei-entry-head h1, .eyebrow, .step, .card-kicker) { color:var(--tool-accent); }
  body.orchid-tool-page :is(.hero-copy, .hero > p:last-of-type, .hehun-hero-copy > p:last-child, .orchid-input-intro p) { color:#665c6e; }
  body.orchid-tool-page .orchid-stepper button[aria-current="step"] { background:#eae0f7; color:#59358f; }
  body.orchid-tool-page :is(.seg button.active, .segment button.active, .mode-tabs button.active, .picker-tab.active),
  body.orchid-tool-page :is(#baziForm, #ziweiForm) :is(.seg, .segment) button.active,
  body[data-orchid-tool="bazi"] #inputPanel > .mode-tabs button.active { background:var(--orchid); color:#fff; box-shadow:0 3px 9px #59358f20; }
  body.orchid-tool-page :is(#baziForm, #ziweiForm) button.active .calendar-seg-alias { color:#fff; }
  body.orchid-tool-page :is(input[type="text"], input[type="number"], select, textarea, .picker-trigger) { background:#fff; border-color:#cfc0df; }
  body.orchid-tool-page :is(.picker-trigger-mark, .vision-step-mark) { color:var(--tool-accent); background:var(--tool-wash); border-color:var(--tool-line); }
  body.orchid-tool-page :is(.birth-confirm-card, .vision-review-summary, .capture-guide, .dream-extra-details) { background:var(--tool-wash); border-color:var(--tool-line); }
  body[data-orchid-tool="hehun"] .profile-card { background:linear-gradient(#eae0f7,#fff 190px); }
  body[data-orchid-tool="hehun"] .profile-card[data-person="right"] { background:linear-gradient(#f8e5ee,#fff 190px); }
  body[data-orchid-tool="xiangshu"] .image-dropzone { background:#edf7f2; border-color:#9fc8b9; }
}
