/* Restored production orchid palette; keep the current layout and interactions. */
html:has(body.tianji-mystic),
html[data-theme] body.tianji-orchid.tianji-mystic,
html body.tianji-mystic {
  --orchid: #7959bc; --orchid-deep: #6845ac; --orchid-wash: #f4effb;
  --canvas: #fbfafe; --canvas-soft: #f6f2fc;
  --paper: #ffffff; --paper-solid: #ffffff; --paper-strong: #ffffff;
  --paper-subtle: #f6f2fb; --paper-muted: #f2edf9;
  --bg: #fbfafe; --bg0: #fbfafe; --bg1: #f8f5fc; --bg2: #f2edf9;
  --ink: #2b263d; --ink-soft: #514a63; --dim: #736b83; --faint: #80768f;
  --gold: #7959bc; --gold-bright: #7959bc; --gold-deep: #6845ac;
  --gold-fill: #7959bc; --gold-wash: #f4effb;
  --jade: #438779; --jade-fill: #5ba493; --jade-wash: #eef8f4;
  --sky: #7485bd; --sky-end: #8575bc; --sky-wash: #f0f3fc;
  --blue: #7485bd; --blue-wash: #f0f3fc;
  --rose: #bd6286; --seal: #bd6286; --seal-wash: #fbf0f6;
  --cinnabar: #bd6286; --cinnabar-wash: #fbf0f6;
  --line: rgba(121, 89, 188, .14); --line-strong: rgba(121, 89, 188, .29);
  --card: #ffffff; --card-deep: #f7f3fc;
  --surface-panel: #ffffff; --surface-control: #fcfaff; --surface-raised: #f2edf9;
  --surface-muted: #f6f2fb; --surface-gold: #f4effb; --surface-jade: #eef8f4;
  --surface-card-gradient: linear-gradient(145deg,#ffffff,#fdfbff);
  --page-background: radial-gradient(ellipse at 78% 0%,#e8dcf740,transparent 45%),#fbfafe;
  --primary-start: #8860c4; --primary-end: #7952b8; --primary-text: #ffffff;
  --action-start: #8860c4; --action-end: #7952b8; --action-text: #ffffff;
  --danger: #ad4969; --danger-wash: #fff1f5;
  --success: #367c68; --success-wash: #eef8f2;
  --backdrop: rgba(43, 38, 61, .32);
  --shadow: 0 20px 60px rgba(115, 76, 161, .065);
  --shadow-card: inset 0 1px 0 #ffffffb3,0 16px 40px rgba(139, 104, 180, .045);
  --shadow-float: inset 0 1px 0 #ffffff12,0 28px 80px rgba(62, 40, 103, .14);
  --focus-ring: 0 0 0 3px rgba(121, 89, 188, .2);
  --ai-answer-body: #514a63; --ai-answer-heading: #2b263d;
  color-scheme: light !important;
}
html body.tianji-mystic {
  color: var(--ink);
  background: var(--page-background);
  isolation: isolate;
}
html body.tianji-mystic::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(#fbfafeed, #fbfafef5 85%), url('/assets/tianji-mystic-intro.webp') center 20% / cover no-repeat;
  opacity: .24;
}
html body.tianji-mystic::selection { color: #392755; background: #e8dcf7; }
html body.tianji-mystic ::selection { color: #392755; background: #e8dcf7; }
html body.tianji-mystic :is(input, textarea, select) { color: var(--ink); accent-color: var(--gold); }
html body.tianji-mystic :is(input, textarea)::placeholder { color: var(--faint); opacity: 1; }
html body.tianji-mystic select option { color: var(--ink); background: var(--surface-control); }
html body.tianji-mystic input:-webkit-autofill { -webkit-text-fill-color: var(--ink); box-shadow: 0 0 0 1000px var(--surface-control) inset; }
html body.tianji-orchid.tianji-mystic .site-header {
  background: #fdfbff; border-color: var(--line); box-shadow: 0 6px 24px #3e28630c;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
html body.tianji-mystic :is(.site-brand-name, .site-brand .brand-name) { color: #7959bc; }
html body.tianji-mystic .personal-avatar {
  color: #6845ac; border-color: #7959bc30;
  background: radial-gradient(circle at 30% 15%, #efd9f155, transparent 65%), linear-gradient(145deg,#f0d9f1,#d9ceef);
  box-shadow: inset 0 1px 2px #ffffff59, 0 3px 10px #3e28631a;
}
html body.tianji-mystic .site-nav-bar.home-site-nav-bar .personal-center-toggle { color: var(--ink); background: var(--surface-muted); border-color: var(--line); }
html body.tianji-mystic .site-nav-bar.home-site-nav-bar .personal-avatar { color: #6845ac; border-color: #7959bc30; background: radial-gradient(circle at 30% 15%, #efd9f155, transparent 65%), linear-gradient(145deg,#f0d9f1,#d9ceef); }
html body.tianji-mystic :is(.personal-center-toggle, .site-nav-link, .mobile-tab) { color: var(--dim); }
html body.tianji-mystic :is(.site-nav-link, .mobile-tab):is([aria-current='page'], [aria-expanded='true']) { color: var(--gold); }
html body.tianji-mystic :is(.site-nav-toggle, .mobile-explore-close, .home-header-search) { color: var(--dim); border-color: var(--line); background: var(--surface-muted); }
html body.tianji-mystic :is(.personal-center-menu, .mobile-explore-sheet, .home-search-panel, .account-dialog-surface, .history-drawer, .consent-surface, .profile-detail-surface, .daily-share-surface) {
  color: var(--ink); background: var(--surface-card-gradient); border-color: var(--line-strong); box-shadow: var(--shadow-float);
}
html body.tianji-mystic .mobile-tab-bar { border-top-color: var(--line); background: #fdfbff; box-shadow: 0 -8px 32px #3e286312; backdrop-filter: none; -webkit-backdrop-filter: none; }
html body.tianji-mystic .mobile-tab:is([aria-current='page'], [aria-expanded='true']) .mobile-tab-icon { color: var(--gold); background: #7959bc15; border-color: #7959bc30; box-shadow: none; }
html body.tianji-mystic :is(.mobile-task-strip a, .personal-center-item:hover, .home-search-field, .home-search-result:hover) { color: var(--gold); border-color: var(--line); background: var(--surface-raised); }
html body.tianji-mystic :is(.home-search-result, .home-search-field input) { color: var(--ink); background: transparent; }
html body.tianji-mystic :is(.home-search-result-title, .home-search-result strong) { color: var(--ink); }
html body.tianji-mystic :is(.home-search-status, .home-search-result-meta, .home-search-result small) { color: var(--dim); }
html body.tianji-mystic .home-search-footer { background: var(--surface-muted); border-color: var(--line); }
html body.tianji-mystic :is(.home-search-footer a, .home-search-result-mark) { color: var(--gold); }
html body.tianji-mystic .home-search-result-mark { background: var(--surface-raised); }
html body.tianji-mystic :is(.primary-btn, .primary-button, .btn-primary, .dialog-primary-btn, .birth-flow-next, .wardrobe-primary, .daily-share-primary) {
  color: var(--primary-text); border-color: #7959bc;
  background: linear-gradient(115deg,var(--primary-start),var(--primary-end));
  box-shadow: inset 0 1px 0 #ffffff30, 0 5px 16px #3e286320;
}
html body.tianji-mystic :is(.primary-btn, .primary-button, .btn-primary, .dialog-primary-btn, .birth-flow-next):hover:not(:disabled) { color: var(--primary-text); background: linear-gradient(120deg,#8c5fc4,#805bbd); }
html body.tianji-mystic :is(.daily-share-close, .daily-share-secondary, .wardrobe-panel button, .wardrobe-weather button) { color: var(--gold); border-color: var(--line); background: var(--surface-raised); }
html body.tianji-mystic :is(.daily-share-preview, .wardrobe-panel, .wardrobe-weather, .wardrobe-editor, .wardrobe-outfit-item, .wardrobe-item) { color: var(--ink); background: var(--surface-muted); border-color: var(--line); }
html body.tianji-mystic :is(.wardrobe-panel input:not([type='checkbox']), .wardrobe-panel select, .wardrobe-city-form input) { background: var(--surface-control); border-color: var(--line-strong); }
html body.tianji-mystic .wardrobe-missing { color: #8b6434; background: #fcf5e9; }
html body.tianji-mystic .wardrobe-recommendation-heading span { color: var(--jade); background: var(--jade-wash); }
html body.tianji-mystic :is(.wardrobe-eyebrow, .wardrobe-weather-heading b, .wardrobe-weather a, .wardrobe-inventory summary) { color: var(--gold); }
html body.tianji-mystic :is(.wardrobe-muted, .wardrobe-status, .wardrobe-weather p, .wardrobe-weather small, .wardrobe-photo-field small, .wardrobe-fields label, .wardrobe-checks label, .wardrobe-outfit-item small, .wardrobe-reasons, .wardrobe-filter, .wardrobe-item > small, .wardrobe-storage-note, .wardrobe-inventory summary span) { color: var(--dim); }
html body.tianji-mystic :is(.wardrobe-outfit-item b, .wardrobe-item b) { color: var(--ink); }
html body.tianji-mystic :is(.wardrobe-error, .wardrobe-item-actions button[data-confirm='true']) { color: var(--danger); }
html body.tianji-mystic .wardrobe-panel button.wardrobe-primary { color: var(--primary-text); border-color: #7959bc; background: linear-gradient(115deg,var(--primary-start),var(--primary-end)); }
html body.tianji-mystic .new-profile-intro > i { color: var(--primary-text); }
html body.tianji-mystic .service-status-banner { color: #8b6434; background: #fcf5e9; border-color: #b68b4340; }
html body.tianji-mystic .service-status-banner span { color: #736b83; }
@media (max-width: 980px) {
  html body.tianji-mystic .site-nav-panel { color: var(--ink); background: var(--surface-panel); border-color: var(--line); }
  html body.tianji-mystic .site-nav-link:hover { color: var(--gold); background: var(--surface-raised); }
  html body.tianji-mystic .site-nav-link[aria-current='page'] { color: var(--gold); border-color: var(--line-strong); background: var(--surface-gold); }
}
@media print {
  html body.tianji-mystic::before { display: none; }
  html body.tianji-mystic { background: #fff; color: #222; }
  html body.tianji-mystic main,
  html body.tianji-mystic main * { color: #222 !important; text-shadow: none !important; box-shadow: none !important; }
  html body.tianji-mystic main :is(section, article, header, details, button, input, select, textarea, .glass, .paper-card, .hehun-panel, .markdown, .pillar, .ziwei-palace) { background: transparent !important; border-color: #ccc !important; }
  html body.tianji-mystic :is(.home-hero-art, .mystic-tool-art) { display: none; }
}

/* Public registration stays readable in the normal page flow. */
html body.tianji-mystic .site-registration-link {
  display: inline-block;
  padding-block: 3px;
  color: var(--dim);
  font: 400 11px/1.6 var(--sans);
  letter-spacing: 0;
  white-space: nowrap;
  text-decoration: none;
}
html body.tianji-mystic .site-registration-link:hover {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body.tianji-mystic .site-registration-line { margin: 6px 0 0; }
html body.tianji-mystic .site-registration-footer {
  margin: 0 auto 24px;
  padding: 4px 20px;
  text-align: center;
}
html body.tianji-mystic :is(.home-footer, .site-footer, .hehun-footer, .play-footer, .astro-footer):has(.site-registration-link) {
  flex-wrap: wrap;
  row-gap: 4px;
}
