
:root {
  --xh-font-sans: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --xh-font-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;

  --xh-gold-grad: linear-gradient(135deg, #d2b45b 0%, #f0d579 55%, #d2b45b 100%);
  --xh-violet-grad: linear-gradient(135deg, #5865f2 0%, #7a5cf0 60%, #a86cf0 100%);
  --xh-neon-grad: linear-gradient(135deg, #4c7dff 0%, #67a3ff 45%, #a86cf0 100%);
  --xh-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --xh-radius-xs: 5px;
  --xh-radius-sm: 8px;
  --xh-radius-md: 12px;
  --xh-radius-lg: 14px;
  --xh-radius-card: var(--xh-radius-md);
  --xh-radius-btn: var(--xh-radius-sm);
  --xh-radius-chip: var(--xh-radius-xs);

  --xh-ease: cubic-bezier(.2,0,.2,1);
  --xh-dur: .24s;
  --xh-dur-slow: .38s;
  --xh-hover-scale: 1.015;

  --xh-space-page: 20px;
  --xh-space-section: 26px;
  --xh-space-group: 13px;
  --xh-space-item: 6px;
  font-size: 17px;
}

:root[data-xuan-theme="heritage"] {
  color-scheme: dark;

  --xh-bg: #1a150e;
  --xh-bg-deep: #141009;
  --xh-surface: #221c13;
  --xh-surface-2: #2a2318;
  --xh-surface-3: #342b1e;
  --xh-text: #f3eee2;
  --xh-body: #c9bfaf;
  --xh-muted: #978d7e;
  --xh-line: rgba(215,189,114,.18);
  --xh-line-strong: rgba(215,189,114,.34);
  --xh-accent: #d7bd72;
  --xh-accent-strong: #ead38c;
  --xh-accent-ink: #17130d;
  --xh-accent-soft: rgba(215,189,114,.12);
  --xh-success: #52c995;
  --xh-warning: #f0b94f;
  --xh-danger: #ef6673;
  --xh-shadow: 0 24px 70px rgba(0,0,0,.38), 0 2px 12px rgba(0,0,0,.22);
  --xh-shadow-soft: 0 12px 34px rgba(0,0,0,.22);

  --xh-shadow-card: 0 1px 6px rgba(0,0,0,.20);
  --xh-shadow-hover: 0 3px 12px rgba(0,0,0,.28);
  --xh-grain-opacity: .035;

  --xh-font-sans: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --xh-font-display: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --xh-font-data: "Noto Serif SC", "Songti SC", Georgia, serif;
  --xh-head-spacing: .07em;
  --xh-atmo: radial-gradient(1100px 640px at 82% -8%, rgba(215,189,114,.17), transparent 62%), radial-gradient(900px 560px at 8% 106%, rgba(126,86,34,.24), transparent 58%), linear-gradient(180deg, rgba(10,8,5,.42), transparent 260px);
  --xh-corner: color-mix(in srgb, var(--xh-accent) 60%, transparent);

  --xh-gilt: color-mix(in srgb, var(--xh-accent) 72%, transparent);
  --xh-gilt-strong: var(--xh-accent-strong);
  --xh-flourish: color-mix(in srgb, var(--xh-accent) 58%, transparent);
}

:root[data-xuan-theme="light"] {
  color-scheme: light;
  --xh-bg: #f5f7fb;
  --xh-bg-deep: #ebf0f7;
  --xh-surface: #ffffff;
  --xh-surface-2: #f2f5fa;
  --xh-surface-3: #e6ecf5;
  --xh-text: #111420;
  --xh-body: #2d3446;
  --xh-muted: #566176;
  --xh-line: #cbd5e4;
  --xh-line-strong: #9daec6;
  --xh-accent: #3b50df;
  --xh-accent-strong: #2a3dbf;
  --xh-accent-ink: #ffffff;
  --xh-accent-soft: #edf1ff;
  --xh-success: #0d8c5e;
  --xh-warning: #b26c07;
  --xh-danger: #c93548;
  --xh-shadow: 0 24px 60px rgba(27,38,71,.12), 0 2px 10px rgba(27,38,71,.06);
  --xh-shadow-soft: 0 10px 28px rgba(27,38,71,.08);
  --xh-shadow-card: 0 1px 4px rgba(17,20,32,.07), 0 4px 16px rgba(17,20,32,.04);
  --xh-shadow-hover: 0 4px 18px rgba(27,38,71,.12);
  --xh-grain-opacity: .018;

  --xh-font-sans: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --xh-font-display: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --xh-font-data: "Segoe UI Variable Text", "PingFang SC", sans-serif;
  --xh-head-spacing: -.008em;
  --xh-atmo: radial-gradient(1000px 520px at 72% -12%, rgba(59,80,223,.12), transparent 62%), radial-gradient(760px 480px at 6% 110%, rgba(46,134,222,.09), transparent 56%);
  --xh-corner: color-mix(in srgb, var(--xh-accent) 58%, transparent);

  --xh-glass-hi: rgba(255,255,255,.82);
  --xh-glass-lo: rgba(255,255,255,.24);
  --xh-glass-blur: 14px;
  --xh-glass-edge: rgba(203,213,228,.85);
}

:root[data-xuan-theme="obsidian"] {
  color-scheme: dark;
  --xh-bg: #07111d;
  --xh-bg-deep: #050d17;
  --xh-surface: #111b2a;
  --xh-surface-2: #162235;
  --xh-surface-3: #1c2b40;
  --xh-text: #f5f8ff;
  --xh-body: #aeb9c9;
  --xh-muted: #78869a;
  --xh-line: #26364c;
  --xh-line-strong: #39506e;
  --xh-accent: #4c7dff;
  --xh-accent-strong: #67a3ff;
  --xh-accent-ink: #ffffff;
  --xh-accent-soft: rgba(76,125,255,.14);
  --xh-success: #31c78b;
  --xh-warning: #f0b94f;
  --xh-danger: #ef6673;
  --xh-shadow: 0 26px 74px rgba(1,7,15,.48), 0 2px 12px rgba(1,7,15,.30);
  --xh-shadow-soft: 0 12px 36px rgba(1,7,15,.28);
  --xh-shadow-card: 0 1px 6px rgba(1,7,15,.30);
  --xh-shadow-hover: 0 3px 12px rgba(1,7,15,.40);
  --xh-grain-opacity: .025;

  --xh-font-sans: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --xh-font-display: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --xh-font-data: "Cascadia Code", Consolas, "SF Mono", "Roboto Mono", monospace;
  --xh-head-spacing: -.014em;
  --xh-atmo: radial-gradient(1100px 620px at 84% -10%, rgba(76,125,255,.26), transparent 60%), radial-gradient(820px 540px at 4% 108%, rgba(168,108,240,.15), transparent 56%), repeating-linear-gradient(0deg, rgba(76,125,255,.055) 0 1px, transparent 1px 56px), repeating-linear-gradient(90deg, rgba(76,125,255,.045) 0 1px, transparent 1px 56px);
  --xh-corner: color-mix(in srgb, var(--xh-accent) 85%, transparent);

  --xh-neon-pink: #ff4ecd;
  --xh-neon-cyan: #2ee6ff;
  --xh-neon-violet: #a06bff;
  --xh-grid-line: rgba(46,230,255,.14);
}

:root[data-xuan-theme] {
  --paper-bg: var(--xh-bg);
  --paper-bg-end: var(--xh-bg-deep);
  --bg-base: var(--xh-bg);
  --bg-primary: var(--xh-bg);
  --bg-secondary: var(--xh-surface);
  --bg-card: var(--xh-surface);
  --bg-card-hover: var(--xh-surface-2);
  --bg-elevated: var(--xh-surface-2);
  --bg-overlay: color-mix(in srgb, var(--xh-bg) 94%, transparent);
  --bg-panel: var(--xh-surface);
  --bg-input: var(--xh-surface-2);
  --bg-muted: var(--xh-surface-2);
  --ink-dark: var(--xh-text);
  --ink-fade: var(--xh-body);
  --ink-muted: var(--xh-muted);
  --text-primary: var(--xh-text);
  --text-secondary: var(--xh-body);
  --text-muted: var(--xh-muted);
  --text-accent: var(--xh-accent);
  --text-inverse: var(--xh-accent-ink);
  --gold-main: var(--xh-accent);
  --gold-primary: var(--xh-accent);
  --gold-light: var(--xh-accent-strong);
  --gold-dark: color-mix(in srgb, var(--xh-accent) 76%, #000);
  --gold-fade: var(--xh-accent-strong);
  --gold-glow: color-mix(in srgb, var(--xh-accent) 24%, transparent);
  --gold-weak: color-mix(in srgb, var(--xh-accent) 26%, transparent);
  --accent-gold: var(--xh-accent);
  --accent-gold-light: var(--xh-accent-strong);
  --accent-gold-dim: color-mix(in srgb, var(--xh-accent) 72%, var(--xh-bg));
  --accent-gold-bg: var(--xh-accent-soft);
  --accent-gold-border: var(--xh-line-strong);
  --color-bg-primary: var(--xh-bg);
  --color-bg-secondary: var(--xh-surface);
  --color-bg-tertiary: var(--xh-surface-2);
  --color-bg-card: var(--xh-surface);
  --color-bg-card-hover: var(--xh-surface-2);
  --color-bg-overlay: color-mix(in srgb, var(--xh-bg) 94%, transparent);
  --color-bg-glass: color-mix(in srgb, var(--xh-surface) 86%, transparent);
  --color-bg-input: var(--xh-surface-2);
  --color-bg-muted: var(--xh-surface-2);
  --color-text-primary: var(--xh-text);
  --color-text-secondary: var(--xh-body);
  --color-text-muted: var(--xh-muted);
  --color-text-inverse: var(--xh-accent-ink);
  --color-accent: var(--xh-accent);
  --color-accent-light: var(--xh-accent-strong);
  --color-accent-dark: color-mix(in srgb, var(--xh-accent) 72%, var(--xh-bg));
  --color-accent-bg: var(--xh-accent-soft);
  --color-accent-bg-hover: color-mix(in srgb, var(--xh-accent) 20%, transparent);
  --color-text-link: var(--xh-accent);
  --border: var(--xh-line);
  --border-color: var(--xh-line);
  --border-light: var(--xh-line);
  --color-border: var(--xh-line);
  --color-border-light: var(--xh-line);
  --color-border-hover: var(--xh-line-strong);
  --shadow-card: var(--xh-shadow-soft);
  --shadow-card-hover: var(--xh-shadow);
  --shadow-header: 0 1px 0 var(--xh-line), 0 10px 28px color-mix(in srgb, var(--xh-bg-deep) 22%, transparent);
  --font-title: var(--xh-font-serif);
  --font-serif: var(--xh-font-serif);
  --font-body: var(--xh-font-sans);
  --font-sans: var(--xh-font-sans);
  --font-mono: var(--xh-font-mono);
  --qfl-page: var(--xh-bg);
  --qfl-panel: color-mix(in srgb, var(--xh-surface) 96%, transparent);
  --qfl-panel-solid: var(--xh-surface);
  --qfl-panel-sub: var(--xh-surface-2);
  --qfl-line: var(--xh-line);
  --qfl-line-strong: var(--xh-line-strong);
  --qfl-ink: var(--xh-text);
  --qfl-body: var(--xh-body);
  --qfl-muted: var(--xh-muted);
  --qfl-blue: var(--xh-accent);
  --qfl-blue-strong: var(--xh-accent-strong);
  --qfl-blue-soft: var(--xh-accent-soft);
  --qfl-success: var(--xh-success);
  --qfl-warning: var(--xh-warning);
  --qfl-danger: var(--xh-danger);
  --qfl-shadow: var(--xh-shadow);
  --qfl-shadow-soft: var(--xh-shadow-soft);
  --pr-bg: var(--xh-bg);
  --pr-bg-2: var(--xh-surface);
  --pr-bg-3: var(--xh-surface-2);
  --pr-surface: var(--xh-surface);
  --pr-surface-2: var(--xh-surface-2);
  --pr-border: var(--xh-line);
  --pr-border-soft: var(--xh-line);
  --pr-text: var(--xh-text);
  --pr-body: var(--xh-body);
  --pr-muted: var(--xh-muted);
  --pr-blue: var(--xh-accent);
  --pr-blue-soft: var(--xh-accent-strong);
  --pr-gold: var(--xh-accent);
  --pr-gold-soft: var(--xh-body);
  --pr-shadow: var(--xh-shadow);
  --ts-bg: var(--xh-bg);
  --ts-panel: var(--xh-surface);
  --ts-surface: var(--xh-surface-2);
  --ts-surface-2: var(--xh-surface-3);
  --ts-line: var(--xh-line);
  --ts-line-soft: color-mix(in srgb, var(--xh-line) 55%, transparent);
  --ts-text: var(--xh-text);
  --ts-body: var(--xh-body);
  --ts-muted: var(--xh-muted);
  --ts-blue: var(--xh-accent);
  --ts-blue-hover: var(--xh-accent-strong);
  --ts-green: var(--xh-success);
  --ts-red: var(--xh-danger);
  --ts-ink: var(--xh-accent-ink);
  --trust-bg: var(--xh-bg);
  --trust-panel: color-mix(in srgb, var(--xh-surface) 92%, transparent);
  --trust-panel-2: color-mix(in srgb, var(--xh-surface-2) 88%, transparent);
  --trust-line: var(--xh-line);
  --trust-line-2: var(--xh-line-strong);
  --trust-text: var(--xh-text);
  --trust-body: var(--xh-body);
  --trust-muted: var(--xh-muted);
  --trust-blue: var(--xh-accent);
  --trust-blue-2: var(--xh-accent-strong);
  --trust-green: var(--xh-success);
  --trust-warn: var(--xh-warning);
  --trust-red: var(--xh-danger);
}

html[data-xuan-theme][data-theme] {
  --bg-base: var(--xh-bg) !important;
  --bg-primary: var(--xh-bg) !important;
  --bg-secondary: var(--xh-surface) !important;
  --bg-card: var(--xh-surface) !important;
  --text-primary: var(--xh-text) !important;
  --text-secondary: var(--xh-body) !important;
  --text-muted: var(--xh-muted) !important;
  --gold-primary: var(--xh-accent) !important;
  --gold-light: var(--xh-accent-strong) !important;
  --gold-dark: var(--xh-accent) !important;
  --gold-glow: var(--xh-accent-soft) !important;
  --color-accent: var(--xh-accent) !important;
  --color-accent-bg: var(--xh-accent-soft) !important;
  --color-text-primary: var(--xh-text) !important;
  --color-text-secondary: var(--xh-body) !important;
  --color-text-muted: var(--xh-muted) !important;
  --color-bg-primary: var(--xh-bg) !important;
  --color-bg-secondary: var(--xh-surface) !important;
  --color-bg-tertiary: var(--xh-surface-2) !important;
  --color-border-light: var(--xh-line) !important;
  --border: var(--xh-line) !important;
  --border-light: var(--xh-line) !important;
  --ms-paper: var(--xh-surface) !important;
  --ms-paper-deep: var(--xh-surface-2) !important;
  --ms-ink: var(--xh-text) !important;
  --ms-ink-soft: var(--xh-body) !important;
  --ms-ink-faint: var(--xh-muted) !important;
  --ms-gold: var(--xh-accent) !important;
  --ms-line: var(--xh-line) !important;
  --ms-stage: var(--xh-bg) !important;
  --bg-main: var(--xh-bg) !important;
  --form-input-bg: var(--xh-surface-2) !important;
  --form-input-text: var(--xh-text) !important;
  --form-input-border: var(--xh-line) !important;
  --ui-accent: var(--xh-accent) !important;
  --ui-accent-soft: var(--xh-accent-soft) !important;
  --ui-surface: var(--xh-surface) !important;
  --ui-surface-solid: var(--xh-surface) !important;
  --ui-surface-raised: var(--xh-surface-2) !important;
  --ui-input: var(--xh-surface-2) !important;
  --ui-border: var(--xh-line) !important;
  --ui-border-strong: var(--xh-line-strong) !important;
  --ui-text: var(--xh-text) !important;
  --ui-text-2: var(--xh-body) !important;
  --ui-text-3: var(--xh-muted) !important;
  --ui-header: var(--xh-surface) !important;
  --ui-page-glow: var(--xh-accent-soft) !important;
}

html[data-xuan-theme] .th-src,
html[data-xuan-theme] .mr-sources,
html[data-xuan-theme] .mr-ev-src {
  display: none !important;
}

html[data-xuan-theme] { background: var(--xh-bg); scroll-behavior: smooth; }
html[data-xuan-theme][data-theme],
html[data-xuan-theme][data-theme] body {
  background: var(--xh-bg) !important;
  color: var(--xh-body) !important;
}
html[data-xuan-theme] body {
  background: var(--xh-bg) !important;
  color: var(--xh-body) !important;
  font-family: var(--xh-font-sans) !important;
  font-size: 1rem;
  line-height: 1.65;
  transition: background-color .28s var(--xh-ease), color .28s var(--xh-ease);
}
html[data-xuan-theme] body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: var(--xh-grain-opacity);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
html[data-xuan-theme] :where(h1,h2,h3,h4,h5,h6) { color: var(--xh-text); text-wrap: balance; }
html[data-xuan-theme] .kx-lib .kx-photo :where(h3, p, .kx-go, .kx-tag, .kx-first-hint) {
  color: #fff !important;
}
html[data-xuan-theme] :where(p,li,dd,dt,label,small) { text-wrap: pretty; }
html[data-xuan-theme] :where(strong,b) { color: inherit; }
html[data-xuan-theme] :where(a) { transition: color .2s var(--xh-ease), background-color .2s var(--xh-ease), border-color .2s var(--xh-ease), transform .2s var(--xh-ease); }
html[data-xuan-theme] :where(button,input,select,textarea) { font-family: var(--xh-font-sans); }
html[data-xuan-theme] :where(button,[role="button"],input,select,textarea,a):focus-visible { outline: 2px solid var(--xh-accent) !important; outline-offset: 3px !important; }
html[data-xuan-theme] :where(input,select,textarea) {
  color: var(--xh-text) !important;
  background-color: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] :where(input,select,textarea)::placeholder { color: var(--xh-muted) !important; }
html[data-xuan-theme] :where(.card,.glass-card,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.modal-card,.dialog-card) {
  color: var(--xh-body);
  background-color: color-mix(in srgb, var(--xh-surface) 96%, transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft);
}
html[data-xuan-theme] :where(.site-header,.home-nav,.museum-nav,.topbar,.app-header) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb, var(--xh-bg) 88%, transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--shadow-header);
  backdrop-filter: blur(20px) saturate(1.08);
  -webkit-backdrop-filter: blur(20px) saturate(1.08);
}
html[data-xuan-theme] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link) {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
  box-shadow: 0 9px 24px color-mix(in srgb, var(--xh-accent) 22%, transparent);
}
html[data-xuan-theme] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link):hover { filter: brightness(1.06); transform: translateY(-1px); }
html[data-xuan-theme] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link):active { transform: translateY(1px) scale(.985); }
html[data-xuan-theme] :where(.link,a.link,.nav-link.active,.home-nav-link.active) { color: var(--xh-accent) !important; }
html[data-xuan-theme] :where(.badge,.tag,.chip) { border-color: var(--xh-line) !important; }
html[data-xuan-theme] :where([class*="text-xs"],.text-xs) { font-size: .84rem !important; }
html[data-xuan-theme] :where([class*="text-sm"],.text-sm) { font-size: .94rem !important; }
html[data-xuan-theme] :where([class*="text-[10px]"]) { font-size: .78rem !important; }
html[data-xuan-theme] :where([class*="text-[11px]"],[class*="text-[12px]"]) { font-size: .82rem !important; }
html[data-xuan-theme] :where(.font-mono,code,kbd,samp,.metric-value,.data-value) { font-variant-numeric: tabular-nums; }

html[data-xuan-theme] :where([class*="text-ink-50"],[class*="text-ink-100"],[class*="text-ink-200"]) { color: var(--xh-text) !important; }
html[data-xuan-theme] :where([class*="text-ink-300"],[class*="text-ink-400"]) { color: var(--xh-body) !important; }
html[data-xuan-theme] :where([class*="text-ink-500"],[class*="text-ink-600"],[class*="text-ink-700"]) { color: var(--xh-muted) !important; }
html[data-xuan-theme] :where([class*="bg-ink-950"],[class*="bg-ink-900"]) { background-color: var(--xh-bg) !important; }
html[data-xuan-theme] :where([class*="bg-ink-800"],[class*="bg-ink-700"]) { background-color: var(--xh-surface) !important; }
html[data-xuan-theme] :where([class*="border-ink-"]) { border-color: var(--xh-line) !important; }

html[data-xuan-theme] :where([class*="text-gold-"],[class*="text-amber-"]) { color: var(--xh-accent) !important; }
html[data-xuan-theme] :where([class*="border-gold-"],[class*="border-amber-"]) { border-color: var(--xh-line-strong) !important; }
html[data-xuan-theme] :where([class*="bg-gold-"],[class*="bg-amber-"]) { background-color: var(--xh-accent-soft) !important; }
html[data-xuan-theme] :where([class*="from-gold-"][class*="bg-gradient"],[class*="from-amber-"][class*="bg-gradient"]) {
  background-image: linear-gradient(90deg,var(--xh-accent-strong),var(--xh-accent),color-mix(in srgb,var(--xh-accent) 72%,var(--xh-bg))) !important;
}
html[data-xuan-theme] .home-nav-logo svg * { stroke: var(--xh-accent) !important; }

html[data-xuan-theme] .theme-toggle-btn { display: none !important; }
.xh-theme-control { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 10050; font-family: var(--xh-font-sans); }
#backToTop,
html[data-xuan-theme] #backToTop {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  z-index: 10040;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--xh-text, #e8e4dc) !important;
  background: color-mix(in srgb, var(--xh-surface, #1a1814) 94%, transparent) !important;
  border: 1px solid var(--xh-line-strong, rgba(215,189,114,.34)) !important;
  border-radius: 14px !important;
  box-shadow: var(--xh-shadow, 0 10px 30px rgba(0,0,0,.28));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .22s var(--xh-ease, ease), transform .22s var(--xh-ease, ease), border-color .2s, background-color .2s;
}
#backToTop.show,
html[data-xuan-theme] #backToTop.show {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
#backToTop.show:hover,
html[data-xuan-theme] #backToTop.show:hover {
  transform: translateY(-2px);
  border-color: var(--xh-accent, #d7bd72) !important;
  background: var(--xh-surface-2, #27231d) !important;
}
#backToTop.show:active,
html[data-xuan-theme] #backToTop.show:active { transform: translateY(0) scale(.96); }
#backToTop svg { width: 20px; height: 20px; display: block; }
html[data-xuan-theme] body:has(#xhSupportRoot) #backToTop {
  bottom: calc(22px + 54px + 12px + env(safe-area-inset-bottom, 0px));
}
html[data-xuan-theme] body.qf-ui-v2 #backToTop {
  bottom: calc(132px + env(safe-area-inset-bottom, 0px));
}
.xh-theme-inline {
  display: none;
  align-items: center;
  gap: 6px;
}
.xh-theme-chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 32px; min-height: 32px; padding: 0 8px 0 5px;
  color: var(--xh-body); background: color-mix(in srgb, var(--xh-surface) 88%, transparent);
  border: 1px solid var(--xh-line); border-radius: 999px; cursor: pointer;
  font: 600 12px/1 var(--xh-font-sans); letter-spacing: .02em; white-space: nowrap;
  touch-action: manipulation;
}
.xh-theme-chip em { font-style: normal; }
.xh-theme-chip .xh-theme-swatch { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; }
.xh-theme-chip[aria-pressed="true"] {
  color: var(--xh-text);
  background: var(--xh-accent-soft);
  border-color: color-mix(in srgb, var(--xh-accent) 60%, var(--xh-line));
}
.xh-theme-control .xh-value-chip,
.xh-theme-menu .xh-value-chip,
.xh-theme-panel .xh-value-chip { display: none !important; }
.xh-theme-trigger {
  width: 46px; height: 46px; display: grid; place-items: center; padding: 0;
  color: var(--xh-text); background: color-mix(in srgb, var(--xh-surface) 94%, transparent);
  border: 1px solid var(--xh-line-strong); border-radius: 14px; box-shadow: var(--xh-shadow);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); cursor: pointer;
  transition: transform .2s var(--xh-ease), border-color .2s, background-color .2s;
}
.xh-theme-trigger:hover { transform: translateY(-2px); border-color: var(--xh-accent); background: var(--xh-surface-2); }
.xh-theme-trigger:active { transform: translateY(0) scale(.96); }
.xh-theme-trigger svg { width: 21px; height: 21px; }
.xh-theme-menu {
  position: absolute; right: 0; bottom: 56px; width: 306px; padding: 10px;
  color: var(--xh-body); background: color-mix(in srgb, var(--xh-surface) 97%, transparent);
  border: 1px solid var(--xh-line); border-radius: 16px; box-shadow: var(--xh-shadow);
  backdrop-filter: blur(24px) saturate(1.08); -webkit-backdrop-filter: blur(24px) saturate(1.08);
  opacity: 0; visibility: hidden; transform: translateY(8px) scale(.98); transform-origin: 100% 100%;
  transition: opacity .2s var(--xh-ease), transform .2s var(--xh-ease), visibility .2s;
}
.xh-theme-control[data-open="true"] .xh-theme-menu,
html.xh-theme-menu-open .xh-theme-menu,
.xh-theme-menu.is-open { opacity: 1; visibility: visible; transform: none; }
html.xh-theme-menu-open { overflow: hidden; }
/* 展开时脚本会把菜单移到 body 下，避免导航栏的 backdrop-filter 成为固定定位包含块 */
.xh-theme-menu[data-xh-theme-portal="true"] {
  position: fixed !important;
  left: 12px !important; right: 12px !important;
  top: auto !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  width: auto !important; min-width: 0 !important; max-width: none !important;
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  transform-origin: 50% 100% !important;
  z-index: 10060 !important;
}
.xh-theme-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 7px 8px 11px; border-bottom: 1px solid var(--xh-line); }
.xh-theme-head strong { display: block; color: var(--xh-text); font-size: .94rem; font-weight: 680; }
.xh-theme-head span { display: block; margin-top: 2px; color: var(--xh-muted); font-size: .75rem; }
.xh-theme-options { display: grid; gap: 6px; padding-top: 8px; }
.xh-theme-option {
  width: 100%; min-height: 58px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px;
  padding: 8px 10px; color: var(--xh-body); text-align: left; background: transparent; border: 1px solid transparent;
  border-radius: 11px; cursor: pointer; transition: background-color .18s, border-color .18s, transform .18s;
}
.xh-theme-option:hover { background: var(--xh-surface-2); border-color: var(--xh-line); }
.xh-theme-option:active { transform: scale(.988); }
.xh-theme-option[aria-checked="true"] { color: var(--xh-text); background: var(--xh-accent-soft); border-color: color-mix(in srgb, var(--xh-accent) 55%, var(--xh-line)); }
.xh-theme-swatch { width: 36px; height: 36px; border-radius: 10px; border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); }
.xh-theme-swatch[data-theme="heritage"] { background: linear-gradient(135deg,#1a150e 0 62%,#d2b45b 62%); }
.xh-theme-swatch[data-theme="light"] { background: linear-gradient(135deg,#f4f6fb 0 62%,#5865f2 62%); }
.xh-theme-swatch[data-theme="obsidian"] { background: linear-gradient(135deg,#07111d 0 62%,#4c7dff 62%); }
.xh-theme-copy strong { display: block; color: inherit; font-size: .86rem; font-weight: 660; }
.xh-theme-copy small { display: block; margin-top: 1px; color: var(--xh-muted); font-size: .72rem; line-height: 1.35; }
.xh-theme-check { color: var(--xh-accent); font-size: 1rem; opacity: 0; }
.xh-theme-option[aria-checked="true"] .xh-theme-check { opacity: 1; }

html[data-xuan-theme] body.qf-ui-v2 { background: var(--xh-bg) !important; color: var(--xh-body) !important; font-size: 15px !important; }
html[data-xuan-theme] body.qf-ui-v2 .view-main {
  background: radial-gradient(ellipse 70% 50% at 50% 42%, color-mix(in srgb, var(--xh-accent) 14%, var(--xh-bg)) 0%, var(--xh-bg-deep) 74%) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-topbar { color: var(--xh-body) !important; background: color-mix(in srgb, var(--xh-bg) 92%, transparent) !important; border-bottom: 1px solid var(--xh-line) !important; box-shadow: var(--shadow-header) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.panel-left,.panel-right,.panel-premium,.qf-modal,.qf-onboard-card,.mb-sheet) {
  color: var(--xh-body) !important; background: color-mix(in srgb, var(--xh-surface) 96%, transparent) !important;
  border-color: var(--xh-line) !important; box-shadow: var(--xh-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.panel-header,.side-section,.proto-details,.house-wrap,.layer-item,.qf-chip,.qf-dock,.qfhud-url,.qfhud-scale) { border-color: var(--xh-line) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.side-section,.proto-details,.house-wrap,.layer-item,.qf-chip,.qfhud-url,.qfhud-scale) { color: var(--xh-body) !important; background: var(--xh-surface-2) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.panel-header,.section-header,.brand-text,.qf-topbar-title,.house-card-value,.slider-label b,.aero-row b) { color: var(--xh-text) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.sub,.qf-load-sub,.slider-label,.readout,.wind-level-note) { color: var(--xh-muted) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.btn-mode.active,.btn-mode.on,.preset-btn.active,.mode-tab.active,.qf-auth-btn,.qf-points-top) { color: var(--xh-accent-ink) !important; background: var(--xh-accent) !important; border-color: var(--xh-accent) !important; box-shadow: 0 8px 22px color-mix(in srgb,var(--xh-accent) 26%,transparent) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(button,.btn-mode,.btn-action,.mode-tab,input,select,textarea) { font-size: .86rem !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.section-header,.panel-header) { font-size: .92rem !important; }
html[data-xuan-theme] body.qf-ui-v2 .panel-premium .panel-header {
  color: var(--xh-text) !important; background: color-mix(in srgb,var(--xh-surface) 96%,transparent) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .panel-premium .back-lib {
  color: var(--xh-body) !important; background: var(--xh-surface-2) !important; border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-topbar .qf-chip,
html[data-xuan-theme] body.qf-ui-v2 .qf-topbar .qf-auth-btn {
  color: var(--xh-text) !important; background: var(--xh-surface-2) !important; border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-topbar .qf-points-top {
  color: var(--xh-accent) !important; background: var(--xh-accent-soft) !important; border-color: var(--xh-line-strong) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-dock,
html[data-xuan-theme] body.qf-ui-v2 .qf-dock .bb-stats,
html[data-xuan-theme] body.qf-ui-v2 .qf-dock .bb-actions {
  color: var(--xh-body) !important; background: color-mix(in srgb,var(--xh-surface) 94%,transparent) !important; border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-dock :where(.btn-action,.door-toggle,.mb-drawer-btn) {
  color: var(--xh-body) !important; background: var(--xh-surface-2) !important; border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-dock :where(.btn-action.active,.mb-drawer-btn.active) {
  color: var(--xh-accent-ink) !important; background: var(--xh-accent) !important; border-color: var(--xh-accent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .panel-premium :where(button:not(.active):not(.on),select,input:not([type="range"]),textarea) {
  color: var(--xh-body) !important; background-color: var(--xh-surface-2) !important; border-color: var(--xh-line) !important;
}
html[data-xuan-theme="heritage"] body.qf-ui-v2 .qf-topbar-icon { color: #17130d !important; background: var(--xh-accent) !important; }
html[data-xuan-theme="light"] body.qf-ui-v2 .qf-topbar { background: rgba(255,255,255,.94) !important; }

html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelLeft.panel-premium .back-lib,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelLeft .house-card,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelLeft .qf-grade-panel,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelLeft .glass-panel-sm,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-report-body,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-report-card,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-report-locked,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-pro-price-card,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .compass-wrap,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .diag-card {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
  box-shadow: none !important;
}

html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-report-card.is-warn-amber{
  background:#2c261c !important;
  border-color:rgba(230,184,108,.35) !important;
  color:#e8e4dc !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-report-card.is-warn-amber .qf-report-card-title{color:#e6b86c !important}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight .qf-report-card.is-warn-amber .qf-report-card-desc{color:#e8e4dc !important}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar .bb-stats,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar .bb-actions,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #scenePresets,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qfhud-corner,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qfhud-compass {
  color: var(--xh-body) !important;
  background: color-mix(in srgb,var(--xh-surface) 94%,transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelLeft :where(button:not(.active):not(.on),select,input:not([type="range"]),textarea),
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight :where(button:not(.active):not(.on),select,input:not([type="range"]),textarea),
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar :where(button:not(.active):not(.on)) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
  box-shadow: none !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #qfAuthBtn,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-chip-muted {
  color: var(--xh-text) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 :where(.qf-report-card strong,.qf-report-card h3,.qf-report-card h4,.house-card-value,.qf-grade-panel strong) { color: var(--xh-text) !important; }
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight #qfReportBody,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight #qfDiagHint,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #panelRight #deviceStrategy,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #qfTopbar .qf-topbar-meta #qfAuthBtn,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar #scenePresets,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar .bb-stats,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar .bb-actions {
  color: var(--xh-body) !important;
  background: color-mix(in srgb,var(--xh-surface) 96%,transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-modal .qf-pro-price-card,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-modal .qf-report-card,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-modal .qf-report-body,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-modal .qf-report-body table,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-modal .qf-report-body th,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-modal .qf-report-body td {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar .qf-grade-panel,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #bottomBar .qf-grade-chip {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #open-all.on,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #close-all.on {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #hudReset,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #hudRotate {
  color: var(--xh-text) !important;
  background: color-mix(in srgb,var(--xh-surface) 94%,transparent) !important;
  border-color: var(--xh-line) !important;
}

html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 #loading,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-loading,
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .loading-overlay {
  color: var(--xh-text) !important;
  background: color-mix(in srgb,var(--xh-bg) 96%,transparent) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .qf-load-emblem {
  color: var(--xh-text) !important;
  background: var(--xh-surface) !important;
  border-color: var(--xh-line-strong) !important;
  box-shadow: var(--xh-shadow) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 :where(#prCleanViewBtn,.mb-nav,.mb-nav-btn,.qf-toast) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb,var(--xh-surface) 96%,transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 .mb-nav-btn.active {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
}

html[data-xuan-theme] :where(.xh-global-account,.xh-flow-strip,.xh-newbie-callout,.xh-error-card,.mobile-menu) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb,var(--xh-surface) 96%,transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme] :where(.xh-newbie-callout h2,.xh-error-card h2,.xh-flow-strip strong,.xh-global-account .xh-points-link b) {
  color: var(--xh-text) !important;
}
html[data-xuan-theme] :where(.xh-newbie-callout small,.xh-value-chip,.xh-flow-step.is-active) { color: var(--xh-accent) !important; }
html[data-xuan-theme] :where(.xh-newbie-callout a,.xh-global-account .xh-buy-link,.xh-flow-step.is-active i,.xh-error-actions .primary) {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
}
html[data-xuan-theme] .xh-value-chip {
  color: var(--xh-body) !important;
  background: var(--xh-accent-soft) !important;
  border-color: var(--xh-line-strong) !important;
}

html[data-xuan-theme] :where(.glass-card-sm,.mingli-card,.mingli-hero,.mingli-hero-cta) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb,var(--xh-surface) 96%,transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme] :where(.glass-card-sm,.mingli-card):hover {
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line-strong) !important;
  box-shadow: var(--xh-shadow) !important;
}
html[data-xuan-theme] :where(.glass-card-sm,.mingli-card,.mingli-hero) :where(h2,h3,h4,strong) { color: var(--xh-text) !important; }
html[data-xuan-theme] :where(.glass-card-sm,.mingli-card,.mingli-hero) :where(p,small,.meta) { color: var(--xh-muted) !important; }
html[data-xuan-theme] :where(.mingli-ico,.tag-gold,[class*="gold-"]) {
  color: var(--xh-accent) !important;
  border-color: var(--xh-line-strong) !important;
}

html[data-xuan-theme] :where(footer,.site-footer,.museum-footer,.xh-footer):not(.ix-footer) {
  color: var(--xh-muted) !important;
  background: var(--xh-bg-deep) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] :where(footer,.site-footer,.museum-footer,.xh-footer):not(.ix-footer) :where(a,p,span,small) { color: var(--xh-muted) !important; }
html[data-xuan-theme] :where(footer,.site-footer,.museum-footer,.xh-footer):not(.ix-footer) a:hover { color: var(--xh-accent) !important; }
html[data-xuan-theme] footer a[href] { text-decoration: none; }
html[data-xuan-theme] footer a[href]:hover { text-decoration: none; }

html[data-xuan-theme] .legal-page {
  background: var(--xh-bg) !important;
  color: var(--xh-body) !important;
}
html[data-xuan-theme] :where(.legal-card,.legal-tabs,.legal-callout,.legal-footer-note,.legal-note) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb, var(--xh-surface) 94%, transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme] .legal-page .legal-hero h1,
html[data-xuan-theme] .legal-page .legal-card h2 {
  color: var(--xh-accent) !important;
  background: none !important;
  -webkit-text-fill-color: var(--xh-accent) !important;
}
html[data-xuan-theme] .legal-page .legal-card h2::after {
  content: none !important;
  display: none !important;
}
html[data-xuan-theme] .legal-page .legal-card h2::before {
  background: var(--xh-accent) !important;
}
html[data-xuan-theme] .legal-page .legal-card h3,
html[data-xuan-theme] .legal-page .legal-card strong,
html[data-xuan-theme] .legal-page .legal-callout strong,
html[data-xuan-theme] .legal-page .legal-footer-note strong,
html[data-xuan-theme] .legal-page .brand-title {
  color: var(--xh-text) !important;
}
html[data-xuan-theme] .legal-page :where(.legal-meta,.lead,.legal-card p,.legal-list li,.legal-footer-note p,.brand-desc) {
  color: var(--xh-body) !important;
}
html[data-xuan-theme] .legal-page .legal-list li::before {
  background: var(--xh-accent) !important;
  box-shadow: 0 0 8px color-mix(in srgb, var(--xh-accent) 35%, transparent);
}
html[data-xuan-theme] .legal-page .legal-tabs a {
  color: var(--xh-accent) !important;
  border-color: var(--xh-line-strong) !important;
  background: transparent !important;
}
html[data-xuan-theme] .legal-page .legal-tabs a:hover,
html[data-xuan-theme] .legal-page .legal-tabs a.is-active {
  color: var(--xh-text) !important;
  background: var(--xh-accent-soft) !important;
  border-color: var(--xh-accent) !important;
}
html[data-xuan-theme="light"] :where(.legal-card,.legal-tabs,.legal-callout,.legal-footer-note) {
  background: color-mix(in srgb, var(--xh-surface) 88%, transparent) !important;
  box-shadow: var(--xh-shadow-card) !important;
}

html[data-xuan-theme] body:has(.lp-app) {
  --ui-page: var(--xh-bg);
  --ui-page-deep: var(--xh-bg-deep);
  --ui-surface: var(--xh-surface);
  --ui-surface-solid: var(--xh-surface);
  --ui-surface-soft: var(--xh-surface-2);
  --ui-text: var(--xh-text);
  --ui-text-2: var(--xh-body);
  --ui-muted: var(--xh-muted);
  --ui-border: var(--xh-line);
  --ui-accent: var(--xh-accent);
}
html[data-xuan-theme] .lp-app {
  --lp-accent: var(--xh-accent);
  --lp-border: var(--xh-line);
  --lp-text: var(--xh-text);
  --lp-muted: var(--xh-muted);
  color: var(--xh-body) !important;
  background: var(--xh-bg) !important;
}
html[data-xuan-theme] :where(.lp-toolbar,.lp-sidebar,.lp-inspector,.lp-canvas-card,.lp-table-card,.lp-mode-btn,.lp-info,.lp-insp-foot) {
  color: var(--xh-body) !important;
  background: var(--xh-surface) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] :where(.lp-canvas-area,.lp-layout) { background: var(--xh-bg) !important; }
html[data-xuan-theme] :where(.lp-toolbar h1,.lp-insp-head h2,.lp-table-card h2,.lp-mode-title) { color: var(--xh-text) !important; }
html[data-xuan-theme] .lp-table-card th { color: var(--xh-body) !important; background: var(--xh-surface-2) !important; border-color: var(--xh-line) !important; }
html[data-xuan-theme] .lp-table-card td { color: var(--xh-body) !important; background: transparent !important; border-color: var(--xh-line) !important; }
html[data-xuan-theme] .lp-table-card tbody tr:hover { background: var(--xh-accent-soft) !important; }
html[data-xuan-theme] :where(.lp-btn,.lp-mode-btn) { color: var(--xh-body) !important; border-color: var(--xh-line) !important; }
html[data-xuan-theme] :where(.lp-btn.primary,.lp-mode-btn[data-on="1"]) { color: var(--xh-accent-ink) !important; background: var(--xh-accent) !important; border-color: var(--xh-accent) !important; }

html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 :where(.qf-grade-panel,.qf-grade-chip,.bb-actions,.report-actions,.qf-report-actions,.advanced-title,.advanced-header) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme]:not([data-xuan-theme="light"]) body.qf-ui-v2 :where(.qf-grade-panel,.bb-actions,.report-actions,.qf-report-actions) button:not(.active):not(.on) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-3) !important;
  border-color: var(--xh-line) !important;
}

html[data-xuan-theme] :where(button,input,select,textarea,[role="button"]):disabled,
html[data-xuan-theme] :where([aria-disabled="true"],.is-disabled,.disabled) {
  color: var(--xh-muted) !important;
  background: var(--xh-surface-3) !important;
  border-color: var(--xh-line) !important;
  opacity: .68 !important;
  box-shadow: none !important;
}

html[data-xuan-theme] :where([class*="text-ink-50"],[class*="text-ink-100"],[class*="text-ink-200"],[class*="text-ink-300"],[class*="text-ink-400"]) { color: var(--xh-text) !important; }
html[data-xuan-theme] :where([class*="text-ink-500"],[class*="text-ink-600"],[class*="text-ink-700"],[class*="text-ink-800"]) { color: var(--xh-body) !important; }
html[data-xuan-theme] :where([class*="bg-ink-900"],[class*="bg-ink-950"]) { background-color: var(--xh-surface) !important; }
html[data-xuan-theme] :where([class*="border-ink-800"],[class*="border-ink-700"]) { border-color: var(--xh-line) !important; }

html[data-xuan-theme] :where([class*="text-gold-"]) { color: var(--xh-accent) !important; }
html[data-xuan-theme] :where([class*="bg-gold-"]) { background-color: var(--xh-accent-soft) !important; }
html[data-xuan-theme] :where([class*="border-gold-"]) { border-color: var(--xh-line-strong) !important; }
html[data-xuan-theme] :where([class*="from-gold-"],[class*="via-gold-"],[class*="to-gold-"]) {
  background-image: linear-gradient(90deg, var(--xh-accent-strong), var(--xh-accent), color-mix(in srgb, var(--xh-accent) 72%, var(--xh-bg))) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
html[data-xuan-theme] :where(.bg-gradient-to-r[class*="from-gold-"]) { -webkit-background-clip: text !important; background-clip: text !important; }

html[data-xuan-theme] :where(.glass-card,.glass-card-sm) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb, var(--xh-surface) 78%, transparent) !important;
  border: 1px solid var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
}
html[data-xuan-theme] :where(.glass-card,.glass-card-sm):hover {
  background: color-mix(in srgb, var(--xh-surface-2) 86%, transparent) !important;
  border-color: var(--xh-line-strong) !important;
  box-shadow: var(--xh-shadow) !important;
}
html[data-xuan-theme] :where(.icon-box) {
  color: var(--xh-accent) !important;
  border-color: var(--xh-line-strong) !important;
}
html[data-xuan-theme] :where(.tag-pill) {
  color: var(--xh-accent) !important;
  background: var(--xh-accent-soft) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] :where(.btn-ghost) {
  color: var(--xh-accent) !important;
  border-color: var(--xh-line-strong) !important;
  background: var(--xh-accent-soft) !important;
}
html[data-xuan-theme] :where(.btn-ghost):hover {
  background: color-mix(in srgb, var(--xh-accent) 16%, transparent) !important;
  border-color: var(--xh-accent) !important;
}
html[data-xuan-theme] :where(.divider-gold) {
  background: linear-gradient(90deg, transparent, var(--xh-line-strong), transparent) !important;
}

html[data-xuan-theme] ::-webkit-scrollbar { width: 8px; height: 8px; }
html[data-xuan-theme] ::-webkit-scrollbar-track { background: var(--xh-bg-deep); }
html[data-xuan-theme] ::-webkit-scrollbar-thumb { background: var(--xh-line-strong); border-radius: 4px; }
html[data-xuan-theme] ::-webkit-scrollbar-thumb:hover { background: var(--xh-accent); }

html[data-xuan-theme] ::selection { color: var(--xh-accent-ink); background: var(--xh-accent); }

html[data-xuan-theme="heritage"] body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle at 18% -8%, color-mix(in srgb, var(--xh-accent) 12%, transparent), transparent 34rem),
    radial-gradient(circle at 92% 14%, color-mix(in srgb, var(--xh-accent) 8%, transparent), transparent 28rem);
}
html[data-xuan-theme="obsidian"] body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle at 20% -10%, color-mix(in srgb, var(--xh-accent) 14%, transparent), transparent 38rem),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--xh-accent) 8%, transparent), transparent 26rem);
}
html[data-xuan-theme="light"] body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle at 18% -8%, color-mix(in srgb, var(--xh-accent) 8%, transparent), transparent 32rem),
    radial-gradient(circle at 92% 14%, color-mix(in srgb, var(--xh-accent) 5%, transparent), transparent 24rem);
}

@media (max-width: 820px) {
  :root { font-size: 16px; }
  html[data-xuan-theme] body { min-width: 0; overflow-x: hidden; }
  html[data-xuan-theme] :where(button,[role="button"],input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]):not([type="color"]),select,textarea) { min-height: 42px; }
  html[data-xuan-theme] :where(input[type="checkbox"],input[type="radio"]) {
    min-height: 0 !important;
    align-self: flex-start;
    flex-shrink: 0;
  }
  html[data-xuan-theme] :where(.qf-auth-remember,.qf-auth-terms,.xh-disclaimer-check,.xh-login-disclaimer-check) input[type="checkbox"] {
    width: 100% !important;
    height: 100% !important;
    min-height: 44px !important;
    max-height: none !important;
    max-width: none !important;
  }
  .xh-check-box {
    flex: none !important;
    align-self: start !important;
    aspect-ratio: 1 / 1 !important;
  }
  html[data-xuan-theme] :where(img,svg,video,canvas) { max-width: 100%; }
  html[data-xuan-theme] :where(table) { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  html[data-xuan-theme] :where(dialog,.modal-card,.dialog-card) { width: calc(100vw - 24px) !important; max-height: calc(100dvh - 24px); overflow: auto; }
  html[data-xuan-theme] main > :is(section,header,div,.container) { animation: none !important; }
  .xh-theme-control { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .xh-theme-trigger {
    width: 48px; height: 48px; border-radius: 14px;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    background: var(--xh-surface) !important;
    touch-action: manipulation;
  }
  .xh-theme-menu {
    position: fixed; left: 12px; right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    top: auto; width: auto; min-width: 0; max-width: none;
    transform-origin: 50% 100%;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    background: var(--xh-surface) !important;
    transition: opacity .16s ease, visibility .16s, transform .16s ease;
    z-index: 10060;
  }
  .xh-site-nav-theme .xh-theme-menu,
  body.kx-lib .kx-theme-slot .xh-theme-menu {
    position: fixed !important;
    left: 12px !important; right: 12px !important;
    top: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    transform-origin: 50% 100% !important;
    z-index: 10060 !important;
  }
  .xh-site-nav-theme .xh-theme-control,
  body.kx-lib .kx-theme-slot .xh-theme-control {
    position: static !important;
  }
  .xh-theme-head { padding: 10px 10px 12px; }
  .xh-theme-head strong { font-size: 1rem; }
  .xh-theme-head span { font-size: .78rem; line-height: 1.45; }
  .xh-theme-options { gap: 8px; padding-top: 10px; }
  .xh-theme-option {
    min-height: 64px; padding: 10px 12px; gap: 12px;
    grid-template-columns: 40px 1fr auto;
    touch-action: manipulation;
  }
  .xh-theme-copy strong { font-size: 14px; font-weight: 500; white-space: nowrap; }
  .xh-theme-copy small { font-size: 12px; line-height: 1.4; }
  html[data-xuan-theme] .mobile-menu-theme .xh-theme-copy strong,
  html[data-xuan-theme] .xh-theme-panel .xh-theme-copy strong {
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.35 !important;
    font-family: inherit !important;
  }
  html[data-xuan-theme] .mobile-menu-theme .xh-theme-copy small,
  html[data-xuan-theme] .xh-theme-panel .xh-theme-copy small {
    font-size: 12px !important;
    font-weight: 400 !important;
  }
  html[data-xuan-theme] .mobile-menu-theme .xh-theme-option,
  html[data-xuan-theme] .xh-theme-panel .xh-theme-option {
    min-height: 44px;
    padding: 8px 10px;
    gap: 10px;
    grid-template-columns: 28px 1fr auto;
  }
  html[data-xuan-theme] .mobile-menu-theme .xh-theme-swatch,
  html[data-xuan-theme] .xh-theme-panel .xh-theme-swatch {
    width: 28px;
    height: 28px;
  }
  .xh-theme-swatch { width: 40px; height: 40px; flex-shrink: 0; }
  .xh-theme-backdrop {
    position: fixed; inset: 0; z-index: 10055;
    background: rgba(0, 0, 0, .48);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .16s ease, visibility .16s;
    touch-action: manipulation;
  }
  .xh-theme-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
  html[data-xuan-theme="obsidian"] :where(.stage,.view-main)::before,
  html[data-xuan-theme="obsidian"] :where(.stage,.view-main)::after { animation: none !important; }
  #backToTop,
  html[data-xuan-theme] #backToTop {
    right: max(12px, env(safe-area-inset-right));
    bottom: calc(70px + env(safe-area-inset-bottom, 0px));
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }
  html[data-xuan-theme] body:has(#xhSupportRoot) #backToTop {
    bottom: calc(16px + 54px + 12px + env(safe-area-inset-bottom, 0px));
  }
  html[data-xuan-theme] body.qf-ui-v2 { font-size: 15px !important; }
  html[data-xuan-theme] body.qf-ui-v2 .xh-theme-control { bottom: calc(76px + env(safe-area-inset-bottom)); }
  html[data-xuan-theme] body.qf-ui-v2 #backToTop { bottom: calc(134px + env(safe-area-inset-bottom, 0px)); }
  html[data-xuan-theme="light"] body.qf-ui-v2 .mb-nav-toggle {
    background: color-mix(in srgb, var(--xh-surface, #fff) 94%, transparent) !important;
    color: var(--xh-text, #171a2a) !important;
    border-color: var(--xh-line, #dfe4ef) !important;
  }
  html[data-xuan-theme="light"] body.qf-ui-v2 .heat-legend.qf-legend-corner {
    background: color-mix(in srgb, var(--xh-surface, #fff) 92%, transparent) !important;
    color: var(--xh-body, #3a4254) !important;
  }
  html[data-xuan-theme] .lp-mode-btn:hover {
    background: var(--xh-accent-soft, rgba(88, 101, 242, .08)) !important;
    color: var(--xh-text) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-xuan-theme] *, html[data-xuan-theme] *::before, html[data-xuan-theme] *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@keyframes xhScanSweep {
  0% { background-position: 50% 135%; }
  100% { background-position: 50% -35%; }
}
@keyframes xhGridPan {
  from { background-position: 0 0, 0 0; }
  to { background-position: 56px 56px, 224px 224px; }
}
@keyframes xhBeamSweep {
  0% { transform: translateX(-65%) skewX(-14deg); opacity: 0; }
  12% { opacity: 1; }
  55% { opacity: 1; }
  100% { transform: translateX(240%) skewX(-14deg); opacity: 0; }
}
@keyframes xhBreathe {
  0%, 100% { opacity: 1; text-shadow: 0 0 0 rgba(0,0,0,0); }
  50% { opacity: .88; text-shadow: 0 0 10px color-mix(in srgb, var(--xh-accent) 45%, transparent); }
}

html[data-xuan-theme="heritage"] body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle at 18% -8%, color-mix(in srgb, var(--xh-accent) 13%, transparent), transparent 34rem),
    radial-gradient(circle at 92% 14%, color-mix(in srgb, var(--xh-accent) 9%, transparent), transparent 28rem),
    repeating-linear-gradient(93deg, rgba(214,188,120,.014) 0 2px, transparent 2px 6px),
    repeating-linear-gradient(2deg, rgba(240,222,175,.012) 0 3px, transparent 3px 8px);
}

html[data-xuan-theme="heritage"] :where(h1,h2,h3,.brand-text,.home-nav-logo,.panel-header h1,.qf-topbar-title,.lp-toolbar h1) {
  font-family: var(--xh-font-serif);
  letter-spacing: .03em;
}

html[data-xuan-theme="heritage"] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.house-card,.mingli-card,.qf-report-card,.diag-card) {
  box-shadow: 0 0 0 1px rgba(210,180,91,.22), 0 0 30px rgba(210,180,91,.07), var(--xh-shadow-soft);
}

html[data-xuan-theme="heritage"] :where(.card,.glass-card,.glass-card-sm,.tool-card,.feature-card,.pricing-card,.house-card,.mingli-card):hover {
  border-color: rgba(224,196,110,.42) !important;
  box-shadow: 0 0 0 1px rgba(224,196,110,.4), 0 0 44px rgba(224,196,110,.16), 0 14px 44px rgba(10,7,3,.5);
}

html[data-xuan-theme="heritage"] :where(.card,.glass-card,.feature-card,.pricing-card,.house-card,.mingli-card)::after {
  content: "";
  position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none;
  background-image: linear-gradient(180deg, transparent 34%, rgba(240,213,121,.09) 46%, rgba(240,213,121,.26) 50%, rgba(210,180,91,.09) 54%, transparent 66%);
  background-repeat: no-repeat; background-size: 100% 260%; background-position: 50% 135%;
  opacity: 0; transition: opacity .35s var(--xh-ease);
}
html[data-xuan-theme="heritage"] :where(.card,.glass-card,.feature-card,.pricing-card,.house-card,.mingli-card):hover::after {
  opacity: 1; animation: xhScanSweep 2.6s var(--xh-ease) 1;
}

html[data-xuan-theme="heritage"] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link) {
  background: var(--xh-gold-grad) !important;
  box-shadow: 0 9px 26px rgba(210,180,91,.3), inset 0 1px 0 rgba(255,246,214,.5);
}

html[data-xuan-theme="light"] body {
  background:
    radial-gradient(ellipse 70rem 34rem at 12% -6%, rgba(120,132,255,.14), transparent 60%),
    radial-gradient(ellipse 62rem 30rem at 96% 8%, rgba(244,166,205,.13), transparent 62%),
    radial-gradient(ellipse 80rem 46rem at 55% 108%, rgba(138,160,255,.12), transparent 64%),
    linear-gradient(158deg, #eef1ff 0%, #f7f5fc 36%, #fdf4f7 70%, #edf3ff 100%) !important;
  background-attachment: fixed;
}

html[data-xuan-theme="light"] :where(.glass-card,.glass-card-sm) {
  background: color-mix(in srgb, var(--xh-surface) 58%, transparent) !important;
  backdrop-filter: blur(40px) saturate(1.25);
  -webkit-backdrop-filter: blur(40px) saturate(1.25);
  box-shadow: 0 24px 60px rgba(88,101,242,.10), inset 0 1px 0 rgba(255,255,255,.7) !important;
}
html[data-xuan-theme="light"] :where(.glass-card,.glass-card-sm):hover {
  background: color-mix(in srgb, var(--xh-surface) 66%, transparent) !important;
  box-shadow: 0 30px 70px rgba(88,101,242,.14), inset 0 1px 0 rgba(255,255,255,.8) !important;
}
html[data-xuan-theme="light"] :where(.site-header,.home-nav,.museum-nav,.topbar,.app-header) {
  background: color-mix(in srgb, var(--xh-surface) 64%, transparent) !important;
  backdrop-filter: blur(40px) saturate(1.2);
  -webkit-backdrop-filter: blur(40px) saturate(1.2);
}

html[data-xuan-theme="light"] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link) {
  background: var(--xh-violet-grad) !important;
  border-color: transparent !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), inset 0 -8px 16px rgba(255,255,255,.14), 0 12px 26px rgba(88,101,242,.28);
}
html[data-xuan-theme="light"] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link):active {
  box-shadow: inset 0 2px 10px rgba(60,70,180,.35), inset 0 0 0 1px rgba(255,255,255,.2), 0 6px 14px rgba(88,101,242,.2);
}

html[data-xuan-theme="light"] :where(.btn-mode.active,.preset-btn.active,.mode-tab.active,.nav-link.active,.xh-theme-option[aria-checked="true"]) {
  box-shadow: inset 0 1px 6px rgba(255,255,255,.5), 0 4px 14px rgba(88,101,242,.16);
}

html[data-xuan-theme="light"] :where(.icon-box,.mingli-ico) {
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.9), transparent 58%),
    linear-gradient(135deg, rgba(88,101,242,.17), rgba(168,108,240,.19)) !important;
  border-color: rgba(88,101,242,.24) !important;
  color: #5a66ee !important;
  box-shadow: 0 6px 16px rgba(88,101,242,.14);
}

html[data-xuan-theme="obsidian"] :where(.stage,.view-main)::before {
  content: "";
  position: absolute; inset: -8%; z-index: 2; pointer-events: none;
  background-image:
    linear-gradient(rgba(84,130,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(84,130,255,.07) 1px, transparent 1px);
  background-size: 56px 56px, 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 72% 62% at 50% 44%, #000 26%, transparent 78%);
  mask-image: radial-gradient(ellipse 72% 62% at 50% 44%, #000 26%, transparent 78%);
  animation: xhGridPan 48s linear infinite;
}

html[data-xuan-theme="obsidian"] :where(.stage,.view-main)::after {
  content: "";
  position: absolute; top: -12%; bottom: -12%; left: -10%; width: 30%; z-index: 3; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(103,163,255,.07) 38%, rgba(168,108,240,.10) 50%, rgba(103,163,255,.07) 62%, transparent);
  filter: blur(2px);
  animation: xhBeamSweep 13s var(--xh-ease) infinite;
}

html[data-xuan-theme="obsidian"] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.mingli-card,.qf-report-card,.diag-card) {
  border: 1px solid transparent !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--xh-surface) 96%, transparent), color-mix(in srgb, var(--xh-surface) 96%, transparent)) padding-box,
    linear-gradient(135deg, rgba(76,125,255,.6), rgba(168,108,240,.34) 55%, rgba(76,125,255,.16)) border-box;
  box-shadow: 0 0 26px rgba(76,125,255,.10), var(--xh-shadow-soft);
}
html[data-xuan-theme="obsidian"] :where(.card,.glass-card,.tool-card,.feature-card,.pricing-card,.mingli-card):hover {
  box-shadow: 0 0 40px rgba(76,125,255,.18), var(--xh-shadow);
}

html[data-xuan-theme="obsidian"] :where(.tag-pill,.xh-value-chip,.xh-theme-check,.icon-box,.qf-points-top,.btn-mode.active,.preset-btn.active,.mode-tab.active) {
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--xh-accent) 52%, transparent));
}
html[data-xuan-theme="obsidian"] :where(.btn-primary,.primary-btn,button.primary,.home-nav-cta,.xh-buy-link) {
  background: var(--xh-neon-grad) !important;
  box-shadow: 0 0 24px rgba(76,125,255,.4), 0 10px 26px rgba(1,7,15,.4);
}

html[data-xuan-theme="obsidian"] :where(.metric-value,.data-value,.house-card-value,.readout b,.qf-grade-panel strong,.bb-stats b) {
  color: var(--xh-accent-strong) !important;
  animation: xhBreathe 4.4s ease-in-out infinite;
}

html[data-xuan-theme] body.qf-ui-v2 .qf-topbar .qf-chip {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
  box-shadow: none !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-topbar .qf-chip:not(.qf-chip-muted) {
  color: var(--xh-accent-strong) !important;
  background: var(--xh-accent-soft) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 42%, transparent) !important;
}

html[data-xuan-theme] body.qf-ui-v2 :where(.back-lib) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.back-lib):hover {
  color: var(--xh-accent-strong) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 55%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.back-lib *) { color: inherit !important; }

html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-presets .preset-btn {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-presets .preset-btn.active,
html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-presets .btn-mode.active {
  color: var(--xh-accent-strong) !important;
  background: var(--xh-accent-soft) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 58%, transparent) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--xh-accent) 26%, transparent), 0 0 18px color-mix(in srgb, var(--xh-accent) 16%, transparent) !important;
}

html[data-xuan-theme] body.qf-ui-v2 #bottomBar .door-toggle .dt-btn {
  color: var(--xh-body) !important;
  background: var(--xh-surface-3) !important;
  border: 1px solid var(--xh-line) !important;
  box-shadow: none !important;
}

html[data-xuan-theme] body.qf-ui-v2 :where(#bbDiag) {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--xh-accent) 26%, transparent) !important;
}

html[data-xuan-theme] body.qf-ui-v2 #bottomBar #open-all.on,
html[data-xuan-theme] body.qf-ui-v2 #bottomBar #close-all.on {
  color: var(--xh-accent-strong) !important;
  background: var(--xh-accent-soft) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 55%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.dt-btn.on) {
  color: var(--xh-accent-strong) !important;
  background: var(--xh-accent-soft) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 55%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#dtCount) { color: var(--xh-muted) !important; }

html[data-xuan-theme] body.qf-ui-v2 :where(.compass-container,.sitting-compass-wrap) {
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.compass-wrap canvas,.sitting-compass-wrap canvas) {
  box-shadow: 0 0 0 1px var(--xh-line-strong), 0 0 20px rgba(0,0,0,.35) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.dir-name) { color: var(--xh-accent) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.dir-deg) { color: var(--xh-muted) !important; }

html[data-xuan-theme] body.qf-ui-v2 :where(#lpSwitch button,.seg button) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-3) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 #lpSwitch button.on,
html[data-xuan-theme] body.qf-ui-v2 .seg button.on {
  color: var(--xh-accent-strong) !important;
  background: var(--xh-accent-soft) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 55%, transparent) !important;
  box-shadow: none !important;
}

html[data-xuan-theme] body.qf-ui-v2 :where(.qf-report-shell) {
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
  box-shadow: var(--xh-shadow-soft) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-report-shell .qf-report-body,#qfReportBody) {
  background: color-mix(in srgb, var(--xh-bg) 52%, var(--xh-surface)) !important;
  color: var(--xh-body) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-report-actions .btn-action) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-3) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-report-actions .btn-action):hover {
  color: var(--xh-text) !important;
  border-color: color-mix(in srgb, var(--xh-accent) 50%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-report-card {
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-report-card:hover {
  border-color: color-mix(in srgb, var(--xh-accent) 50%, transparent) !important;
  background: var(--xh-surface-3) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-report-unlock-btn) {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
}

html[data-xuan-theme] body.qf-ui-v2 #qfAuthModal .qf-auth-modal {
  color: var(--xh-body) !important;
  background: var(--xh-surface) !important;
  border: 1px solid var(--xh-line) !important;
  box-shadow: var(--xh-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-title) { color: var(--xh-text) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-subtitle,.qf-auth-divider,.qf-auth-merge-hint,.qf-auth-tab-switch,.qf-auth-password-hint,.qf-auth-captcha-hint) { color: var(--xh-muted) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-label,.qf-auth-remember span,.qf-auth-terms span) { color: var(--xh-body) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-tabs,.qf-auth-channel) {
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-tab,.qf-auth-channel-btn) {
  color: var(--xh-body) !important;
  background: transparent !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-tab.active,.qf-auth-channel-btn.active) {
  color: var(--xh-accent-strong) !important;
  background: var(--xh-accent-soft) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--xh-accent) 45%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-input) {
  color: var(--xh-text) !important;
  background: var(--xh-surface-2) !important;
  border: 1px solid var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-input:focus) {
  border-color: var(--xh-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--xh-accent) 20%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-phone-prefix,.qf-auth-captcha-img,.qf-auth-code-btn) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-3) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-submit) {
  color: var(--xh-accent-ink) !important;
  background: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--xh-accent) 30%, transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-submit:hover) { filter: brightness(1.06); }
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-link-btn,.qf-auth-terms a,.qf-report-pro-link) { color: var(--xh-accent) !important; }
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-close) {
  color: var(--xh-muted) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-close:hover) {
  color: var(--xh-accent) !important;
  border-color: var(--xh-accent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-auth-perk,.qf-auth-demo-badge) {
  color: var(--xh-body) !important;
  background: var(--xh-surface-2) !important;
  border-color: var(--xh-line) !important;
}

html[data-xuan-theme] body.qf-ui-v2 :where(input[type="range"],input[type="checkbox"],input[type="radio"]) { accent-color: var(--xh-accent) !important; }
html[data-xuan-theme]:not([data-xuan-theme="light"]) :where(input[type="checkbox"], input[type="radio"]) {
  color-scheme: light;
  accent-color: var(--xh-accent);
}

.qf-auth-remember,
.qf-auth-terms,
.xh-disclaimer-check,
.xh-login-disclaimer-check {
  position: relative;
  min-height: 44px;
  padding: 8px 6px;
  cursor: pointer;
}
.qf-auth-remember input[type="checkbox"],
.qf-auth-terms input[type="checkbox"],
.xh-disclaimer-check input[type="checkbox"],
.xh-login-disclaimer-check input[type="checkbox"] {
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  z-index: 1 !important;
  cursor: pointer !important;
}
.qf-auth-remember a,
.qf-auth-terms a,
.xh-disclaimer-check a,
.xh-login-disclaimer-check a {
  position: relative;
  z-index: 2;
}
.xh-check-box {
  box-sizing: border-box;
  flex: none;
  align-self: flex-start;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  max-height: 22px;
  aspect-ratio: 1 / 1;
  margin: 2px 0 0;
  display: inline-grid;
  place-items: center;
  border: 2px solid var(--xh-accent, #3b50df);
  border-radius: 4px;
  background: #fff;
  font-style: normal;
  line-height: 0;
  overflow: hidden;
  pointer-events: none;
  position: relative;
  z-index: 0;
}
.xh-check-box::after {
  content: "";
  width: 9px;
  height: 5px;
  margin-top: -2px;
  border-left: 2.2px solid var(--xh-accent-ink, #fff);
  border-bottom: 2.2px solid var(--xh-accent-ink, #fff);
  transform: rotate(-45deg);
  opacity: 0;
}
.qf-auth-remember input:checked + .xh-check-box,
.qf-auth-terms input:checked + .xh-check-box,
.xh-disclaimer-check input:checked + .xh-check-box,
.xh-login-disclaimer-check input:checked + .xh-check-box {
  background: var(--xh-accent, #3b50df);
  border-color: var(--xh-accent, #3b50df);
}
.qf-auth-remember input:checked + .xh-check-box::after,
.qf-auth-terms input:checked + .xh-check-box::after,
.xh-disclaimer-check input:checked + .xh-check-box::after,
.xh-login-disclaimer-check input:checked + .xh-check-box::after {
  opacity: 1;
}
.qf-auth-remember:focus-within .xh-check-box,
.qf-auth-terms:focus-within .xh-check-box,
.xh-disclaimer-check:focus-within .xh-check-box,
.xh-login-disclaimer-check:focus-within .xh-check-box {
  outline: 2px solid var(--xh-accent, #3b50df);
  outline-offset: 2px;
}
html[data-xuan-theme="light"] .xh-check-box {
  background: #fff;
  border-color: #3b50df;
}
html[data-xuan-theme="light"] .qf-auth-remember input:checked + .xh-check-box,
html[data-xuan-theme="light"] .qf-auth-terms input:checked + .xh-check-box,
html[data-xuan-theme="light"] .xh-disclaimer-check input:checked + .xh-check-box,
html[data-xuan-theme="light"] .xh-login-disclaimer-check input:checked + .xh-check-box {
  background: #3b50df;
  border-color: #3b50df;
}
html[data-xuan-theme="light"] .qf-auth-remember input:checked + .xh-check-box::after,
html[data-xuan-theme="light"] .qf-auth-terms input:checked + .xh-check-box::after,
html[data-xuan-theme="light"] .xh-disclaimer-check input:checked + .xh-check-box::after,
html[data-xuan-theme="light"] .xh-login-disclaimer-check input:checked + .xh-check-box::after {
  border-color: #fff;
}
@media (max-width: 820px) {
  .xh-check-box {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    max-width: 20px;
    max-height: 20px;
  }
}

html[data-xuan-theme] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.mingli-card,.house-card,.qf-report-card,.diag-card,.qf-modal,.qf-auth-modal,.gq-workflow) {
  border-radius: var(--xh-radius-card);
}
html[data-xuan-theme] :where(button:not(.xh-theme-option):not([class*="dot"]):not([class*="close"]),input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea,.qf-auth-input,.seg button,.preset-btn,.dt-btn,.btn-action,.qf-sample-primary,.qf-sample-secondary) {
  border-radius: var(--xh-radius-btn);
}
html[data-xuan-theme] :where(.qf-topbar-badge,.tag,.badge,.qf-sample-kicker,.geoqi-badge) {
  border-radius: var(--xh-radius-chip);
}

html[data-xuan-theme="light"] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.mingli-card,.house-card,.qf-report-card),
html[data-xuan-theme="heritage"] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.mingli-card,.house-card,.qf-report-card) {
  box-shadow: var(--xh-shadow-card);
}
html[data-xuan-theme="light"] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.mingli-card,.house-card,.qf-report-card):hover,
html[data-xuan-theme="heritage"] :where(.card,.glass-card,.glass-card-sm,.rd-card,.tool-card,.result-card,.account-card,.pricing-card,.feature-card,.mingli-card,.house-card,.qf-report-card):hover {
  box-shadow: var(--xh-shadow-hover);
}
html[data-xuan-theme] :where(.qf-modal,.qf-auth-modal) {
  box-shadow: var(--xh-shadow);
}

html[data-xuan-theme] :where(button,.btn-action,.preset-btn,.dt-btn,.qf-chip,.qf-report-card,.qf-auth-input,.seg button,.qf-topbar-back) {
  transition:
    background-color var(--xh-dur) var(--xh-ease),
    border-color var(--xh-dur) var(--xh-ease),
    color var(--xh-dur) var(--xh-ease),
    box-shadow var(--xh-dur) var(--xh-ease),
    filter var(--xh-dur) var(--xh-ease),
    transform var(--xh-dur) var(--xh-ease);
}
html[data-xuan-theme] :where(.qf-modal-mask.open .qf-modal,.qf-auth-modal) {
  animation-duration: var(--xh-dur-slow);
}

html[data-xuan-theme] :where(.qf-report-card):hover {
  transform: translateY(-1px);
}

html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .section-title {
  margin: 20px 0 8px;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .side-section:first-of-type > .section-title:first-child,
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .section-header + .section-title {
  margin-top: 4px;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(.group-body,.seg,.qf-report-cards,.qm-btns) {
  gap: var(--xh-space-item);
}

html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .panel-header h1 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--xh-text);
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .section-title {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .16em;
  color: var(--xh-muted);
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .panel-header .sub {
  font-size: 10.5px;
  color: var(--xh-muted);
}
html[data-xuan-theme] body.qf-ui-v2 :where(.readout b,.bb-stats b,.data-value,.metric-value,.house-card-value) {
  font-weight: 600;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-report-card-desc,.qf-auth-terms) {
  color: var(--xh-muted);
}

html[data-xuan-theme] :where(h1,h2,h3) {
  font-family: var(--xh-font-display) !important;
  letter-spacing: var(--xh-head-spacing);
}
html[data-xuan-theme="heritage"] :where(h1,h2,h3) { font-weight: 600; }
html[data-xuan-theme="light"] :where(h1,h2,h3) { font-weight: 700; }
html[data-xuan-theme="obsidian"] :where(h1,h2,h3) { font-weight: 650; }

html[data-xuan-theme="heritage"] :where(main,section,.hero) > :where(h1) {
  background: linear-gradient(120deg, var(--xh-gilt-strong) 12%, color-mix(in srgb, #fff8e0 62%, var(--xh-gilt-strong)) 50%, var(--xh-gilt-strong) 88%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
html[data-xuan-theme="heritage"] :where(h1,h2)::after {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin-top: 9px;
  background: linear-gradient(90deg, var(--xh-gilt-strong), transparent);
}
html[data-xuan-theme="heritage"] .text-center :where(h1,h2)::after,
html[data-xuan-theme="heritage"] :where(h1,h2).text-center::after {
  margin-left: auto;
  margin-right: auto;
}

html[data-xuan-theme="light"] :where(main,section) > :where(h1,h2)::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  border-radius: 2px;
  margin-top: 8px;
  background: linear-gradient(90deg, var(--xh-accent), transparent);
}

html[data-xuan-theme] body {
  background-image: var(--xh-atmo) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

html[data-xuan-theme="obsidian"] body::before {
  content: "";
  position: fixed;
  left: 0; right: 0; bottom: 0;
  height: 38vh;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(90deg, var(--xh-grid-line) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, var(--xh-grid-line) 0 1px, transparent 1px 42px);
  -webkit-mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.9));
  mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.9));
}

html[data-xuan-theme="obsidian"] body::after {
  content: "";
  position: fixed;
  left: 0; right: 0;
  top: -26%;
  height: 200px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(160,107,255,.07), rgba(46,230,255,.05), transparent);
  animation: xhScan 14s linear infinite;
}
@keyframes xhScan {
  to { transform: translateY(165vh); }
}

html[data-xuan-theme="heritage"] :where(.card,.glass-card,.rd-card,.tool-card,.feature-card,.pricing-card,.mingli-card,.house-card,.account-card) {
  background-image:
    linear-gradient(var(--xh-gilt), var(--xh-gilt)),
    linear-gradient(var(--xh-gilt), var(--xh-gilt)),
    linear-gradient(var(--xh-gilt), var(--xh-gilt)),
    linear-gradient(var(--xh-gilt), var(--xh-gilt)),
    linear-gradient(var(--xh-flourish), var(--xh-flourish)),
    linear-gradient(var(--xh-flourish), var(--xh-flourish)),
    linear-gradient(var(--xh-flourish), var(--xh-flourish)),
    linear-gradient(var(--xh-flourish), var(--xh-flourish)),
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--xh-gilt-strong) 36%, transparent), transparent);
  background-size:
    36px 1.5px, 1.5px 36px,
    36px 1.5px, 1.5px 36px,
    5px 5px, 5px 5px, 5px 5px, 5px 5px,
    58% 1px;
  background-position:
    9px 9px, 9px 9px,
    right 9px bottom 9px, right 9px bottom 9px,
    13px 13px, 30px 13px, right 13px bottom 13px, right 30px bottom 13px,
    left 50% bottom 0;
  background-repeat: no-repeat;
  border-color: color-mix(in srgb, var(--xh-gilt-strong) 32%, var(--xh-line)) !important;
}
html[data-xuan-theme="heritage"] :where(.card,.glass-card,.rd-card,.tool-card,.feature-card,.pricing-card,.mingli-card,.house-card,.account-card):hover {
  border-color: color-mix(in srgb, var(--xh-gilt-strong) 58%, var(--xh-line)) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 0 0 1px color-mix(in srgb, var(--xh-gilt-strong) 16%, transparent);
}

html[data-xuan-theme="light"] :where(.card,.glass-card,.rd-card,.tool-card,.feature-card,.pricing-card,.mingli-card,.house-card,.account-card) {
  background-color: rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter: blur(var(--xh-glass-blur)) saturate(140%);
  backdrop-filter: blur(var(--xh-glass-blur)) saturate(140%);
  background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--xh-accent) 10%, transparent), transparent 84px),
    linear-gradient(90deg, transparent 8%, var(--xh-glass-edge) 50%, transparent 92%);
  background-size: 100% 84px, 100% 1.5px;
  background-position: top, top;
  background-repeat: no-repeat;
  border: 1px solid transparent !important;
  background-clip: padding-box !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 16px 36px rgba(80,96,160,.12);
}
html[data-xuan-theme="light"] :where(.card,.glass-card,.rd-card,.tool-card,.feature-card,.pricing-card,.mingli-card,.house-card,.account-card):hover {
  box-shadow:
    0 0 0 1px rgba(255,255,255,.7) inset,
    0 22px 48px rgba(80,96,160,.18);
}

html[data-xuan-theme="obsidian"] :where(.card,.glass-card,.rd-card,.tool-card,.feature-card,.pricing-card,.mingli-card,.house-card,.account-card) {
  border: 1px solid color-mix(in srgb, var(--xh-neon-cyan) 42%, transparent) !important;
  background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--xh-neon-violet) 9%, transparent), transparent 56%),
    linear-gradient(var(--xh-corner), var(--xh-corner)),
    linear-gradient(var(--xh-corner), var(--xh-corner));
  background-size: 100% 44px, 18px 2px, 2px 18px;
  background-position: top, right 10px top 10px, right 10px top 10px;
  background-repeat: no-repeat;
  box-shadow: 0 0 20px color-mix(in srgb, var(--xh-neon-violet) 13%, transparent);
}
html[data-xuan-theme="obsidian"] :where(.card,.glass-card,.rd-card,.tool-card,.feature-card,.pricing-card,.mingli-card,.house-card,.account-card):hover {
  border-color: color-mix(in srgb, var(--xh-neon-pink) 62%, transparent) !important;
  box-shadow:
    0 0 26px color-mix(in srgb, var(--xh-neon-pink) 18%, transparent),
    inset 0 0 22px color-mix(in srgb, var(--xh-neon-cyan) 7%, transparent);
}

html[data-xuan-theme] :where(.metric-value,.data-value,.readout b,.bb-stats b,.house-card-value) {
  font-family: var(--xh-font-data);
  font-variant-numeric: tabular-nums;
}
html[data-xuan-theme="heritage"] :where(.metric-value,.data-value) {
  color: var(--xh-accent-strong);
}
html[data-xuan-theme="obsidian"] :where(.metric-value,.data-value) {
  color: var(--xh-neon-cyan);
  text-shadow:
    0 0 12px color-mix(in srgb, var(--xh-neon-cyan) 42%, transparent),
    0 0 34px color-mix(in srgb, var(--xh-neon-pink) 20%, transparent);
}

html[data-xuan-theme] :where(.section-title,.sec-title,.panel-sec > .title,.qf-sample-kicker) {
  letter-spacing: .14em;
  text-transform: none;
  color: var(--xh-muted);
}
html[data-xuan-theme="heritage"] :where(.section-title,.sec-title) {
  font-family: var(--xh-font-display);
  color: color-mix(in srgb, var(--xh-accent) 62%, var(--xh-muted));
}
html[data-xuan-theme="heritage"] :where(.section-title,.sec-title)::before {
  content: "◆";
  font-size: .6em;
  margin-right: .55em;
  color: var(--xh-gilt-strong);
}
html[data-xuan-theme="light"] :where(.section-title,.sec-title)::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  margin-right: 8px;
  vertical-align: 1px;
  background: linear-gradient(135deg, var(--xh-accent), color-mix(in srgb, var(--xh-accent) 30%, #fff));
}
html[data-xuan-theme="obsidian"] :where(.section-title,.sec-title) {
  text-shadow: 0 0 10px color-mix(in srgb, var(--xh-neon-cyan) 32%, transparent);
}
html[data-xuan-theme="obsidian"] :where(.section-title,.sec-title)::before {
  content: "▸";
  margin-right: .5em;
  color: var(--xh-neon-pink);
  text-shadow: 0 0 8px color-mix(in srgb, var(--xh-neon-pink) 55%, transparent);
}

@keyframes xhRiseIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
html[data-xuan-theme] main > :is(section,header,div,.container) {
  animation: xhRiseIn .46s var(--xh-ease) backwards;
}
html[data-xuan-theme] main > :is(section,header,div,.container):nth-child(1) { animation-delay: .04s; }
html[data-xuan-theme] main > :is(section,header,div,.container):nth-child(2) { animation-delay: .11s; }
html[data-xuan-theme] main > :is(section,header,div,.container):nth-child(3) { animation-delay: .18s; }
html[data-xuan-theme] main > :is(section,header,div,.container):nth-child(n+4) { animation-delay: .25s; }
@media (prefers-reduced-motion: reduce) {
  html[data-xuan-theme] main > :is(section,header,div,.container) { animation: none; }
  html[data-xuan-theme="obsidian"] body::after { animation: none; opacity: 0; }
}

html[data-xuan-theme] :where(a[href],button,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid var(--xh-accent-strong) !important;
  outline-offset: 2px;
  border-radius: var(--xh-radius-xs);
}
html[data-xuan-theme="obsidian"] :where(a[href],button,input,select,textarea,[tabindex]):focus-visible {
  outline-color: var(--xh-neon-cyan) !important;
  box-shadow: 0 0 10px color-mix(in srgb, var(--xh-neon-cyan) 45%, transparent);
}

html[data-xuan-theme] :where(button,a,[role="button"],summary,label[for]) {
  cursor: pointer;
}
html[data-xuan-theme] :where(button,[role="button"],.btn,.cta,.primary,.btn-action) {
  transition: background-color var(--xh-dur) var(--xh-ease),
    border-color var(--xh-dur) var(--xh-ease),
    color var(--xh-dur) var(--xh-ease),
    box-shadow var(--xh-dur) var(--xh-ease),
    transform var(--xh-dur) var(--xh-ease);
}
html[data-xuan-theme] :where(button,[role="button"],.btn):not(:disabled):hover {
  filter: brightness(1.07);
}
html[data-xuan-theme] :where(button,[role="button"],.btn):not(:disabled):active {
  transform: translateY(1px) scale(.995);
}
html[data-xuan-theme] :where(button,[role="button"],.btn):disabled,
html[data-xuan-theme] :where(button,[role="button"],.btn)[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
  filter: none;
}

html[data-xuan-theme] :where(p,li,td,th,dd,dt,label,.copy,.desc,.hint) {
  overflow-wrap: anywhere;
}
html[data-xuan-theme] :where(.prose,.article-body,.long-text,.legal-content) {
  max-inline-size: min(100%, 72ch);
  line-height: 1.7;
}

html[data-xuan-theme] :where(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  color: var(--xh-text);
  background: var(--xh-surface-2);
  border: 1px solid var(--xh-line);
  border-radius: var(--xh-radius-sm);
  transition: border-color var(--xh-dur) var(--xh-ease), box-shadow var(--xh-dur) var(--xh-ease);
}
html[data-xuan-theme] :where(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):hover {
  border-color: var(--xh-line-strong);
}
html[data-xuan-theme] :where(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus {
  border-color: var(--xh-accent);
  box-shadow: 0 0 0 3px var(--xh-accent-soft);
}
html[data-xuan-theme] :where(input,select,textarea)::placeholder {
  color: var(--xh-muted);
}

html[data-xuan-theme] :where(table) {
  border-collapse: collapse;
}
html[data-xuan-theme] :where(th) {
  text-align: left;
  font-weight: 600;
  color: var(--xh-text);
}
html[data-xuan-theme] :where(td,th) {
  border-bottom: 1px solid var(--xh-line);
}
html[data-xuan-theme] :where(tbody tr:nth-child(even)) {
  background: color-mix(in srgb, var(--xh-surface-2) 55%, transparent);
}
html[data-xuan-theme] :where(hr) {
  border: none;
  border-top: 1px solid var(--xh-line);
}

html[data-xuan-theme] {
  scrollbar-width: thin;
  scrollbar-color: var(--xh-line-strong) transparent;
}
html[data-xuan-theme] ::-webkit-scrollbar { width: 9px; height: 9px; }
html[data-xuan-theme] ::-webkit-scrollbar-track { background: transparent; }
html[data-xuan-theme] ::-webkit-scrollbar-thumb {
  background: var(--xh-line-strong);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
html[data-xuan-theme] ::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--xh-accent) 55%, transparent);
  background-clip: content-box;
}

html[data-xuan-theme] ::selection {
  background: color-mix(in srgb, var(--xh-accent) 32%, transparent);
  color: var(--xh-text);
}
html[data-xuan-theme] :where(mark) {
  background: color-mix(in srgb, var(--xh-warning) 30%, transparent);
  color: var(--xh-text);
  border-radius: 3px;
  padding: 0 .2em;
}

html[data-xuan-theme] :where(.actions,.btns,.btn-group,.toolbar,.qf-doors-actions,.qf-report-actions) {
  gap: max(8px, var(--xh-space-item));
}

html[data-xuan-theme] :where(.prose,.article-body,.long-text,.legal-content,p,li) a[href]:not(.btn):not(.cta):not([class*="btn"]) {
  color: var(--xh-accent);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--xh-accent) 38%, transparent);
  text-underline-offset: 3px;
  transition: color var(--xh-dur) var(--xh-ease), text-decoration-color var(--xh-dur) var(--xh-ease);
}
html[data-xuan-theme] :where(.prose,.article-body,.long-text,.legal-content,p,li) a[href]:not(.btn):not(.cta):not([class*="btn"]):hover {
  color: var(--xh-accent-strong);
  text-decoration-color: var(--xh-accent-strong);
}

html[data-xuan-theme] :where(img,svg,video,canvas):not([width]):not(.compass):not(#scene3d) {
  max-width: 100%;
  height: auto;
}

html[data-xuan-theme] :where(.tag-pill,.btn-ghost,.mobile-menu-title,.mobile-menu-group-title,.mobile-menu-link:hover,.mobile-menu-item:hover) {
  color: var(--xh-accent) !important;
}
html[data-xuan-theme] :where(.tag-pill,.btn-ghost,.mobile-menu-item,.mobile-menu-close,.mobile-menu-btn) {
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] :where(.tag-pill,.btn-ghost:hover,.mobile-menu-item:hover) {
  background: var(--xh-accent-soft) !important;
}
html[data-xuan-theme] :where(.mobile-menu,.mobile-menu-head,.mobile-menu-link,.mobile-menu-item) {
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] :where(.mobile-menu) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb, var(--xh-bg) 97%, transparent) !important;
}

html[data-xuan-theme] :where(svg [stroke="var(--xh-accent)"],svg [stroke="var(--ix-accent)"]) {
  stroke: var(--xh-accent) !important;
}
html[data-xuan-theme] :where(svg [fill="var(--xh-accent)"],svg [fill="var(--ix-accent)"]) {
  fill: var(--xh-accent) !important;
}
html[data-xuan-theme] :where(svg [fill="var(--xh-accent-strong)"],svg [fill="var(--ix-accent-strong)"]) {
  fill: var(--xh-accent-strong) !important;
}
html[data-xuan-theme] :where(svg stop[stop-color="var(--xh-accent)"],svg stop[stop-color="var(--ix-accent)"]) {
  stop-color: var(--xh-accent) !important;
}

html[data-xuan-theme] body:has(#hero-text) {
  background:
    radial-gradient(1000px 620px at 78% 4%, color-mix(in srgb, var(--xh-accent) 11%, transparent), transparent 64%),
    var(--xh-bg) !important;
}
html[data-xuan-theme] body:has(#hero-text) :where(nav,footer) {
  color: var(--xh-body) !important;
  background: color-mix(in srgb, var(--xh-bg) 91%, transparent) !important;
  border-color: var(--xh-line) !important;
}
html[data-xuan-theme] body:has(#hero-text) .glass-card {
  color: var(--xh-body) !important;
  background-color: color-mix(in srgb, var(--xh-surface) 92%, transparent) !important;
  border-color: var(--xh-line) !important;
  box-shadow: var(--xh-shadow-card) !important;
}
html[data-xuan-theme] body:has(#hero-text) .glass-card:hover {
  border-color: var(--xh-line-strong) !important;
  box-shadow: var(--xh-shadow-hover) !important;
}
html[data-xuan-theme] body:has(#hero-text) :where(.tag-pill,.icon-box,.ix-step-num) {
  color: var(--xh-accent) !important;
  border-color: var(--xh-line-strong) !important;
}
html[data-xuan-theme] body:has(#hero-text) .ix-step-num {
  background: var(--xh-surface) !important;
}

html[data-xuan-theme="light"] body:has(#hero-text) :where(footer,.mobile-menu) {
  background: color-mix(in srgb, var(--xh-surface) 74%, var(--xh-bg)) !important;
}

html[data-xuan-theme] body.qf-ui-v2 :where(#panelRight,#panelLeft) :where(.section-title,.sub-title,.label,.hint,.desc,.readout,.qf-copy,.qf-card-copy) {
  color: var(--xh-body) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelRight,#panelLeft) :where(.section-title,.sub-title,strong,b) {
  color: var(--xh-text) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelRight,#panelLeft) :where(.section-title,.sub-title)::before {
  color: var(--xh-accent) !important;
}

html[data-xuan-theme="heritage"] body.qf-ui-v2 {
  --qf-ui-panel: #211b13;
  --qf-ui-panel-2: #2a2318;
  --qf-ui-panel-3: #332a1d;
  --qf-ui-line: rgba(215,189,114,.22);
  --qf-ui-line-strong: rgba(224,196,110,.48);
  --qf-ui-text: #f3eee2;
  --qf-ui-body: #c9bfaf;
  --qf-ui-muted: #998e7e;
  --qf-ui-accent: #d2b45b;
  --qf-ui-accent-strong: #f0d579;
  --qf-ui-accent-ink: #17130d;
  --qf-ui-accent-soft: rgba(210,180,91,.16);
  --qf-ui-panel-gradient: linear-gradient(180deg,rgba(35,29,20,.98),rgba(24,19,13,.98));
  --qf-ui-shadow: 0 24px 64px rgba(5,3,1,.46), inset 0 1px 0 rgba(255,241,194,.04);
}
html[data-xuan-theme="light"] body.qf-ui-v2 {
  --qf-ui-panel: #ffffff;
  --qf-ui-panel-2: #f6f7fc;
  --qf-ui-panel-3: #eef0f8;
  --qf-ui-line: #dfe4ef;
  --qf-ui-line-strong: #bdc7db;
  --qf-ui-text: #171a2a;
  --qf-ui-body: #596176;
  --qf-ui-muted: #8791a5;
  --qf-ui-accent: #5865f2;
  --qf-ui-accent-strong: #4653df;
  --qf-ui-accent-ink: #ffffff;
  --qf-ui-accent-soft: rgba(88,101,242,.12);
  --qf-ui-panel-gradient: linear-gradient(180deg,rgba(255,255,255,.985),rgba(247,248,252,.985));
  --qf-ui-shadow: 0 24px 64px rgba(67,75,116,.15), inset 0 1px 0 rgba(255,255,255,.9);
}
html[data-xuan-theme="obsidian"] body.qf-ui-v2 {
  --qf-ui-panel: #0d1b2a;
  --qf-ui-panel-2: #132238;
  --qf-ui-panel-3: #192b44;
  --qf-ui-line: #26364c;
  --qf-ui-line-strong: #405a79;
  --qf-ui-text: #f5f8ff;
  --qf-ui-body: #aeb9c9;
  --qf-ui-muted: #71839b;
  --qf-ui-accent: #4c7dff;
  --qf-ui-accent-strong: #75a2ff;
  --qf-ui-accent-ink: #ffffff;
  --qf-ui-accent-soft: rgba(76,125,255,.16);
  --qf-ui-panel-gradient: linear-gradient(180deg,rgba(15,29,46,.98),rgba(8,18,31,.98));
  --qf-ui-shadow: 0 24px 64px rgba(0,5,14,.5), inset 0 1px 0 rgba(153,190,255,.05);
}

html[data-xuan-theme] body.qf-ui-v2 {
  color: var(--qf-ui-body) !important;
  background: var(--xh-bg) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-topbar,#panelLeft.panel-premium,#panelRight.panel-premium,.qf-modal,.qf-auth-modal,.qf-onboard-card,.mb-sheet) {
  color: var(--qf-ui-body) !important;
  background: var(--qf-ui-panel-gradient) !important;
  border-color: var(--qf-ui-line) !important;
  box-shadow: var(--qf-ui-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .panel-header,
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) .qf-zone-label {
  color: var(--qf-ui-text) !important;
  background: var(--qf-ui-panel) !important;
  border-color: var(--qf-ui-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(.side-section,.qf-acc,.proto-details,.group,.house-wrap,.house-card,.layer-item,.qf-card,.qf-card-v2,.qf-section,.right-card,.diag-card,.glass-panel-sm,.qf-report-body,.qf-report-card,.qf-report-locked,.qf-pro-card,.qf-pro-price-card,.env-note-card,.comfort-issue-card,.ext-mvp-diag,.ext-mvp-opening,.pl-row) {
  color: var(--qf-ui-body) !important;
  background: var(--qf-ui-panel-2) !important;
  background-image: none !important;
  border-color: var(--qf-ui-line) !important;
  box-shadow: none !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(.qf-acc-body,.proto-body,.group-body,.qf-report-card-body) {
  color: var(--qf-ui-body) !important;
  background: transparent !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(h1,h2,h3,h4,b,strong,label,summary,.section-title,.section-header,.qf-card-step-title,.slider-label .value,.param-value) {
  color: var(--qf-ui-text) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(p,small,.sub,.muted,.hint,.desc,.readout,.slider-hint,.param-label,.qf-card-step-sub,.qf-card-hint,.qf-copy,.qf-card-copy) {
  color: var(--qf-ui-body) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(button:not(.active):not(.on),select,input:not([type="range"]),textarea),
html[data-xuan-theme] body.qf-ui-v2 #bottomBar :where(button:not(.active):not(.on)) {
  color: var(--qf-ui-body) !important;
  background: var(--qf-ui-panel-2) !important;
  background-image: none !important;
  border-color: var(--qf-ui-line) !important;
  box-shadow: none !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(button:not(.active):not(.on),select):hover,
html[data-xuan-theme] body.qf-ui-v2 #bottomBar :where(button:not(.active):not(.on)):hover {
  color: var(--qf-ui-text) !important;
  background: var(--qf-ui-panel-3) !important;
  border-color: var(--qf-ui-line-strong) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight,#bottomBar,#scenePresets) :where(.active,.on,[aria-pressed="true"]),
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-btn-primary,.qf-float-cta,#qfPanelDiag) {
  color: var(--qf-ui-accent-ink) !important;
  background: var(--qf-ui-accent) !important;
  background-image: linear-gradient(180deg,var(--qf-ui-accent-strong),var(--qf-ui-accent)) !important;
  border-color: var(--qf-ui-accent-strong) !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--qf-ui-accent) 25%,transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) :where(input[type="range"],input[type="checkbox"],input[type="radio"]) {
  accent-color: var(--qf-ui-accent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(#panelLeft,#panelRight) input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(90deg,var(--qf-ui-accent-soft),var(--qf-ui-panel-3)) !important;
}
html[data-xuan-theme] body.qf-ui-v2 :where(.qf-dock,#bottomBar .bb-stats,#bottomBar .bb-actions,#scenePresets,.qfhud-corner,.qfhud-url,.qfhud-scale,.qfhud-compass,.qf-progress) {
  color: var(--qf-ui-body) !important;
  background: color-mix(in srgb,var(--qf-ui-panel) 94%,transparent) !important;
  border-color: var(--qf-ui-line) !important;
  box-shadow: var(--qf-ui-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .panel-premium.is-min > .panel-min-bar {
  color: var(--qf-ui-text) !important;
  background: var(--qf-ui-panel-gradient) !important;
  border-color: var(--qf-ui-line-strong) !important;
  box-shadow: var(--qf-ui-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .panel-premium.is-min > .panel-min-bar::before {
  background: radial-gradient(circle at 34% 28%,#fff 0 16%,var(--qf-ui-accent-strong) 19% 48%,var(--qf-ui-accent) 72%) !important;
  box-shadow: 0 0 20px color-mix(in srgb,var(--qf-ui-accent) 42%,transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .panel-premium.is-min > .panel-min-bar::after {
  color: var(--qf-ui-text) !important;
  text-shadow: none !important;
}
html[data-xuan-theme] body.qf-ui-v2 .panel-premium.is-min::after {
  color: var(--qf-ui-text) !important;
  background: var(--qf-ui-panel) !important;
  border-color: var(--qf-ui-line) !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 :where(#panelLeft,#panelRight) .panel-logo {
  color: var(--qf-ui-accent) !important;
  background: var(--qf-ui-accent-soft) !important;
  border-color: color-mix(in srgb,var(--qf-ui-accent) 26%,var(--qf-ui-line)) !important;
}
html[data-xuan-theme="heritage"] body.qf-ui-v2 :where(.qf-card-step-num,.qf-topbar-icon) {
  color: var(--qf-ui-accent-ink) !important;
  background: var(--qf-ui-accent) !important;
  box-shadow: 0 6px 18px rgba(210,180,91,.24) !important;
}
html[data-xuan-theme="obsidian"] body.qf-ui-v2 :where(.qf-card-step-num,.qf-topbar-icon),
html[data-xuan-theme="light"] body.qf-ui-v2 :where(.qf-card-step-num,.qf-topbar-icon) {
  color: var(--qf-ui-accent-ink) !important;
  background: var(--qf-ui-accent) !important;
  box-shadow: 0 6px 18px color-mix(in srgb,var(--qf-ui-accent) 26%,transparent) !important;
}

html[data-xuan-theme] body.qf-ui-v2 #panelLeft.panel-premium,
html[data-xuan-theme] body.qf-ui-v2 #panelRight.panel-premium {
  color: var(--qf-ui-body) !important;
  background: var(--qf-ui-panel-gradient) !important;
  border-color: var(--qf-ui-line) !important;
  box-shadow: var(--qf-ui-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 #panelLeft [aria-pressed="true"],
html[data-xuan-theme] body.qf-ui-v2 #panelRight [aria-pressed="true"],
html[data-xuan-theme] body.qf-ui-v2 #panelLeft :is(.active,.on),
html[data-xuan-theme] body.qf-ui-v2 #panelRight :is(.active,.on),
html[data-xuan-theme] body.qf-ui-v2 #bottomBar :is(.active,.on),
html[data-xuan-theme] body.qf-ui-v2 #scenePresets :is(.active,.on) {
  color: var(--qf-ui-accent-ink) !important;
  background: var(--qf-ui-accent) !important;
  background-image: linear-gradient(180deg,var(--qf-ui-accent-strong),var(--qf-ui-accent)) !important;
  border-color: var(--qf-ui-accent-strong) !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--qf-ui-accent) 25%,transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 #panelRight #qfPanelDiag,
html[data-xuan-theme] body.qf-ui-v2 .qf-float-cta {
  color: var(--qf-ui-accent-ink) !important;
  background: var(--qf-ui-accent) !important;
  background-image: linear-gradient(180deg,var(--qf-ui-accent-strong),var(--qf-ui-accent)) !important;
  border-color: var(--qf-ui-accent-strong) !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--qf-ui-accent) 25%,transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 #bottomBar.qf-dock,
html[data-xuan-theme] body.qf-ui-v2 #bottomBar .bb-stats,
html[data-xuan-theme] body.qf-ui-v2 #bottomBar .bb-actions,
html[data-xuan-theme] body.qf-ui-v2 #scenePresets {
  color: var(--qf-ui-body) !important;
  background: color-mix(in srgb,var(--qf-ui-panel) 94%,transparent) !important;
  border-color: var(--qf-ui-line) !important;
  box-shadow: var(--qf-ui-shadow) !important;
}
html[data-xuan-theme] body.qf-ui-v2 #bottomBar #bbDiag,
html[data-xuan-theme] body.qf-ui-v2 .qf-ov-btn.active {
  color: var(--qf-ui-accent-ink) !important;
  background: var(--qf-ui-accent) !important;
  background-image: linear-gradient(180deg,var(--qf-ui-accent-strong),var(--qf-ui-accent)) !important;
  border-color: var(--qf-ui-accent-strong) !important;
  box-shadow: 0 8px 20px color-mix(in srgb,var(--qf-ui-accent) 24%,transparent) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-ov-btn:not(.active) {
  color: var(--qf-ui-text) !important;
  background: color-mix(in srgb,var(--qf-ui-panel) 82%,transparent) !important;
  border-color: var(--qf-ui-line) !important;
}
html[data-xuan-theme] body.qf-ui-v2 .qf-ov-btn:not(.active):hover {
  color: var(--qf-ui-text) !important;
  background: color-mix(in srgb,var(--qf-ui-panel-3) 88%,transparent) !important;
  border-color: var(--qf-ui-accent) !important;
}

@media (max-width: 900px) {
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar.qf-dock {
    top: auto !important;
    right: 12px !important;
    bottom: calc(var(--mb-nav-h,56px) + var(--safe-b,0px) + 8px) !important;
    left: 12px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    padding: 7px 8px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    overflow: hidden !important;
    transform: none !important;
    pointer-events: none !important;
    color: var(--qf-ui-body) !important;
    background: color-mix(in srgb,var(--qf-ui-panel) 90%,transparent) !important;
    border: 1px solid var(--qf-ui-line) !important;
    border-radius: 13px !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .bb-stats {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-flow: row nowrap !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-panel {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-bar { display: none !important; }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-chips {
    display: flex !important;
    flex-flow: row nowrap !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-chip {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 4px 8px !important;
    gap: 5px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    overflow: visible !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-chip i {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 auto !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-chip b {
    font-size: 12px !important;
    font-weight: 800 !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .qf-grade-chip em {
    font-size: 11px !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar .bb-actions {
    width: auto !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar #bbDiag {
    min-height: 34px !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
  }
  html[data-xuan-theme] body.qf-ui-v2 .heat-legend.qf-legend-corner { display: none !important; }
}

@media (max-width: 900px) {
  html[data-xuan-theme] body.qf-ui-v2 #bottomBar.qf-dock {
    min-width: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
    pointer-events: none !important;
  }

  html[data-xuan-theme] body.qf-ui-v2 #bottomBar.qf-dock :is(.bb-stats, .bb-actions, #bbDiag) {
    pointer-events: auto !important;
  }
}

html[data-xuan-theme="light"] body.floor-plan-page .fp-layer-kicker {
  color: var(--xh-accent-strong, #4653df) !important;
}

html[data-xuan-theme="light"] body.floor-plan-page .fp-layer-desc {
  color: var(--xh-body, #3a4254) !important;
}

html[data-xuan-theme="light"] body.qf-ui-v2 .qf-report-body,
html[data-xuan-theme="light"] body.qf-ui-v2 #reportBody,
html[data-xuan-theme="light"] body.qf-ui-v2 #qfReportBody {
  background: #f4f6fb !important;
  background-image: none !important;
  color: #3f4a5c !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 .qf-report-body :is(h1,h2,h3,h4,b,strong),
html[data-xuan-theme="light"] body.qf-ui-v2 #reportBody :is(h1,h2,h3,h4,b,strong),
html[data-xuan-theme="light"] body.qf-ui-v2 .qf-modal .qm-row b {
  color: #171a2a !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 .qf-report-body :is(p,span,label,li,td,th,small,div,ul),
html[data-xuan-theme="light"] body.qf-ui-v2 #reportBody :is(p,span,label,li,td,th,small,div,ul) {
  color: #3f4a5c !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 .qf-report-body .rep-bar i,
html[data-xuan-theme="light"] body.qf-ui-v2 #reportBody .rep-bar i {
  color: transparent !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 .panel-premium .space-y-2 > .flex {
  background: #f4f6fb !important;
  color: #171a2a !important;
  border-color: #dfe4ef !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 #bottomBar .qf-presets :is(.preset-btn.active, .btn-mode.active),
html[data-xuan-theme="light"] body.qf-ui-v2 #scenePresets :is(.preset-btn.active, .btn-mode.active) {
  color: #4653df !important;
  background: #eef0ff !important;
  background-image: none !important;
  border-color: #c7cdff !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 #bottomBar .qf-presets :is(.preset-btn.active, .btn-mode.active) svg {
  stroke: #4653df !important;
}
html[data-xuan-theme="light"] body.qf-ui-v2 #bottomBar #bbDiag,
html[data-xuan-theme="light"] body.qf-ui-v2 #qfPanelDiag {
  color: #fff !important;
  background: #5865f2 !important;
  background-image: linear-gradient(180deg, #5865f2, #4653df) !important;
}

@media (max-width: 720px) {
  html[data-xuan-theme] :is(.dv-title, .page-title, .zw-page h1, .qz-page h1, .xp-page h1, .tool-page h1) {
    letter-spacing: .06em !important;
    font-size: clamp(1.5rem, 7vw, 1.9rem) !important;
    text-align: left !important;
  }
  html[data-xuan-theme] :is(.dv-sub, .page-sub) {
    letter-spacing: .04em !important;
    font-size: .8rem !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }
  html[data-xuan-theme] :is(.dv-desc, .page-wrap > p, .zw-page > p, .tool-page > p) {
    margin-inline: 0 !important;
  }
}

.mobile-menu-user {
  width: 100% !important;
  display: flex !important;
  margin: 0 0 10px !important;
}
.mobile-menu-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: 0 !important;
}
.mobile-menu-theme-summary {
  color: var(--xh-accent) !important;
}
.mobile-menu-theme-summary em {
  color: var(--xh-body) !important;
}
.mobile-menu-actions .mm-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
.mobile-menu-actions .mm-btn-solid,
.mobile-menu-actions .mm-btn-logout {
  grid-column: 1 / -1 !important;
}
