/* finesse · master · 龙蜕馆 · restrained editorial instrument */
@font-face {
  font-family: "LT Cormorant";
  src: url("../assets/fonts/cormorant-400.woff2") format("woff2");
  font-display: swap;
}
:root {
  --lt-ink: #203129;
  --lt-rust: #9b4a32;
  --lt-bronze: #b86f45;
  --lt-paper: #f8f7f1;
  --lt-line: rgba(47, 61, 52, .18);
  --lt-ease: 160ms ease-out;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

h1.page-title,
h1.auth-title {
  margin-top: 0;
  font-weight: 400;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { overflow-x: clip; }
img, svg, canvas { max-width: 100%; }
body main h1,
body main h2,
body main h3 { letter-spacing: .04em !important; text-wrap: balance; }
body main p,
body main li { text-wrap: pretty; }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--lt-rust);
  outline-offset: 3px;
}
button, a, input, textarea, select { transition-duration: 160ms !important; }
.skip-link {
  position: fixed; left: 12px; top: -80px; z-index: 3000;
  padding: 10px 16px; background: var(--text, #203129); color: var(--surface, #f8f7f1);
}
.skip-link:focus { top: 12px; }

/* Shared anti-template corrections */
body .glass-card,
body [class*="-card"] { box-shadow: none; }
body .hero-title,
body .page-header h1 {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
body .section-title::before,
body .section-title::after,
body .sec-title::before,
body .sec-title::after { display: none; }
body .btn-primary,
body .primary-btn,
body .submit-btn,
body .hero-btn.primary,
body .dp-btn {
  border-radius: 2px;
  box-shadow: none;
  background-image: none;
  background-color: var(--accent, var(--gold, var(--lt-bronze)));
}

/* Header becomes a quiet piece of architecture, not a neon banner. */
body .site-header {
  background: color-mix(in srgb, var(--surface, #101714) 92%, transparent);
  border-bottom: 1px solid var(--line, rgba(255,255,255,.12));
  backdrop-filter: blur(12px);
}
body .sh-inner { max-width: 1240px; padding: 12px 28px; gap: 26px; }
body .sh-logo { color: var(--accent, var(--lt-bronze)); font-size: 22px; letter-spacing: .32em; }
body .sh-nav { gap: clamp(18px, 2.3vw, 32px); }
body .sh-link { color: var(--muted, #9da49c); font-size: 14px; letter-spacing: .06em; }
body .sh-link:hover, body .sh-link.active { color: var(--text, #eee9dc); }
body .sh-link.active::after { height: 1px; bottom: -8px; background: var(--accent, var(--lt-bronze)); box-shadow: none; }
body .sh-account { color: var(--muted, #9da49c); }
body .sh-btn { border-radius: 2px; padding: 8px 14px; }
body .sh-btn-gold { background: var(--accent, var(--lt-bronze)); color: var(--surface, #101714); box-shadow: none; }
body .sh-btn-ghost { color: var(--accent, var(--lt-bronze)); border-color: color-mix(in srgb, var(--accent, #b86f45) 45%, transparent); }
body .sh-path { max-width: 1240px; padding: 1px 28px 9px; }
body .sh-path { display: none; }
body .sh-path-node { color: var(--muted, #9da49c); text-shadow: none; }
body .sh-path-node.done,
body .sh-path-node.active { color: var(--accent, var(--lt-bronze)); text-shadow: none; }
body .sh-path-node::before { border-radius: 0; width: 6px; height: 6px; }
body .sh-path-node.done::before,
body .sh-path-node.active::before { box-shadow: none; }
body .sh-path-sep { background: var(--line, rgba(255,255,255,.12)); }
body .site-footer {
  color: var(--text, #eee9dc);
  background: var(--surface-2, #111a17);
  border-color: var(--line, rgba(255,255,255,.12));
}
body .sf-brand .sf-logo,
body .sf-col-title { color: var(--accent, var(--lt-bronze)); }
body .sf-brand .sf-slogan,
body .sf-col a,
body .sf-copy { color: var(--muted, #9da49c); }

/* Brand: the only cinematic room. */
body[data-surface="brand"] {
  --surface: #0b1110; --surface-2: #111a17; --text: #eee9dc; --muted: #a5aba3;
  --accent: #b86f45; --line: rgba(205, 194, 170, .18);
  background: var(--surface); color: var(--text);
}
body[data-surface="brand"] .section-hero { min-height: min(790px, 88vh); }
body[data-surface="brand"] .hero-content { text-align: left; max-width: 1180px; width: calc(100% - 56px); margin: 0 auto; }
body[data-surface="brand"] .hero-title { color: var(--text); font-size: clamp(64px, 9vw, 118px); letter-spacing: .16em; line-height: .96; }
body[data-surface="brand"] .hero-subtitle { max-width: 520px; font-size: clamp(19px, 2.2vw, 30px); color: var(--text); }
body[data-surface="brand"] .hero-cta { justify-content: flex-start; }
body[data-surface="brand"] .hero-quote {
  left: max(50px, calc((100vw - 1180px)/2)); right: auto; transform: none;
  width: min(520px, calc(100vw - 100px)); margin-left: 0; padding: 0 0 0 18px;
  border: 0; border-left: 1px solid var(--accent); border-radius: 0;
  background: transparent; backdrop-filter: none; box-shadow: none; text-align: left;
}
body[data-surface="brand"] .btn-primary { color: #fff9f2; background: var(--accent); border-color: var(--accent); }
body[data-surface="brand"] .btn-secondary { color: #c7d8d3; border-color: rgba(199,216,211,.55); border-radius: 2px; }
body[data-surface="brand"] .glass-card { background: transparent; backdrop-filter: none; border-color: var(--line); }
body[data-surface="brand"] .fade-in-up { transform: translateY(12px); transition-duration: .35s; }
body[data-surface="brand"] .fade-in-up.visible { transform: translateY(0); }
body[data-surface="brand"] .section-paths { max-width: 1180px; padding-top: 92px; padding-bottom: 92px; }
body[data-surface="brand"] .paths-header { max-width: 680px; margin: 0 0 42px; text-align: left; }
body[data-surface="brand"] .paths-header h2 { color: var(--text); }
body[data-surface="brand"] .paths-grid { display: block; gap: 0; border-top: 1px solid var(--line); }
body[data-surface="brand"] .path-card {
  border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 30px 8px;
  display: grid; grid-template-columns: 120px 210px minmax(0,1fr) 110px;
  grid-template-rows: auto auto; gap: 5px 28px; align-items: center;
}
body[data-surface="brand"] .path-card:hover { transform: none; background: rgba(255,255,255,.025); }
body[data-surface="brand"] .path-step { grid-column: 1; grid-row: 1 / span 2; }
body[data-surface="brand"] .path-card h3 { grid-column: 2; grid-row: 1; }
body[data-surface="brand"] .path-role { grid-column: 2; grid-row: 2; }
body[data-surface="brand"] .path-desc { grid-column: 3; grid-row: 1 / span 2; max-width: 62ch; }
body[data-surface="brand"] .path-go { grid-column: 4; grid-row: 1 / span 2; align-self: center; white-space: nowrap; }
body[data-surface="brand"] .path-card h3,
body[data-surface="brand"] .path-role,
body[data-surface="brand"] .path-desc { margin: 0; }
body[data-surface="brand"] .path-card h3,
body[data-surface="brand"] .path-role,
body[data-surface="brand"] .path-step { writing-mode: horizontal-tb; word-break: keep-all; }
body[data-surface="brand"] .path-step { color: var(--accent); }
body[data-surface="brand"] .boundary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: var(--line); }
body[data-surface="brand"] .boundary-card { border: 0; border-radius: 0; background: var(--surface-2); }

/* Observatory: compact, evidence-led, bronze instrument surfaces. */
body[data-surface="observatory"] {
  --surface: #111613; --surface-2: #171e1a; --text: #e8e4da; --muted: #9da49c;
  --accent: #bd754a; --line: rgba(205, 194, 170, .16);
  --gold: var(--accent); --gold-light: #d39a72; --gold-deep: #7f4932;
  --text-main: var(--text); --text-sub: var(--muted); --bg: var(--surface); --bg-card: var(--surface-2);
  background: var(--surface); color: var(--text);
}
body[data-surface="observatory"] .wrap,
body[data-surface="observatory"] .container { max-width: 1240px; }
body[data-surface="observatory"] .page-header,
body[data-surface="observatory"] .overview-hero { text-align: left; padding-top: 42px; padding-bottom: 32px; }
body[data-surface="observatory"] .page-header h1 { font-size: clamp(32px,5vw,58px); letter-spacing: .08em; }
body[data-surface="observatory"] .dingpan,
body[data-surface="observatory"] .overview-hero,
body[data-surface="observatory"] .glass-card,
body[data-surface="observatory"] [class*="-card"] { border-radius: 3px; border-color: var(--line); background-color: var(--surface-2); }
body[data-surface="observatory"] .dim-grid,
body[data-surface="observatory"] .senior-grid { gap: 1px; background: var(--line); }
body[data-surface="observatory"] .dim-card,
body[data-surface="observatory"] .senior-card { border: 0; border-radius: 0; }
body[data-surface="observatory"] input,
body[data-surface="observatory"] select,
body[data-surface="observatory"] textarea { border-radius: 2px; background: #0d120f; color: var(--text); }
body[data-surface="observatory"] table,
body[data-surface="observatory"] .bazi-table { font-variant-numeric: tabular-nums; }

/* Workbench: paper, annotations and choices. No spectacle.
 * ⚠️ 颜色令牌已搬回「唯一主题源」`common/theme.css` 的
 *    `body[data-surface="workbench"]` 块（2026-09-18）。本文件只保留版式规则。
 *    搬动时值逐字未改，视觉零变化。 */
body[data-surface="workbench"] .site-header { background: rgba(238,240,234,.94); }
body[data-surface="workbench"] .wrap { max-width: 980px; }
body[data-surface="workbench"] .hero {
  text-align: left; padding: clamp(54px,8vw,84px) 0 44px;
  border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent;
}
body[data-surface="workbench"] .hero::before { display: none; }
body[data-surface="workbench"] .hero-title { color: var(--text); max-width: 940px; font-size: clamp(32px,3.8vw,46px); line-height: 1.42; }
body[data-surface="workbench"] .hero-desc { margin-left: 0; color: var(--muted); }
body[data-surface="workbench"] .hero-actions { justify-content: flex-start; }
body[data-surface="workbench"] .stage,
body[data-surface="workbench"] .section-head { border-color: var(--line); }
body[data-surface="workbench"] .seeing,
body[data-surface="workbench"] .evidence,
body[data-surface="workbench"] .guide,
body[data-surface="workbench"] .verify,
body[data-surface="workbench"] .action,
body[data-surface="workbench"] .deep,
body[data-surface="workbench"] .form-card,
body[data-surface="workbench"] .xin-card,
body[data-surface="workbench"] .chg-card,
body[data-surface="workbench"] .cmp-col,
body[data-surface="workbench"] .dual .d-col,
body[data-surface="workbench"] .rec-item { background: var(--surface-2); border: 1px solid var(--line); border-radius: 3px; box-shadow: none; }
body[data-surface="workbench"] .seeing::before { background: var(--accent); box-shadow: none; }
body[data-surface="workbench"] .ev-row { border-color: var(--line); }
body[data-surface="workbench"] input,
body[data-surface="workbench"] textarea,
body[data-surface="workbench"] select { background: #fbfaf5; color: var(--text); border-color: var(--line); border-radius: 2px; }
body[data-surface="workbench"] .primary-btn,
body[data-surface="workbench"] .submit-btn,
body[data-surface="workbench"] .hero-btn.primary { color: #fff9f2; background: var(--accent); border-color: var(--accent); }
body[data-surface="workbench"] .jx-btn.primary,
body[data-surface="workbench"] .xin-cta a:not(.ghost) { color: #fff9f2; background: var(--accent); background-image: none; }
body[data-surface="workbench"] .ghost-btn,
body[data-surface="workbench"] .hero-btn.ghost { color: var(--text); border-color: var(--line); background: transparent; border-radius: 2px; }
body[data-surface="workbench"] button.hero-btn { font: inherit; cursor: pointer; }
body[data-surface="workbench"] .vq-opt.sel { border-color: var(--accent); background: rgba(155,74,50,.08); }
body[data-surface="workbench"] .section-head .sh-line,
body[data-surface="workbench"] .stage .st-line { background: var(--line); }
body[data-surface="workbench"][data-page="jianxing"] .empty {
  max-width: 700px; margin: 0; padding: 84px 0 110px; text-align: left;
}
body[data-surface="workbench"][data-page="jianxing"] .empty h3 {
  color: var(--text); font-size: 34px; line-height: 1.45; letter-spacing: .04em; margin-bottom: 16px;
}
body[data-surface="workbench"][data-page="jianxing"] .empty p {
  color: var(--muted); font-size: 16px; line-height: 1.9; margin-bottom: 26px;
}
body[data-surface="workbench"][data-page="jianxing"] .empty a {
  color: #fff9f2; background: var(--accent); border-radius: 2px; padding: 12px 20px;
}

/* Atelier: objects in daylight, not mystical product cards. */
body[data-surface="atelier"] {
  --surface: #ecece7; --surface-2: #f7f6f0; --text: #28322d; --muted: #68716c;
  --accent: #a85236; --line: rgba(49,58,53,.18);
  --gold: var(--accent); --gold-light: #bd6f54; --gold-deep: #773925;
  --text-main: var(--text); --text-sub: var(--muted); --bg: var(--surface); --bg-card: var(--surface-2);
  background: var(--surface); color: var(--text);
}
body[data-surface="atelier"] .site-header { background: rgba(236,236,231,.94); }
body[data-surface="atelier"] .wrap,
body[data-surface="atelier"] .container { max-width: 1240px; }
body[data-surface="atelier"] .hero,
body[data-surface="atelier"] .page-header { text-align: left; padding-top: clamp(56px,8vw,96px); padding-bottom: 46px; }
body[data-surface="atelier"] .hero { background: transparent; border: 0; border-radius: 0; }
body[data-surface="atelier"] .hero::before { display: none; }
body[data-surface="atelier"] .hero-title,
body[data-surface="atelier"] .page-header h1 { color: var(--text); max-width: 920px; font-size: clamp(38px,4.8vw,62px); line-height: 1.2; }
body[data-surface="atelier"] .hero-desc,
body[data-surface="atelier"] .page-header p { margin-left: 0; color: var(--muted); }
body[data-surface="atelier"] .hero-actions { justify-content: flex-start; }
body[data-surface="atelier"] .ware-grid,
body[data-surface="atelier"] .goods-grid { gap: 1px; background: var(--line); }
body[data-surface="atelier"] .ware-card,
body[data-surface="atelier"] .goods-card,
body[data-surface="atelier"] .package-card,
body[data-surface="atelier"] .zhao-card,
body[data-surface="atelier"] .glass-card { background: var(--surface-2); border-color: var(--line); border-radius: 2px; box-shadow: none; }
body[data-surface="atelier"] .ware-card:hover,
body[data-surface="atelier"] .goods-card:hover,
body[data-surface="atelier"] .package-card:hover { transform: none; border-color: var(--accent); }
body[data-surface="atelier"] .ware-img { background: #dedfd8; border-radius: 0; }
body[data-surface="atelier"] .ware-img .symbol,
body[data-surface="atelier"] .goods-creature { color: var(--accent); text-shadow: none; }
body[data-surface="atelier"] .hero-btn.primary,
body[data-surface="atelier"] .btn-primary { color: #fff9f2; background: var(--accent); border-color: var(--accent); }
body[data-surface="atelier"] .ware-cta,
body[data-surface="atelier"] .zhao-link,
body[data-surface="atelier"] .merge-btn { color: #fff9f2; background: var(--accent); background-image: none; box-shadow: none; border-radius: 2px; }

/* Account and legal surfaces use standard, readable product UI. */
body[data-surface="account"], body[data-surface="legal"] {
  --surface: #edf0ec; --surface-2: #f8f9f5; --text: #23322a; --muted: #64716a;
  --accent: #9b4a32; --line: rgba(47,61,52,.18);
  --gold: var(--accent); --gold-light: #ad6249; --gold-deep: #783724;
  --text-main: var(--text); --text-sub: var(--muted); --bg: var(--surface); --bg-card: var(--surface-2);
  background: var(--surface); color: var(--text);
}
body[data-surface="account"] .site-header, body[data-surface="legal"] .site-header { background: rgba(237,240,236,.94); }
body[data-surface="account"] .glass-card,
body[data-surface="account"] [class*="-card"],
body[data-surface="legal"] [class*="-card"] { background: var(--surface-2); border: 1px solid var(--line); border-radius: 3px; }
body[data-surface="account"] input,
body[data-surface="account"] textarea,
body[data-surface="account"] select { background: #fff; color: var(--text); border-color: var(--line); }
body[data-surface="account"] .btn-primary { background: var(--accent); color: #fff9f2; }

@media (min-width: 761px) and (max-width: 980px) {
  body[data-surface="brand"] .path-card {
    grid-template-columns: 96px 160px minmax(0,1fr) 92px;
    gap: 5px 18px;
  }
  body[data-surface="brand"] .path-desc { font-size: 13px; }
}

@media (max-width: 760px) {
  body .sh-inner { padding: 11px 16px; }
  body .sh-path { display: none; }
  body .sh-nav { background: var(--surface, #101714); border-color: var(--line, rgba(255,255,255,.12)); }
  body .sh-link { min-height: 44px; display: flex; align-items: center; }
  body[data-surface="brand"] .section-hero {
    min-height: 720px;
    justify-content: flex-end;
    align-items: stretch;
    padding: 0 20px 174px;
  }
  body[data-surface="brand"] .hero-bg::after {
    background: linear-gradient(180deg, rgba(7,8,13,.22), rgba(7,8,13,.12) 42%, rgba(7,8,13,.82) 100%);
  }
  body[data-surface="brand"] .hero-content { width: 100%; margin: 0; }
  body[data-surface="brand"] .hero-title { font-size: 56px; line-height: 1; letter-spacing: .12em !important; margin-bottom: 18px; }
  body[data-surface="brand"] .hero-subtitle { font-size: 18px; line-height: 1.65; letter-spacing: .04em; margin-bottom: 24px; }
  body[data-surface="brand"] .hero-cta { flex-direction: column; align-items: flex-start; gap: 10px; }
  body[data-surface="brand"] .hero-cta a { width: auto; min-width: 180px; padding: 11px 18px; text-align: center; font-size: 14px; }
  body[data-surface="brand"] .hero-quote {
    left: 20px; right: 20px; bottom: 26px; transform: none;
    width: auto; padding: 0 0 0 14px; border: 0; border-left: 1px solid var(--accent);
    border-radius: 0; background: transparent; backdrop-filter: none; box-shadow: none;
    font-size: 13px; line-height: 1.75; letter-spacing: .02em; text-align: left;
  }
  body[data-surface="brand"] .hero-quote p { width: auto; max-width: none; }
  body[data-surface="brand"] .section-paths,
  body[data-surface="brand"] .section-products,
  body[data-surface="brand"] .section-boundary,
  body[data-surface="brand"] .section-continue,
  body[data-surface="brand"] .section-final-cta { padding: 72px 20px; }
  body[data-surface="brand"] .paths-header,
  body[data-surface="brand"] .products-header,
  body[data-surface="brand"] .boundary-header,
  body[data-surface="brand"] .continue-header { text-align: left; margin-bottom: 34px; }
  body[data-surface="brand"] .paths-header h2,
  body[data-surface="brand"] .products-header h2,
  body[data-surface="brand"] .boundary-header h2,
  body[data-surface="brand"] .continue-header h2 { color: var(--text); font-size: 28px; line-height: 1.35; margin-bottom: 8px; }
  body[data-surface="brand"] .paths-header p,
  body[data-surface="brand"] .products-header p,
  body[data-surface="brand"] .boundary-header p { font-size: 14px; line-height: 1.75; }
  body[data-surface="brand"] .path-card { display: block; padding: 26px 0; }
  body[data-surface="brand"] .path-step { font-size: 14px; letter-spacing: .08em; margin-bottom: 8px; }
  body[data-surface="brand"] .path-card h3 { color: var(--text); font-size: 21px; line-height: 1.4; margin-bottom: 4px; }
  body[data-surface="brand"] .path-role { color: var(--accent); font-size: 13px; line-height: 1.7; letter-spacing: .04em; margin-bottom: 12px; }
  body[data-surface="brand"] .path-desc { font-size: 14px; line-height: 1.85; margin-bottom: 12px; }
  body[data-surface="brand"] .path-go { font-size: 13px; }
  body[data-surface="brand"] .boundary-grid { grid-template-columns: 1fr; }
  body[data-surface="brand"] .boundary-card { padding: 24px 0; background: transparent; border-bottom: 1px solid var(--line); }
  body[data-surface="brand"] .boundary-card h3 { color: var(--text); font-size: 18px; line-height: 1.45; }
  body[data-surface="brand"] .boundary-card p { font-size: 14px; line-height: 1.85; }
  body[data-surface="brand"] .product-card { padding: 26px 22px; }
  body[data-surface="brand"] .cta-content h2 { color: var(--text); font-size: 30px; line-height: 1.5; letter-spacing: .06em !important; }
  body[data-surface="workbench"] .wrap,
  body[data-surface="atelier"] .wrap { width: min(100% - 28px, 980px); }
  body[data-surface="workbench"] .hero-title,
  body[data-surface="atelier"] .hero-title,
  body[data-surface="observatory"] .page-header h1 { letter-spacing: .04em !important; }
  body[data-surface="workbench"][data-page="jianxing"] .empty { padding: 58px 0 80px; }
  body[data-surface="workbench"][data-page="jianxing"] .empty h3 { font-size: 27px; }
  body[data-surface="workbench"][data-page="jianxing"] .empty p { font-size: 15px; }
  body[data-surface="workbench"][data-page="jianxing"] .empty br { display: none; }
  body h1, body h2, body h3 { overflow-wrap: anywhere; }
  body button, body [role="button"], body input, body select { min-height: 44px; }
}

@media (max-width: 390px) {
  body[data-surface="brand"] .hero-title { font-size: 50px; }
  body[data-surface="workbench"] .hero-title,
  body[data-surface="atelier"] .hero-title { font-size: 34px; }
}

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

/* =============================================================
 * 2026-09-15 · Unified paper system
 * 首页是唯一视觉母版：纸、墨、赭红、编辑式分隔与低圆角。
 * data-surface 只描述页面功能密度，不再切换成另一套主题。
 * ============================================================= */
body[data-surface]:not([data-page="home"]) {
  --paper: #f1ede2;
  --paper-deep: #e6dfd0;
  --paper-soft: #f7f3e9;
  --paper-overlay: rgba(241, 237, 226, .94);
  --ink: #171713;
  --ink-soft: #6d695f;
  --seal: #9c3f2f;
  --seal-wash: rgba(156, 63, 47, .05);
  --line: rgba(23, 23, 19, .16);
  --line-strong: rgba(23, 23, 19, .34);
  --surface: var(--paper);
  --surface-2: var(--paper-soft);
  --surface-raised: var(--paper-soft);
  --surface-sunken: var(--paper-deep);
  --text: var(--ink);
  --muted: var(--ink-soft);
  --accent: var(--seal);
  --accent-soft: #7f3025;
  --bg: var(--paper);
  --bg-card: var(--paper-soft);
  --bg-elevated: var(--paper-soft);
  --panel: var(--paper-soft);
  --panel-soft: var(--paper-deep);
  --text-main: var(--ink);
  --text-sub: var(--ink-soft);
  --gold: var(--seal);
  --gold-light: #7f3025;
  --gold-deep: #6d2a20;
  --cyan: #52665c;
  --border: var(--line);
  --border-glow: var(--line-strong);
  --focus: var(--seal);
  --danger: #9c3f2f;
  --font-title: "Songti SC", "STSong", "Noto Serif SC", serif;
  --font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --page-pad: clamp(22px, 5vw, 72px);
  margin: 0;
  background: var(--paper) !important;
  color: var(--ink) !important;
  color-scheme: light;
  font-family: var(--font-body);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  scrollbar-color: var(--seal) var(--paper);
}

body[data-surface]:not([data-page="home"])::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 30;
  pointer-events: none;
  opacity: .022;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}

body[data-surface]:not([data-page="home"]) #three-bg,
body[data-surface]:not([data-page="home"]) #three-fallback,
body[data-surface]:not([data-page="home"]) .star-field,
body[data-surface]:not([data-page="home"]) .bg-orb { display: none !important; }

body[data-surface]:not([data-page="home"]) main,
body[data-surface]:not([data-page="home"]) > .wrap,
body[data-surface]:not([data-page="home"]) > .container { position: relative; z-index: 1; }

body[data-surface]:not([data-page="home"]) h1,
body[data-surface]:not([data-page="home"]) h2,
body[data-surface]:not([data-page="home"]) h3 {
  color: var(--ink);
  font-family: var(--font-title);
  font-weight: 500;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor;
}

body[data-surface]:not([data-page="home"]) .page-header,
body[data-surface]:not([data-page="home"]) .hero {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left;
}

body[data-surface]:not([data-page="home"]) .page-header h1,
body[data-surface]:not([data-page="home"]) .page-head h1,
body[data-surface]:not([data-page="home"]) .hero h1,
body[data-surface]:not([data-page="home"]) .hero-title,
body[data-surface]:not([data-page="home"]) h1.page-title {
  max-width: 920px;
  color: var(--ink) !important;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.16;
  letter-spacing: -.025em !important;
}

body[data-surface]:not([data-page="home"]) .page-desc,
body[data-surface]:not([data-page="home"]) .hero-desc,
body[data-surface]:not([data-page="home"]) .page-header p,
body[data-surface]:not([data-page="home"]) .sub,
body[data-surface]:not([data-page="home"]) .eyebrow,
body[data-surface]:not([data-page="home"]) .kicker {
  color: var(--ink-soft) !important;
  text-shadow: none !important;
}

body[data-surface]:not([data-page="home"]) .sub,
body[data-surface]:not([data-page="home"]) .eyebrow,
body[data-surface]:not([data-page="home"]) .kicker,
body[data-surface]:not([data-page="home"]) .meta {
  font-family: "LT Cormorant", var(--font-title);
  color: var(--seal) !important;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body[data-surface]:not([data-page="home"]) .site-header {
  background: var(--paper-overlay) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
}
body[data-surface]:not([data-page="home"]) .sh-logo,
body[data-surface]:not([data-page="home"]) .sh-link:hover,
body[data-surface]:not([data-page="home"]) .sh-link.active,
body[data-surface]:not([data-page="home"]) .sh-account:hover,
body[data-surface]:not([data-page="home"]) .sh-toggle { color: var(--ink) !important; }
body[data-surface]:not([data-page="home"]) .sh-link,
body[data-surface]:not([data-page="home"]) .sh-account { color: var(--ink-soft) !important; }
body[data-surface]:not([data-page="home"]) .sh-link.active::after { background: var(--seal) !important; }

body[data-surface]:not([data-page="home"]) .glass-card,
body[data-surface]:not([data-page="home"]) [class*="-card"],
body[data-surface]:not([data-page="home"]) .paper,
body[data-surface]:not([data-page="home"]) .seeing,
body[data-surface]:not([data-page="home"]) .evidence,
body[data-surface]:not([data-page="home"]) .guide,
body[data-surface]:not([data-page="home"]) .verify,
body[data-surface]:not([data-page="home"]) .action,
body[data-surface]:not([data-page="home"]) .deep,
body[data-surface]:not([data-page="home"]) .cmp-col,
body[data-surface]:not([data-page="home"]) .dual .d-col,
body[data-surface]:not([data-page="home"]) .rec-item {
  background-color: var(--paper-soft) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body[data-surface]:not([data-page="home"]) .paper {
  max-width: 1100px;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  background: transparent !important;
}

body[data-surface]:not([data-page="home"]) .section-title,
body[data-surface]:not([data-page="home"]) .sec-title,
body[data-surface]:not([data-page="home"]) .stage h2,
body[data-surface]:not([data-page="home"]) .section-head h2 {
  color: var(--ink) !important;
  text-shadow: none !important;
}

body[data-surface]:not([data-page="home"]) .section-head,
body[data-surface]:not([data-page="home"]) .stage,
body[data-surface]:not([data-page="home"]) .tip-bar,
body[data-surface]:not([data-page="home"]) .sub-nav,
body[data-surface]:not([data-page="home"]) .top-bar {
  border-color: var(--line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-surface]:not([data-page="home"]) input,
body[data-surface]:not([data-page="home"]) textarea,
body[data-surface]:not([data-page="home"]) select {
  background: rgba(255, 253, 247, .72) !important;
  color: var(--ink) !important;
  border-color: var(--line-strong) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
body[data-surface]:not([data-page="home"]) input::placeholder,
body[data-surface]:not([data-page="home"]) textarea::placeholder { color: #918b80 !important; }

body[data-surface]:not([data-page="home"]) .btn-primary,
body[data-surface]:not([data-page="home"]) .primary-btn,
body[data-surface]:not([data-page="home"]) .submit-btn,
body[data-surface]:not([data-page="home"]) .calc-btn,
body[data-surface]:not([data-page="home"]) .dp-btn,
body[data-surface]:not([data-page="home"]) .hero-btn.primary,
body[data-surface]:not([data-page="home"]) .jx-btn.primary,
body[data-surface]:not([data-page="home"]) .xin-cta a:not(.ghost),
body[data-surface]:not([data-page="home"]) .sh-btn-gold,
body[data-surface]:not([data-page="home"]) .purchase-btn,
body[data-surface]:not([data-page="home"]) .add-btn {
  background: var(--ink) !important;
  background-image: none !important;
  color: var(--paper) !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body[data-surface]:not([data-page="home"]) .btn-outline,
body[data-surface]:not([data-page="home"]) .btn-secondary,
body[data-surface]:not([data-page="home"]) .ghost-btn,
body[data-surface]:not([data-page="home"]) .hero-btn.ghost,
body[data-surface]:not([data-page="home"]) .sh-btn-ghost {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body[data-surface]:not([data-page="home"]) a { text-shadow: none; }
body[data-surface]:not([data-page="home"]) a:not([class*="btn"]):not(.sh-link):not(.sh-logo) { text-decoration-color: rgba(156,63,47,.36); }

body[data-surface]:not([data-page="home"]) table,
body[data-surface]:not([data-page="home"]) th,
body[data-surface]:not([data-page="home"]) td { border-color: var(--line) !important; }
body[data-surface]:not([data-page="home"]) th { background: var(--paper-deep) !important; color: var(--ink) !important; }
body[data-surface]:not([data-page="home"]) td { background: transparent !important; color: var(--ink) !important; }

body[data-surface]:not([data-page="home"]) .site-footer,
body[data-surface]:not([data-page="home"]) .footer {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
body[data-surface]:not([data-page="home"]) .sf-brand .sf-logo,
body[data-surface]:not([data-page="home"]) .sf-col-title { color: var(--ink) !important; }
body[data-surface]:not([data-page="home"]) .sf-brand .sf-slogan,
body[data-surface]:not([data-page="home"]) .sf-col a,
body[data-surface]:not([data-page="home"]) .sf-copy { color: var(--ink-soft) !important; }

body[data-page="report"] .wrap { max-width: 1160px; }
body[data-page="report"] .paper { padding-top: clamp(42px, 7vw, 84px); }
body[data-page="report"] .paper h1 { font-size: clamp(38px, 4.4vw, 56px); line-height: 1.18; letter-spacing: -.025em !important; }
body[data-page="report"] .top-bar { max-width: 1100px; margin-inline: auto; }
body[data-page="result"] .overview-hero,
body[data-page="result"] .sub-nav { background: transparent !important; }
body[data-page="login"] .auth-card { max-width: 460px; margin-inline: auto; }
body[data-page="login"] .auth-title { color: var(--ink) !important; }
body[data-page="shop"] .points-rail { background: var(--paper) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
body[data-page="shop"] .points-account,
body[data-page="shop"] .points-rule { border-color: var(--line) !important; }
body[data-page="shop"] .points-account strong,
body[data-page="shop"] .points-rule b { color: var(--ink) !important; }
body[data-page="shop"] .points-account span,
body[data-page="shop"] .points-account a,
body[data-page="shop"] .points-rule small { color: var(--accent) !important; }
body[data-page="shop"] .points-rule p { color: var(--muted) !important; }
body[data-page="diy-bench"] .tray {
  background: var(--paper-deep) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body[data-surface]:not([data-page="home"]) .sh-nav {
    background: rgba(241, 237, 226, .98) !important;
    border-color: var(--line) !important;
  }
  body[data-surface]:not([data-page="home"]) .page-header h1,
  body[data-surface]:not([data-page="home"]) .page-head h1,
  body[data-surface]:not([data-page="home"]) .hero h1,
  body[data-surface]:not([data-page="home"]) .hero-title,
  body[data-surface]:not([data-page="home"]) h1.page-title { font-size: clamp(36px, 11vw, 50px); }
  body[data-page="report"] .paper { padding: 36px 18px 56px; border-top: 0 !important; }
  body[data-page="report"] .top-bar { align-items: stretch; flex-direction: column; gap: 8px; padding: 12px 18px; }
  body[data-page="report"] .top-bar .back { white-space: nowrap; }
  body[data-page="report"] .top-bar .actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  body[data-page="report"] .top-bar .actions button { min-width: 0; padding-inline: 8px; }
}

/* 2026-09-20 · 最终覆盖：与首页纯白纸、墨、朱砂保持一致 */
html body[data-surface="porcelain"]:not([data-page="home"]) {
  --paper: #ffffff;
  --paper-deep: #f5f5f5;
  --paper-soft: #fafafa;
  --paper-overlay: rgba(255, 255, 255, .94);
  --ink: #0f1110;
  --ink-soft: #6b7676;
  --seal: #c81c24;
  --seal-wash: rgba(200, 28, 36, .04);
  --line: rgba(15, 17, 16, .12);
  --line-strong: rgba(15, 17, 16, .26);
  --surface: #ffffff;
  --surface-2: #fafafa;
  --surface-raised: #fafafa;
  --surface-sunken: #f5f5f5;
  --bg: #ffffff;
  --bg-card: #fafafa;
  --bg-elevated: #fafafa;
  --panel: #fafafa;
  --panel-soft: #f5f5f5;
  --text: #0f1110;
  --text-main: #0f1110;
  --text-sub: #6b7676;
  --accent: #c81c24;
  --gold: #c81c24;
  --gold-light: #c81c24;
  --gold-deep: #9f171d;
  --border: rgba(15, 17, 16, .12);
  --border-glow: rgba(15, 17, 16, .26);
  background: #ffffff !important;
  color: #0f1110 !important;
  scrollbar-color: #6b7676 #ffffff;
}

html body[data-surface="porcelain"]:not([data-page="home"]) input,
html body[data-surface="porcelain"]:not([data-page="home"]) textarea,
html body[data-surface="porcelain"]:not([data-page="home"]) select {
  background: rgba(255, 255, 255, .88) !important;
}

html body[data-surface="porcelain"]:not([data-page="home"]) input::placeholder,
html body[data-surface="porcelain"]:not([data-page="home"]) textarea::placeholder {
  color: #7b8484 !important;
}

@media (max-width: 760px) {
  html body[data-surface="porcelain"]:not([data-page="home"]) .sh-nav {
    background: rgba(255, 255, 255, .98) !important;
  }
}
