/* ============================================================
   长夜余火 · 介绍页专属增强 (intro.html)
   设计语言：编辑式排版 / 强字重对比（粗细有别） / 留白节奏
   依赖 style.css 提供的基础变量与玻璃卡片
   ============================================================ */

/* ---------- 排版比例（粗细有别的关键） ---------- */
:root{
  --fs-eyebrow:12px;      /* 极小金色标签 */
  --fs-small:13px;        /* 注释/辅助 */
  --fs-body:15px;         /* 正文 */
  --fs-lead:18px;         /* 引导段落（轻、大、松） */
  --fs-h3:19px;           /* 卡片小标题 */
  --fs-h2:clamp(28px,4.8vw,44px); /* 章节标题：更大更疏 */
  --fs-display:clamp(52px,14vw,96px); /* 主标题：更大气 */
  --space-section:96px;   /* 章节间距：更舒展 */
}

/* 星空 + 余火粒子层（克制） */
.nf-stars{position:fixed;inset:0;z-index:0;pointer-events:none;}
.nf-ember{position:fixed;left:0;bottom:-12px;width:3px;height:3px;border-radius:50%;
  background:radial-gradient(circle,var(--primary-strong),var(--primary-dark) 70%,transparent);
  box-shadow:0 0 7px 2px var(--glow);pointer-events:none;z-index:0;animation:nfRise linear infinite;}
@keyframes nfRise{
  0%{transform:translateY(0) translateX(0) scale(.5);opacity:0;}
  15%{opacity:.75;}
  80%{opacity:.45;}
  100%{transform:translateY(-106vh) translateX(30px) scale(1.05);opacity:0;}
}

/* 容器 */
.nf-wrap{position:relative;z-index:2;max-width:940px;margin:0 auto;padding:0 24px 96px;}

/* 顶栏（毛玻璃） */
.nf-topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;
  padding:15px 24px;backdrop-filter:blur(16px);
  background:linear-gradient(180deg,rgba(8,10,18,0.94),rgba(8,10,18,0.45));
  border-bottom:1px solid var(--border);}
.nf-topbar .logo{font-family:var(--serif);font-size:17px;letter-spacing:3px;color:var(--primary-strong);}
.nf-topbar .logo small{color:var(--faint);font-family:var(--sans);letter-spacing:1px;margin-left:8px;font-size:12px;}
.nf-topbar nav a{color:var(--text-light);text-decoration:none;font-size:13px;margin-left:20px;transition:color .2s;}
.nf-topbar nav a:hover{color:var(--primary-strong);}

/* 顶栏语言切换：显眼可见，与导航并排 */
.lang-switch{display:flex;gap:2px;padding:3px;border-radius:22px;
  background:rgba(212,175,55,0.10);border:1px solid rgba(212,175,55,0.4);
  margin-left:18px;flex-shrink:0;}
.lang-btn{appearance:none;-webkit-appearance:none;border:0;background:transparent;cursor:pointer;
  color:#cdd2e0;font-size:13px;line-height:1;padding:6px 12px;border-radius:18px;
  transition:all .2s;letter-spacing:1px;font-family:inherit;}
.lang-btn:hover{color:#e9c96a;}
.lang-btn.active{background:linear-gradient(135deg,#d4af37,#b8860b);color:#1a1206;font-weight:700;
  box-shadow:0 2px 8px rgba(212,175,55,.4);}
@media (max-width:640px){.lang-switch{margin-left:0;padding:2px;}.lang-btn{padding:5px 9px;font-size:12px;}}

/* ---------- 捐赠卡片：二维码 + 支付宝 inline ---------- */
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:680px;margin:28px auto 0;}
@media (max-width:640px){.pay-grid{grid-template-columns:1fr;}}
.pay-card{background:rgba(20,22,32,0.55);border:1px solid var(--border);border-radius:14px;
  padding:24px 18px;text-align:center;backdrop-filter:blur(10px);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.pay-card:hover{transform:translateY(-3px);border-color:rgba(212,175,55,0.45);
  box-shadow:0 6px 20px rgba(240,179,90,0.14);}
.pay-icon{width:46px;height:46px;margin:0 auto 12px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;}
.pay-icon.wechat{background:linear-gradient(135deg,#07c160,#00a854);}
.pay-icon.alipay{background:linear-gradient(135deg,#1677ff,#0958d9);}
.pay-name{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--primary-strong);
  margin-bottom:4px;letter-spacing:1px;}
.pay-sub{font-size:12px;color:var(--text-light);margin-bottom:14px;letter-spacing:.5px;}
.pay-qr{width:200px;height:200px;margin:0 auto 14px;background:#fff;border-radius:10px;
  padding:6px;display:block;box-shadow:0 4px 12px rgba(0,0,0,.3);}
.pay-account{font-family:ui-monospace,Consolas,monospace;font-size:14px;color:var(--text);
  background:rgba(255,255,255,0.04);padding:10px 14px;border-radius:8px;
  margin:0 auto 12px;display:inline-block;border:1px solid var(--border);letter-spacing:.5px;}
.pay-copy{appearance:none;border:1px solid var(--primary);background:transparent;color:var(--primary-strong);
  font-family:inherit;font-size:13px;padding:8px 22px;border-radius:20px;cursor:pointer;
  transition:all .2s;letter-spacing:1px;}
.pay-copy:hover{background:rgba(212,175,55,0.12);}
.pay-copy.copied{background:#07c160;border-color:#07c160;color:#fff;}
.pay-note{margin:24px auto 0;max-width:680px;padding:18px 22px;border-radius:12px;
  background:linear-gradient(155deg,rgba(240,179,90,0.08),rgba(217,131,53,0.04));
  border:1px solid rgba(240,179,90,0.35);font-size:14px;line-height:1.85;color:var(--text-light);}
.pay-note-tag{display:inline-block;padding:2px 10px;border-radius:8px;background:rgba(240,179,90,0.2);
  color:var(--primary-strong);font-size:11px;letter-spacing:3px;margin-right:8px;font-weight:700;}
.pay-actions{display:flex;justify-content:center;margin-top:20px;gap:12px;flex-wrap:wrap;}

/* ---------- 留言墙预览（hero 下置顶） ---------- */
.msg-preview{padding-top:48px;padding-bottom:24px;}
.msg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;}
@media (max-width:880px){.msg-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.msg-cards{grid-template-columns:1fr;}}
.msg-card{background:rgba(20,22,32,0.55);border:1px solid var(--border);border-radius:12px;
  padding:18px 20px;backdrop-filter:blur(10px);min-height:100px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
  position:relative;}
.msg-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,0.45);
  box-shadow:0 4px 14px rgba(240,179,90,0.14);}
.msg-card::before{content:"";position:absolute;left:14px;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,transparent,rgba(240,179,90,0.45),transparent);
  border-radius:2px;}
.msg-card .msg-text{font-size:14.5px;line-height:1.75;color:var(--text);font-family:var(--serif);
  margin-left:8px;margin-bottom:10px;}
.msg-card .msg-meta{font-size:11.5px;color:var(--text-light);letter-spacing:1px;margin-left:8px;
  font-family:ui-monospace,Consolas,monospace;}
.msg-empty{padding:32px 20px;text-align:center;color:var(--text-light);font-size:14px;
  background:rgba(20,22,32,0.4);border:1px dashed var(--border);border-radius:12px;
  grid-column:1/-1;}
.msg-more{display:flex;justify-content:center;margin-top:22px;}
/* 实时数据板块内的留言墙：与图表/统计视觉上融合 */
#panel-data .msg-preview{margin-top:36px;padding:28px;border:1px solid rgba(232,178,110,0.12);border-radius:18px;
  background:linear-gradient(155deg,rgba(46,34,20,0.12),rgba(18,16,28,0.12));}
#panel-data .msg-preview .nf-title{margin-bottom:6px;}
#panel-data .msg-preview .nf-lead{margin-bottom:0;}

/* ---------- 一页滚动叙事：吸顶分节导航 ---------- */
html{scroll-behavior:smooth;}
.nf-scrollnav{position:sticky;top:57px;z-index:25;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;
  padding:11px 10px;backdrop-filter:blur(16px);
  background:linear-gradient(180deg,rgba(8,10,18,0.95),rgba(8,10,18,0.5));
  border-bottom:1px solid var(--border);}
.nf-anchor{padding:8px 15px;border-radius:22px;font-size:13px;color:var(--text-light);text-decoration:none;
  border:1px solid transparent;transition:all .2s;font-family:var(--sans);letter-spacing:.5px;white-space:nowrap;}
.nf-anchor:hover{color:var(--primary-strong);}
.nf-anchor.nav-highlight{border-color:rgba(240,179,90,.5);color:var(--primary-strong);background:rgba(240,179,90,.1);}
.nf-anchor.nav-highlight:hover{background:rgba(240,179,90,.18);}
.nf-anchor.active{color:#1a1206;background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  box-shadow:0 4px 14px var(--glow);font-weight:700;}

/* 章节：纵向堆叠、留白节律、锚点不被吸顶遮住 */
.nf-section{margin-top:var(--space-section);scroll-margin-top:152px;
  padding-top:66px;border-top:1px solid rgba(232,178,110,0.10);}
.nf-section:first-of-type{margin-top:34px;padding-top:0;border-top:none;}

/* ---------- 通用排版元件（粗细有别） ---------- */
/* 极小金色字距标签，用于制造节奏与对比 */
.nf-eyebrow{font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:4px;
  text-transform:uppercase;color:var(--primary);font-weight:600;margin-bottom:18px;
  display:flex;align-items:center;gap:10px;justify-content:center;}
.nf-eyebrow::before{content:"";width:22px;height:1.5px;background:linear-gradient(90deg,var(--primary),transparent);box-shadow:0 0 8px var(--glow);}

/* 章节标题：中号衬线，与 eyebrow 形成粗细落差 */
.nf-title{font-family:var(--serif);font-size:var(--fs-h2);font-weight:700;color:var(--primary-strong);
  margin:0 0 22px;letter-spacing:2px;line-height:1.35;text-align:center;}

/* 引导段落：轻、大、松——与标题拉开对比 */
.nf-lead{font-size:var(--fs-lead);color:var(--text-light);line-height:2.25;font-weight:300;margin:0 auto 8px;max-width:660px;text-align:center;letter-spacing:.3px;}
.nf-lead b{color:var(--text);font-weight:600;}
.nf-lead em{color:var(--primary-strong);font-style:normal;}

/* 正文：更小更轻 */
.nf-desc{font-size:var(--fs-body);color:var(--text-light);line-height:2;margin:0;}
.nf-desc b{color:var(--text);font-weight:600;}
.nf-desc em{color:var(--primary-strong);font-style:normal;}

/* 卡片内统一间距 */
.card{padding:28px;}

/* ---------- Hero ---------- */
.nf-hero{position:relative;text-align:center;padding:clamp(72px,15vh,128px) 18px clamp(52px,8vh,80px);overflow:hidden;}
.nf-hero::before{content:"";position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);
  width:clamp(360px,62vw,640px);height:clamp(360px,62vw,640px);border-radius:50%;
  background:radial-gradient(circle,rgba(255,160,70,0.20),transparent 60%);filter:blur(14px);z-index:0;}
.nf-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;z-index:1;
  background:
    radial-gradient(120% 100% at 18% 100%, rgba(20,16,28,0.9) 38%, transparent 39%),
    radial-gradient(120% 100% at 52% 100%, rgba(26,20,32,0.95) 46%, transparent 47%),
    radial-gradient(120% 100% at 86% 100%, rgba(18,14,26,0.9) 40%, transparent 41%);
  opacity:.85;}
.nf-hero>*{position:relative;z-index:3;}
.nf-brand{font-family:var(--serif);font-weight:700;letter-spacing:14px;margin-left:14px;
  font-size:var(--fs-display);color:var(--primary-strong);line-height:1.05;
  text-shadow:0 0 30px rgba(255,160,70,0.5),0 0 8px rgba(255,200,120,0.6);
  opacity:0;transform:translateY(20px);animation:nfHeroIn 1.1s .15s forwards cubic-bezier(.2,.7,.3,1);}
.nf-sub{margin-top:14px;font-size:14px;letter-spacing:9px;color:var(--primary);opacity:0;
  animation:nfHeroIn 1.1s .4s forwards cubic-bezier(.2,.7,.3,1);}
/* 引导句：轻、居中、克制 */
.nf-tag{margin-top:30px;font-family:var(--serif);font-size:var(--fs-lead);line-height:2.2;color:var(--text);
  font-weight:300;opacity:0;animation:nfHeroIn 1.1s .65s forwards cubic-bezier(.2,.7,.3,1);max-width:560px;margin-left:auto;margin-right:auto;}
.nf-tag b{color:var(--primary-strong);font-weight:600;font-size:15px;display:block;margin-top:14px;letter-spacing:1px;}
.nf-cta{margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;opacity:0;
  animation:nfHeroIn 1.1s .9s forwards cubic-bezier(.2,.7,.3,1);}
@keyframes nfHeroIn{to{opacity:1;transform:none;}}

/* 向下滚动提示（大气的视觉引导） */
.nf-scrollcue{display:block;width:36px;height:36px;margin:48px auto 0;border-radius:50%;
  border:1px solid var(--border);color:var(--primary);font-size:18px;line-height:34px;text-align:center;
  text-decoration:none;opacity:0;cursor:pointer;
  animation:nfHeroIn 1.1s 1.25s forwards, nfBob 2.2s 1.5s ease-in-out infinite;
  transition:border-color .2s,color .2s,background .2s;}
.nf-scrollcue:hover{border-color:var(--primary);background:rgba(240,179,90,0.1);color:var(--primary-strong);}
@keyframes nfBob{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}
@media (prefers-reduced-motion:reduce){.nf-scrollcue{animation:none;opacity:1;}}

/* 介绍页按钮 */
.nf-btn{display:inline-block;padding:13px 30px;border-radius:32px;font-size:14px;font-weight:700;
  text-decoration:none;letter-spacing:1px;transition:transform .18s,box-shadow .25s,border-color .25s;cursor:pointer;}
.nf-btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#1a1206;box-shadow:0 8px 26px var(--glow);}
.nf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(255,150,60,0.5);}
.nf-btn-ghost{border:1px solid var(--border);color:var(--primary-strong);background:rgba(255,255,255,0.02);}
.nf-btn-ghost:hover{background:rgba(240,179,90,0.12);border-color:var(--primary);}

/* ---------- 章节节奏：留白分隔（替代密集火焰线） ---------- */
.nf-section-gap{height:var(--space-section);}

/* ---------- 定位金句（大号衬线，粗细对比的视觉锚点） ---------- */
.nf-statement{font-family:var(--serif);font-size:clamp(24px,5.5vw,36px);line-height:1.7;color:var(--text);
  font-weight:300;text-align:center;padding:14px 4px 0;letter-spacing:.5px;}
.nf-statement b{color:var(--primary-strong);font-weight:700;}
.nf-statement em{color:var(--primary);font-style:normal;font-weight:400;}

/* 创始人原话（精选，留白呈现） */
.nf-quotes{display:flex;flex-direction:column;gap:16px;margin-top:10px;}

/* ---------- 关于我们 · 三图标卡片（视觉化「表达与交还」） ---------- */
.nf-triad{display:grid;grid-template-columns:1fr;gap:18px;margin:34px 0 6px;}
.nf-triad .tri{position:relative;overflow:hidden;text-align:center;
  background:
    linear-gradient(160deg, rgba(46,34,20,0.55), rgba(18,16,28,0.42)),
    radial-gradient(130% 120% at 100% 0%, rgba(255,160,70,0.12), transparent 55%);
  border:1px solid var(--border);border-radius:18px;padding:30px 22px;
  box-shadow:var(--shadow);
  transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s,box-shadow .3s;}
.nf-triad .tri::before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.7;}
.nf-triad .tri:hover{transform:translateY(-6px);border-color:var(--border-strong);
  box-shadow:var(--shadow-hover),0 0 32px rgba(255,150,60,0.14);}
.nf-triad .tri .ico{font-size:34px;line-height:1;display:block;margin-bottom:14px;
  filter:drop-shadow(0 0 10px rgba(255,150,60,0.35));}
.nf-triad .tri .t-title{font-size:var(--fs-h3);font-weight:700;color:var(--primary-strong);margin:0 0 9px;letter-spacing:.3px;}
.nf-triad .tri .t-body{font-size:var(--fs-body);color:var(--text-light);line-height:1.9;}
@media (min-width:620px){.nf-triad{grid-template-columns:repeat(3,1fr);gap:20px;}}
.nf-quote{position:relative;background:linear-gradient(135deg,rgba(40,30,18,0.45),rgba(20,18,30,0.38));
  border-left:3px solid var(--primary-dark);border-radius:0 14px 14px 0;
  padding:18px 22px;font-family:var(--serif);font-size:16px;line-height:1.95;color:var(--text);font-style:italic;overflow:hidden;}
.nf-quote::before{content:"“";position:absolute;left:10px;top:-12px;font-size:46px;color:var(--primary);opacity:.4;font-family:var(--serif);}
.nf-quote .who{display:block;margin-top:8px;font-size:12px;font-style:normal;color:var(--faint);text-align:right;letter-spacing:1px;}

/* 支持卡片 */
.nf-support{text-align:center;}
.nf-support .nf-btn{margin-top:20px;}

/* ---------- 六个核心设计（升级版 · 工艺感卡片） ---------- */
.nf-design{
  position:relative;isolation:isolate;overflow:hidden;
  background:
    linear-gradient(160deg, rgba(46,34,20,0.55), rgba(18,16,28,0.42)),
    radial-gradient(130% 120% at 100% 0%, rgba(255,160,70,0.12), transparent 55%);
  border:1px solid var(--border);border-radius:18px;
  padding:30px 26px 28px;
  box-shadow:var(--shadow);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), border-color .3s, box-shadow .3s;
}
/* 顶部余火细线 */
.nf-design::before{
  content:"";position:absolute;left:18px;right:18px;top:0;height:2px;
  background:linear-gradient(90deg, transparent, var(--primary), transparent);
  opacity:.7;
}
/* 角落余火光晕 */
.nf-design::after{
  content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,160,70,0.18), transparent 70%);
  z-index:-1;opacity:.8;transition:opacity .35s, transform .35s;
}
/* 光泽扫过（悬停时） */
.nf-design .di-shine{
  position:absolute;inset:0;border-radius:18px;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,0.08) 48%, transparent 64%);
  transform:translateX(-130%);transition:transform .8s ease;
}
.nf-design:hover{
  transform:translateY(-6px);
  border-color:var(--border-strong);
  box-shadow:var(--shadow-hover), 0 0 32px rgba(255,150,60,0.14);
}
.nf-design:hover::after{opacity:1.3;transform:scale(1.15);}
.nf-design:hover .di-shine{transform:translateX(130%);}

.nf-design .di-no{
  position:relative;width:44px;height:44px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:19px;color:#1a1206;font-weight:700;margin-bottom:14px;
  background:linear-gradient(135deg,var(--primary-strong),var(--primary-dark));
  box-shadow:0 6px 18px var(--glow), inset 0 1px 0 rgba(255,255,255,0.45);
}
.nf-design .di-no::after{
  content:"";position:absolute;inset:-5px;border-radius:16px;
  border:1px solid rgba(255,200,120,0.35);
}
.nf-design .di-title{font-size:var(--fs-h3);font-weight:700;color:var(--primary-strong);margin:0 0 9px;letter-spacing:.3px;}
.nf-design .di-body{font-size:var(--fs-body);color:var(--text-light);line-height:1.95;}

/* ---------- 核心设计 · 展板轮播 ---------- */
.nf-board{margin-top:18px;}
.nf-board-stage{position:relative;display:flex;align-items:stretch;gap:14px;}
.nf-board-viewport{position:relative;flex:1;overflow:hidden;border-radius:20px;}
.nf-board-track{display:flex;transition:transform .55s cubic-bezier(.22,.7,.25,1);will-change:transform;}
.nf-board-track.no-anim{transition:none;}
.nf-board-slide{flex:0 0 100%;box-sizing:border-box;min-height:236px;display:flex;flex-direction:column;justify-content:center;}
.nf-board-slide.nf-design:hover{transform:none;}
.nf-board-nav{
  flex:0 0 auto;align-self:center;width:48px;height:48px;border-radius:50%;
  border:1px solid var(--border-strong);
  background:linear-gradient(160deg, rgba(46,34,20,0.62), rgba(18,16,28,0.52));
  color:var(--primary-strong);font-size:27px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:var(--shadow);user-select:none;
  transition:transform .25s,border-color .25s,box-shadow .25s,opacity .25s;
}
.nf-board-nav:hover{transform:scale(1.09);border-color:var(--primary);box-shadow:var(--shadow-hover),0 0 22px rgba(255,150,60,0.2);}
.nf-board-nav:active{transform:scale(.95);}
.nf-board-nav:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.nf-board-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:0 4px;gap:16px;}
.nf-board-dots{display:flex;gap:11px;flex-wrap:wrap;}
.nf-board-dot{width:9px;height:9px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(232,178,110,0.28);transition:background .3s,transform .3s,box-shadow .3s;}
.nf-board-dot:hover{background:rgba(232,178,110,0.5);}
.nf-board-dot:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.nf-board-dot.active{background:var(--primary);transform:scale(1.4);box-shadow:0 0 12px var(--glow);}
.nf-board-count{font-family:var(--serif);color:var(--text-light);font-size:14px;letter-spacing:1px;white-space:nowrap;}
.nf-board-count #boardCur{color:var(--primary-strong);font-size:19px;font-weight:700;}
.nf-board-sep{margin:0 5px;opacity:.55;}
@media (max-width:560px){
  .nf-board-nav{width:40px;height:40px;font-size:22px;}
  .nf-board-stage{gap:8px;}
  .nf-board-slide{min-height:262px;}
  .nf-board-foot{flex-direction:column;align-items:flex-start;gap:12px;}
}
@media (prefers-reduced-motion:reduce){
  .nf-board-track{transition:none !important;}
  .nf-board-nav{transition:none !important;}
  .nf-board-dot{transition:none !important;}
}

/* ---------- 理想场景 · 手绘分镜轮播 ---------- */
.vision-board{margin-top:18px;}
.vision-stage{position:relative;display:flex;align-items:stretch;gap:14px;}
.vision-viewport{position:relative;flex:1;overflow:hidden;border-radius:18px;}
.vision-track{display:flex;transition:transform .55s cubic-bezier(.22,.7,.25,1);will-change:transform;}
.vision-track.no-anim{transition:none;}
.vision-slide{flex:0 0 100%;box-sizing:border-box;padding:0 4px;display:flex;flex-direction:column;align-items:center;}
.vision-card{position:relative;background:linear-gradient(155deg,#fdfcf8,#f4f1ea);border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,0.18),0 2px 4px rgba(0,0,0,0.08);padding:14px;transform:rotate(-0.8deg);transition:transform .45s;}
.vision-slide:nth-child(even) .vision-card{transform:rotate(0.8deg);}
.vision-card img{display:block;width:100%;max-width:420px;height:auto;border-radius:10px;background:#e8e5df;}
.vision-no{position:absolute;left:-6px;top:-8px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;font-weight:700;color:#4a3c2a;background:var(--primary);box-shadow:0 3px 10px rgba(0,0,0,0.18);z-index:2;}
.vision-cap{max-width:520px;margin:22px auto 0;text-align:center;font-size:var(--fs-body);line-height:1.85;color:var(--text);padding:0 10px;}
.vision-sub{display:block;margin-top:8px;font-size:13px;color:var(--text-light);line-height:1.65;}
.vision-cap strong{color:var(--primary-strong);font-weight:700;}
.vision-dx{display:block;margin-top:10px;font-style:italic;color:var(--text);opacity:.9;}
.vision-shot{display:block;margin-top:6px;font-size:13px;color:var(--text-light);letter-spacing:.5px;}
.vision-nav{flex:0 0 auto;align-self:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--border-strong);background:linear-gradient(160deg,rgba(46,34,20,0.62),rgba(18,16,28,0.52));color:var(--primary-strong);font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);user-select:none;transition:transform .25s,border-color .25s,box-shadow .25s,opacity .25s;}
.vision-nav:hover{transform:scale(1.09);border-color:var(--primary);box-shadow:var(--shadow-hover),0 0 22px rgba(255,150,60,0.2);}
.vision-nav:active{transform:scale(.95);}
.vision-nav:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.vision-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:0 4px;gap:16px;}
.vision-dots{display:flex;gap:11px;flex-wrap:wrap;}
.vision-dot{width:9px;height:9px;border-radius:50%;border:none;cursor:pointer;padding:0;background:rgba(232,178,110,0.28);transition:background .3s,transform .3s,box-shadow .3s;}
.vision-dot:hover{background:rgba(232,178,110,0.5);}
.vision-dot:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.vision-dot.active{background:var(--primary);transform:scale(1.4);box-shadow:0 0 12px var(--glow);}
.vision-count{font-family:var(--serif);color:var(--text-light);font-size:14px;letter-spacing:1px;white-space:nowrap;}
.vision-count #visionCur{color:var(--primary-strong);font-size:19px;font-weight:700;}
.vision-sep{margin:0 5px;opacity:.55;}
.vision-video{margin-top:32px;border-radius:18px;overflow:hidden;position:relative;background:linear-gradient(160deg,rgba(30,24,40,0.72),rgba(18,16,28,0.82));border:1px solid var(--border);box-shadow:var(--shadow);}
.vision-video-inner{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;}
.vision-play{width:62px;height:62px;border-radius:50%;border:1px solid var(--border-strong);background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;cursor:not-allowed;opacity:.7;}
.vision-play-ico{font-size:22px;color:var(--primary-strong);margin-left:3px;}
.vision-video-tag{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);margin-top:14px;}
.vision-video-state{font-family:var(--serif);font-size:var(--fs-h3);color:var(--primary-strong);margin-top:4px;}
.vision-video-note{max-width:540px;margin:12px auto 0;font-size:14px;line-height:1.75;color:var(--text-light);opacity:.9;}
@media (max-width:640px){
  .vision-nav{width:40px;height:40px;font-size:22px;}
  .vision-stage{gap:8px;}
  .vision-card{padding:10px;}
  .vision-cap{font-size:14px;line-height:1.75;}
  .vision-foot{flex-direction:column;align-items:flex-start;gap:12px;}
}
@media (prefers-reduced-motion:reduce){
  .vision-track{transition:none !important;}
  .vision-nav{transition:none !important;}
  .vision-dot{transition:none !important;}
  .vision-card{transition:none !important;}
}

/* ---------- 产品愿景时间线 ---------- */
.nf-timeline{position:relative;margin:24px 0 4px;padding-left:36px;}
.nf-timeline::before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:2px;
  background:linear-gradient(180deg,var(--primary),rgba(217,131,53,0.10));box-shadow:0 0 12px var(--glow);}
.nf-tl-item{position:relative;margin:0 0 30px;background:linear-gradient(155deg,rgba(46,34,20,0.5),rgba(18,16,28,0.4));
  border:1px solid var(--border);border-radius:16px;padding:22px 22px 20px;backdrop-filter:blur(10px);
  transition:transform .25s,border-color .25s,box-shadow .25s;}
.nf-tl-item::before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.45;}
.nf-tl-item:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-hover);}
.nf-tl-item:last-child{margin-bottom:0;}
.nf-tl-dot{position:absolute;left:-34px;top:26px;width:20px;height:20px;border-radius:50%;
  background:radial-gradient(circle,var(--primary-strong),var(--primary-dark) 72%);
  box-shadow:0 0 14px 3px var(--glow);border:3px solid var(--bg);}
.nf-tl-stage{font-family:var(--sans);font-size:var(--fs-small);letter-spacing:2px;text-transform:uppercase;
  color:var(--primary);margin-bottom:6px;font-weight:600;}
.nf-tl-head{font-family:var(--serif);font-size:var(--fs-h3);font-weight:700;color:var(--primary-strong);margin:0 0 8px;}
.nf-tl-body{font-size:var(--fs-body);color:var(--text-light);line-height:1.95;}
.nf-tl-body b{color:var(--text);font-weight:600;}
.nf-tl-body em{color:var(--primary-strong);font-style:normal;}
.nf-tl-tag{display:inline-block;margin:12px 7px 0 0;font-size:11.5px;color:var(--primary);
  border:1px solid var(--border);border-radius:20px;padding:4px 11px;background:var(--primary-soft);}

/* ---------- 合规 · e签宝 ---------- */
.nf-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.nf-status{font-size:11.5px;padding:5px 12px;border-radius:20px;letter-spacing:.5px;white-space:nowrap;font-family:var(--sans);}
.nf-status-plan{color:var(--warning,#ffcf7a);border:1px solid rgba(255,207,122,0.4);background:rgba(255,207,122,0.1);}
.nf-dot-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.nf-dot{position:relative;font-size:var(--fs-small);color:var(--text-light);border:1px solid var(--border);
  border-radius:12px;padding:13px 15px 13px 17px;background:linear-gradient(155deg,rgba(46,34,20,0.5),rgba(20,18,28,0.36));line-height:1.65;flex:1 1 220px;
  transition:transform .2s,border-color .2s,box-shadow .2s;}
.nf-dot::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,var(--primary),var(--primary-dark));box-shadow:0 0 8px var(--glow);}
.nf-dot:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-hover);}
.nf-dot b{color:var(--primary-strong);font-weight:600;display:block;font-size:14px;margin-bottom:3px;letter-spacing:.5px;}
.nf-sig-path{display:flex;align-items:stretch;gap:10px;margin-top:18px;flex-wrap:wrap;}
.nf-sig-step{position:relative;overflow:hidden;flex:1 1 240px;border:1px solid var(--border);border-radius:14px;padding:16px 18px;
  background:linear-gradient(155deg,rgba(46,34,20,0.5),rgba(20,18,28,0.36));transition:border-color .2s,box-shadow .2s;}
.nf-sig-step::before{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.5;}
.nf-sig-step:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover);}
.nf-sig-tag{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:16px;margin-bottom:8px;letter-spacing:.5px;}
.nf-sig-tag.now{color:#1a1206;background:linear-gradient(135deg,var(--primary),var(--primary-dark));}
.nf-sig-tag.plan{color:var(--primary-strong);border:1px solid var(--border-strong);background:rgba(255,150,60,0.08);}
.nf-sig-body{font-size:var(--fs-small);color:var(--text-light);line-height:1.85;}
.nf-sig-body em{color:var(--primary-strong);font-style:normal;}
.nf-sig-arrow{display:flex;align-items:center;color:var(--primary);font-size:20px;font-weight:700;}
@media (max-width:560px){.nf-sig-arrow{transform:rotate(90deg);}}
.nf-compliance .nf-note{font-size:var(--fs-small);color:var(--faint);margin-top:14px;line-height:1.8;}
.nf-compliance .nf-note a{color:var(--primary-strong);}

/* ---------- 意向登记表单 ---------- */
.nf-lead label{display:block;font-size:var(--fs-small);color:var(--primary);margin:18px 0 8px;font-weight:600;letter-spacing:.5px;}
.nf-lead input[type=text],.nf-lead input[type=tel],.nf-lead input[type=email],.nf-lead textarea{
  width:100%;box-sizing:border-box;padding:13px 15px;border:1px solid var(--border);
  border-radius:12px;font-size:var(--fs-body);font-family:inherit;background:rgba(10,12,20,0.6);
  color:var(--text);transition:border-color .2s,box-shadow .2s;}
.nf-lead input:focus,.nf-lead textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,150,60,0.14);}
.nf-lead textarea{min-height:96px;resize:vertical;}
.nf-pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px;}
.nf-form-note{font-size:12.5px;color:var(--faint);line-height:1.8;margin:10px 2px 0;padding:10px 12px;border-left:3px solid var(--primary);background:rgba(240,179,90,.07);border-radius:0 8px 8px 0;}
.nf-chk{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-small);color:var(--text-light);
  cursor:pointer;padding:9px 15px;border:1px solid var(--border);border-radius:22px;
  background:rgba(10,12,20,0.5);transition:all .2s;}
.nf-chk:hover{border-color:var(--primary);color:var(--primary-strong);}
.nf-chk input{accent-color:var(--primary-dark);}
.nf-submit{width:100%;margin-top:22px;padding:15px;border:none;border-radius:13px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#1a1206;
  font-size:15px;font-weight:700;letter-spacing:2px;cursor:pointer;
  box-shadow:0 8px 26px var(--glow);transition:transform .18s,box-shadow .25s;}
.nf-submit:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(255,150,60,0.45);}
.nf-lead-msg{font-size:var(--fs-small);text-align:center;margin-top:15px;min-height:18px;}
.nf-lead-msg.ok{color:var(--success);}
.nf-lead-msg.err{color:var(--danger);}
.nf-lead-msg a{color:var(--primary-strong);text-decoration:underline;}

/* 页脚 */
.nf-footer{text-align:center;font-size:12px;color:var(--faint);line-height:2;margin-top:40px;}
.nf-footer b{color:var(--text-light);font-weight:500;}

/* ---------- 实时数据 ---------- */
.nf-stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:6px 0 4px;}
.nf-stat{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(46,34,20,0.5),rgba(18,16,28,0.4));
  border:1px solid var(--border);border-radius:14px;padding:16px 14px;text-align:center;
  transition:transform .25s,border-color .25s,box-shadow .25s;}
.nf-stat::before{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.5;}
.nf-stat:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-hover);}
.nf-stat .num{font-family:var(--serif);font-size:27px;font-weight:700;color:var(--primary-strong);line-height:1.1;text-shadow:0 0 16px var(--glow);}
.nf-stat .lab{font-size:12px;color:var(--text-light);margin-top:6px;letter-spacing:.5px;}
.nf-stat.wide{grid-column:span 2;}
.nf-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.nf-chart-box{background:var(--card-solid);border:1px solid var(--border);border-radius:14px;padding:14px;backdrop-filter:blur(10px);}
.nf-chart-box h4{font-family:var(--serif);font-size:14px;color:var(--primary-strong);margin:0 0 10px;font-weight:600;}
.nf-chart-box canvas{max-width:100%;}
.nf-donor-feed{margin-top:18px;background:var(--card-solid);border:1px solid var(--border);border-radius:14px;padding:16px;backdrop-filter:blur(10px);}
.nf-donor-feed h4{font-family:var(--serif);font-size:14px;color:var(--primary-strong);margin:0 0 12px;font-weight:600;}
.nf-donor{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--border);font-size:13px;color:var(--text-light);}
.nf-donor:last-child{border-bottom:none;}
.nf-donor .amt{font-family:var(--serif);font-weight:700;color:var(--primary);font-size:15px;min-width:54px;}
.nf-donor .msg{flex:1;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nf-donor .time{color:var(--faint);font-size:11.5px;white-space:nowrap;}
.nf-empty{font-size:13px;color:var(--faint);text-align:center;padding:18px 0;}
.nf-data-note{font-size:12px;color:var(--faint);margin-top:14px;text-align:center;}
@media (max-width:560px){.nf-charts{grid-template-columns:1fr;}}

/* 滚动揭示 */
.reveal{opacity:0;transform:translateY(30px);filter:blur(6px);
  transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1),filter .8s ease;}
.reveal.in{opacity:1;transform:none;filter:none;}

/* ---------- 品牌标志 / 信任行（界面升级） ---------- */
.nf-logo-mark{height:22px;width:22px;vertical-align:-4px;margin-right:7px;filter:drop-shadow(0 0 6px rgba(255,150,60,0.45));}
.nf-mark{display:block;width:96px;height:96px;margin:0 auto 6px;
  animation:nfMarkIn 1.2s .05s cubic-bezier(.2,.7,.3,1) both, nfMarkFloat 6s 1.3s ease-in-out infinite;}
@keyframes nfMarkIn{from{opacity:0;transform:scale(.6) rotate(-8deg);}to{opacity:1;transform:none;}}
@keyframes nfMarkFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.nf-trust{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px;
  font-size:13px;letter-spacing:2px;color:var(--text-light);
  opacity:0;animation:nfHeroIn 1.1s 1.05s forwards cubic-bezier(.2,.7,.3,1);}
.nf-trust i{width:4px;height:4px;border-radius:50%;background:var(--primary);opacity:.5;display:inline-block;}

/* ---------- 流体渐变极光（潮流感背景） ---------- */
.nf-aurora{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.nf-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;mix-blend-mode:screen;
  animation:nfFloat 20s ease-in-out infinite;will-change:transform;}
.nf-blob.b1{width:46vw;height:46vw;left:-12vw;top:-10vw;
  background:radial-gradient(circle,rgba(255,140,60,.55),transparent 62%);}
.nf-blob.b2{width:42vw;height:42vw;right:-14vw;top:34vh;
  background:radial-gradient(circle,rgba(255,86,120,.32),transparent 62%);animation-delay:-7s;}
.nf-blob.b3{width:40vw;height:40vw;left:18vw;bottom:-14vw;
  background:radial-gradient(circle,rgba(120,96,255,.30),transparent 62%);animation-delay:-13s;}
@keyframes nfFloat{0%,100%{transform:translate3d(0,0,0) scale(1);}
  33%{transform:translate3d(4vw,3vh,0) scale(1.08);}
  66%{transform:translate3d(-3vw,-2vh,0) scale(.95);}}

/* ---------- 创始人是谁 ---------- */
.nf-founder{display:grid;grid-template-columns:1fr;gap:26px;margin-top:30px;align-items:center;
  background:linear-gradient(155deg,rgba(46,34,20,0.5),rgba(18,16,28,0.4));
  border:1px solid var(--border);border-radius:22px;padding:30px 26px;backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);}
.nf-fd-avatar{position:relative;width:140px;height:140px;margin:0 auto;flex:none;}
.nf-fd-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;padding:14px;
  background:radial-gradient(circle,rgba(255,160,70,.18),transparent 70%);
  filter:drop-shadow(0 0 16px rgba(255,150,60,.4));}
.nf-fd-ring{position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(240,179,90,.45);
  box-shadow:0 0 22px rgba(255,150,60,.2) inset;pointer-events:none;}
.nf-fd-name{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--primary-strong);letter-spacing:1px;}
.nf-fd-role{font-size:var(--fs-small);color:var(--primary);letter-spacing:2px;margin-top:4px;margin-bottom:14px;text-transform:uppercase;}
.nf-fd-bio{font-size:var(--fs-body);color:var(--text-light);line-height:2;margin:0 0 12px;}
.nf-fd-contact{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.nf-fd-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-small);font-weight:600;
  color:var(--primary-strong);text-decoration:none;padding:9px 16px;border:1px solid var(--border);
  border-radius:24px;background:rgba(10,12,20,.5);transition:all .2s;}
.nf-fd-link:hover{border-color:var(--primary);background:rgba(240,179,90,.12);transform:translateY(-2px);}
.nf-ico{width:16px;height:16px;flex:none;}
.nf-fd-cta{display:inline-block;margin-top:20px;font-size:15px;font-weight:600;color:var(--primary-strong);
  text-decoration:none;padding:11px 22px;border-radius:26px;border:1px solid var(--primary);
  background:linear-gradient(135deg,rgba(240,179,90,.18),rgba(240,179,90,.04));transition:all .2s;}
.nf-fd-cta:hover{border-color:var(--primary-strong);background:rgba(240,179,90,.22);transform:translateY(-2px);}
@media(min-width:680px){
  .nf-founder{grid-template-columns:160px 1fr;gap:30px;padding:34px 32px;text-align:left;}
  .nf-fd-avatar{margin:0;}
}
.nf-tl-note{text-align:center;font-size:13.5px;color:var(--faint);margin:26px auto 0;max-width:560px;line-height:1.9;
  border-top:1px dashed var(--border);padding-top:18px;}

/* ---------- 信任背书墙 ---------- */
.nf-trust-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:30px;}
.nf-trust-card{position:relative;overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(160deg,rgba(46,34,20,0.55),rgba(18,16,28,0.42));
  border:1px solid var(--border);border-radius:18px;padding:26px 22px 22px;
  box-shadow:var(--shadow);text-decoration:none;color:inherit;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s,box-shadow .3s;}
.nf-trust-card::before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.6;}
.nf-trust-card:hover{transform:translateY(-6px);border-color:var(--border-strong);
  box-shadow:var(--shadow-hover),0 0 32px rgba(255,150,60,.14);}
.nf-tc-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;color:var(--primary-strong);
  background:linear-gradient(135deg,rgba(255,160,70,.16),rgba(255,160,70,.04));
  border:1px solid var(--border);}
.nf-tc-ico svg{width:24px;height:24px;}
.nf-tc-title{font-family:var(--serif);font-size:var(--fs-h3);font-weight:700;color:var(--primary-strong);margin:0 0 8px;letter-spacing:.3px;}
.nf-tc-body{font-size:var(--fs-small);color:var(--text-light);line-height:1.85;flex:1;}
.nf-tc-more{margin-top:14px;font-size:12px;letter-spacing:1px;color:var(--primary);font-weight:600;}
.nf-trust-card:hover .nf-tc-more{color:var(--primary-strong);}
@media(min-width:560px){.nf-trust-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:880px){.nf-trust-grid{grid-template-columns:repeat(3,1fr);}}

/* ---------- 三图标卡片 SVG ---------- */
.nf-triad .tri .ico svg{width:34px;height:34px;display:block;margin:0 auto;
  filter:drop-shadow(0 0 10px rgba(255,150,60,.35));}

/* ---------- 玻璃拟态升级：已有卡片加轻磨砂 ---------- */
.nf-design,.nf-tl-item{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;filter:none;transition:none;}
  .nf-brand,.nf-sub,.nf-tag,.nf-cta,.nf-mark{opacity:1;transform:none;animation:none;}
  .nf-blob{animation:none;}
}

/* ============================================================
   生长之树 · 数据可视化
   ============================================================ */
.nf-tree-wrap{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:40px;}
.nf-tree-stage{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-light);}
.nf-tree-stage .era-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:1px;}
.nf-tree-stage .era-0{background:rgba(143,188,143,.15);color:#8FBC8F;border:1px solid rgba(143,188,143,.3);}
.nf-tree-stage .era-1{background:rgba(126,183,127,.15);color:#7EB77F;border:1px solid rgba(126,183,127,.3);}
.nf-tree-stage .era-2{background:rgba(240,179,90,.15);color:#f0b35a;border:1px solid rgba(240,179,90,.3);}
.nf-tree-stage .era-3{background:rgba(232,168,124,.15);color:#E8A87C;border:1px solid rgba(232,168,124,.3);}
.nf-tree-svg-box{position:relative;width:100%;max-width:440px;}
.nf-tree-svg{width:100%;height:auto;display:block;overflow:visible;}
.nf-tree-svg .tree-sway{transform-origin:200px 290px;animation:tree-sway 6s ease-in-out infinite;}
@keyframes tree-sway{0%,100%{transform:rotate(-.4deg);}50%{transform:rotate(.4deg);}}
.nf-tree-svg .leaf{animation:leaf-fade .8s ease-out both;}
.nf-tree-svg .fruit{animation:fruit-glow 3s ease-in-out infinite;}
@keyframes leaf-fade{from{opacity:0;transform:scale(0);}to{opacity:1;transform:scale(1);}}
@keyframes fruit-glow{0%,100%{filter:drop-shadow(0 0 3px rgba(232,168,124,.5));}50%{filter:drop-shadow(0 0 8px rgba(232,168,124,.8));}}
.nf-tree-svg .ground{fill:url(#ground-grad);}
.nf-tree-svg .trunk{stroke:url(#trunk-grad);stroke-linecap:round;fill:none;}
.nf-tree-svg .root{stroke:#4A4035;stroke-linecap:round;fill:none;opacity:.5;}
.nf-tree-svg .seed-dot{fill:#8FBC8F;filter:drop-shadow(0 0 6px rgba(143,188,143,.6));}
.nf-tree-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.nf-tree-particles span{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(232,168,124,.4);animation:particle-float linear infinite;}
@keyframes particle-float{0%{transform:translateY(0) translateX(0);opacity:0;}10%{opacity:.6;}90%{opacity:.4;}100%{transform:translateY(-200px) translateX(20px);opacity:0;}}
.nf-tree-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;margin-top:8px;}
.nf-tree-legend .lg-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-light);}
.nf-tree-legend .lg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.nf-tree-legend .lg-trunk{background:#8B7355;}
.nf-tree-legend .lg-leaf{background:#7EB77F;}
.nf-tree-legend .lg-fruit{background:#E8A87C;box-shadow:0 0 6px rgba(232,168,124,.5);}
.nf-tree-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;}
.nf-tree-stats .ts-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 20px;text-align:center;min-width:100px;}
.nf-tree-stats .ts-num{font-size:24px;font-weight:700;color:var(--primary-strong);}
.nf-tree-stats .ts-lab{font-size:12px;color:var(--text-light);margin-top:4px;}
/* 加权值/参与度用金色描边强调 */
.nf-tree-stats .ts-card-weighted{background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(184,134,11,.05));border-color:rgba(212,175,55,.4);}
.nf-tree-stats .ts-card-weighted .ts-num{color:#FFD56A;}
.nf-tree-stats .ts-card-engagement{background:linear-gradient(135deg,rgba(126,183,127,.10),rgba(91,157,107,.04));border-color:rgba(126,183,127,.4);}
.nf-tree-stats .ts-card-engagement .ts-num{color:#A8D5AB;}
.nf-tree-legend .lg-rule{font-size:12px;color:var(--text-light);width:100%;justify-content:center;margin-top:2px;gap:6px;}
.nf-tree-legend .lg-rule b{color:var(--primary-strong);font-weight:600;letter-spacing:.5px;}
.nf-tree-scale{font-size:12px;color:var(--faint);text-align:center;margin-top:8px;}

/* ============ 参与流程图（6 步） ============ */
.nf-flow{margin:24px 0 30px;padding:24px 18px 18px;background:linear-gradient(155deg,rgba(46,34,20,.35),rgba(18,16,28,.5));border:1px solid var(--border);border-radius:16px;}
.nf-flow .flow-title{font-family:var(--serif);font-size:13px;color:var(--primary-strong);letter-spacing:1.5px;text-align:center;margin-bottom:20px;font-weight:600;}
.nf-flow .flow-track{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;}
.nf-flow .flow-step{flex:1 1 130px;max-width:160px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 10px 12px;text-align:center;position:relative;transition:all .3s;}
.nf-flow .flow-step:hover{transform:translateY(-3px);border-color:rgba(212,175,55,.5);background:rgba(212,175,55,.05);}
.nf-flow .flow-step-final{background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(184,134,11,.04));border-color:rgba(212,175,55,.5);}
.nf-flow .flow-step-final:hover{background:linear-gradient(135deg,rgba(212,175,55,.20),rgba(184,134,11,.08));}
.nf-flow .flow-no{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:24px;height:24px;line-height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#1a1206;font-weight:700;font-size:13px;font-family:var(--sans);}
.nf-flow .flow-step-final .flow-no{box-shadow:0 0 12px rgba(212,175,55,.6);}
.nf-flow .flow-ico{font-size:26px;margin:6px 0 4px;line-height:1;}
.nf-flow .flow-h{font-family:var(--serif);font-size:14px;font-weight:600;color:var(--primary-strong);margin:4px 0 2px;}
.nf-flow .flow-b{font-size:11px;color:var(--text-light);line-height:1.5;}
.nf-flow .flow-arrow{display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--primary);opacity:.5;flex:0 0 auto;min-width:18px;}
.nf-flow .flow-hint{text-align:center;font-size:13px;color:var(--text-light);margin-top:18px;letter-spacing:.5px;}
.nf-flow .flow-hint::before{content:"▸ ";color:var(--primary);font-weight:bold;}
@media (max-width:720px){
  .nf-flow .flow-track{gap:14px;}
  .nf-flow .flow-arrow{transform:rotate(90deg);width:100%;}
  .nf-flow .flow-step{max-width:48%;flex:1 1 42%;}
}

/* 滑动桌板：留言墙（横向 marquee） */
.nf-ticker{margin-top:18px;background:linear-gradient(155deg,rgba(46,34,20,0.45),rgba(18,16,28,0.55));
  border:1px solid var(--border);border-radius:14px;padding:14px 0 18px;overflow:hidden;position:relative;}
.nf-ticker::before,.nf-ticker::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:2;pointer-events:none;}
.nf-ticker::before{left:0;background:linear-gradient(90deg,rgba(8,10,18,0.92),transparent);}
.nf-ticker::after{right:0;background:linear-gradient(-90deg,rgba(8,10,18,0.92),transparent);}
.nf-ticker-head{display:flex;justify-content:space-between;align-items:center;padding:0 22px 10px;}
.nf-ticker-head h4{margin:0;font-family:var(--serif);font-size:14px;color:var(--primary-strong);font-weight:600;}
.nf-ticker-head .ti-hint{font-size:11px;color:var(--faint);font-family:var(--sans);letter-spacing:.5px;}
.nf-ticker-track{display:flex;gap:14px;padding:0 22px;
  animation:nfMarquee 55s linear infinite;will-change:transform;}
.nf-ticker:hover .nf-ticker-track{animation-play-state:paused;}
@keyframes nfMarquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.nf-tcard{flex:0 0 240px;padding:14px 16px;background:rgba(8,10,18,0.55);
  border:1px solid var(--border);border-radius:12px;transition:border-color .2s ease, transform .2s ease;}
.nf-tcard:hover{border-color:var(--primary);transform:translateY(-2px);}
.nf-tcard-msg{font-family:var(--serif);font-size:13.5px;line-height:1.75;color:var(--text);
  margin-bottom:10px;min-height:42px;word-break:break-word;}
.nf-tcard-msg.empty{color:var(--faint);font-style:italic;}
.nf-tcard-foot{display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:var(--faint);font-family:var(--sans);}
.nf-tcard-amt{color:var(--primary-strong);font-weight:700;font-family:var(--serif);font-size:13px;letter-spacing:.5px;}
@media (prefers-reduced-motion:reduce){.nf-ticker-track{animation:none;flex-wrap:wrap;justify-content:center;}}
@media (prefers-reduced-motion:reduce){
  .nf-tree-svg .tree-sway{animation:none;}
  .nf-tree-svg .fruit{animation:none;}
  .nf-tree-particles{display:none;}
}
