/* Shared midnight overlays. Scope stays inside actual dialogs, drawers and navigation menus.
   No visibility, stacking order, account state, QR pixels or interaction behavior is changed. */
html body.tianji-mystic.tianji-orchid {
  --mystic-dialog-surface: linear-gradient(145deg, var(--paper-strong), var(--paper));
  --mystic-dialog-inset: var(--surface-control);
}
html:not([data-account-page="standalone"]) body.tianji-mystic.tianji-orchid {
  --mystic-dialog-surface: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc));
  --mystic-dialog-nested: var(--surface-raised, #f2edf9);
}

/* Both native <dialog> and the existing custom modal shells. */
html body.tianji-mystic.tianji-orchid :is(
  .app-dialog-surface, .account-dialog-surface, .account-settings-dialog-surface,
  .profile-detail-dialog, .profile-detail-surface, .quota-purchase-surface,
  .hehun-dialog-surface, .yaogua-dialog-surface, .consent-surface, .consent-panel,
  .daily-share-surface, .payment-dialog-card, .payment-confirm-surface, .completion-card
) {
  color: var(--ink);
  border-color: var(--line-strong);
  background: var(--mystic-dialog-surface);
  box-shadow: var(--shadow-float), inset 0 1px 0 #ffffff66;
}
html:not([data-account-page="standalone"]) body.tianji-mystic.tianji-orchid :is(
  .app-dialog-surface, .account-dialog-surface, .account-settings-dialog-surface,
  .profile-detail-dialog, .profile-detail-surface, .quota-purchase-surface,
  .hehun-dialog-surface, .yaogua-dialog-surface, .consent-surface, .consent-panel,
  .daily-share-surface, .payment-dialog-card, .payment-confirm-surface, .completion-card,
  .history-drawer, .dream-history-drawer, .personal-center-menu, .site-nav-panel
) { backdrop-filter: none; -webkit-backdrop-filter: none; }
html body.tianji-mystic.tianji-orchid .account-dialog[data-view="auth"] .account-dialog-surface { color: var(--ink); background: var(--paper-strong); }
html body.tianji-mystic.tianji-orchid :is(.app-dialog-surface::before, .dialog-glow) { border-color: var(--line); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(
  .app-dialog-mask, .account-dialog .app-dialog-mask, .hehun-dialog-mask,
  .yaogua-dialog-mask, .consent-mask, .consent-backdrop, .quota-purchase-mask,
  .drawer-mask, .history-mask, .dream-history-mask, .daily-share-mask
) { background: var(--backdrop); }
html body.tianji-mystic.tianji-orchid :is(.profile-detail-dialog, .account-settings-dialog, .payment-dialog, .payment-confirm-dialog)::backdrop { background: var(--backdrop); }
html body.tianji-mystic.tianji-orchid :is(
  .app-dialog-head, .hehun-dialog-head, .profile-detail-head,
  .consent-surface > header, .consent-surface > footer, .consent-panel > header,
  .yaogua-dialog-surface .dialog-scroll-body > header, .dialog-actions,
  .daily-share-head, .daily-share-actions
) { color: var(--ink); border-color: var(--line); background: transparent; }
html body.tianji-mystic.tianji-orchid :is(
  .app-dialog-head h3, .hehun-dialog-head h2, .profile-detail-head h2,
  .quota-purchase-surface h2, .consent-panel h2, .consent-surface h2,
  .yaogua-dialog-surface h2, .completion-card h3
) { color: var(--ink); }
html body.tianji-mystic.tianji-orchid :is(
  .dialog-kicker, .quota-purchase-kicker, .profile-detail-head > div > span,
  .account-dialog[data-view="auth"] .dialog-kicker, .hehun-dialog-head > div > span
) { color: var(--gold); }
html body.tianji-mystic.tianji-orchid :is(
  .dialog-lead, .hehun-dialog-lead, .quota-purchase-body, .quota-purchase-note,
  .profile-detail-lead, .profile-detail-list dt, .profile-detail-status,
  .profile-detail-danger p, .consent-summary, .consent-panel > p,
  .share-report-status, .report-images-status, .report-image-viewer-help
) { color: var(--dim); }
html body.tianji-mystic.tianji-orchid :is(.profile-detail-list dd, .profile-detail-danger h3) { color: var(--ink); }
html body.tianji-mystic.tianji-orchid :is(.profile-detail-list, .profile-detail-list > div, .profile-detail-danger) { border-color: var(--line); }

/* Account shell shared by login, header actions and the existing cloud-sync UI. */
html body.tianji-mystic.tianji-orchid :is(
  .account-gate-message, .account-identity, .account-quota-card, .account-profiles-card,
  .account-profile-row, .account-profile-empty, .account-invite-card, .account-daily-profile,
  .account-sync-disclosure, .account-mode-hint, .account-policy-note,
  .account-password-login, .account-code-row, .profile-detail-lead, .quota-purchase-note
) { color: var(--ink-soft); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle)); box-shadow: none; }
html body.tianji-mystic.tianji-orchid .account-dialog[data-view="auth"] :is(.account-mode-hint, .account-policy-note) { background: var(--mystic-dialog-nested, var(--paper-subtle)); }
html body.tianji-mystic.tianji-orchid .account-dialog[data-view="auth"] :is(.account-password-login, .account-code-row) { background: transparent; }
html body.tianji-mystic.tianji-orchid :is(
  .account-gate-message b, .account-identity b, .account-profile-row b,
  .account-daily-profile b, .account-login-success-copy b, .account-field > label,
  .account-field > span, .account-dialog[data-view="auth"] .account-field > label,
  .account-dialog[data-view="auth"] .account-field > span
) { color: var(--ink); }
html body.tianji-mystic.tianji-orchid :is(
  .account-mode-hint b, .account-dialog[data-view="auth"] .account-mode-hint b,
  .account-invite-heading b, .account-sync-disclosure > b, .account-daily-profile > span,
  .account-policy-link, .account-password-toggle
) { color: var(--gold); }
html body.tianji-mystic.tianji-orchid :is(
  .account-gate-message p, .account-hint, .account-mode-hint span,
  .account-identity span, .account-profile-row small, .account-profiles-card > p,
  .account-quota-card > p, .account-invite-card > p, .account-policy-note p,
  .account-sync-disclosure > p, .account-login-success-copy p, .account-field small
) { color: var(--dim); }
html body.tianji-mystic.tianji-orchid :is(.account-auth-tabs, .account-channel-tabs) { color: var(--dim); border-color: var(--line); background: var(--mystic-dialog-inset); }
html body.tianji-mystic.tianji-orchid .account-dialog[data-view="auth"] .account-channel-tabs { background: var(--mystic-dialog-inset); }
html body.tianji-mystic.tianji-orchid :is(.account-auth-tabs button, .account-channel-tabs button) { color: var(--dim); }
html body.tianji-mystic.tianji-orchid :is(.account-auth-tabs button.active, .account-channel-tabs button.active),
html body.tianji-mystic.tianji-orchid .account-dialog[data-view="auth"] :is(.account-auth-tabs button.active, .account-channel-tabs button.active) {
  color: var(--gold-bright); border-color: var(--line-strong); background: var(--surface-gold); box-shadow: inset 0 1px 0 #ffffff66;
}
html body.tianji-mystic.tianji-orchid :is(.account-gate-orbit, .account-policy-mark) { color: var(--gold); border-color: var(--line-strong); background: var(--surface-gold); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.account-invite-heading i, .account-profiles-heading i, .account-quota-badge) { color: var(--canvas); background: var(--gold); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.account-invite-notice, .account-profile-default, .profile-detail-badge, .account-login-success-mark) { color: var(--jade); border-color: color-mix(in srgb, var(--jade) 30%, transparent); background: var(--jade-wash); }

/* All global pickers keep native selection and validation states. */
html body.tianji-mystic.tianji-orchid :is(
  .app-dialog-surface, .account-dialog, .hehun-dialog-surface, .consent-surface,
  .consent-panel, .profile-detail-surface, .quota-purchase-surface,
  .history-drawer, .dream-history-drawer, .personal-center-menu
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), textarea, select) {
  color: var(--ink); border-color: var(--line); background: var(--mystic-dialog-inset); box-shadow: none;
}
html body.tianji-mystic.tianji-orchid .account-dialog[data-view="auth"] .account-field input { color: var(--ink); border-color: var(--line); background: var(--mystic-dialog-inset); }
html body.tianji-mystic.tianji-orchid :is(
  .location-picker-surface, .calendar-picker-surface, .time-picker-surface
) :is(.dialog-search, .location-path, .picker-tabs, .calendar-picker-tabs, .location-county-panel) {
  color: var(--dim); border-color: var(--line); background: var(--mystic-dialog-inset); box-shadow: none;
}
html body.tianji-mystic.tianji-orchid :is(.location-picker-surface, .calendar-picker-surface, .time-picker-surface) :is(.location-option, .picker-option, .calendar-picker-option, .time-option) {
  color: var(--ink-soft); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle));
}
html body.tianji-mystic.tianji-orchid :is(.location-option, .picker-option, .calendar-picker-option, .time-option):is(:hover, :focus-visible) { color: var(--ink); border-color: var(--line-strong); background: var(--surface-gold); }
html body.tianji-mystic.tianji-orchid :is(.location-picker-surface, .calendar-picker-surface, .time-picker-surface) :is(.location-option, .picker-option, .calendar-picker-option, .time-option).is-selected {
  color: var(--gold-bright); border-color: var(--gold); background: var(--surface-gold); box-shadow: inset 0 0 0 1px #7959bc15;
}
html body.tianji-mystic.tianji-orchid :is(.picker-tab, .calendar-picker-tab, .location-step) { color: var(--dim); }
html body.tianji-mystic.tianji-orchid :is(.picker-tab.active, .calendar-picker-tab.active, .location-step.active) { color: var(--gold-bright); border-color: var(--line-strong); background: var(--surface-gold); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.picker-tab.active, .calendar-picker-tab.active, .location-step.active) > span { color: var(--gold-bright); border-color: var(--line-strong); background: var(--mystic-dialog-inset); }
html body.tianji-mystic.tianji-orchid .location-step.active small { color: var(--dim); }
html body.tianji-mystic.tianji-orchid .location-option.is-selected .location-option-check { color: var(--canvas); border-color: var(--gold); background: var(--gold); }
html body.tianji-mystic.tianji-orchid :is(.calendar-picker-summary, .location-draft-summary, .picker-summary) { color: var(--jade); border-color: color-mix(in srgb, var(--jade) 25%, transparent); background: var(--jade-wash); }
html body.tianji-mystic.tianji-orchid :is(.location-draft-summary, .picker-summary).is-empty { color: var(--faint); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle)); }
html body.tianji-mystic.tianji-orchid .county-orbit { color: var(--gold); border-color: var(--line-strong); box-shadow: none; }

/* History from each real tool; archive contents stay untouched. */
html body.tianji-mystic.tianji-orchid :is(.history-drawer, .dream-history-drawer),
html body.tianji-mystic.tianji-orchid #historyDrawer.history-drawer { color: var(--ink); border-color: var(--line-strong); background: var(--mystic-dialog-surface); box-shadow: -18px 0 58px #3e286329; }
html body.tianji-mystic.tianji-orchid :is(.history-drawer, .dream-history-drawer) :is(.drawer-head, .history-head, .dream-history-head, .history-heading, .history-tools, .history-drawer-actions) { color: var(--ink); border-color: var(--line); background: var(--paper); box-shadow: none; }
html body.tianji-mystic.tianji-orchid #historyDrawer :is(.history-tools, .history-drawer-actions) { background: var(--paper); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.history-drawer, .dream-history-drawer) :is(.history-item, .dream-history-item, .task-card, .history-search, .history-empty),
html body.tianji-mystic.tianji-orchid #historyDrawer :is(.history-item, .history-search, .history-group-input, .history-empty) { color: var(--ink-soft); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle)); box-shadow: none; }
html body.tianji-mystic.tianji-orchid #historyDrawer .history-item:is(:hover, :focus-within) { border-color: var(--line-strong); background: var(--surface-gold); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.history-drawer, .dream-history-drawer) :is(h2, h3, .hi-title, .history-open, .history-open-btn, .dream-history-open) { color: var(--ink); }
html body.tianji-mystic.tianji-orchid :is(.history-drawer, .dream-history-drawer) :is(.hi-sub, .hi-detail, .history-privacy, .history-count, .history-empty, .dream-history-empty, .dream-history-lead) { color: var(--dim); }
html body.tianji-mystic.tianji-orchid :is(.history-filters button.active, .history-star-btn[aria-pressed="true"]) { color: var(--gold); border-color: var(--line-strong); background: var(--surface-gold); }
html body.tianji-mystic.tianji-orchid :is(.history-record-badge, .task-status-pill) { color: var(--dim); background: var(--paper-muted); border-color: var(--line); }
html body.tianji-mystic.tianji-orchid .history-record-badge[data-tone="complete"] { color: var(--jade); background: var(--jade-wash); }
html body.tianji-mystic.tianji-orchid .history-record-badge[data-tone="reading"] { color: var(--sky); background: var(--sky-wash); }
html body.tianji-mystic.tianji-orchid .history-record-badge[data-tone="warning"] { color: var(--gold); background: var(--gold-wash); }

/* Consent / privacy / report sharing surfaces and real state messaging. */
html body.tianji-mystic.tianji-orchid :is(
  .ai-consent-facts li, .consent-facts li, .consent-panel > ul li,
  .ai-consent-check, .consent-checks label, .policy-sections section,
  .shensha-dialog-copy section, .share-report-disclosure, .share-report-confirm
) { color: var(--ink-soft); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle)); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.ai-consent-check, .consent-checks label):has(input:checked) { color: var(--ink); border-color: var(--line-strong); background: var(--surface-gold); }
html body.tianji-mystic.tianji-orchid :is(.ai-consent-facts b, .consent-facts b, .consent-panel > ul b, .policy-sections h4, .shensha-dialog-copy h4) { color: var(--gold); }
html body.tianji-mystic.tianji-orchid :is(.ai-consent-facts span, .consent-facts span, .consent-panel > ul span, .consent-checks span, .policy-sections p, .shensha-dialog-copy p) { color: var(--dim); }
html body.tianji-mystic.tianji-orchid :is(.share-poster-stage, .report-images-gallery, .report-image-viewer-stage, .daily-share-preview) { border-color: var(--line); background: var(--mystic-dialog-inset); }
html body.tianji-mystic.tianji-orchid :is(.shensha-dialog-keywords span, .shensha-dialog-tone.is-good) { color: var(--gold); border-color: var(--line-strong); background: var(--gold-wash); }
html body.tianji-mystic.tianji-orchid :is(.shensha-dialog-note, .shensha-dialog-tone.is-neutral) { color: var(--jade); background: var(--jade-wash); }
html body.tianji-mystic.tianji-orchid .shensha-dialog-tone.is-caution { color: var(--danger); background: var(--danger-wash); }

/* Header profile menu and the existing compact mobile navigation panel. */
html body.tianji-mystic.tianji-orchid .personal-center-menu { color: var(--ink); border-color: var(--line-strong); background: var(--paper); box-shadow: var(--shadow-float); }
html body.tianji-mystic.tianji-orchid :is(.personal-center-heading, .personal-profile-switcher, .personal-center-item, .personal-profile-choice) { color: var(--ink); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle)); box-shadow: none; }
html body.tianji-mystic.tianji-orchid :is(.personal-center-item:hover, .personal-profile-choice:hover, .personal-profile-create:hover) { color: var(--gold-bright); border-color: var(--line-strong); background: var(--surface-gold); }
html body.tianji-mystic.tianji-orchid :is(.personal-center-item-icon, .personal-profile-choice > span:first-child) { color: var(--gold-bright); border-color: var(--line-strong); background: var(--surface-gold); box-shadow: inset 0 1px 0 #ffffff66; }
html body.tianji-mystic.tianji-orchid .personal-profile-choice[aria-current="true"] { color: var(--jade); border-color: color-mix(in srgb, var(--jade) 38%, transparent); background: var(--jade-wash); }
html body.tianji-mystic.tianji-orchid :is(.personal-center-heading b, .personal-center-item-copy b, .personal-profile-switcher-head b, .personal-profile-choice b) { color: var(--ink); }
html body.tianji-mystic.tianji-orchid :is(.personal-center-heading small, .personal-center-item-copy small, .personal-profile-choice small, .personal-profile-switcher-head small) { color: var(--dim); }

/* Shared actions, with the existing destructive-action colors kept explicit. */
html body.tianji-mystic.tianji-orchid :is(
  .dialog-icon-btn, .dialog-close, .hehun-dialog-close, .history-close-btn,
  .quota-purchase-cancel, .profile-detail-back, .profile-detail-actions button,
  .history-drawer .ghost-btn, .history-all-records-link, .account-dialog .ghost-btn,
  .app-dialog-actions .ghost-btn, .consent-actions button:not(#consentConfirmButton),
  .daily-share-secondary, .daily-share-close
) { color: var(--gold-deep); border-color: var(--line); background: var(--mystic-dialog-nested, var(--paper-subtle)); box-shadow: inset 0 1px 0 #ffffff66; }
html body.tianji-mystic.tianji-orchid :is(
  .quota-purchase-primary, .profile-detail-primary, .account-recharge-link,
  .account-dialog .dialog-primary-btn, .app-dialog-actions .dialog-primary-btn,
  .consent-actions #consentConfirmButton, .daily-share-primary
) { color: var(--primary-text); border-color: var(--gold); background: linear-gradient(120deg, var(--primary-start), var(--primary-end)); box-shadow: inset 0 1px 0 #ffffff6b, 0 5px 18px #3e28631a; }
html body.tianji-mystic.tianji-orchid :is(
  .account-dialog .ghost-btn.danger, .app-dialog-actions .ghost-btn.danger,
  .dialog-danger-btn, .history-drawer .danger, .profile-detail-danger button,
  .ai-consent-error, .consent-error, .account-gate-message.is-error
) { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 35%, transparent); background: var(--danger-wash); }
html body.tianji-mystic.tianji-orchid :is(.profile-detail-status[data-kind="success"], .account-sync-status[data-state="success"]) { color: var(--jade); }
html body.tianji-mystic.tianji-orchid :is(.profile-detail-status[data-kind="error"], .account-sync-status[data-state="error"], .account-gate-message.is-error b) { color: var(--danger); }
html body.tianji-mystic.tianji-orchid .account-sync-status[data-state="busy"] { color: var(--gold); }
html body.tianji-mystic.tianji-orchid :is(.toast, .hehun-toast) { color: var(--ink); border-color: var(--line-strong); background: var(--paper-strong); box-shadow: var(--shadow-float); }
html body.tianji-mystic.tianji-orchid :is(
  .app-dialog-surface, .account-dialog, .profile-detail-dialog, .quota-purchase-dialog,
  .consent-surface, .consent-panel, .hehun-dialog, .yaogua-dialog,
  .personal-center-menu, .history-drawer, .dream-history-drawer
) :is(button, a, input, textarea, select, summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

@media (max-width: 980px) {
  html body.tianji-mystic.tianji-orchid .site-nav-panel { color: var(--ink); border-color: var(--line); background: var(--paper); box-shadow: var(--shadow-float); }
  html body.tianji-mystic.tianji-orchid .site-nav-panel .site-nav-link { color: var(--dim); background: transparent; }
  html body.tianji-mystic.tianji-orchid .site-nav-panel .site-nav-link:is(:hover, [aria-current="page"]) { color: var(--gold); border-color: var(--line-strong); background: var(--surface-gold); }
}
