/* ============================================================================
 * Qicura — 首页视觉重构 v3 (home-v2.css，内容为 v3.1)
 * ----------------------------------------------------------------------------
 * 加载顺序：index.html 末尾、premium.css 之后 → 靠层叠覆盖，不碰功能/数据/JS 逻辑。
 * 设计意图（对应 .workbuddy/artifacts/ui-redesign/design-proposal.md）：
 *   - 问诊成为全页唯一行动主线：Nav/Hero/信号墙横幅/收束 CTA 四入口；
 *   - 信号墙 = 共鸣墙 + 免费自疗 合并：三组主题卡片（卡片 DOM 仍由 app.js 渲染，
 *     home-v3.js 分发进 #sigGroups，这里只负责外观）；
 *   - 案例带 3+2 不对称网格 + 引言封面（home-v3.js 双语重绘）+ Field note 诚实角标；
 *   - 新增经典书架 #canon（classics.json 溯源展示）；
 *   - 节气段：恢复装饰罗盘（2026-09-14 用户反馈），双栏「仪器台」布局 + 东方神秘感；
 *   - 收束 CTA 墨绿卡修复「白字隐形」；
 *   - 铜人舞台黑窟窿 → 墨绿标本橱窗。
 * 纯外观，零临床/业务改动。
 * ========================================================================== */

/* ============================ 0. 字体与基础 ============================ */
:root{
  --serif:    'Fraunces','Cormorant Garamond','Noto Serif SC',Georgia,'Times New Roman','Noto Sans Arabic','Geeza Pro','Segoe UI Arabic',Tahoma,serif;
  --serif-cn: 'Noto Serif SC','Fraunces','Cormorant Garamond',Georgia,serif;
  --fs-display:clamp(2.6rem, .6rem + 5vw, 4.9rem);
  --fs-h2:     clamp(1.7rem, 1.15rem + 1.8vw, 2.6rem);
  --r: 14px; --r-lg: 20px;
}
body{
  font-size:1.0625rem;
  line-height:1.72;
  letter-spacing:.003em;
}
::selection{ background:var(--gilt-deep); color:#FBFAF5; }

/* ============================ 1. 导航 ============================ */
.brand{
  font-family:var(--serif);
  font-weight:500;
  font-size:19px;
  letter-spacing:-.01em;
  color:var(--espresso);
}
.brand .seal{
  width:30px; height:30px;
  border-radius:var(--r-xs,9px);
  border:1.2px solid var(--gilt);
  color:var(--gilt-deep);
}
.nav-in{ height:74px; gap:20px; }
.brand{ white-space:nowrap; flex:none; }
.brand span[data-i18n]{ display:inline-block; white-space:nowrap; }
.nav-links{ gap:24px; }
.nav-links a{ font-size:13px; letter-spacing:.06em; white-space:nowrap; }
.eyebrow{
  letter-spacing:.32em;
  font-weight:500;
}
/* 问诊常驻主按钮 */
.nav-ask{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--espresso); color:var(--paper);
  border:none; border-radius:999px; padding:11px 22px;
  font:600 14px/1 var(--sans); letter-spacing:.06em;
  cursor:pointer; white-space:nowrap;
  transition:background var(--t-fast, .18s ease), transform var(--t-fast, .18s ease);
}
.nav-ask:hover{ background:var(--gilt-deep); }
.nav-ask:active{ transform:scale(.98); }
.nav-credits-badge{ margin-inline-start:2px; }

/* ============================ 2. HERO（重做：中文排版 + 东方仪式感 + 神秘水纹） ============================ */
.hero{
  background:
    radial-gradient(900px 520px at 92% 4%, rgba(156,126,78,.14), transparent 58%),
    radial-gradient(720px 480px at 4% 102%, rgba(36,59,48,.12), transparent 58%),
    radial-gradient(500px 320px at 48% 50%, rgba(244,239,230,.55), transparent 70%),
    var(--bone);
  border-bottom:1px solid var(--warm-line2);
  position:relative;
  overflow:hidden;
}
/* 极淡水墨圆光 —— 东方底韵，不抢字 */
.hero-ink{
  position:absolute; right:-8%; top:10%;
  width:min(560px,50vw); aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(156,126,78,.14);
  box-shadow:
    0 0 0 40px rgba(156,126,78,.035),
    0 0 0 80px rgba(156,126,78,.025),
    0 0 0 120px rgba(156,126,78,.018);
  pointer-events:none; z-index:0;
  animation:hero-breathe 10s ease-in-out infinite;
}
.hero-ink-2{
  position:absolute; left:-12%; bottom:-18%;
  width:min(420px,42vw); aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(36,59,48,.10);
  box-shadow:
    0 0 0 36px rgba(36,59,48,.03),
    0 0 0 72px rgba(36,59,48,.02);
  pointer-events:none; z-index:0;
}
.hero-mist{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(26,24,20,.055) 0%, transparent 30%, transparent 70%, rgba(26,24,20,.05) 100%),
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(156,126,78,.10), transparent 60%),
    radial-gradient(ellipse 60% 40% at 100% 50%, rgba(36,59,48,.08), transparent 55%);
}
@keyframes hero-breathe{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.04);opacity:1}}

.hero-in{
  position:relative; z-index:1;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,4.5vw,72px);
  padding:clamp(48px,6vw,88px) 0 clamp(48px,6vw,88px);
  align-items:center;
}
.hero-copy{ min-width:0; }
.hero-top{
  display:flex; align-items:center; gap:16px;
  margin-bottom:22px;
}
.hero .eyebrow{ color:var(--gilt-deep); margin-bottom:0; letter-spacing:.28em; }
.hero-seal{
  width:38px; height:38px; flex:none;
  display:grid; place-items:center;
  border:1px solid rgba(156,126,78,.55);
  color:var(--gilt-deep);
  background:rgba(156,126,78,.08);
  font-family:var(--serif-cn, var(--serif));
  font-size:17px; line-height:1;
  border-radius:2px;
  letter-spacing:0;
  box-shadow:
    0 0 0 3px rgba(156,126,78,.06),
    0 4px 16px rgba(156,126,78,.12);
  animation:seal-glow 5.5s ease-in-out infinite;
}
@keyframes seal-glow{
  0%,100%{ box-shadow:0 0 0 3px rgba(156,126,78,.06), 0 4px 16px rgba(156,126,78,.12); }
  50%{ box-shadow:0 0 0 6px rgba(156,126,78,.10), 0 6px 22px rgba(156,126,78,.20); }
}
.hero h1{
  font-family:var(--serif);
  font-size:var(--fs-display);
  font-weight:400;
  font-optical-sizing:auto;
  line-height:1.06;
  letter-spacing:-.03em;
  color:var(--espresso);
  max-width:16ch;
  text-wrap:balance;
}
.hero h1 .accent{
  display:block;
  margin-top:.5em;
  font-size:.52em;
  line-height:1.3;
  font-weight:400;
  letter-spacing:-.012em;
  color:var(--gilt-deep);
  max-width:26ch;
}
.hero .sub{
  margin:22px 0 28px;
  max-width:42ch;
  font-size:1.02rem;
  line-height:1.75;
  color:var(--ash);
}
.hero-cta{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
/* 四诊竖仪式条 —— 中文主视觉的记忆点 */
.hero-ritual{
  display:flex; align-items:center; gap:14px;
  margin:26px 0 0;
  color:var(--gilt);
}
.hero-ritual .hr-char{
  font-family:var(--serif-cn, var(--serif));
  font-size:13px; letter-spacing:.28em;
  color:var(--gilt-deep);
  opacity:.78;
}
.hero-ritual .hr-line{
  flex:1; height:1px; max-width:48px;
  background:linear-gradient(90deg, transparent, rgba(156,126,78,.45), transparent);
}
html:not([lang="zh"]) .hero-ritual{ display:none; }
/* 印章跨语言保留 —— 东方神秘感的记忆点 */

/* —— 中文 Hero：字阶全面收敛（CJK 方块字不能按拉丁 display 尺寸用） —— */
html[lang="zh"] .hero-in{
  grid-template-columns:1.02fr .98fr;
  padding:clamp(40px,5vw,72px) 0 clamp(44px,5.5vw,80px);
}
html[lang="zh"] .hero h1{
  font-family:var(--serif-cn, var(--serif));
  font-size:clamp(1.7rem, 1.05rem + 2.1vw, 2.55rem);
  font-weight:500;
  line-height:1.28;
  letter-spacing:.04em;
  max-width:13em;
  text-wrap:balance;
}
html[lang="zh"] .hero h1 .accent{
  margin-top:.65em;
  font-size:.68em;
  line-height:1.45;
  letter-spacing:.06em;
  font-weight:400;
  max-width:16em;
}
html[lang="zh"] .hero .sub{
  margin:20px 0 26px;
  max-width:34em;
  font-size:15px;
  line-height:1.9;
  color:var(--ash);
}
html[lang="zh"] .hero .eyebrow{
  font-size:11px;
  letter-spacing:.22em;
}
html[lang="zh"] .hero-trustlabels{
  margin-top:22px; padding-top:18px;
  gap:8px 20px;
}
html[lang="zh"] .hero-trustlabels li{ font-size:12px; letter-spacing:.02em; }
html[lang="zh"] .section-title{
  font-size:clamp(1.45rem, 1.05rem + 1.3vw, 2rem);
  font-weight:500;
  letter-spacing:.03em;
  line-height:1.35;
}
html[lang="zh"] .lead{
  font-size:15px; line-height:1.85; max-width:36em;
}
html[lang="zh"] .final-card h2{
  font-family:var(--serif-cn, var(--serif));
  font-size:clamp(1.45rem, 1.05rem + 1.4vw, 2.05rem);
  letter-spacing:.04em;
  line-height:1.4;
  max-width:16em;
}
html[lang="zh"] .ancient-rituals .section-title{
  font-size:clamp(1.45rem, 1.05rem + 1.3vw, 2rem);
  font-weight:500;
  letter-spacing:.04em;
}

/* 主问诊按钮（承接 #heroAskEntry） */
.btn-ink{
  background:var(--espresso); color:var(--paper);
  border:none; border-radius:13px;
  padding:17px 32px; font-size:16px; font-weight:600; letter-spacing:.05em;
  box-shadow:0 10px 26px rgba(26,24,20,.20);
  transition:background var(--t-fast, .18s ease), transform var(--t-fast, .18s ease);
}
.btn-ink:hover{ background:var(--gilt-deep); transform:translateY(-1px); }
.btn-ink:active{ transform:translateY(0); }
html[lang="zh"] .btn-ink{
  font-size:15px; letter-spacing:.08em; padding:16px 28px;
}
.hero-ask-note{
  font-size:13px; color:var(--mist); letter-spacing:.06em;
}
/* 信任行：合并为一行 4 项 */
.hero-trustlabels{
  margin-top:28px; padding-top:20px;
  border-top:1px solid var(--warm-line2);
  gap:10px 26px;
}
.hero-trustlabels li{ font-size:13px; letter-spacing:.04em; color:var(--ash-2); }
.hero-trustlabels .ht-ic{ color:var(--gilt-deep); width:15px; height:15px; }
.hero-trustlabels .ht-ic svg{ width:15px; height:15px; }

/* —— 看病贵双钩：痛点 → 解法 —— */
.hero-cost-line{
  display:inline-flex; align-items:center; flex-wrap:wrap; gap:10px 12px;
  margin:0 0 22px; padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(163,90,54,.22);
  background:linear-gradient(90deg, rgba(163,90,54,.08), rgba(36,59,48,.06));
  font:500 13px/1.35 var(--sans);
  letter-spacing:.03em;
}
.hero-cost-line .hcl-pain{ color:var(--clay); font-weight:600; }
.hero-cost-line .hcl-arrow{ color:var(--gilt-deep); font-size:14px; }
/* 「贵 → 便宜」这根箭头是装饰（aria-hidden）且不在字典里，所以从右往左语种必须镜像，
   否则它指向「回过去」。字典里的 CTA 箭头（app.start 等）已经按语种写成 ←，
   那些**不能**再套这条规则，否则翻两次就抵消了 —— 所以选择器只认 .hcl-arrow 这一个类。 */
html[dir="rtl"] .hero-cost-line .hcl-arrow{ display:inline-block; transform:scaleX(-1); }
.hero-cost-line .hcl-relief{ color:var(--sage); font-weight:600; }
html[lang="zh"] .hero-cost-line{ font-size:12px; letter-spacing:.04em; }

/* —— 看病贵真相 (#costTruth) —— */
.cost-truth{
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(156,126,78,.08), transparent 55%),
    var(--bone-2);
  border-top:1px solid var(--warm-line2);
  border-bottom:1px solid var(--warm-line2);
  padding:clamp(56px,6.5vw,96px) 0;
}
.cost-truth .center .lead{ margin-inline-start:auto; margin-inline-end:auto; }
.cost-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:clamp(28px,3.5vw,40px);
}
.cost-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);
  gap:clamp(18px,2.5vw,28px);
  align-items:stretch;
  margin-top:clamp(28px,3.5vw,40px);
}
.cost-layout .cost-grid{ margin-top:0; }
.cost-visual{
  margin:0; border-radius:var(--r);
  overflow:hidden; border:1px solid var(--warm-line2);
  background:var(--paper);
  min-height:100%;
}
.cost-visual img{
  display:block; width:100%; height:100%;
  object-fit:cover; min-height:280px;
  filter:saturate(.8);
}
@media(max-width:1020px){
  .cost-layout{ grid-template-columns:1fr; }
  .cost-visual{ max-height:280px; }
  .cost-visual img{ max-height:280px; }
}
@media(max-width:960px){
  .cost-grid{ grid-template-columns:1fr; max-width:480px; margin-inline-start:auto; margin-inline-end:auto; }
  .cost-card--relief{ order:-1; }
}
.cost-card{
  display:flex; flex-direction:column;
  border-radius:var(--r);
  border:1px solid var(--warm-line2);
  background:var(--paper);
  padding:26px 22px 24px;
  min-height:100%;
  position:relative;
  overflow:hidden;
  transition:transform var(--t-fast,.18s ease), box-shadow var(--t,.25s ease);
}
.cost-card:hover{ transform:translateY(-3px); box-shadow:0 2px 6px rgba(26,24,20,.05), 0 16px 36px rgba(26,24,20,.08); }
.cost-card--pain{
  border-color:rgba(163,90,54,.28);
  background:linear-gradient(165deg,#FBF6F1,#F3E6DC);
}
.cost-card--pain .cc-tag{ color:var(--clay); }
.cost-card--pain .cc-num{ color:#8F3F28; }
.cost-card--mid{
  border-color:rgba(156,126,78,.28);
  background:linear-gradient(165deg,#FBF8F0,#F0E8D6);
}
.cost-card--relief{
  border:1.5px solid rgba(36,59,48,.45);
  background:
    radial-gradient(500px 220px at 85% 0%, rgba(156,126,78,.22), transparent 55%),
    linear-gradient(160deg,#243B30,#161F19);
  color:#F2EFE2;
  box-shadow:0 18px 40px rgba(26,24,20,.16);
}
.cost-card--relief .cc-tag{ color:#C9B37E; }
.cost-card--relief .cc-label{ color:rgba(242,239,226,.68); }
.cost-card--relief .cc-points li{ color:rgba(242,239,226,.82); border-color:rgba(242,239,226,.12); }
.cost-card--relief .cc-points li::before{ color:#C9B37E; }
.cc-tag{
  font:600 11px/1 var(--sans);
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--gilt-deep);
  margin-bottom:18px;
}
.cc-amount{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 4px;
  margin-bottom:10px;
}
.cc-currency{
  font-family:var(--serif); font-size:clamp(22px,2.4vw,28px);
  color:var(--gilt-deep); margin-inline-end:2px;
}
.cc-num{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(36px,4.2vw,52px);
  letter-spacing:-.03em; line-height:1;
  color:var(--espresso);
}
.cc-num--free{
  font-size:clamp(44px,5vw,60px);
  color:#EDE6D6;
}
.cc-suffix{
  font-family:var(--serif); font-size:clamp(16px,1.8vw,20px);
  color:var(--ash); margin-inline-start:4px;
}
.cc-label{
  margin:0 0 18px; font-size:13px; line-height:1.55; color:var(--ash);
}
.cc-points{
  list-style:none; margin:0; padding:0; flex:1;
}
.cc-points li{
  position:relative;
  padding-block: 9px 9px; padding-inline: 18px 0;
  font-size:14px; line-height:1.45; color:var(--espresso-2);
  border-top:1px solid var(--warm-line2);
}
.cc-points li::before{
  content:"·"; position:absolute; left:4px; top:8px;
  color:var(--gilt); font-weight:700;
}
.cost-cta{
  margin-top:18px; align-self:flex-start;
  padding:13px 24px; font-size:14px;
}
.cost-fine{
  margin:22px auto 0; max-width:70ch;
  text-align:center; font-size:12px; line-height:1.55; color:var(--mist);
}
html[lang="zh"] .cost-card .cc-tag{ letter-spacing:.16em; }
html[lang="zh"] .cost-fine{ font-size:12px; }

@media(max-width:960px){
  .cost-grid{ grid-template-columns:1fr; max-width:480px; margin-inline-start:auto; margin-inline-end:auto; }
  .cost-card--relief{ order:-1; }
}

/* —— 铜人橱窗（黑窟窿 → 墨绿标本橱窗） —— */
.hero-visual{ min-height:540px; }
.acu-stage{
  width:100%;
  height:clamp(440px,52vh,580px);
  background:
    radial-gradient(120% 90% at 50% 10%, rgba(156,126,78,.20), transparent 55%),
    radial-gradient(80% 55% at 50% 104%, rgba(124,154,107,.16), transparent 60%),
    linear-gradient(180deg,#26332A,#161F19);
  border:1.5px solid rgba(156,126,78,.42);
  border-radius:var(--r-lg);
  box-shadow:
    var(--shadow-lg, 0 18px 50px rgba(26,24,20,.18)),
    inset 0 0 90px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(232,217,184,.08);
  overflow:hidden;
}
.acu-legend{ top:20px; right:24px; }
.acu-legend-n{
  font-family:var(--serif);
  font-size:clamp(2.4rem,3.8vw,3.4rem);
  color:rgba(232,217,184,.66);
  letter-spacing:-.02em;
}
.acu-legend-t{ color:rgba(232,217,184,.78); letter-spacing:.2em; font-size:11px; }
.acu-hint{
  left:auto; right:18px; bottom:18px;
  transform:none;
  background:rgba(20,26,21,.72);
  border:1px solid rgba(156,126,78,.36);
  color:rgba(232,217,184,.8);
  font:500 11px/1 var(--sans);
  letter-spacing:.14em; text-transform:uppercase;
  padding:9px 15px; border-radius:999px;
  white-space:nowrap;
}
.acu-stage::after{
  /* 眉题原先把中文烤进 CSS，14 个语种全显示中文。现在：中文页保留原字，
     其它语种只留语言中性的 INTERACTIVE；定位改逻辑属性，从右往左会镜像。 */
  content:"INTERACTIVE";
  /* 这个眉题不镜像：从右往左下计数块会换到右侧，跟着镜像就会压上去，所以固定留在视觉左侧 */
  position:absolute; left:20px; top:22px; z-index:4;
  font:600 10px/1 var(--sans);
  letter-spacing:.26em; text-transform:uppercase;
  color:rgba(232,217,184,.52);
  pointer-events:none;
}

html[lang^="zh"] .acu-stage::after{
  content:"互动铜人 · INTERACTIVE";
}
.acu-caption{
  margin-top:13px;
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  font-size:13px; color:var(--mist);
}
.acu-caption span:first-child{ color:var(--ash); font-weight:500; }

/* ============================ 3. 区块节奏 ============================ */
section{ padding:clamp(64px,7.5vw,110px) 0; }
.center .eyebrow{ justify-content:center; }
.section-title{ font-family:var(--serif); font-weight:400; letter-spacing:-.02em; text-wrap:balance; }
.lead{ color:var(--ash); }

/* ============================ 4. 信号墙（共鸣墙+自疗 合并） ============================ */
.symptom-wall{ background:var(--bone); }
/* —— 信号墙：4 大文件夹（类手机桌面） —— */
.sig-folders{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
  margin-top:8px;
}
@media(min-width:900px){
  .sig-folders{ grid-template-columns:repeat(4,1fr); }
}
.sig-folder{
  display:flex; flex-direction:column; gap:14px;
  margin:0; padding:16px 16px 18px;
  border:1px solid var(--warm-line2);
  border-radius:var(--r-lg);
  background:var(--paper);
  cursor:pointer; text-align: start; font:inherit; color:inherit;
  transition:border-color var(--t-fast,.18s ease), transform var(--t-fast,.18s ease), box-shadow var(--t,.25s ease);
  min-height:100%;
}
.sig-folder:hover{
  border-color:var(--gilt); transform:translateY(-3px);
  box-shadow:0 2px 6px rgba(26,24,20,.05), 0 14px 32px rgba(26,24,20,.08);
}
.sig-folder.active{
  border-color:var(--espresso);
  box-shadow:0 0 0 1px var(--espresso), 0 12px 28px rgba(26,24,20,.10);
}
.sf-mosaic{
  display:grid; grid-template-columns:1fr 1fr; gap:4px;
  aspect-ratio:1.35/1; border-radius:12px; overflow:hidden;
  background:var(--bone-2);
}
.sf-mosaic img,
.sf-tile-empty{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.78) brightness(.97);
}
.sf-tile-empty{ background:var(--bone-2); }
.sf-meta{ display:flex; flex-direction:column; gap:4px; padding:0 2px; }
.sf-title{
  font-family:var(--serif); font-weight:500; font-size:17px;
  letter-spacing:-.01em; color:var(--espresso);
}
html[lang="zh"] .sf-title{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em; font-size:16px;
}
.sf-count{
  font:600 11px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase;
  color:var(--gilt-deep);
}
.sf-desc{
  font-size:13px; line-height:1.45; color:var(--ash);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.sig-folders.has-open .sig-folder:not(.active){ opacity:.72; }

/* —— iOS 风格文件夹放大/收起 —— */
body.sf-zoom-lock{ overflow:hidden; }
.sf-zoom{
  position:fixed; inset:0; z-index:120;
  display:flex; align-items:center; justify-content:center;
  padding:24px 16px 32px;
}
/* 问诊弹窗默认高于文件夹浮层 */
#quickModal{ z-index:140; }
.sf-zoom[hidden]{ display:none !important; }
.sf-zoom-bd{
  position:absolute; inset:0;
  background:rgba(26,24,20,.42);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0;
  transition:opacity .28s ease;
}
.sf-zoom.open .sf-zoom-bd{ opacity:1; }
.sf-zoom-panel{
  position:relative; z-index:1;
  width:min(980px, 100%);
  max-height:min(86vh, 900px);
  overflow:auto;
  background:var(--paper);
  border:1px solid var(--warm-line);
  border-radius:22px;
  box-shadow:0 24px 60px rgba(26,24,20,.22);
  padding:20px 20px 24px;
  transform:scale(.22);
  opacity:0;
  transition:transform .32s cubic-bezier(.22,1,.36,1), opacity .22s ease;
  will-change:transform, opacity;
}
.sf-zoom-panel.in{
  transform:scale(1);
  opacity:1;
}
.sfzp-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  margin-bottom:16px; padding:2px 4px 12px;
  border-bottom:1px solid var(--warm-line2);
  position:sticky; top:0; z-index:2;
  background:linear-gradient(180deg, var(--paper) 70%, rgba(251,250,245,.92));
}
.sfzp-title{
  margin:0 0 4px;
  font-family:var(--serif); font-weight:500; font-size:22px;
  letter-spacing:-.02em; color:var(--espresso);
}
html[lang="zh"] .sfzp-title{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em; font-size:20px;
}
.sfzp-desc{ margin:0; font-size:13px; color:var(--ash); }
.sfzp-close{
  flex:none; width:36px; height:36px; border-radius:50%;
  border:1px solid var(--warm-line); background:var(--bone);
  color:var(--ash); cursor:pointer;
  display:grid; place-items:center;
  transition:all var(--t-fast,.18s ease);
}
.sfzp-close:hover{ border-color:var(--gilt); color:var(--espresso); background:var(--paper); }
.sfzp-grid{ margin-top:4px; }
@media(max-width:720px){
  .sf-zoom{ padding:12px 10px 20px; align-items:flex-end; }
  .sf-zoom-panel{
    width:100%;
    max-height:88vh;
    border-radius:20px 20px 14px 14px;
    padding:16px 14px 18px;
  }
}
@media(prefers-reduced-motion: reduce){
  .sf-zoom-panel{ transition:opacity .12s linear; transform:none !important; }
  .sf-zoom-bd{ transition:none; }
}
.sig-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  counter-reset:none;
}
/* 卡片：app.js 渲染的 .scard 移入后的 v3 外观 */
.scard.sig-card{
  display:flex; flex-direction:column; gap:12px;
  padding:0 0 16px;
  border:1px solid var(--warm-line2);
  border-radius:var(--r);
  background:var(--paper);
  text-align: start;
  transition:border-color var(--t-fast, .18s ease), transform var(--t-fast, .18s ease), box-shadow var(--t, .25s ease);
  position:relative; overflow:hidden;
}
.scard.sig-card::before{ content:none; }
.scard.sig-card:hover{
  border-color:var(--gilt); background:#fff;
  transform:translateY(-3px);
  box-shadow:0 2px 6px rgba(26,24,20,.06), 0 14px 34px rgba(26,24,20,.09);
}
.sig-card-wash{
  height:120px; flex:none; position:relative; overflow:hidden;
  background:var(--bone-2);
}
.sig-card-wash img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.75) brightness(.96);
}
.sig-card-wash::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(251,250,245,.95) 100%);
}
.sig-card-body{
  display:flex; flex-direction:column; gap:8px;
  padding:14px 16px 16px; flex:1;
}
.scard.sig-card .scard-hook{ font-size:15px; line-height:1.5; margin:0; font-weight:500; color:var(--espresso); }
.sig-meta{
  margin-top:auto; padding-top:4px;
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; color:var(--mist);
}
/* —— 自疗库第二段 —— */
.lib-wall{
  margin-top: clamp(40px,5vw,64px);
  padding-top: clamp(28px,3vw,40px);
  border-top:1px solid var(--warm-line2);
}
.lib-head{ margin-bottom:18px; }
.lib-head h3{
  margin:0 0 6px;
  font-family:var(--serif); font-weight:500; font-size:20px;
  letter-spacing:-.01em; color:var(--espresso);
}
html[lang="zh"] .lib-head h3{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em; font-size:18px;
}
.lib-head p{ margin:0; font-size:14px; color:var(--ash); max-width:52ch; }
.lib-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.lib-card{
  display:flex; flex-direction:column; gap:0;
  padding:0; margin:0; border:1px solid var(--warm-line2);
  border-radius:var(--r); background:var(--paper);
  cursor:pointer; text-align: start; overflow:hidden;
  font:inherit; color:inherit;
  transition:border-color var(--t-fast,.18s ease), transform var(--t-fast,.18s ease), box-shadow var(--t,.25s ease);
}
.lib-card:hover{
  border-color:var(--gilt); transform:translateY(-3px);
  box-shadow:0 2px 6px rgba(26,24,20,.06), 0 14px 34px rgba(26,24,20,.09);
}
.lib-wash{
  display:block; height:110px; overflow:hidden; background:var(--bone-2);
  position:relative;
}
.lib-wash img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.75) brightness(.96);
}
.lib-wash::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(251,250,245,.9) 100%);
}
.lib-body{
  display:flex; flex-direction:column; gap:10px;
  padding:12px 16px 16px; flex:1;
}
.lib-hook{
  font-size:15px; font-weight:500; line-height:1.45;
  color:var(--espresso);
}
html[lang="zh"] .lib-hook{ font-size:14px; letter-spacing:.01em; }
.lib-cta{
  margin-top:auto;
  font-size:12px; font-weight:600; color:var(--gilt-deep);
}
.lib-card:hover .lib-cta{ text-decoration:underline; }
@media(max-width:1020px){
  .lib-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px){
  .lib-grid{ grid-template-columns:1fr; }
}

/* —— 自疗/共鸣统一弹窗：左图右文 —— */
#quickModal .quick-box{ max-width:920px; }
.quick-layout{
  display:grid; grid-template-columns:220px minmax(0,1fr);
  gap:0; align-items:stretch;
}
.quick-side{
  border-inline-end:1px solid var(--line-soft, #EFE7D6);
  background:linear-gradient(180deg, rgba(156,126,78,.05), transparent 40%);
  padding:20px 18px 24px;
  display:flex; flex-direction:column; gap:16px;
}
.qs-art{
  border-radius:12px; overflow:hidden;
  border:1px solid var(--line-soft, #EFE7D6);
  background:var(--bone-2, #EDE7DA);
  aspect-ratio:1/1;
}
.qs-art img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.8); }
.qs-copy{ display:flex; flex-direction:column; gap:10px; }
.qs-lead{ margin:0; font-size:13px; line-height:1.55; color:var(--ash, #5C5750); }
.qs-ask{ width:100%; justify-content:center; }
.qs-note{ margin:0; font-size:12px; color:var(--mist, #6E6659); text-align:center; }
#quickModal .modal-body{ padding:22px 24px 24px; }
@media(max-width:720px){
  .quick-layout{ grid-template-columns:1fr; }
  .quick-side{
    border-inline-end:none; border-bottom:1px solid var(--line-soft, #EFE7D6);
    flex-direction:row; align-items:center; gap:14px;
  }
  .qs-art{ width:88px; height:88px; flex:none; aspect-ratio:auto; }
  .qs-ask{ width:auto; padding-inline-start:18px; padding-inline-end:18px; }
}
.sig-meta em{ font-style:normal; color:var(--gilt-deep); font-weight:600; }
.sig-card:hover .sig-meta em{ text-decoration:underline; }
/* 主题组配色（icon 底色按组） */
.sig-card.theme-mood .scard-ic{ background:#ECE8F1; color:#7A6B95; }
.sig-card.theme-digest .scard-ic{ background:#F3E7D6; color:#A96F35; }
.sig-card.theme-body .scard-ic{ background:#E7EEE6; color:#3E6351; }
.sig-card.theme-care .scard-ic{ background:#E8EDE8; color:#3E6351; }
/* 日常调理组：4 列时 12 张换行更均匀 */
.sig-grid:has(.theme-care){ grid-template-columns:repeat(4,1fr); }
/* 隐藏的卡源容器（app.js 渲染目标，卡片被分发后此处应为空） */
.v3-hidden-source{ display:none !important; }
/* 「没有我的选项？」问诊横幅（app.js 渲染 .custom-entry-hero，此处收紧外观） */
#customEntryWrap{ margin-top:18px; }
.custom-entry-hero{
  border-radius:var(--r) !important;
  padding:20px 26px !important;
}
.ceh-toprule{ display:none; }

/* ============================ 5. 案例带（3+2 不对称 + 引言封面 + Field note） ============================ */
.story-strip{ background:var(--bone-2); border-top:1px solid var(--warm-line2); border-bottom:1px solid var(--warm-line2); }
.story-strip-grid{
  display:grid; grid-template-columns:1.25fr 1fr 1fr;
  grid-auto-rows:auto; gap:18px;
}
.story-card-v3{
  display:flex; flex-direction:column;
  background:var(--paper); border:1px solid var(--warm-line2);
  border-radius:var(--r); overflow:hidden;
  color:inherit; text-decoration:none;
  transition:transform var(--t-fast, .18s ease), box-shadow var(--t, .25s ease), border-color var(--t, .25s ease);
}
.story-card-v3:hover{ transform:translateY(-4px); border-color:var(--gilt); box-shadow:0 2px 6px rgba(26,24,20,.06), 0 16px 38px rgba(26,24,20,.10); }
.story-card-v3.stc-first{ grid-row:span 2; }
.story-card-v3.stc-first .stcv{ flex:1 1 auto; min-height:320px; }
.stcv{
  position:relative; padding:24px; min-height:150px;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden;
}
.stcv--img{ min-height:220px; }
.stcv-img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
  filter:saturate(.82) brightness(.92);
}
.stcv--img::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(26,24,20,.12) 0%, rgba(26,24,20,.62) 100%);
}
/* 角标保持 absolute（切勿改成 relative，否则会撑成整行脏条） */
.stcv--img .stc-tag{
  z-index:2;
  background:rgba(26,24,20,.55);
  color:#F2EFE2;
  border:1px solid rgba(232,217,184,.25);
  backdrop-filter:blur(4px);
}
.stcv--img .stc-kind{
  z-index:2;
  background:rgba(251,250,245,.92);
  color:rgba(26,24,20,.62);
  border:1px solid rgba(26,24,20,.08);
}
.stcv--img .stc-num{
  z-index:2;
  color:rgba(251,250,245,.16);
}
.stcv--img .stc-quote{
  z-index:2;
  color:rgba(251,250,245,.96);
  text-shadow:0 1px 10px rgba(26,24,20,.45);
  padding-inline-end:110px;
  padding-bottom:4px;
}
.stc-first .stcv{ min-height:320px; }
.stcv.cv-1{ background:linear-gradient(160deg,#DDE6DA,#C4D2C0); }
.stcv.cv-2{ background:linear-gradient(160deg,#E9E0CE,#D9CCAF); }
.stcv.cv-3{ background:linear-gradient(160deg,#E3DCE9,#CCC2D8); }
.stcv.cv-4{ background:linear-gradient(160deg,#E8D9CC,#D8BFA9); }
.stcv.cv-5{ background:linear-gradient(160deg,#D8E2E4,#BCCFD3); }
.stc-tag{
  position:absolute; left:16px; top:14px;
  display:inline-flex; align-items:center;
  background:var(--espresso); color:#EDE6D6;
  font:600 10px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase;
  padding:6px 11px; border-radius:999px;
  max-width:calc(100% - 32px);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
/* 诚实角标：Field note / 体感笔记 —— 避免被读成真人付费证言 */
.stc-kind{
  position:absolute; right:14px; bottom:14px;
  display:inline-flex; align-items:center;
  font:500 10px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase;
  color:rgba(26,24,20,.48);
  border:1px solid rgba(26,24,20,.14);
  background:rgba(251,250,245,.78);
  padding:5px 10px; border-radius:999px;
  white-space:nowrap;
}
.stc-num{
  position:absolute; top:8px; right:18px;
  font-family:var(--serif); font-style:italic;
  font-size:64px; line-height:1; color:rgba(26,24,20,.08);
  pointer-events:none;
}
.stc-quote{
  margin:0; max-width:22ch;
  font-family:var(--serif); font-size:17px; line-height:1.5;
  color:rgba(26,24,20,.62);
}
.stc-first .stc-quote{ font-size:21px; max-width:16ch; }
.stcb{
  padding:20px 24px 22px;
  display:flex; flex-direction:column; gap:8px; flex:1;
}
.stcb h3{
  margin:0; font-family:var(--serif); font-weight:500;
  font-size:18px; line-height:1.42; letter-spacing:-.01em; color:var(--espresso);
}
.stc-first .stcb h3{ font-size:22px; }
.stcb p{ margin:0; font-size:14px; line-height:1.6; color:var(--ash); }
.stc-more{
  margin-top:auto; padding-top:12px;
  font-size:13px; font-weight:600; color:var(--gilt-deep);
}
.story-card-v3:hover .stc-more{ text-decoration:underline; }
.story-foot-link{ text-align:center; margin-top:22px; }
.story-foot-link a{
  font-size:14px; font-weight:600; color:var(--sage);
  border-bottom:1.5px solid var(--gilt); padding-bottom:3px;
}
.story-strip-note{
  margin:14px auto 0; max-width:62ch;
  text-align:center; font-size:12px; line-height:1.55;
  color:var(--mist); letter-spacing:.02em;
}

/* ============================ 6. 溯源信任条 + 书单弹窗 ============================ */
.canon-strip-sec{ background:var(--bone); padding:clamp(28px,3.5vw,44px) 0; }
.canon-strip{
  display:flex; align-items:center; gap:18px;
  background:var(--paper); border:1px solid var(--warm-line);
  border-radius:var(--r); padding:18px 24px;
  box-shadow:var(--shadow-sm, 0 1px 2px rgba(26,24,20,.04));
}
.cs-seal{
  width:44px; height:44px; flex:none;
  display:flex; align-items:center; justify-content:center;
  border:1.2px solid var(--gilt); border-radius:10px;
  color:var(--gilt-deep); background:var(--gilt-glow, rgba(156,126,78,.12));
}
.cs-seal svg{ width:22px; height:22px; }
.cs-text{ flex:1; min-width:0; }
.cs-text b{
  display:block; font-family:var(--serif); font-weight:500;
  font-size:17px; color:var(--espresso); letter-spacing:-.01em;
}
.cs-text small{ display:block; margin-top:3px; font-size:13px; color:var(--mist); }
.cs-btn{
  flex:none; border:none; cursor:pointer;
  background:var(--espresso); color:var(--paper);
  border-radius:999px; padding:11px 22px;
  font:600 13px/1 var(--sans); letter-spacing:.05em;
  transition:background var(--t-fast, .18s ease);
}
.cs-btn:hover{ background:var(--gilt-deep); }

/* —— 书单弹窗（典籍手稿风 · 分类筛选 + 书卡网格） —— */
#canonModal .canon-box{
  max-width:860px;
  background:
    radial-gradient(700px 280px at 90% 0%, rgba(156,126,78,.10), transparent 55%),
    var(--paper);
  border:1px solid var(--warm-line);
}
.canon-head{
  gap:16px; align-items:flex-start;
  border-bottom:1px solid var(--warm-line2);
  background:linear-gradient(180deg, rgba(156,126,78,.06), transparent);
  border-radius:var(--r-lg) var(--r-lg) 0 0;
}
.canon-head-left{ display:flex; align-items:flex-start; gap:14px; min-width:0; flex:1; }
.canon-head-seal{
  width:40px; height:40px; flex:none;
  display:grid; place-items:center;
  border:1px solid rgba(156,126,78,.5);
  background:rgba(156,126,78,.08);
  color:var(--gilt-deep);
  font-family:var(--serif-cn, var(--serif));
  font-size:18px; line-height:1;
  border-radius:2px;
  box-shadow:0 0 0 3px rgba(156,126,78,.05);
}
.canon-head-txt{ min-width:0; }
.canon-head-txt h3{
  font-family:var(--serif); font-weight:500; font-size:24px;
  letter-spacing:-.02em; color:var(--espresso); margin:0;
}
.canon-modal-sub{
  margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--ash);
  max-width:48ch;
}
.canon-body{ padding-top:18px; }
.canon-meta{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin:0 0 14px;
  font:500 12px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase;
  color:var(--gilt-deep);
}
.canon-meta .cm-stat b{ font-family:var(--serif); font-size:18px; font-weight:500; letter-spacing:-.02em; margin-inline-end:4px; color:var(--espresso); text-transform:none; }
.canon-meta .cm-stat i{ font-style:normal; color:var(--mist); letter-spacing:.12em; }
.canon-meta .cm-dot{ color:var(--gilt); }
.canon-chips{
  display:flex; flex-wrap:wrap; gap:7px;
  margin:0 0 18px; padding-bottom:16px;
  border-bottom:1px solid var(--warm-line2);
}
.canon-chip{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--warm-line); background:var(--bone);
  color:var(--ash); cursor:pointer;
  border-radius:999px; padding:7px 13px;
  font:500 12px/1 var(--sans); letter-spacing:.02em;
  transition:all var(--t-fast,.18s ease);
}
.canon-chip em{ font-style:normal; font-size:10px; opacity:.7; }
.canon-chip:hover{ border-color:var(--gilt); color:var(--gilt-deep); background:rgba(156,126,78,.06); }
.canon-chip.active{
  background:var(--espresso); border-color:var(--espresso); color:#F2EFE2; font-weight:600;
}
.canon-chip.active em{ opacity:.75; }
.canon-modal-list{
  max-height:min(58vh,540px); overflow-y:auto;
  padding-block: 2px 4px; padding-inline: 2px 6px;
  scrollbar-width:thin;
  scrollbar-color:rgba(156,126,78,.35) transparent;
}
.canon-modal-list::-webkit-scrollbar{ width:8px; }
.canon-modal-list::-webkit-scrollbar-thumb{ background:rgba(156,126,78,.35); border-radius:99px; }
.cm-group{ margin:0 0 26px; }
.cm-group:last-child{ margin-bottom:8px; }
.cm-group-head{
  display:flex; align-items:center; gap:12px;
  margin:0 0 12px; padding:0 2px 10px;
  border-bottom:1px solid var(--warm-line2);
}
.cm-group-rule{
  width:18px; height:1px; flex:none;
  background:linear-gradient(90deg, transparent, var(--gilt));
}
.cm-group-name{
  margin:0; flex:1; min-width:0;
  font-family:var(--serif-cn, var(--serif));
  font-weight:500; font-size:15px; letter-spacing:.08em;
  color:var(--gilt-deep);
}
.cm-group-count{
  flex:none;
  font:600 11px/1 var(--sans); letter-spacing:.1em;
  color:var(--mist);
  padding:4px 9px; border-radius:999px;
  border:1px solid var(--warm-line2);
  background:var(--bone);
}
.cm-books{
  display:grid; grid-template-columns:repeat(2,1fr); gap:10px;
}
.cm-book{
  padding:14px 16px 15px;
  border:1px solid var(--warm-line2);
  border-radius:12px;
  background:linear-gradient(165deg, #FBFAF5, #F5F0E5);
  transition:border-color var(--t-fast,.18s ease), box-shadow var(--t-fast,.18s ease);
}
.cm-book:hover{
  border-color:rgba(156,126,78,.4);
  box-shadow:0 2px 8px rgba(26,24,20,.05);
}
.cm-book-title{
  margin:0 0 5px;
  font-family:var(--serif-cn, var(--serif));
  font-weight:600; font-size:16px; line-height:1.35;
  letter-spacing:.03em; color:var(--espresso);
}
.cm-book-meta{
  margin:0 0 8px;
  font-size:12px; line-height:1.4; color:var(--gilt-deep);
  letter-spacing:.04em;
}
.cm-book-sum{
  margin:0; font-size:13px; line-height:1.55; color:var(--ash);
}
.canon-modal-foot{
  margin:14px 0 0; padding-top:14px;
  border-top:1px dashed var(--warm-line2);
  font-size:12px; line-height:1.55; color:var(--mist);
}
@media(max-width:720px){
  .cm-books{ grid-template-columns:1fr; }
  #canonModal .canon-box{ max-width:none; }
  .canon-head{ flex-direction:row; }
  .canon-head-txt h3{ font-size:20px; }
}
@media(max-width:560px){
  .canon-chips{ gap:6px; }
  .canon-chip{ font-size:11px; padding:6px 11px; }
  .canon-meta .cm-stat b{ font-size:16px; }
}

/* ============================ 6b. 医道长河入口卡（详情在 history.html） ============================ */
.history-teaser{
  background:var(--bone-2);
  border-top:1px solid var(--warm-line2);
  border-bottom:1px solid var(--warm-line2);
  padding:clamp(36px,4.5vw,56px) 0;
}
.ht-card{
  display:grid; grid-template-columns:1.4fr .7fr; gap:28px;
  align-items:center;
  padding:clamp(24px,3vw,36px) clamp(22px,3vw,36px);
  border-radius:var(--r-lg);
  border:1px solid var(--warm-line);
  background:
    radial-gradient(500px 220px at 90% 20%, rgba(156,126,78,.10), transparent 55%),
    var(--paper);
  color:inherit; text-decoration:none;
  box-shadow:var(--shadow-sm, 0 1px 2px rgba(26,24,20,.04));
  transition:transform var(--t-fast,.18s ease), box-shadow var(--t,.25s ease), border-color .2s ease;
}
.ht-card:hover{
  transform:translateY(-3px);
  border-color:rgba(156,126,78,.4);
  box-shadow:0 2px 6px rgba(26,24,20,.05), 0 16px 36px rgba(26,24,20,.08);
}
.ht-copy .section-title{ margin:0 0 10px; max-width:22ch; }
.ht-copy .lead{ margin:0 0 16px; max-width:48ch; font-size:15px; }
.ht-more{
  display:inline-flex; align-items:center;
  font:600 14px/1 var(--sans); letter-spacing:.04em;
  color:var(--gilt-deep);
}
.ht-card:hover .ht-more{ text-decoration:underline; }
.ht-visual{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  justify-self:end; width:100%; max-width:280px;
}
.ht-img{
  width:100%; height:auto; border-radius:14px;
  aspect-ratio:3/2; object-fit:cover;
  border:1px solid var(--warm-line);
  box-shadow:0 8px 24px rgba(26,24,20,.10);
  filter:saturate(.85);
}
@media(max-width:720px){
  .ht-card{ grid-template-columns:1fr; }
  .ht-visual{ justify-self:start; flex-direction:row; gap:14px; }
  .ht-seal{ width:64px; height:64px; font-size:28px; }
}

/* ============================ 7. 二十四节气（恢复罗盘 · 仪器台 · 东方神秘） ============================ */
.ancient-rituals{
  background:
    radial-gradient(900px 420px at 50% -10%, rgba(156,126,78,.09), transparent 55%),
    radial-gradient(700px 380px at 80% 100%, rgba(47,74,60,.07), transparent 55%),
    var(--bone-2);
  border-top:1px solid var(--warm-line2);
  border-bottom:1px solid var(--warm-line2);
  position:relative;
  overflow:hidden;
}
/* 极淡同心圆水印 —— 罗盘余韵，不抢主体 */
.ancient-rituals::before{
  content:"";
  position:absolute; left:50%; top:18%;
  width:min(720px,90vw); aspect-ratio:1;
  transform:translate(-50%,-30%);
  border-radius:50%;
  border:1px solid rgba(156,126,78,.10);
  box-shadow:
    0 0 0 48px rgba(156,126,78,.03),
    0 0 0 96px rgba(156,126,78,.02),
    0 0 0 144px rgba(156,126,78,.015);
  pointer-events:none;
  z-index:0;
}
.ancient-rituals > .wrap{ position:relative; z-index:1; }
/* 恢复罗盘可见（v3 曾 display:none） */
.solar-compass{
  display:block;
  position:relative;
  width:100%;
  max-width:min(400px, 88vw);
  min-height:320px;
  aspect-ratio:1/1;
  margin:0 auto;
}
/* 双栏仪器台：左罗盘 + 右今日知识卡 */
.solar-stage{
  display:grid;
  grid-template-columns:minmax(260px, 420px) minmax(0, 1fr);
  gap:clamp(24px, 3.5vw, 48px);
  align-items:start;
  margin-top:clamp(28px, 4vw, 44px);
}
.solar-instrument{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  min-width:0;
}
.solar-instrument .sc-term-strip{ margin-top:2px; max-width:100%; }
.solar-instrument .sc-meta{ margin-top:0; }
.solar-panel{
  margin-top:0;
  max-width:none;
  background:
    linear-gradient(180deg, rgba(251,250,245,.98), rgba(251,250,245,.92));
  border:1px solid var(--warm-line);
  border-radius:var(--r-lg);
  box-shadow:
    var(--shadow-sm, 0 1px 2px rgba(26,24,20,.04)),
    0 18px 40px rgba(26,24,20,.05);
  padding:clamp(22px, 2.5vw, 32px) clamp(20px, 2.8vw, 34px) clamp(24px, 2.8vw, 34px);
  text-align: start;
}
.solar-panel .sp-term{ font-weight:500; letter-spacing:-.02em; }
.ancient-rituals .section-title{ font-weight:400; }
.ancient-rituals .eyebrow{ justify-content:center; }
@media(max-width:900px){
  .solar-stage{ grid-template-columns:1fr; }
  .solar-panel{ width:100%; }
}
@media(max-width:460px){
  .solar-compass{ max-width:min(96vw, 340px); min-height:280px; }
  /* 箭头收回罗盘内缘，避免贴边裁切 */
  .sc-prev{ left:2%; }
  .sc-next{ right:2%; }
  .sc-nav{ width:44px; height:44px; }
}

/* ============================ 8. 收束 CTA（修复白字隐形） ============================ */
.tongue{ background:var(--bone); }
.tongue-in{ display:block; padding:0; }
.final-card{
  position:relative; overflow:hidden;
  border-radius:var(--r-lg);
  border:1px solid rgba(156,126,78,.35);
  background:
    radial-gradient(700px 320px at 85% 10%, rgba(156,126,78,.26), transparent 60%),
    radial-gradient(500px 300px at 10% 95%, rgba(124,154,107,.20), transparent 60%),
    linear-gradient(135deg,#243B30,#161F19);
  color:#F2EFE2;
  padding:clamp(48px,6vw,84px) clamp(28px,5vw,80px);
  text-align:center;
}
.final-card .eyebrow{ color:#C9B37E; }
.final-card h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(28px,3.6vw,44px);
  letter-spacing:-.02em; line-height:1.18;
  margin:16px auto 14px; max-width:22ch;
  color:#F6F2E9;
  text-wrap:balance;
}
.final-card p{
  color:rgba(242,239,226,.74);
  max-width:50ch; margin:0 auto 32px; font-size:16px;
}
.btn-paper{
  background:#F2EFE2; color:#243B30;
  border:none; border-radius:13px;
  padding:17px 36px; font-size:16px; font-weight:600; letter-spacing:.05em;
  transition:background var(--t-fast, .18s ease), transform var(--t-fast, .18s ease);
}
.btn-paper:hover{ background:#fff; transform:translateY(-1px); }
.final-card .fine{
  margin-top:18px; font-size:13px; color:rgba(242,239,226,.52);
}
.final-cost-chip{
  display:inline-flex; align-items:center; justify-content:center;
  margin:0 0 22px; padding:9px 18px;
  border-radius:999px;
  border:1px solid rgba(201,179,126,.35);
  background:rgba(201,179,126,.10);
  color:#E8DCC0;
  font:500 13px/1.3 var(--sans);
  letter-spacing:.06em;
}
html[lang="zh"] .final-cost-chip{ letter-spacing:.08em; font-size:12px; }

/* ============================ 9. 页脚 ============================ */
footer{ background:var(--bone-2); border-top:1px solid var(--warm-line); padding:clamp(44px,5vw,72px) 0 30px; }
footer .f-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.f-brand{ max-width:320px; }
.f-brand p{ margin-top:14px; font-size:13px; line-height:1.7; color:var(--mist); }
footer h4{
  font:600 11px/1 var(--sans); letter-spacing:.2em; text-transform:uppercase;
  color:var(--mist); margin-bottom:16px;
}
.f-col a{
  display:block; font-size:14px; color:var(--ash); padding:5px 0;
  transition:color var(--t-fast, .18s ease);
}
.f-col a:hover{ color:var(--sage); }
footer .disclaimer{ margin-top:36px; }

/* ============================ 10. 响应式 ============================ */
@media(max-width:1020px){
  .sig-grid{ grid-template-columns:repeat(2,1fr); }
  .story-strip-grid{ grid-template-columns:1fr 1fr; }
  .story-card-v3.stc-first{ grid-row:auto; grid-column:span 2; }
  .story-card-v3.stc-first .stcv{ min-height:220px; }
}
@media(max-width:1180px){
  .hero-in,
  html[lang="zh"] .hero-in{ grid-template-columns:1fr; gap:36px; padding:40px var(--s-7,28px) 48px; }
  .hero h1{ font-size:clamp(2.1rem,8vw,2.9rem); max-width:none; }
  .hero h1 .accent{ font-size:.58em; max-width:none; }
  html[lang="zh"] .hero h1{ font-size:clamp(1.55rem, 6.2vw, 2.1rem); max-width:none; }
  html[lang="zh"] .hero h1 .accent{ font-size:.72em; max-width:none; }
  .hero-visual{ min-height:0; }
  .acu-stage{ height:min(102vw,460px); }
  .acu-card{ left:50%; transform:translateX(-50%); }
  .nav-links{ display:none; }          /* 中等宽度提前收起，杜绝链接文字被压断行 */
  .nav-cta .nav-login, .nav-cta .nav-user{ display:none; }
  footer .f-top{ grid-template-columns:1fr; gap:28px; }
  .hero-ink{ opacity:.55; }
}
@media(max-width:1300px){ .brand{ font-size:17px; } }
@media(max-width:560px){
  .sig-grid{ grid-template-columns:1fr; }
  .story-strip-grid{ grid-template-columns:1fr; }
  .story-card-v3.stc-first{ grid-column:auto; }
  .stc-first .stcv{ min-height:190px; }
  .hero-cta .btn-ink{ width:100%; justify-content:center; }
  .hero-ask-note{ width:100%; }
  .hero-ritual{ margin-top:18px; }
  .custom-entry-hero{ flex-wrap:wrap; gap:16px; padding:18px !important; }
  .acu-caption{ flex-direction:column; align-items:flex-start; gap:4px; }
  .canon-strip{ flex-wrap:wrap; padding:16px 18px; }
  .cs-btn{ width:100%; justify-content:center; }
}

/* ============================ 11. 中文卡片与区块细化 ============================ */
html[lang="zh"] .scard.sig-card .scard-hook{
  font-size:14px; line-height:1.55; letter-spacing:.01em;
}
html[lang="zh"] .sig-group-head h3{
  font-family:var(--serif-cn, var(--serif));
  font-size:17px; letter-spacing:.04em;
}
html[lang="zh"] .stcb h3,
html[lang="zh"] .stc-first .stcb h3{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.02em;
  line-height:1.45;
}
html[lang="zh"] .stc-quote,
html[lang="zh"] .stc-first .stc-quote{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.02em;
  line-height:1.55;
}
html[lang="zh"] .cs-text b{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.02em;
}
html[lang="zh"] .sp-term{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em;
}
html[lang="zh"] .sp-action-main{
  font-size:15px; line-height:1.7; letter-spacing:.01em;
}
html[lang="zh"] .sp-block-b{
  font-size:14px; line-height:1.75;
}
html[lang="zh"] .sp-classic{
  font-family:var(--serif-cn, var(--serif));
  font-size:16px; line-height:1.75; letter-spacing:.03em;
}
/* 区块之间的细金线节奏（可选装饰，不抢内容） */
.canon-strip-sec{
  position:relative;
}
.canon-strip-sec::before{
  content:"";
  position:absolute; left:50%; top:0; transform:translateX(-50%);
  width:min(180px,40vw); height:1px;
  background:linear-gradient(90deg,transparent,rgba(156,126,78,.35),transparent);
}

/* ============================ 12. 体质地图入口 (#constitution) ============================ */
.constitution-sec{
  background:var(--bone);
  border-bottom:1px solid var(--warm-line2);
  padding:clamp(48px,6vw,80px) 0;
}
.const-card{
  display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,4vw,56px);
  align-items:center;
  background:var(--paper);
  border:1px solid var(--warm-line);
  border-radius:var(--r-lg);
  padding:clamp(28px,4vw,48px) clamp(24px,4vw,52px);
  box-shadow:var(--shadow-sm);
  position:relative; overflow:hidden;
}
.const-copy .section-title{ margin-bottom:12px; max-width:18ch; }
.const-copy .lead{ margin-bottom:18px; max-width:46ch; }
.const-points{
  list-style:none; margin:0 0 24px; padding:0;
  display:flex; flex-direction:column; gap:8px;
}
.const-points li{
  position:relative; padding-inline-start:22px;
  font-size:14px; color:var(--ash); letter-spacing:.01em;
}
.const-points li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:8px; height:8px; border:1px solid var(--gilt);
  border-radius:50%;
}
.const-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; }
.const-link{
  font-size:13px; font-weight:500; color:var(--sage);
  border-bottom:1px solid var(--gilt); padding-bottom:2px;
}
.const-link:hover{ color:var(--gilt-deep); }
.const-fine{
  margin:18px 0 0; font-size:12px; color:var(--mist); line-height:1.55; max-width:52ch;
}
.const-visual{
  position:relative; min-height:220px;
  display:flex; align-items:center; justify-content:center;
}
.const-map-bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; border-radius:var(--r);
  opacity:.22; pointer-events:none; z-index:0;
  filter:saturate(.7);
}
.const-focal{ position:relative; z-index:1; }
/* 单焦点结论卡：主倾向 + 强度，不给用户贴一堆病签 */
.const-focal{
  width:100%;
  background:var(--bone);
  border:1px solid var(--warm-line2);
  border-radius:var(--r);
  padding:22px 22px 18px;
}
.const-focal .cf-label{
  font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gilt-deep); margin-bottom:10px;
}
.const-focal .cf-name{
  font-family:var(--serif); font-size:clamp(1.35rem,1.1rem+1vw,1.75rem);
  font-weight:500; color:var(--espresso); letter-spacing:-.01em; line-height:1.25;
  margin-bottom:14px;
}
html[lang="zh"] .const-focal .cf-name{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em;
  font-size:clamp(1.3rem,1.05rem+1vw,1.65rem);
}
.const-focal .cf-name.muted{ color:var(--mist); font-size:1.15rem; }
.const-focal .cf-strength{
  display:flex; align-items:baseline; justify-content:space-between;
  font-size:12px; color:var(--ash); margin-bottom:8px; letter-spacing:.04em;
}
.const-focal .cf-strength b{ font-weight:600; color:var(--espresso); }
.const-focal .cf-bar{
  height:6px; background:#E8E2D4; border-radius:999px; overflow:hidden; margin-bottom:14px;
}
.const-focal .cf-bar i{
  display:block; height:100%;
  background:linear-gradient(90deg, #5C6B5A, #9C7E4E);
  border-radius:999px;
  transition:width .6s var(--ease, ease);
}
.const-focal.balanced .cf-bar i,
.const-focal .cf-bar.ok i{
  background:linear-gradient(90deg, #3F7A57, #9C7E4E);
}
.const-focal .cf-secondary{
  font-size:13px; color:var(--ash); margin:0 0 10px;
  padding:8px 10px; background:rgba(156,126,78,.06);
  border-radius:6px;
}
.const-focal .cf-note{
  font-size:12px; line-height:1.55; color:var(--mist);
}
.const-focal.empty .cf-bar i{ width:0 !important; }
html[lang="zh"] .const-focal .cf-label{ letter-spacing:.16em; }
html[lang="zh"] .const-focal .cf-note{ font-size:12px; line-height:1.7; }
html[lang="zh"] .const-copy .section-title{
  font-size:clamp(1.45rem,1.05rem+1.2vw,1.95rem);
  max-width:14em;
}
html[lang="zh"] .const-points li{ font-size:14px; line-height:1.7; }
.const-alt{
  display:block;
  font-size:.55em;
  font-weight:400;
  color:var(--mist);
  letter-spacing:.02em;
  margin-top:.35em;
}
.const-meta{
  margin:0 0 16px;
  font-size:12px;
  letter-spacing:.06em;
  color:var(--gilt-deep);
}
.const-copy--has-result .section-title{
  max-width:18ch;
}
.const-visual--has-result .cr-core--named{
  display:grid; place-items:center;
  font-family:var(--serif-cn, var(--serif));
  font-size:22px;
  color:var(--espresso);
  letter-spacing:.04em;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.8), transparent 50%),
    linear-gradient(150deg, #F4EFE6, #E0D2B0);
  box-shadow:
    0 0 0 1px rgba(156,126,78,.4),
    0 10px 28px rgba(156,126,78,.16);
}
@media(max-width:900px){
  .const-card{ grid-template-columns:1fr; }
  .const-visual{ min-height:0; order:-1; }
  .const-focal{ max-width:420px; margin:0 auto; }
}
.quiz-save-toast{
  font-size:13px; color:var(--sage); font-weight:500; letter-spacing:.02em;
}
/* 报告干货块 */
.rp-block{
  margin:14px 0;
  padding:16px 18px;
  background:var(--bone);
  border:1px solid var(--warm-line2);
  border-radius:var(--r);
}
.rp-block h3{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--espresso);
}
html[lang="zh"] .rp-block h3{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em;
  font-size:16px;
}
.rp-list{
  margin:0; padding-block: 0 0; padding-inline: 1.1em 0;
  color:var(--ash);
  font-size:14px;
  line-height:1.7;
}
.rp-list li{ margin:0 0 6px; }
.rp-list li:last-child{ margin-bottom:0; }
.rp-friction{
  background:linear-gradient(180deg, rgba(156,126,78,.08), rgba(156,126,78,.03));
  border-color:rgba(156,126,78,.28);
}
.rp-tags{
  list-style:none; margin:0 0 10px; padding:0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.rp-tags li{
  font-size:13px;
  color:var(--espresso);
  background:var(--paper);
  border:1px solid var(--warm-line);
  border-radius:999px;
  padding:6px 12px;
  letter-spacing:.01em;
}
html[lang="zh"] .rp-tags li{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.04em;
}
.rp-note{
  margin:0;
  font-size:13px;
  line-height:1.65;
  color:var(--mist);
}
.rp-risk{
  border-inline-start:3px solid var(--clay);
}
/* 折叠：机制 / 信号 / 典籍 —— 不再抢主视线 */
.report-fold{
  margin:12px 0;
  padding:0;
  background:transparent;
  border:none;
  border-top:1px solid var(--warm-line2);
}
.report-fold summary{
  cursor:pointer;
  padding:14px 0 8px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--gilt-deep);
  list-style:none;
}
.report-fold summary::-webkit-details-marker{ display:none; }
.report-fold summary::after{
  content:" +";
  float:right;
  color:var(--mist);
  font-weight:400;
}
.report-fold[open] summary::after{ content:" −"; }
.report-fold .mech,
.report-fold .signals,
.report-fold .cite{
  margin-bottom:12px;
}

/* ============================ 13. 体质密档开场（quiz goal 仪式感） ============================ */
.quiz-intro--archive{
  position:relative;
  padding:4px 0 8px;
  overflow:visible;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.archive-stage{
  position:relative;
  width:min(200px, 48vw);
  aspect-ratio:1;
  margin:0 auto 16px;
  display:grid; place-items:center;
  pointer-events:none;
  flex:none;
}
.archive-stage .as-ring{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(156,126,78,.22);
  animation:as-breathe 5.5s ease-in-out infinite;
}
.archive-stage .as-ring-b{
  inset:14%;
  border-color:rgba(92,107,90,.24);
  animation-delay:.4s;
  animation-duration:6.5s;
}
.archive-stage .as-ring-c{
  inset:28%;
  border-color:rgba(163,90,54,.18);
  animation-delay:.8s;
  animation-duration:7s;
}
.archive-stage .as-core{
  position:absolute; inset:38%;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.75), transparent 48%),
    linear-gradient(150deg, #EDE7DA 0%, #D4C4A0 55%, #C2A14E 100%);
  box-shadow:
    0 0 0 1px rgba(156,126,78,.35),
    0 10px 28px rgba(156,126,78,.18),
    0 0 40px rgba(156,126,78,.12);
  animation:as-core 4.2s ease-in-out infinite;
}
.archive-stage .as-seal{
  position:relative; z-index:2;
  font-family:var(--serif-cn, var(--serif));
  font-size:clamp(28px, 5vw, 36px);
  color:rgba(47,74,60,.72);
  letter-spacing:.08em;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
  animation:as-seal 4.2s ease-in-out infinite;
}
.archive-stage .as-dust{
  position:absolute; width:4px; height:4px; border-radius:50%;
  background:var(--gilt); opacity:.45;
  box-shadow:0 0 8px rgba(156,126,78,.55);
  animation:as-orbit 9s linear infinite;
}
.archive-stage .as-dust-1{ top:12%; left:50%; animation-duration:8s; }
.archive-stage .as-dust-2{ top:50%; right:10%; width:3px; height:3px; animation-duration:11s; animation-direction:reverse; opacity:.35; }
.archive-stage .as-dust-3{ bottom:16%; left:18%; width:5px; height:5px; animation-duration:13s; opacity:.28; }
@keyframes as-breathe{
  0%,100%{ transform:scale(1); opacity:.85; }
  50%{ transform:scale(1.045); opacity:1; }
}
@keyframes as-core{
  0%,100%{ transform:scale(1); box-shadow:0 0 0 1px rgba(156,126,78,.35), 0 10px 28px rgba(156,126,78,.18), 0 0 40px rgba(156,126,78,.10); }
  50%{ transform:scale(1.03); box-shadow:0 0 0 1px rgba(156,126,78,.5), 0 12px 32px rgba(156,126,78,.24), 0 0 56px rgba(156,126,78,.18); }
}
@keyframes as-seal{
  0%,100%{ opacity:.78; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.04); }
}
@keyframes as-orbit{
  from{ transform:rotate(0deg) translateX(0) rotate(0deg); }
  to{ transform:rotate(360deg) translateX(0) rotate(-360deg); }
}
/* 简化轨道：浮尘绕心慢转 */
.archive-stage .as-dust{
  transform-origin: center;
  animation-name:as-float;
}
@keyframes as-float{
  0%,100%{ transform:translate(0,0); opacity:.25; }
  33%{ transform:translate(8px,-10px); opacity:.55; }
  66%{ transform:translate(-6px,6px); opacity:.35; }
}
.archive-eyebrow{
  justify-content:center;
  color:var(--gilt-deep);
  letter-spacing:.34em;
  margin-bottom:14px !important;
}
.archive-title{
  max-width:18ch;
  margin:0 auto 14px !important;
  font-size:clamp(1.45rem, 1.1rem + 1.3vw, 2rem);
  line-height:1.28;
  letter-spacing:-.015em;
  color:var(--espresso);
  text-wrap:balance;
  text-align:center;
}
html[lang="zh"] .archive-title{
  font-family:var(--serif-cn, var(--serif));
  font-size:clamp(1.4rem, 1.1rem + 1.1vw, 1.9rem);
  letter-spacing:.06em;
  line-height:1.45;
  /* 中文标题用 em 限宽，避免「一直/在藏」这种别扭断行 */
  max-width:11em;
  text-wrap:balance;
}
.archive-sub{
  max-width:36ch !important;
  margin:0 auto 18px !important;
  color:var(--ash) !important;
  font-size:15px !important;
  line-height:1.75 !important;
  text-align:center;
}
html[lang="zh"] .archive-sub{
  font-size:14px !important;
  line-height:1.9 !important;
  max-width:28em !important;
}
/* 三条卖点：整体居中，不再左对齐块导致视觉歪 */
.archive-get{
  max-width:none !important;
  width:100%;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  margin:0 auto 8px !important;
  text-align:center;
}
.archive-get li{
  justify-content:center !important;
  text-align:center !important;
  font-size:14px !important;
  color:var(--ash) !important;
  letter-spacing:.02em;
  width:auto;
}
.archive-get .ck{
  background:rgba(156,126,78,.12) !important;
  color:var(--gilt-deep) !important;
  font-size:10px !important;
  width:18px !important;
  height:18px !important;
  margin-top:2px !important;
}
/* 目标卡：进门感，不是表单格子 */
.archive-pick{
  margin-top:8px;
  gap:12px;
}
.gpick.reveal{
  opacity:0;
  animation:gpick-in .55s var(--ease, cubic-bezier(.22,.61,.36,1)) both;
  animation-delay:var(--d, 0ms);
  border-radius:12px !important;
  padding:20px 14px 16px !important;
  background:var(--paper) !important;
  border:1px solid var(--warm-line) !important;
  position:relative;
  overflow:hidden;
}
.gpick.reveal::after{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(120% 80% at 50% 0%, rgba(156,126,78,.10), transparent 60%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}
.gpick.reveal:hover::after,
.gpick.reveal.sel::after{ opacity:1; }
.gpick.reveal:hover,
.gpick.reveal.sel{
  border-color:var(--gilt) !important;
  transform:translateY(-3px);
  box-shadow:0 2px 8px rgba(26,24,20,.05), 0 14px 30px rgba(156,126,78,.12) !important;
}
.gpick.reveal .pic{
  width:44px !important; height:44px !important;
  border-radius:12px !important;
  background:rgba(47,74,60,.08) !important;
  color:var(--sage) !important;
  box-shadow:inset 0 0 0 1px rgba(47,74,60,.08);
  transition:all .25s ease !important;
}
.gpick.reveal:hover .pic,
.gpick.reveal.sel .pic{
  background:linear-gradient(145deg, #2F4A3C, #5C6B5A) !important;
  color:#F4EFE6 !important;
  box-shadow:0 6px 16px rgba(47,74,60,.28);
}
.gpick-label{
  margin-top:10px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--espresso);
}
html[lang="zh"] .gpick-label{
  font-family:var(--serif-cn, var(--serif));
  letter-spacing:.06em;
  font-size:14px;
}
@keyframes gpick-in{
  from{ opacity:0; transform:translateY(14px) scale(.97); }
  to{ opacity:1; transform:none; }
}
/* 密档 CTA：墨底金环 + 呼吸 */
.archive-cta-wrap{
  text-align:center;
  margin-top:22px;
}
.archive-cta{
  position:relative;
  background:linear-gradient(160deg, #1A1814, #2B2720) !important;
  color:#F4EFE6 !important;
  border:none !important;
  border-radius:12px !important;
  padding:16px 36px !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  cursor:pointer;
  box-shadow:
    0 0 0 1px rgba(156,126,78,.45),
    0 10px 28px rgba(26,24,20,.22),
    0 0 0 0 rgba(156,126,78,.35);
  animation:cta-pulse 2.8s ease-in-out infinite;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.archive-cta:hover{
  background:linear-gradient(160deg, #2B2720, #6E5634) !important;
  transform:translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(156,126,78,.65),
    0 14px 34px rgba(26,24,20,.28),
    0 0 24px rgba(156,126,78,.22);
  animation:none;
}
.archive-cta:active{ transform:translateY(0); }
@keyframes cta-pulse{
  0%,100%{ box-shadow:0 0 0 1px rgba(156,126,78,.4), 0 10px 28px rgba(26,24,20,.22), 0 0 0 0 rgba(156,126,78,.3); }
  50%{ box-shadow:0 0 0 1px rgba(156,126,78,.55), 0 12px 30px rgba(26,24,20,.24), 0 0 18px rgba(156,126,78,.18); }
}
html[lang="zh"] .archive-cta{
  font-size:15px !important;
  letter-spacing:.18em !important;
}
.archive-cta-wrap .quiz-intro-trust{
  margin-top:14px;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--mist);
}
/* 尊重减少动效 */
@media (prefers-reduced-motion: reduce){
  .archive-stage .as-ring,
  .archive-stage .as-core,
  .archive-stage .as-seal,
  .archive-stage .as-dust,
  .archive-cta,
  .gpick.reveal{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}

/* ===== A11Y 点击区兜底 · 2026-09-15 UI 审计修复 ===== */
.nav a, .nav-in a, .nav-links a, .footer a, footer a, .site-foot a{
  display:inline-flex; align-items:center; min-height:44px;
}
a.const-link, .lb-link, .story-more, .story-more-link, .back-link, .cs-link{
  display:inline-flex; align-items:center; min-height:44px;
}
.cs-btn{ min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.nav-login{ min-height:44px; }
.nav-burger{ min-width:44px; min-height:44px; flex:none; }
.sc-nav{ min-width:44px; min-height:44px; }
.sc-prev, .sc-next{ min-width:44px; min-height:44px; }
/* ================================================== */

/* ===== 窄屏导航换行兜底 · 2026-09-15（避免 44px 点击区撑破 390px） ===== */
@media(max-width:640px){
  .nav-in{flex-wrap:wrap;row-gap:6px;column-gap:10px}
  .nav-links{flex-wrap:wrap;row-gap:6px;column-gap:14px}
  .nav-cta{flex-wrap:wrap;row-gap:8px}
  .nav-burger{margin-inline-start:auto}
}


  /* ============================ 3.5 治标治本 (#biaoBen) ============================ */

  .bb{
    position:relative; overflow:hidden;
    background:var(--paper);
    border-top:1px solid var(--warm-line2);
    border-bottom:1px solid var(--warm-line2);
    padding:clamp(56px,6.2vw,92px) 0;
  }
  .bb .bb-glow{
    position:absolute; inset:-30% -12% auto -12%; height:130%;
    background:
      radial-gradient(44% 40% at 24% 18%, rgba(65,97,79,.11), transparent 64%),
      radial-gradient(38% 34% at 80% 78%, rgba(156,126,78,.13), transparent 62%);
    animation:bbdrift 30s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes bbdrift{
    0%,100%{ transform:translate3d(0,0,0) scale(1); }
    50%    { transform:translate3d(2%,-1.2%,0) scale(1.05); }
  }
  .bb .wrap{ position:relative; z-index:1; }

  .bb-head{ max-width:800px; margin:0 auto; text-align:center; }
  .bb-head .lead{ margin-inline-start:auto; margin-inline-end:auto; }

  /* —— 两大列 —— */
  .bb-cols{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(20px,2.6vw,34px);
    margin-top:clamp(36px,4.4vw,56px);
    align-items:stretch;
  }
  .bb-col{
    border-radius:var(--r-lg);
    padding:clamp(24px,2.8vw,36px) clamp(20px,2.6vw,32px);
    display:flex; flex-direction:column;
  }
  .bb-col--biao{
    background:var(--bone);
    border:1px solid var(--warm-line2);
  }
  .bb-col--ben{
    background:linear-gradient(168deg,#22382D,#161F19);
    border:1.5px solid rgba(156,126,78,.5);
    color:#F2EFE2;
    box-shadow:0 18px 40px rgba(26,24,20,.16);
    position:relative;
    overflow:hidden;
  }
  .bb-col--ben .bb-benglow{
    position:absolute; left:0; right:0; bottom:-40%;
    height:70%;
    background:radial-gradient(60% 60% at 50% 100%, rgba(156,126,78,.24), transparent 70%);
    pointer-events:none;
  }
  .bb-col--ben > *{ position:relative; z-index:1; }

  .bb-col-tag{
    display:inline-flex; align-self:flex-start;
    font:700 11px/1 var(--sans); letter-spacing:.2em; text-transform:uppercase;
    padding:7px 13px; border-radius:999px; margin-bottom:16px;
  }
  .bb-col--biao .bb-col-tag{ color:var(--clay); background:rgba(163,90,54,.09); border:1px solid rgba(163,90,54,.3); }
  .bb-col--ben  .bb-col-tag{ color:#C9B37E; background:rgba(201,179,126,.12); border:1px solid rgba(201,179,126,.4); }

  .bb-col h3{
    font-family:var(--serif); font-weight:400;
    font-size:clamp(1.24rem,1.06rem+.8vw,1.66rem);
    line-height:1.32; letter-spacing:-.018em;
    margin:0 0 6px;
  }
  .bb-col--biao h3{ color:var(--espresso); }
  .bb-col--ben h3{ color:#F2EFE2; }
  .bb-col .bb-col-sub{ margin:0 0 20px; font-size:13.5px; line-height:1.6; }
  .bb-col--biao .bb-col-sub{ color:var(--mist); }
  .bb-col--ben  .bb-col-sub{ color:rgba(242,239,226,.66); }

  .bb-ex{
    list-style:none; margin:0; padding:0; flex:1;
  }
  .bb-ex li{
    display:grid; grid-template-columns:auto minmax(0,1fr);
    gap:12px; align-items:baseline;
    padding:12px 0; font-size:14.5px; line-height:1.62;
  }
  .bb-col--biao .bb-ex li{ border-top:1px solid var(--warm-line2); color:var(--espresso-2); }
  .bb-col--ben  .bb-ex li{ border-top:1px solid rgba(242,239,226,.12); color:rgba(242,239,226,.9); }
  .bb-ex .bb-q{ font-weight:600; white-space:nowrap; }
  .bb-col--biao .bb-q{ color:var(--espresso); }
  .bb-col--ben  .bb-q{ color:#C9B37E; }
  .bb-ex .bb-arrow{ color:var(--mist); font-family:var(--sans); font-size:12px; }
  .bb-col--ben .bb-arrow{ color:rgba(242,239,226,.4); }

  .bb-foot{
    margin-top:18px; padding-top:16px;
    border-top:1px dashed var(--warm-line);
    font-size:13px; line-height:1.6;
  }
  .bb-col--biao .bb-foot{ color:var(--mist); }
  .bb-col--ben  .bb-foot{ color:rgba(242,239,226,.72); border-top-color:rgba(242,239,226,.14); }
  .bb-col--ben  .bb-foot b{ color:#C9B37E; font-weight:600; }

  /* —— 一人一方 —— */
  .bb-one{
    margin-top:clamp(34px,4.2vw,52px);
    display:grid; grid-template-columns:auto minmax(0,1fr);
    gap:clamp(20px,3vw,42px); align-items:center;
    background:var(--bone);
    border:1px solid var(--warm-line2);
    border-inline-start:4px solid var(--gilt);
    border-radius:var(--r);
    padding:clamp(24px,3vw,36px) clamp(22px,3vw,40px);
  }
  .bb-one .bb-seal{
    width:clamp(64px,7vw,92px); height:clamp(64px,7vw,92px);
    border-radius:50%;
    border:1.5px solid var(--gilt);
    display:grid; place-items:center;
    font-family:var(--serif); font-size:clamp(22px,2.4vw,30px);
    color:var(--gilt-deep);
    background:
      radial-gradient(70% 70% at 50% 30%, rgba(201,179,126,.16), transparent 70%),
      var(--paper);
    flex:none;
  }
  .bb-one h3{
    margin:0 0 8px;
    font-family:var(--serif); font-weight:400;
    font-size:clamp(1.2rem,1rem+.7vw,1.6rem);
    letter-spacing:-.015em; color:var(--espresso);
  }
  .bb-one p{ margin:0; font-size:14.5px; line-height:1.72; color:var(--ash); }
  .bb-one b{ color:var(--gilt-deep); font-weight:600; }

  /* —— 调理自身 —— */
  .bb-tune{
    margin-top:clamp(34px,4.2vw,52px);
  }
  .bb-tune .bb-tune-head{
    max-width:720px; margin:0 auto; text-align:center;
  }
  .bb-tune h3{
    font-family:var(--serif); font-weight:400;
    font-size:clamp(1.3rem,1.08rem+.9vw,1.8rem);
    letter-spacing:-.02em; color:var(--espresso);
    margin:0 0 12px;
  }
  .bb-tune .bb-tune-sub{ margin:0; font-size:15px; line-height:1.74; color:var(--ash); }
  .bb-tune .bb-tune-sub b{ color:var(--espresso); font-weight:600; }

  .bb-tune-chips{
    list-style:none; margin:clamp(24px,3vw,34px) 0 0; padding:0;
    display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
  }
  .bb-tune-chips li{
    border:1px solid var(--warm-line2); background:var(--bone);
    border-radius:var(--r); padding:16px 14px;
    text-align:center; transition:var(--t-fast);
  }
  .bb-tune-chips li:hover{ border-color:var(--gilt); background:var(--paper); transform:translateY(-2px); }
  .bb-tune-chips b{ display:block; font-size:14px; color:var(--espresso); margin-bottom:5px; }
  .bb-tune-chips span{ display:block; font-size:12px; line-height:1.5; color:var(--mist); }
  @media(max-width:860px){ .bb-tune-chips{ grid-template-columns:repeat(2,1fr); } }

  /* —— 治本的定义 —— */
  .bb-root-def{
    margin-top:clamp(30px,3.6vw,44px);
    padding:clamp(26px,3.2vw,40px) clamp(20px,3vw,42px);
    border:1px solid var(--warm-line2);
    border-inline-start:4px solid var(--jade);
    border-radius:var(--r);
    background:var(--bone);
    text-align:center;
  }
  .bb-root-line{
    margin:0 0 13px;
    font-family:var(--serif); font-weight:400;
    font-size:clamp(1.22rem,1.02rem+.88vw,1.7rem);
    line-height:1.52; letter-spacing:-.02em;
    color:var(--espresso); text-wrap:balance;
  }
  .bb-root-line em{ font-style:normal; color:var(--jade); }
  .bb-root-sub{
    margin:0 auto; max-width:62ch;
    font-size:14px; line-height:1.72; color:var(--ash);
  }
  html[lang="zh"] .bb-root-line{ font-family:var(--serif-cn); }

  /* —— 引出 + CTA —— */
  .bb-out{
    margin-top:clamp(38px,4.6vw,58px);
    text-align:center;
  }
  .bb-out .bb-line{
    margin:0 auto 14px; max-width:24em;
    font-family:var(--serif); font-weight:400;
    font-size:clamp(1.26rem,1.04rem+.94vw,1.8rem);
    line-height:1.44; letter-spacing:-.02em; color:var(--espresso); text-wrap:balance;
  }
  .bb-out .bb-line em{ font-style:normal; color:var(--jade); }
  .bb-out .bb-sub{
    margin:0 auto; max-width:62ch;
    font-size:14.5px; line-height:1.72; color:var(--ash);
  }
  .bb-btn-row{
    margin-top:26px;
    display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;
  }
  .bb-btn-note{ font-size:12.5px; color:var(--mist); }
  .bb-fine{
    margin:22px auto 0; max-width:68ch;
    font-size:11.5px; line-height:1.62; color:var(--mist);
  }

  html[lang="zh"] .bb-col h3,
  html[lang="zh"] .bb-one h3,
  html[lang="zh"] .bb-tune h3,
  html[lang="zh"] .bb-out .bb-line{ font-family:var(--serif-cn); }

  @media(max-width:900px){
    .bb-cols{ grid-template-columns:1fr; }
    .bb-one{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  }

  @media (prefers-reduced-motion: reduce){
    [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
    .bb .bb-glow{ animation:none !important; }
  }

/* ==================== E · 数据栏 ==================== */
  .stats-block{
    background:var(--bone-2);
    border-top:1px solid var(--warm-line2);
    border-bottom:1px solid var(--warm-line2);
    padding:clamp(50px,5.4vw,78px) 0;
  }
  .stats-block .cs-lead{
    margin:0 0 clamp(22px,2.6vw,32px); max-width:66ch;
    font-family:var(--serif); font-weight:400;
    font-size:clamp(1.06rem,.98rem+.36vw,1.3rem);
    line-height:1.55; letter-spacing:-.01em; color:var(--espresso);
  }
  .cs-row{
    list-style:none; margin:0; padding:0;
    display:grid; grid-template-columns:repeat(6,1fr);
    gap:clamp(16px,2vw,26px);
  }
  .cs-row li{ position:relative; padding-top:14px; }
  .cs-row li::before{
    content:""; position:absolute; left:0; top:0; width:100%; height:1px;
    background:var(--gilt); transform:scaleX(0); transform-origin:left;
    transition:transform .9s var(--ease);
  }
  .cs-row li.in::before{ transform:scaleX(1); }
  .cs-row b{
    display:block; font-family:var(--serif); font-weight:500;
    font-size:clamp(21px,1.9vw,28px); line-height:1;
    color:var(--gilt-deep); letter-spacing:-.025em;
    font-variant-numeric:tabular-nums;
  }
  .cs-row span{ display:block; margin-top:8px; font-size:11.5px; line-height:1.45; color:var(--mist); }
  .stats-block .cs-src{
    margin:clamp(20px,2.4vw,28px) 0 0;
    font-size:11px; line-height:1.5; color:var(--mist);
  }
  @media(max-width:1080px){ .cs-row{ grid-template-columns:repeat(3,1fr); } }
  @media(max-width:620px){ .cs-row{ grid-template-columns:repeat(2,1fr); gap:18px 18px; } }
/* 治标治本 · 进场动效增强（配 motion.js 的 .in/.mo-in） */
html.mo-on .bb-one .bb-seal{
  opacity:0; transform:scale(1.6) rotate(-12deg);
  transition:transform .55s cubic-bezier(.34,1.56,.64,1), opacity .35s var(--ease);
  transition-delay:.25s;
}
html.mo-on .bb-one.mo-in .bb-seal,
html.mo-on .bb-one.in .bb-seal{
  opacity:1; transform:scale(1) rotate(0deg);
}
html.mo-on .bb-root-def{ border-inline-start-color:transparent; position:relative; overflow:hidden; }
html.mo-on .bb-root-def::after{
  content:""; position:absolute; left:-1px; top:-1px; bottom:-1px; width:4px;
  background:var(--jade);
  transform:scaleY(0); transform-origin:top;
  transition:transform .8s var(--ease) .15s;
}
html.mo-on .bb-root-def.mo-in::after,
html.mo-on .bb-root-def.in::after{ transform:scaleY(1); }
@media (prefers-reduced-motion: reduce){
  html.mo-on .bb-one .bb-seal{ opacity:1; transform:none; transition:none; }
  html.mo-on .bb-root-def{ border-inline-start-color:var(--jade); }
  html.mo-on .bb-root-def::after{ transform:none; transition:none; }
}


/* ============================ 13. UI/UX ��Ч����ͼ ============================ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.story-strip{position:relative;overflow:hidden}
.story-strip::before{content:"";position:absolute;left:0;right:0;top:0;height:220px;background:url('assets/home/stories-hero.jpg') center 40%/cover no-repeat;opacity:.22;pointer-events:none;mask-image:linear-gradient(180deg,#000 0%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 100%)}
.story-strip>.wrap{position:relative;z-index:1}
.final-card::before{content:"";position:absolute;inset:0;opacity:.18;background:url('assets/home/cta-soft.jpg') center/cover no-repeat;mix-blend-mode:soft-light;pointer-events:none}
.final-card>*{position:relative;z-index:1}
.const-visual .const-map-bg{opacity:.28;filter:saturate(.75)}
.const-focal{backdrop-filter:blur(2px);background:linear-gradient(180deg,rgba(251,250,245,.92),rgba(244,239,230,.88))}
.sig-folder .sf-mosaic img{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.sig-folder:hover .sf-mosaic img{transform:scale(1.06)}
.sig-folder:active{transform:scale(.98)}
.scard.sig-card .sig-card-wash img,.story-card-v3 .stcv-img{transition:transform .55s cubic-bezier(.22,1,.36,1),filter .3s ease}
.scard.sig-card:hover .sig-card-wash img,.story-card-v3:hover .stcv-img{transform:scale(1.05);filter:saturate(.9) brightness(1.02)}
.cost-card{transition:transform .28s ease,box-shadow .28s ease,border-color .2s ease}
.cost-card:hover{transform:translateY(-4px)}
.cost-visual img{transition:transform .6s ease}
.cost-visual:hover img{transform:scale(1.03)}
.ht-card{overflow:hidden}
.ht-card .ht-img{transition:transform .55s cubic-bezier(.22,1,.36,1)}
.ht-card:hover .ht-img{transform:scale(1.04)}
.sf-zoom-panel.in .sfzp-grid .sig-card{animation:cardIn .4s cubic-bezier(.22,1,.36,1) both}
.sf-zoom-panel.in .sfzp-grid .sig-card:nth-child(2){animation-delay:.04s}
.sf-zoom-panel.in .sfzp-grid .sig-card:nth-child(3){animation-delay:.08s}
.sf-zoom-panel.in .sfzp-grid .sig-card:nth-child(4){animation-delay:.12s}
.sf-zoom-panel.in .sfzp-grid .sig-card:nth-child(5){animation-delay:.16s}
.sf-zoom-panel.in .sfzp-grid .sig-card:nth-child(6){animation-delay:.2s}
@keyframes cardIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.canon-strip{transition:box-shadow .25s ease,border-color .2s ease}
.canon-strip:hover{border-color:rgba(156,126,78,.4);box-shadow:0 8px 24px rgba(26,24,20,.06)}
.cs-btn:hover{transform:translateY(-1px)}
.btn-ink,.btn-paper,.nav-ask,.cost-cta{transition:background var(--t-fast,.18s),transform var(--t-fast,.18s),box-shadow var(--t-fast,.18s)}
.btn-ink:active,.btn-paper:active,.nav-ask:active{transform:scale(.97)}
.hero-cost-line{animation:fadeUp .8s .15s both}
.hero-cta{animation:fadeUp .8s .25s both}
.hero-trustlabels{animation:fadeUp .8s .35s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-cost-line,.hero-cta,.hero-trustlabels{animation:none}}

/* ============================ 14. �伮 / ���� / ҳ�� UI ============================ */
.canon-strip{position:relative;overflow:hidden}
.canon-strip::after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:72px;height:72px;background:url('assets/home/canon-art.jpg') center/cover no-repeat;border-radius:12px;opacity:.35;pointer-events:none}
@media(min-width:900px){.canon-strip::after{width:88px;height:88px;opacity:.42}}
.ancient-rituals .center{position:relative}
.ancient-rituals .center::before{content:"";position:absolute;left:50%;top:-28px;transform:translateX(-50%);width:120px;height:120px;background:url('assets/home/solar-art.jpg') center/cover no-repeat;border-radius:50%;opacity:.2;pointer-events:none;filter:saturate(.8)}
.solar-panel{transition:box-shadow .28s ease,transform .28s ease}
.solar-panel:hover{box-shadow:0 14px 36px rgba(26,24,20,.08);transform:translateY(-2px)}
.solar-compass{transition:transform .4s cubic-bezier(.22,1,.36,1)}
footer{position:relative;overflow:hidden}
footer::before{content:"";position:absolute;right:-40px;bottom:-40px;width:220px;height:220px;background:url('assets/home/cta-soft.jpg') center/cover no-repeat;opacity:.12;border-radius:50%;pointer-events:none}
.f-col a{transition:color var(--t-fast,.18s),padding-left var(--t-fast,.18s)}
.f-col a:hover{padding-inline-start:4px}
.const-link{transition:color var(--t-fast,.18s),border-color var(--t-fast,.18s)}
.const-link:hover{border-color:var(--gilt)}
const-points li{transition:transform var(--t-fast,.18s)}
.const-points li:hover{transform:translateX(2px)}

/* ============================ 15. �α�/�α������� UI ============================ */
.bb{position:relative;overflow:hidden}
.bb::after{content:"";position:absolute;right:-30px;top:80px;width:200px;height:200px;background:url('assets/home/const-map.jpg') center/cover no-repeat;opacity:.12;border-radius:50%;pointer-events:none}
.bb-tune{position:relative}
.bb-tune::before{content:"";position:absolute;right:12px;top:12px;width:96px;height:96px;background:url('assets/home/canon-art.jpg') center/cover no-repeat;border-radius:16px;opacity:.22;pointer-events:none}
.bb-one .bb-seal{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}
.bb-one.in .bb-seal,.bb-one.reveal.in .bb-seal{transform:scale(1);box-shadow:0 8px 24px rgba(156,126,78,.22)}
.bb-ex li{transition:transform var(--t-fast,.18s),background var(--t-fast,.18s)}
.bb-col--biao .bb-ex li:hover,.bb-col--ben .bb-ex li:hover{transform:translateX(3px)}
.bb-root-def{border-inline-start:3px solid var(--gilt);padding-inline-start:18px;background:linear-gradient(90deg,rgba(156,126,78,.06),transparent);border-radius:0 12px 12px 0}
.bb-out .btn-ink{box-shadow:0 10px 28px rgba(26,24,20,.16)}
.bb-out .btn-ink:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(26,24,20,.2)}

/* —— 2026-09-22 结尾区图形化改版（治本引言卡 + 叶/土比喻 + CTA 分层 + 边界两行） —— */
/* 治本卡：引言化 */
.bb-root-def{position:relative;text-align:center}
.bb-qmark{position:absolute;left:14px;top:2px;font-family:var(--serif);font-size:64px;line-height:1;color:var(--gilt);opacity:.28;user-select:none;pointer-events:none}
.bb-eyebrow{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.2em;color:var(--gilt);
  margin:0 0 16px;padding:5px 16px;border:1px solid rgba(156,126,78,.3);border-radius:999px;background:rgba(156,126,78,.07)}
.bb-root-line{margin:0 0 22px}
/* 叶/土比喻：双卡 + 扎根箭头 */
.bb-meta{display:flex;align-items:stretch;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.bb-meta-card{flex:0 1 210px;padding:13px 16px;border-radius:12px;background:var(--paper,#FBF8F1);
  border:1px solid var(--warm-line2);text-align:center}
.bb-meta-card .m-ic{font-size:20px;line-height:1;display:block;margin-bottom:7px}
.bb-meta-card .m-k{display:block;font:600 13.5px/1.3 var(--sans);color:var(--espresso)}
.bb-meta-card .m-d{display:block;margin-top:4px;font:400 12px/1.5 var(--sans);color:var(--mist)}
.bb-meta-card.soil{border-color:rgba(47,74,60,.35);background:rgba(47,74,60,.05)}
.bb-meta-card.soil .m-k{color:var(--jade)}
.bb-meta-link{align-self:center;font:400 12px/1.4 var(--sans);color:var(--ash);
  display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px}
.bb-meta-link .arr{font-size:16px;color:var(--gilt)}
.bb-meta-out{margin:0;font:500 13.5px/1.6 var(--sans);color:var(--ash)}
.bb-meta-out b{color:var(--jade);font-weight:600}
@media(max-width:640px){
  .bb-meta{flex-direction:column;align-items:center}
  .bb-meta-link{flex-direction:row}
  .bb-meta-link .arr{transform:rotate(90deg)}
}
/* CTA：标题两层 */
.bb-out .bb-h{margin:0 0 10px;font-family:var(--serif);font-weight:600;
  font-size:clamp(1.5rem,1.15rem+1.5vw,2.2rem);line-height:1.3;letter-spacing:-.02em;color:var(--espresso);text-wrap:balance}
.bb-out .bb-s{margin:0 auto 6px;max-width:34em;font-size:15px;line-height:1.75;color:var(--ash)}
.bb-out .bb-s em{font-style:normal;color:var(--jade);font-weight:600}
html[lang="zh"] .bb-out .bb-h{font-family:var(--serif-cn)}
/* 边界说明：两行带图标条目 */
.bb-fine-card{margin:26px auto 0;max-width:620px;padding:16px 20px;border:1px dashed var(--warm-line2);
  border-radius:12px;background:rgba(251,248,241,.6);text-align: start;display:flex;flex-direction:column;gap:10px}
.bb-fine-row{display:flex;gap:11px;align-items:flex-start;font:400 12.5px/1.65 var(--sans);color:var(--ash)}
.bb-fine-row .f-ic{flex:none;width:17px;height:17px;margin-top:2px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(156,126,78,.12);color:var(--gilt);font-size:10.5px;font-weight:700}
.bb-fine-row b{color:var(--espresso);font-weight:600}
