/* 疗愈产业网官网 — 全局样式 V2（UI 第一期：疗愈绿令牌化）
   令牌来源：公司设计系统 tokens/lingxi.tokens.json（slate/blue/teal 原值）＋
   疗愈产业网 Logo 深绿 #1f4d3a 作 700 基准生成 50–900 色阶。
   无框架、无外部资源请求。 */

:root {
  /* brand（深疗愈绿，#1f4d3a 为 700 基准） */
  --brand-50: #eef5f1;
  --brand-100: #d3e6dc;
  --brand-200: #a8c9b8;
  --brand-300: #79ab92;
  --brand-400: #4d8a70;
  --brand-500: #35725a;
  --brand-600: #2a5f49;
  --brand-700: #1f4d3a;
  --brand-800: #184130;
  --brand-900: #123426;
  /* 科技蓝（链接/数据强调，令牌原值） */
  --blue-500: #0ea5e9;
  --blue-700: #0369a1;
  /* teal（辅助强调，令牌原值） */
  --teal-100: #ccfbf1;
  --teal-500: #14b8a6;
  --teal-700: #0f766e;
  /* slate 中性阶（令牌原值） */
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-200: #e2e8f0;
  --slate-300: #cbd5e1;
  --slate-400: #94a3b8;
  --slate-500: #64748b;
  --slate-700: #334155;
  --slate-900: #1e293b;
  --warm-50: #fafcfb;
  --white: #ffffff;
  /* 语义 */
  --text-primary: var(--slate-900);
  --text-secondary: var(--slate-700);
  --text-muted: var(--slate-500);
  --link: var(--brand-700);
  --line: var(--slate-200);
  --bg-page: var(--warm-50);
  --bg-surface: var(--white);
  --bg-soft: var(--brand-50);
  /* 状态（令牌原值） */
  --success: #15803d;
  --warning: #b45309;
  --danger: #b91c1c;
  --info: #0369a1;
  /* 尺寸 */
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 2px rgba(18, 52, 38, 0.06);
  --shadow-2: 0 4px 14px rgba(18, 52, 38, 0.1);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
    "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
  color: var(--text-primary);
  line-height: 1.75;
  background: var(--bg-page);
}
::selection { background: var(--brand-200); color: var(--brand-900); }

main { padding: 24px 20px 40px; }

a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; color: var(--brand-800); }

img { max-width: 100%; height: auto; }

h1 { font-size: 1.6rem; line-height: 1.4; margin: 0.8em 0 0.6em; color: var(--slate-900); }
h2 { font-size: 1.25rem; line-height: 1.4; margin: 1.4em 0 0.5em; color: var(--slate-900); }
h3 { font-size: 1.1rem; margin: 1.2em 0 0.4em; }

/* ===== Header（Logo＋站名，吸顶，当前页高亮） ===== */
header.site {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: saturate(1.2) blur(6px);
  border-bottom: 1px solid var(--line);
}
header.site .header-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 18px;
  padding: 10px 20px;
}
.site-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--brand-800);
  font-size: 1.05rem;
  margin-right: 8px;
}
.site-logo img { width: 28px; height: 28px; display: block; }
.site-logo:hover { text-decoration: none; }
header.site nav { display: flex; flex-wrap: wrap; gap: 2px 14px; }
header.site nav a {
  color: var(--text-secondary);
  font-size: 0.95rem;
  padding: 4px 2px;
  border-bottom: 2px solid transparent;
}
header.site nav a:hover { color: var(--brand-700); text-decoration: none; }
header.site nav a[aria-current="page"] {
  color: var(--brand-700);
  font-weight: 600;
  border-bottom-color: var(--brand-600);
}

/* ===== Hero（首页） ===== */
.hero {
  background: linear-gradient(160deg, var(--brand-50) 0%, var(--warm-50) 100%);
  border: 1px solid var(--brand-100);
  border-radius: 16px;
  padding: 40px 28px;
  margin-bottom: 28px;
}
.hero h1 { font-size: 2rem; margin: 0 0 8px; color: var(--brand-900); }
.hero .hero-sub { color: var(--text-secondary); font-size: 1.05rem; margin: 0 0 20px; }
.hero .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ===== 布局容器 ===== */
.container { max-width: 720px; margin: 0 auto; }
@media (min-width: 1024px) {
  .container { max-width: 880px; }
  .container-wide { max-width: 1080px; }
}

/* ===== 卡片（列表/区块统一） ===== */
.card {
  background: var(--bg-surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 20px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-1);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
a.card:hover, .card a.card-link:hover { text-decoration: none; }
ul .card, li.card { padding: 16px 20px; }
.card:hover { box-shadow: var(--shadow-2); transform: translateY(-1px); }
.card h2:first-child, .card .section-title:first-child { margin-top: 0; }
.section-title { font-size: 1.1rem; font-weight: 600; color: var(--slate-900); margin: 0 0 8px; }

.muted { color: var(--text-muted); font-size: 0.9rem; }
.date, .meta { color: var(--text-muted); font-size: 0.88rem; }
.center { text-align: center; }
.link { color: var(--brand-700); }

ul { padding-left: 1.4em; }
li { margin: 0.3em 0; }

/* ===== 按钮 ===== */
.btn {
  display: inline-block;
  border-radius: var(--radius-sm);
  font-size: 0.95rem;
  padding: 10px 22px;
  border: 1px solid transparent;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--brand-700); color: #fff; }
.btn-primary:hover { background: var(--brand-800); color: #fff; box-shadow: var(--shadow-1); }
.btn-plain { background: var(--white); color: var(--brand-700); border-color: var(--brand-300); }
.btn-plain:hover { background: var(--brand-50); color: var(--brand-800); }
.btn:disabled { opacity: 0.6; }
.btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--brand-400);
  outline-offset: 2px;
}
@media (max-width: 640px) {
  .hero .hero-actions .btn, .dual-entry .btn, .ops .btn { width: 100%; }
}

/* ===== 标签 chips（赛道分色） ===== */
.tag, .chip-tag {
  display: inline-block;
  font-size: 0.78rem;
  border-radius: 999px;
  padding: 2px 12px;
  margin-right: 8px;
  background: var(--brand-50);
  color: var(--brand-700);
  border: 1px solid var(--brand-100);
}
.tag.teal { background: var(--teal-100); color: var(--teal-700); border-color: transparent; }
.tag.blue { background: #e0f2fe; color: var(--blue-700); border-color: transparent; }
.tag.slate { background: var(--slate-100); color: var(--slate-500); border-color: var(--slate-200); }

/* ===== 信源徽章 ===== */
.badge-source {
  display: inline-block;
  font-size: 0.75rem;
  border-radius: 6px;
  padding: 1px 8px;
  margin-right: 6px;
  font-weight: 600;
}
.badge-source.l1 { background: var(--brand-50); color: var(--brand-700); border: 1px solid var(--brand-200); }
.badge-source.l2 { background: #e0f2fe; color: var(--blue-700); border: 1px solid #bae6fd; }
.badge-source.l3 { background: var(--slate-100); color: var(--slate-500); border: 1px solid var(--slate-200); }

/* ===== 徽标（状态） ===== */
.badge { font-size: 0.78rem; border-radius: 8px; padding: 3px 10px; flex-shrink: 0; }
.badge-plain { background: var(--slate-100); color: var(--slate-500); }
.badge-warn { background: #fef3c7; color: var(--warning); }
.badge-ok { background: var(--brand-50); color: var(--brand-700); }
.badge-bad { background: #fee2e2; color: var(--danger); }

/* ===== 表单元素 ===== */
input, textarea, select {
  font: inherit;
  color: var(--text-primary);
  background: var(--white);
  border: 1px solid var(--slate-300);
  border-radius: var(--radius-sm);
}
input:focus, textarea:focus, select:focus { border-color: var(--brand-500); outline: none; box-shadow: 0 0 0 3px var(--brand-100); }

/* ===== 详情页排版 ===== */
.doc, article { font-size: 1rem; line-height: 1.75; }
.doc { background: var(--bg-surface); border-radius: var(--radius); padding: 28px 24px; border: 1px solid var(--line); }
.doc .h1, .doc h1 { font-size: 1.5rem; font-weight: 700; margin: 0.5em 0 0.6em; }
.doc .h2, .doc h2 { font-size: 1.25rem; font-weight: 600; margin: 1.2em 0 0.5em; }
.doc .h3, .doc h3 { font-size: 1.08rem; font-weight: 600; margin: 1em 0 0.4em; }
.doc .p { margin-bottom: 0.9em; }
.doc .ul { margin-bottom: 0.9em; }
.doc .li { margin-bottom: 0.35em; padding-left: 6px; }
.doc .quote, blockquote {
  color: var(--text-secondary);
  border-left: 4px solid var(--brand-300);
  background: var(--brand-50);
  padding: 10px 16px;
  margin: 0 0 1em;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.doc .hr { border-top: 1px solid var(--line); margin: 1.4em 0; }
.source { margin-top: 20px; text-align: center; color: var(--text-muted); font-size: 0.85rem; }

/* ===== 上一篇/下一篇与相关阅读 ===== */
.prev-next {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 24px 0 8px;
  font-size: 0.95rem;
}
.prev-next a {
  display: inline-block;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 16px;
  box-shadow: var(--shadow-1);
}
.prev-next a:hover { border-color: var(--brand-300); text-decoration: none; box-shadow: var(--shadow-2); }
.prev-next .meta { padding: 10px 0; }
.pagination { align-items: baseline; }
.rel-item { padding: 14px 18px; }
.rel-title { font-weight: 600; margin-bottom: 2px; }

/* ===== W6 引流钩子（品牌描边卡） ===== */
.cta-hook {
  margin: 28px 0 16px;
  padding: 24px 20px;
  background: var(--white);
  border: 1.5px solid var(--brand-300);
  border-radius: 16px;
  text-align: center;
  box-shadow: var(--shadow-1);
}
.cta-hook-text { margin: 0 0 14px; font-weight: 600; color: var(--brand-800); }
.cta-hook img {
  width: 148px;
  height: 148px;
  padding: 8px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
}
.cta-hook-hint { margin: 14px 0 0; color: var(--text-muted); font-size: 0.88rem; }

/* ===== CTA 区（内容页建卡引导） ===== */
.cta {
  background: var(--brand-50);
  border: 1px solid var(--brand-100);
  border-radius: var(--radius);
  padding: 22px 20px;
  margin-top: 24px;
  text-align: center;
}
.cta-text { font-size: 0.95rem; color: var(--brand-700); margin-bottom: 12px; }
.cta-sub { margin-top: 10px; }

/* ===== 页脚（深色三栏） ===== */
footer.site-footer {
  background: var(--brand-900);
  color: var(--brand-100);
  margin-top: 40px;
}
footer.site-footer .footer-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 28px 20px 24px;
}
footer.site-footer .footer-cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  footer.site-footer .footer-cols { grid-template-columns: 1.2fr 1fr 1fr; }
}
footer.site-footer h3 { color: var(--white); font-size: 0.95rem; margin: 0 0 8px; }
footer.site-footer a { color: var(--brand-200); }
footer.site-footer a:hover { color: var(--white); }
footer.site-footer .muted, footer.site-footer .meta { color: var(--brand-300); }
footer.site-footer .compliance {
  border-top: 1px solid rgba(211, 230, 220, 0.18);
  padding-top: 16px;
  font-size: 0.82rem;
  line-height: 1.7;
}
footer.site-footer .compliance p { margin: 0.25em 0; }
footer .cta-hook { margin-top: 0; }

/* ===== 搜索/入口/其他区块 ===== */
.search-bar {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 20px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-1);
}
.search-bar:hover { border-color: var(--brand-300); }
.search-placeholder { color: var(--slate-400); font-size: 0.92rem; }
.entry-row { display: flex; gap: 16px; margin: 20px 0; }
.entry {
  flex: 1;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-align: center;
  padding: 22px 0;
  color: var(--brand-700);
  font-weight: 600;
  box-shadow: var(--shadow-1);
}
.entry:hover { border-color: var(--brand-300); box-shadow: var(--shadow-2); }
@media (max-width: 640px) { .entry-row { flex-direction: column; } }
.dual-entry { display: flex; gap: 16px; margin: 24px 0 8px; }
.dual-entry .btn { flex: 1; }
@media (max-width: 640px) { .dual-entry { flex-direction: column; } }
.brief-title { font-weight: 600; margin-bottom: 6px; }
.brief-item .meta { margin-top: 6px; }
.intro { margin-bottom: 14px; }
.intro-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.intro-row .intro { flex: 1; min-width: 200px; margin-bottom: 0; }
.sub-btn { font-size: 0.85rem; padding: 6px 16px; flex-shrink: 0; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; margin-top: 8px; }
.section-head .more { font-size: 0.85rem; }

/* 主题卡/文献列表 */
.topic-card { padding: 18px 20px; }
.topic-name { font-size: 1.05rem; font-weight: 600; margin-bottom: 6px; }
.entry-list { padding-left: 1.6em; }
.entry-list .entry { margin: 0 0 18px; }
.entry-list .entry-title { margin: 0 0 2px; font-weight: 600; }
.entry-list .meta { margin: 0; }
.entry-list .links .link { margin-right: 16px; font-size: 0.85rem; }
@media (min-width: 1024px) {
  .entry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .entry-grid .card { margin-bottom: 0; }
}

/* 状态步骤/流程 */
.steps { display: flex; justify-content: space-between; margin-bottom: 28px; }
.step-dot { flex: 1; text-align: center; }
.dot-num {
  width: 34px; height: 34px; line-height: 34px; border-radius: 50%;
  background: var(--slate-200); color: var(--slate-500); font-size: 0.8rem; margin: 0 auto 4px;
}
.step-dot.on .dot-num { background: var(--brand-700); color: #fff; }
.dot-label { font-size: 0.72rem; color: var(--slate-400); }
.dot-label.cur { color: var(--brand-700); font-weight: 600; }
.flow { display: flex; align-items: center; margin: 12px 0 16px; }
.flow-step {
  font-size: 0.78rem; color: var(--slate-500); background: var(--slate-100);
  border-radius: 999px; padding: 4px 14px;
}
.flow-step.on { background: var(--brand-700); color: #fff; }
.flow-line { flex: 1; border-top: 2px dashed var(--slate-300); margin: 0 6px; }
.status-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; gap: 12px; }
.name { font-size: 1.4rem; font-weight: 700; }
.review-note {
  margin-top: 12px; background: #fdf6ec; border: 1px solid #f5e0b8;
  border-radius: var(--radius-sm); padding: 12px 16px; font-size: 0.9rem; color: #8a6d3b;
}
.progress { height: 8px; background: var(--slate-100); border-radius: 4px; overflow: hidden; margin: 10px 0; }
.progress-inner { height: 100%; background: var(--brand-600); }
.draft-tip { color: var(--warning); margin-top: 6px; }

/* 选项/表单区 */
.opt {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 16px 20px; margin-bottom: 12px;
}
.opt:hover { border-color: var(--brand-400); }
.field { margin-bottom: 20px; }
.label { font-size: 0.88rem; color: var(--text-secondary); margin-bottom: 8px; }
.field input { width: 100%; padding: 12px 16px; }
.field textarea { width: 100%; padding: 12px 16px; min-height: 120px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
  background: var(--white); border: 1px solid var(--slate-300); border-radius: 999px;
  padding: 6px 16px; font-size: 0.88rem; color: var(--text-secondary);
}
.chip.on { background: var(--brand-700); border-color: var(--brand-700); color: #fff; }
.custom-row { display: flex; gap: 10px; margin-top: 10px; }
.custom-input { flex: 1; padding: 8px 14px; font-size: 0.88rem; }
.custom-add { font-size: 0.85rem; padding: 6px 16px; }
.tip { margin-top: 12px; line-height: 1.7; color: var(--text-muted); font-size: 0.88rem; }
.nav-row { display: flex; gap: 12px; margin-top: 24px; }
.nav-btn { flex: 1; }
.pv-name { font-size: 1.2rem; font-weight: 700; margin-bottom: 4px; }
.pv-row { color: var(--brand-700); font-size: 0.88rem; margin: 8px 0; }
.pv-sec { font-size: 0.92rem; margin-top: 10px; line-height: 1.7; }
.err { color: var(--danger); font-size: 0.9rem; margin-bottom: 12px; }

/* 菜单/列表行 */
.menu-item {
  padding: 14px 0;
  border-bottom: 1px solid var(--slate-100);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.menu-item:last-child { border-bottom: none; }
.menu-item .muted { font-size: 0.85rem; margin-left: 8px; flex-shrink: 0; }
.ops { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }

/* 同步/知识/咨询 */
.sync-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.sync-label { font-weight: 600; margin-bottom: 4px; }
.sr-title { margin-top: 14px; font-weight: 600; }
.k-item { border-top: 1px solid var(--slate-100); padding: 12px 0; }
.k-item:first-child { border-top: none; }
.k-content { line-height: 1.7; margin-top: 4px; }
.inq { border-top: 1px solid var(--slate-100); padding: 14px 0; }
.inq-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.intent { margin-bottom: 6px; line-height: 1.7; }
.contact-row { margin: 6px 0; }
.inq-actions { display: flex; gap: 10px; margin-top: 8px; }
.inq-btn { font-size: 0.82rem; padding: 5px 14px; }
.appeal-input { background: var(--warm-50); border-radius: var(--radius-sm); padding: 14px 16px; width: 100%; min-height: 160px; margin-bottom: 12px; }

/* 名片详情 */
.verify-row { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; }
.verify { color: var(--brand-700); font-size: 0.85rem; }
.fav { font-size: 0.85rem; }
.boundary { background: var(--warm-50); }
.inquiry-btn { margin: 24px 0 12px; }
.sub-action { margin-bottom: 10px; width: 100%; }
.claim-link { margin-top: 6px; font-size: 0.82rem; }
.stats { display: flex; gap: 28px; margin: 12px 0; }
.stat { text-align: center; }
.stat-num { font-size: 1.5rem; font-weight: 700; color: var(--brand-700); }
.owner-zone { border-left: 4px solid var(--brand-700); }
.owner-btn { margin-top: 14px; width: 100%; }
.head { border-left: 4px solid var(--brand-600); }
.head .name { font-size: 1.3rem; font-weight: 700; margin-bottom: 4px; }
.head-actions { display: flex; gap: 12px; margin-top: 16px; }
.head-btn { flex: 1; }
.lingxi { border-left: 4px solid var(--brand-700); }
.free { color: var(--brand-700); font-weight: 600; margin: 6px 0 10px; }
.join-btn { margin-top: 6px; width: 240px; }
.p-name { font-size: 1.05rem; font-weight: 600; margin-bottom: 8px; }
.p-sell { margin-bottom: 10px; line-height: 1.7; }
.p-row { font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 6px; line-height: 1.7; }
.p-price { color: var(--brand-700); font-size: 1.1rem; font-weight: 700; margin: 8px 0 2px; }
.bundle { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--slate-100); }
.bundle:last-child { border-bottom: none; }
.b-name { font-weight: 600; margin-bottom: 2px; }
.b-price { color: var(--brand-700); font-weight: 700; flex-shrink: 0; }

/* 贴图/搜索/收藏/笔记等 */
.sticker-section { margin-top: 20px; }
.sticker-guide { margin-bottom: 12px; }
.sticker-tip { margin-top: 12px; font-size: 0.78rem; }
.search-row { display: flex; gap: 12px; margin-bottom: 16px; }
.search-input { flex: 1; border-radius: 999px; padding: 10px 20px; }
.search-btn { flex-shrink: 0; }
.counts { margin-bottom: 12px; }
.r-title { font-weight: 600; margin-bottom: 2px; }
.fav-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fav-main { flex: 1; }
.fav-del { color: var(--slate-400); font-size: 0.85rem; padding: 4px 10px; flex-shrink: 0; }
.note-head { margin-bottom: 6px; }
.note-title { font-weight: 600; margin-bottom: 2px; }
.note-ops { display: flex; justify-content: space-between; border-top: 1px solid var(--slate-100); padding-top: 10px; font-size: 0.88rem; }
.del { color: var(--danger); }
.fab { margin-top: 16px; width: 100%; }
.quick-links { padding-top: 8px; padding-bottom: 8px; }
.quick-links .menu-item { padding: 12px 0; border-bottom: 1px solid var(--slate-100); }
.quick-links .menu-item:last-child { border-bottom: none; }
.picker { background: var(--white); border-radius: var(--radius-sm); padding: 12px 16px; margin: 12px 0; }
.done-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 12px; }
.done-btn { margin-top: 16px; }
.auth-row { display: flex; gap: 12px; align-items: flex-start; margin: 6px 0 18px; }
.checkbox {
  width: 22px; height: 22px; border: 1px solid var(--slate-300); border-radius: 6px;
  text-align: center; line-height: 22px; color: #fff; font-size: 0.85rem; flex-shrink: 0;
}
.checkbox.on { background: var(--brand-700); border-color: var(--brand-700); }
.auth-text { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.6; }
.answer-card { border-left: 4px solid var(--brand-700); }
.answer { line-height: 1.9; white-space: pre-wrap; }
.compliance { margin-top: 10px; color: var(--warning); font-size: 0.8rem; }
.disclaimer { line-height: 1.7; margin-bottom: 12px; }
.act { width: 100%; }
.empty-state { background: var(--white); }
.empty-title { font-size: 1.05rem; }
.empty-desc { color: var(--text-muted); }

/* 对话页（若 webview 复用样式） */
.msg { margin-bottom: 14px; }
.bubble { display: inline-block; max-width: 80%; padding: 10px 14px; border-radius: var(--radius); background: var(--white); line-height: 1.7; box-shadow: var(--shadow-1); }
.src { font-size: 0.75rem; margin-top: 4px; }
.esc-btn { font-size: 0.85rem; padding: 6px 16px; }
.chip:hover { border-color: var(--brand-400); }

@media print {
  header.site, footer.site-footer .footer-cols, .cta-hook, .prev-next, .btn, .actions { display: none; }
}

/* ===== UI 深化（首页打样 2026-09-30）：大 Hero／区块节奏／主题卡／品牌横幅／微动效 ===== */

/* 大 Hero：氛围图背景（background 不影响正文语义）＋深色叠加保可读 */
.hero-xl {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 56px;
  isolation: isolate;
}
.hero-xl-bg {
  position: absolute;
  inset: 0;
  background: url('/assets/visual/hero-mist.jpg') center 42% / cover no-repeat;
}
.hero-xl-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18, 52, 38, 0.30) 0%, rgba(18, 52, 38, 0.62) 100%);
}
.hero-xl-inner {
  position: relative;
  z-index: 1;
  padding: 72px 44px 44px;
  color: #fff;
}
.hero-xl-inner h1 {
  font-size: 2.9rem;
  line-height: 1.2;
  margin: 0 0 10px;
  color: #fff;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 16px rgba(18, 52, 38, 0.45);
}
.hero-xl-sub {
  font-size: 1.2rem;
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.92);
}
.hero-xl-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 36px; }
.btn-lg { padding: 14px 30px; font-size: 1.05rem; display: inline-flex; align-items: center; gap: 8px; }
.btn-ghost {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(4px);
}
.btn-ghost:hover { background: rgba(255, 255, 255, 0.26); color: #fff; text-decoration: none; }
.hero-xl-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 0;
  padding: 22px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
}
.hero-xl-stats dt { font-size: 1.35rem; font-weight: 700; color: #fff; }
.hero-xl-stats dd { margin: 2px 0 0; font-size: 0.85rem; color: rgba(255, 255, 255, 0.82); }
@media (max-width: 768px) {
  .hero-xl-inner { padding: 44px 22px 28px; }
  .hero-xl-inner h1 { font-size: 2.1rem; }
  .hero-xl-stats { grid-template-columns: repeat(2, 1fr); }
  .btn-lg { width: 100%; justify-content: center; }
}

/* 区块呼吸感（80px 节奏） */
.section-block { margin-bottom: 80px; }
.section-block:last-of-type { margin-bottom: 0; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.section-head h2 { display: inline-flex; align-items: center; gap: 10px; font-size: 1.4rem; margin: 0; }
.section-ico { display: inline-flex; color: var(--brand-600); }
.section-sub { color: var(--text-muted); margin: 0 0 18px; }
@media (max-width: 768px) { .section-block { margin-bottom: 56px; } }

/* 简报首条图文大卡＋列表 */
.brief-hero {
  display: block;
  background: linear-gradient(135deg, var(--brand-700) 0%, var(--brand-600) 60%, var(--brand-500) 100%);
  color: #fff;
  border: none;
  padding: 26px 26px 22px;
  position: relative;
  overflow: hidden;
}
.brief-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url('/assets/visual/scene-forest.jpg') right center / 45% auto no-repeat;
  opacity: 0.35;
  pointer-events: none;
}
.brief-hero > * { position: relative; z-index: 1; }
.brief-hero:hover { text-decoration: none; box-shadow: var(--shadow-2); }
.brief-hero-title { display: block; font-size: 1.3rem; font-weight: 700; color: #fff; line-height: 1.4; margin-bottom: 10px; }
.brief-hero .muted { color: rgba(255, 255, 255, 0.85); }
.brief-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
@media (max-width: 640px) { .brief-list { grid-template-columns: 1fr; } }
.brief-row-item { display: block; font-weight: 600; }
.brief-row-item .muted { display: block; font-weight: 400; margin-top: 4px; }

/* 行业活动：列表行 / 徽标 / 筛选 */
.event-list { list-style: none; padding: 0; margin: 0; }
.event-list .card { padding: 12px 14px; }
.activity-badge { display: inline-block; padding: 1px 8px; margin: 4px 6px 0 0; border-radius: 999px; background: var(--bg-soft, #eef1f3); font-size: 12px; color: var(--text-muted, #666); }
.activity-status-canceled, .activity-status-ended { background: #f3e5e5; color: #8a3b3b; }
.activity-status-postponed, .activity-status-closed { background: #f7f0dd; color: #8a6d1f; }
.activity-status-sold_out { background: #efe7f5; color: #6a4a8a; }
.activity-status-upcoming, .activity-status-ongoing { background: #e3efe7; color: #2e6b46; }
.activity-filters p { margin: 6px 0; font-size: 14px; }
.activity-filters a { display: inline-block; margin: 0 4px 4px 0; padding: 2px 10px; border: 1px solid var(--line, #ddd); border-radius: 999px; font-size: 13px; text-decoration: none; }
.empty-line { color: var(--text-muted); }

/* 研究主题大卡（缩略氛围图） */
.topic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 640px) { .topic-grid { grid-template-columns: 1fr; } }
.topic-card-xl {
  display: flex;
  flex-direction: column;
  background: var(--bg-surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-1);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.topic-card-xl:hover { box-shadow: var(--shadow-2); transform: translateY(-2px); text-decoration: none; }
.topic-thumb { display: block; height: 148px; background-size: cover; background-position: center; }
.topic-thumb-a { background-image: url('/assets/visual/scene-calm.jpg'); }
.topic-thumb-b { background-image: url('/assets/visual/tile-soft.jpg'); }
.topic-body { padding: 16px 18px 14px; }
.topic-body strong { display: block; font-size: 1.08rem; margin-bottom: 4px; }

/* 灵犀馆品牌横幅 */
.lingxi-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, var(--brand-800) 0%, var(--brand-700) 55%, var(--brand-600) 100%);
  color: #fff;
  border-radius: 20px;
  padding: 34px 34px;
  overflow: hidden;
  position: relative;
}
.lingxi-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url('/assets/visual/hero-mist.jpg') right -10% center / 46% auto no-repeat;
  opacity: 0.22;
  pointer-events: none;
}
.lingxi-banner > * { position: relative; z-index: 1; }
.lingxi-banner:hover { text-decoration: none; box-shadow: var(--shadow-2); }
.lingxi-banner h2 { color: #fff; margin: 0 0 8px; font-size: 1.4rem; }
.lingxi-banner p { margin: 0; color: rgba(255, 255, 255, 0.88); }
.lingxi-banner-ico { flex-shrink: 0; opacity: 0.9; }
@media (max-width: 640px) { .lingxi-banner-ico { display: none; } }

/* 微动效：区块淡入（尊重 prefers-reduced-motion） */
@keyframes blockIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
.section-block, .hero-xl { animation: blockIn 0.45s ease both; }
.section-block:nth-of-type(2) { animation-delay: 0.04s; }
.section-block:nth-of-type(3) { animation-delay: 0.08s; }
.section-block:nth-of-type(4) { animation-delay: 0.12s; }
.section-block:nth-of-type(5) { animation-delay: 0.16s; }
@media (prefers-reduced-motion: reduce) {
  .section-block, .hero-xl { animation: none; }
  * { transition: none !important; }
}

/* ===== 全站推开（2026-09-30 第二批）：页头氛围横幅 / 细氛围条 / 导读卡片 =====
   与首页同一令牌与叠加口径（brand-900 深绿渐变保可读），装饰图全 background 不影响语义 */

/* 页头窄横幅：h1 进横幅（列表/索引/专题页） */
.page-banner {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  isolation: isolate;
  margin: 0 0 28px;
}
.page-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.page-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18, 52, 38, 0.38) 0%, rgba(18, 52, 38, 0.64) 100%);
}
.page-banner-inner { position: relative; z-index: 1; padding: 46px 30px 34px; color: #fff; }
.page-banner-inner h1 { color: #fff; margin: 0 0 8px; text-shadow: 0 2px 12px rgba(18, 52, 38, 0.45); }
.page-banner-inner p { color: rgba(255, 255, 255, 0.92); margin: 0; max-width: 44em; }
.page-banner-inner .meta { color: rgba(255, 255, 255, 0.8); }
.page-banner-inner a { color: #fff; text-decoration: underline; }
@media (max-width: 768px) { .page-banner-inner { padding: 32px 20px 26px; } }

/* 细氛围条（详情/归档/目录页头部点缀，72px 不抢正文） */
.page-strip {
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  margin: 0 0 22px;
  background-size: cover;
  background-position: center;
}
.page-strip::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18, 52, 38, 0.16), rgba(18, 52, 38, 0.30));
}

/* 氛围图修饰类（横幅 ::before 图层 / 细条直接背景，同名同源） */
.banner-mist::before { background-image: url('/assets/visual/hero-mist.jpg'); background-position: center 42%; }
.banner-forest::before { background-image: url('/assets/visual/scene-forest.jpg'); }
.banner-calm::before { background-image: url('/assets/visual/scene-calm.jpg'); }
.banner-tile::before { background-image: url('/assets/visual/tile-soft.jpg'); }
.banner-hotel::before { background-image: url('/assets/visual/scene-hotel.jpg'); }
.banner-wenlv::before { background-image: url('/assets/visual/scene-wenlv.jpg'); }
.strip-mist { background-image: url('/assets/visual/hero-mist.jpg'); background-position: center 42%; }
.strip-forest { background-image: url('/assets/visual/scene-forest.jpg'); }
.strip-calm { background-image: url('/assets/visual/scene-calm.jpg'); }
.strip-tile { background-image: url('/assets/visual/tile-soft.jpg'); }
.strip-hotel { background-image: url('/assets/visual/scene-hotel.jpg'); }
.strip-wenlv { background-image: url('/assets/visual/scene-wenlv.jpg'); }

/* 研究主题导读卡片化加强 */
.intro-card {
  background: var(--bg-surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px 24px;
  box-shadow: var(--shadow-1);
  margin-bottom: 24px;
}
.intro-card h2:first-child { margin-top: 0; }

/* 首页专业化：仅首页扩宽，内容阅读页沿用原容器。 */
.home-page .home-container { max-width: 1200px; padding-top: 38px; padding-bottom: 56px; }
.home-page .header-inner { max-width: 1200px; }
.home-page .home-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: center; }
.home-page .home-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--brand-600); margin: 0 0 14px; }
.home-page .home-hero h1 { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.35; letter-spacing: -.04em; margin: 0 0 22px; color: var(--brand-900); }
.home-page .home-intro { max-width: 440px; color: var(--text-secondary); font-size: 16px; margin: 0 0 28px; }
.home-page .home-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.home-page .home-actions .btn { padding: 12px 18px; }
.home-page .home-hero-note { font-size: 12px; color: var(--text-muted); margin-top: 20px; }
.home-page .home-hero-image { margin: 0; position: relative; border-radius: 18px; overflow: hidden; background: var(--brand-100); }
.home-page .home-hero-image img { display: block; width: 100%; height: 350px; object-fit: cover; }
.home-page .home-hero-image figcaption { position: absolute; bottom: 14px; left: 14px; right: 14px; width: fit-content; padding: 5px 10px; font-size: 11px; color: white; background: rgba(18,52,38,.83); border-radius: 5px; }
.home-page .home-data-bar { display: grid; grid-template-columns: repeat(4, 1fr); padding: 24px 0; margin: 30px 0 48px; border-block: 1px solid var(--line); gap: 22px; }
.home-page .home-data-bar div { min-width: 0; }
.home-page .home-data-bar dt { font-weight: 650; font-size: 23px; color: var(--brand-900); line-height: 1.4; font-variant-numeric: tabular-nums; }
.home-page .home-data-bar dt span { font-size: 13px; font-weight: 400; }
.home-page .home-data-bar dd { margin: 6px 0 0; font-size: 12px; color: var(--text-muted); }
.home-page .home-editorial-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; }
.home-page .home-section { min-width: 0; margin: 0 0 48px; }
.home-page .home-section-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 14px; }
.home-page .home-section-head h2 { font-size: 23px; margin: 0; letter-spacing: -.02em; }
.home-page .home-section-head .home-eyebrow { margin-bottom: 6px; }
.home-page .home-section-head > a { font-size: 12px; flex-shrink: 0; }
.home-page .home-section-intro { font-size: 13px; margin: 0 0 22px; color: var(--text-muted); }
.home-page .home-brief-item { display: grid; grid-template-columns: 1fr auto; padding: 17px 0; border-bottom: 1px solid var(--line); gap: 3px 12px; color: var(--text-primary); }
.home-page .home-brief-item:hover, .home-page .home-topic:hover, .home-page .home-scene-grid a:hover { text-decoration: none; }
.home-page .home-brief-item time { font-size: 12px; color: var(--text-muted); grid-column: 1 / -1; }
.home-page .home-brief-item h3 { font-size: 17px; margin: 0; }
.home-page .home-brief-item p { font-size: 12px; color: var(--text-muted); margin: 2px 0 0; }
.home-page .home-read { grid-column: 2; grid-row: 2 / 4; align-self: center; font-size: 12px; color: var(--brand-700); }
.home-page .home-brief-featured { background: var(--brand-50); border: 1px solid var(--brand-100); border-radius: 12px; padding: 22px; margin-bottom: 4px; }
.home-page .home-brief-featured h3 { font-size: 21px; }
.home-page .home-topic { display: flex; justify-content: space-between; align-items: center; padding: 22px 24px; background: white; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; transition: border-color .15s; }
.home-page .home-topic:hover { border-color: var(--brand-300); }
.home-page .home-topic-en { font-size: 11px; letter-spacing: .05em; color: var(--text-muted); }
.home-page .home-topic h3 { font-size: 21px; color: var(--brand-900); margin: 2px 0 4px; }
.home-page .home-topic p { margin: 0; font-size: 12px; color: var(--text-muted); }
.home-page .home-evidence-link { display: block; font-size: 13px; margin: 20px 0 8px; }
.home-page .home-research-note { font-size: 12px; color: var(--text-muted); margin: 0; }
.home-page .home-scene-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.home-page .home-scene-grid a { position: relative; display: block; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.home-page .home-scene-grid a:hover { background: var(--brand-50); }
.home-page .home-scene-number { color: var(--brand-600); font-size: 12px; }
.home-page .home-scene-grid h3 { font-size: 19px; margin: 12px 0 6px; }
.home-page .home-scene-grid p { font-size: 12px; color: var(--text-muted); margin: 0; }
.home-page .home-scene-arrow { position: absolute; right: 20px; top: 20px; }
.home-page .home-resource-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.home-page .home-empty { border: 1px dashed var(--slate-300); border-radius: 12px; padding: 24px; }
.home-page .home-empty h3 { font-size: 16px; margin: 0 0 8px; }
.home-page .home-empty p { font-size: 13px; color: var(--text-muted); margin: 0 0 12px; }
.home-page .home-empty a { font-size: 13px; }
.home-page .home-service { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 28px; background: var(--brand-50); border-radius: 12px; }
.home-page .home-service-label { font-size: 11px; border: 1px solid var(--brand-200); border-radius: 4px; padding: 2px 6px; color: var(--brand-700); }
.home-page .home-service h2 { font-size: 18px; margin: 8px 0 4px; }
.home-page .home-service p { font-size: 13px; color: var(--text-secondary); margin: 0; }
.home-page .home-service > a { flex-shrink: 0; font-size: 13px; }
@media (max-width: 900px) {
  .home-page .home-hero { gap: 28px; }
  .home-page .home-hero-image img { height: 320px; }
  .home-page .home-editorial-grid { gap: 28px; }
  .home-page .home-scene-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .home-page .home-container { padding: 26px 20px 36px; }
  .home-page .home-hero { grid-template-columns: 1fr; gap: 22px; }
  .home-page .home-hero h1 { font-size: 32px; margin-bottom: 16px; }
  .home-page .home-intro { font-size: 14px; margin-bottom: 22px; }
  .home-page .home-actions .btn { font-size: 13px; padding: 11px 13px; }
  .home-page .home-hero-note { margin: 14px 0 0; }
  .home-page .home-hero-image img { height: 210px; }
  .home-page .home-data-bar { grid-template-columns: repeat(2, 1fr); gap: 20px 14px; margin: 24px 0 32px; }
  .home-page .home-data-bar dt { font-size: 20px; }
  .home-page .home-editorial-grid, .home-page .home-resource-grid { grid-template-columns: 1fr; gap: 0; }
  .home-page .home-section { margin-bottom: 32px; }
  .home-page .home-section-head h2 { font-size: 21px; }
  .home-page .home-brief-featured { padding: 18px; }
  .home-page .home-brief-featured h3 { font-size: 18px; }
  .home-page .home-read { font-size: 11px; }
  .home-page .home-scene-grid { gap: 10px; }
  .home-page .home-scene-grid a { padding: 17px; }
  .home-page .home-scene-grid h3 { font-size: 17px; }
  .home-page .home-service { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; }
}
.home-page a:focus-visible { outline: 3px solid var(--brand-400); outline-offset: 4px; }
.home-page .home-sample-label { display: inline-block; vertical-align: middle; font-size: 12px; font-weight: 400; padding: 1px 5px; border: 1px solid var(--brand-200); border-radius: 4px; margin-left: 8px; color: var(--brand-700); }
.home-page .home-brief-item p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.home-page .home-data-status dt { font-size: 15px; line-height: 1.8; font-weight: 500; }
.cta-hook-mobile-hint { display: none; }
@media (max-width: 640px) {
  .cta-hook-mobile-hint { display: block; color: var(--text-muted); font-size: 12px; }
}
.home-page .home-task-paths { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 26px; }
.home-page .home-task-paths a { display: block; padding: 16px; border: 1px solid var(--line); border-radius: 8px; }
.home-page .home-task-paths strong, .home-page .home-task-paths span { display: block; }
.home-page .home-task-paths span { font-size: 12px; color: var(--text-muted); }
@media(max-width:640px) { .home-page .home-task-paths { grid-template-columns: 1fr; gap: 10px; } }

/* 企业 Logo（契约 V1.6，有 logoUrl 时渲染，缺失走文字占位） */
.org-logo { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; vertical-align: middle; margin-right: 8px; }
