/* ============================================================
   正知云官网样式（Phase 1）
   视觉方向：深墨绿渐变 + 翡翠绿主色 + 暖金高亮（与 docs/marketing 推文科技风一致）
   工程红线：内容 SSR 直出；动效渐进增强；prefers-reduced-motion 降级；无中文 webfont
   ============================================================ */
:root{
  --emerald:#059669;
  --emerald-bright:#10b981;
  --emerald-glow:#34d399;
  --ink-0:#022c22;
  --ink-1:#064e3b;
  --ink-2:#065f46;
  --gold:#fbbf24;
  --cream:#faf8f2;
  --cream-2:#f3efe4;
  --ink-text:#0f2e25;
  --ink-sub:#3f5c52;
  --mono:"SF Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,"Courier New",monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--ink-text);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:var(--ink-0);}

/* ============ 导航 ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1.2rem,4vw,3.5rem);
  transition:background .4s ease,box-shadow .4s ease,padding .4s ease;
}
/* 非首页（无深色 Hero）导航默认即深色态，避免浅色字看不清 */
body:not(.home) .nav:not(.scrolled){
  background:rgba(2,44,34,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.nav.scrolled{
  background:rgba(2,44,34,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(52,211,153,.15);
  padding:.7rem clamp(1.2rem,4vw,3.5rem);
}
.nav-logo{
  font-size:1.25rem;font-weight:700;letter-spacing:.12em;color:#ecfdf5;
  text-decoration:none;display:flex;align-items:center;gap:.55rem;
}
.nav-logo .pulse-dot{
  width:10px;height:10px;border-radius:50%;
  background:var(--emerald-glow);
  box-shadow:0 0 8px var(--emerald-glow),0 0 20px rgba(52,211,153,.5);
  animation:pulseDot 2.4s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.35);opacity:.75;}
}
.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.4rem);list-style:none;}
.nav-links a{
  color:#a7c9bb;text-decoration:none;font-size:.92rem;letter-spacing:.08em;
  transition:color .25s;
}
.nav-links a:hover{color:#ecfdf5;}
.btn-cta{
  display:inline-block;background:var(--gold);color:var(--ink-0)!important;
  font-weight:700;padding:.55rem 1.4rem;border-radius:999px;
  letter-spacing:.06em;font-size:.9rem!important;
  box-shadow:0 0 0 rgba(251,191,36,0);
  transition:box-shadow .3s,transform .3s;
}
.btn-cta:hover{
  box-shadow:0 0 24px rgba(251,191,36,.45);
  transform:translateY(-1px);
}
.nav-toggle{display:none;}
@media (max-width:760px){
  .nav-links li:not(.nav-cta-li){display:none;}
}

/* ============ Hero ============ */
.hero{
  position:relative;min-height:100svh;
  background:linear-gradient(160deg,var(--ink-0) 0%,var(--ink-1) 52%,var(--ink-2) 100%);
  display:flex;flex-direction:column;justify-content:center;
  overflow:hidden;color:#ecfdf5;
}
#neural-canvas{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;pointer-events:none;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 42%,transparent 40%,rgba(2,44,34,.55) 100%);
}
.hero-inner{
  position:relative;z-index:2;
  padding:clamp(6rem,12vh,9rem) clamp(1.4rem,6vw,6rem) 0;
  max-width:1200px;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.78rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--emerald-glow);
  border:1px solid rgba(52,211,153,.35);
  padding:.5rem 1.1rem .5rem 1.3rem;border-radius:999px;
  margin-bottom:clamp(1.4rem,3vh,2.4rem);
  background:rgba(6,78,59,.35);
}
.hero-tag::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 8px var(--gold);
}
.hero-title{
  font-size:clamp(2.6rem,7.2vw,6rem);
  line-height:1.12;font-weight:800;
  letter-spacing:.01em;
  max-width:16em;
}
.hero-title .gold{color:var(--gold);}
.hero-title .dim{color:#8fb8a8;}
.hero-title .line{display:block;overflow:hidden;}
.hero-title .line>span{display:inline-block;}
.hero-sub{
  margin-top:clamp(1.4rem,3vh,2.2rem);
  font-size:clamp(1rem,1.6vw,1.2rem);
  color:#b9d6cb;max-width:34em;line-height:1.85;
}
.hero-actions{
  margin-top:clamp(1.8rem,4vh,2.8rem);
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;
}
.btn-hero-cta{
  background:var(--gold);color:var(--ink-0);text-decoration:none;
  font-weight:800;font-size:1.02rem;letter-spacing:.08em;
  padding:.95rem 2.3rem;border-radius:999px;
  box-shadow:0 4px 30px rgba(251,191,36,.28);
  transition:transform .3s,box-shadow .3s;
}
.btn-hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 40px rgba(251,191,36,.5);}
.btn-hero-ghost{
  color:#d3e9e0;text-decoration:none;font-size:.98rem;letter-spacing:.1em;
  padding:.95rem 1.6rem;border:1px solid rgba(167,201,187,.4);border-radius:999px;
  transition:border-color .3s,color .3s;
}
.btn-hero-ghost:hover{border-color:var(--emerald-glow);color:#fff;}

/* 情绪曲线 */
.mood-curve-wrap{
  position:relative;z-index:2;
  margin-top:clamp(2rem,6vh,4rem);
  padding:0 clamp(1.4rem,6vw,6rem) clamp(2.2rem,5vh,3.5rem);
}
.mood-curve-labels{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;
  color:#7aa595;margin-bottom:.4rem;
}
.mood-curve-labels .to{color:var(--emerald-glow);}
.mood-curve{width:100%;height:auto;display:block;}

/* ============ 痛点/数据条 ============ */
.pain{
  background:var(--cream);
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}
.section-kicker{
  font-size:.75rem;letter-spacing:.5em;color:var(--emerald);
  font-weight:700;margin-bottom:1.2rem;text-transform:uppercase;
}
.section-kicker.light{color:var(--emerald-glow);}
.pain-lead{
  font-size:clamp(1.5rem,3.4vw,2.6rem);font-weight:800;line-height:1.45;
  max-width:22em;
}
.pain-lead .gold{
  color:#b45309;background:linear-gradient(transparent 62%,rgba(251,191,36,.55) 62%);
}
.stats-row{
  margin-top:clamp(2.4rem,6vh,4rem);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.2rem;
}
.stat-card{
  background:#fff;border:1px solid #e8e2d2;border-radius:20px;
  padding:1.8rem 1.6rem;
  transition:transform .35s ease,box-shadow .35s ease;
}
.stat-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,78,59,.10);}
.stat-num{
  font-family:var(--mono);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;
  color:var(--emerald);font-variant-numeric:tabular-nums;
}
.stat-num .unit{font-size:.45em;color:#b45309;font-weight:800;}
.stat-label{margin-top:.6rem;color:var(--ink-sub);font-size:.95rem;line-height:1.7;}

/* ============ Bento ============ */
.features{
  background:var(--cream-2);
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}
.features-head{max-width:1200px;margin:0 auto clamp(2.2rem,5vh,3.4rem);}
.features-title{
  font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.3;max-width:18em;
}
.features-title .gold{color:#b45309;}
.bento{
  max-width:1200px;margin:0 auto;
  display:grid;gap:1.2rem;
  grid-template-columns:repeat(6,1fr);
}
.bento-card{
  background:#fff;border:1px solid #e8e2d2;border-radius:24px;
  padding:clamp(1.4rem,2.5vw,2rem);
  position:relative;overflow:hidden;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  display:flex;flex-direction:column;gap:.7rem;
}
.bento-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px rgba(6,78,59,.12);
  border-color:rgba(5,150,105,.4);
}
.b-1{grid-column:span 4;}
.b-2{grid-column:span 2;}
.b-3{grid-column:span 2;}
.b-4{grid-column:span 2;}
.b-5{grid-column:span 2;}
.b-6{grid-column:span 4;}
@media (max-width:900px){
  .b-1,.b-2,.b-3,.b-4,.b-5,.b-6{grid-column:span 6;}
}
.bento-icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--ink-1),var(--emerald));
  color:var(--emerald-glow);flex-shrink:0;
}
.bento-card h3{font-size:1.18rem;font-weight:800;letter-spacing:.02em;}
.bento-card p{color:var(--ink-sub);font-size:.93rem;line-height:1.8;}
.bento-metric{
  margin-top:auto;font-family:var(--mono);font-size:.78rem;
  letter-spacing:.14em;color:var(--emerald);font-weight:600;
}
.bento-metric .gold{color:#b45309;font-weight:800;}
.bento-spark{
  position:absolute;right:-18px;bottom:-18px;width:130px;height:130px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(5,150,105,.10),transparent 70%);
}

/* ============ AI 能力专区 ============ */
.ai-zone{
  background:linear-gradient(150deg,var(--ink-0),var(--ink-1) 60%,var(--ink-2));
  color:#ecfdf5;
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}
.ai-inner{max-width:1200px;margin:0 auto;}
.ai-title{
  font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.3;max-width:18em;
}
.ai-title .gold{color:var(--gold);}
.ai-grid{
  margin-top:clamp(2.2rem,5vh,3.4rem);
  display:grid;gap:1.2rem;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.ai-card{
  border:1px solid rgba(52,211,153,.22);border-radius:20px;
  padding:1.8rem 1.6rem;background:rgba(6,78,59,.25);
  transition:transform .35s ease,border-color .35s ease;
}
.ai-card:hover{transform:translateY(-5px);border-color:rgba(251,191,36,.5);}
.ai-card h3{font-size:1.1rem;font-weight:800;margin-bottom:.7rem;color:var(--emerald-glow);}
.ai-card p{color:#b9d6cb;font-size:.92rem;line-height:1.85;}

/* ============ 数据成果 ============ */
.results{
  background:var(--cream);
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}

/* ============ 三步上手 ============ */
.steps{
  background:var(--cream-2);
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}
.steps-row{
  margin-top:clamp(2.2rem,5vh,3.4rem);
  display:grid;gap:1.2rem;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.step-card{
  background:#fff;border:1px solid #e8e2d2;border-radius:20px;
  padding:1.8rem 1.6rem;
  transition:transform .35s ease,box-shadow .35s ease;
}
.step-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,78,59,.10);}
.step-no{
  font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--emerald);
  margin-bottom:.8rem;
}
.step-card h3{font-size:1.15rem;font-weight:800;margin-bottom:.6rem;}
.step-card p{color:var(--ink-sub);font-size:.93rem;line-height:1.8;}

/* ============ 定价 ============ */
.pricing-preview{
  background:var(--cream);
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}
.plans-row{
  margin-top:clamp(2.2rem,5vh,3.4rem);
  display:grid;gap:1.2rem;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  max-width:1200px;
}
.plan-card{
  background:#fff;border:1px solid #e8e2d2;border-radius:24px;
  padding:2rem 1.8rem;display:flex;flex-direction:column;gap:.9rem;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.plan-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(6,78,59,.12);}
.plan-card.featured{
  border-color:var(--emerald);
  box-shadow:0 12px 36px rgba(5,150,105,.14);
}
.plan-card h3{font-size:1.2rem;font-weight:800;}
.plan-price{
  font-family:var(--mono);font-size:2.4rem;font-weight:700;color:var(--emerald);
}
.plan-price-unit{font-size:.95rem;font-weight:500;color:var(--ink-sub);}
.plan-badge{
  display:inline-block;vertical-align:middle;margin-left:.4em;
  background:var(--gold);color:var(--ink-0);font-size:.7rem;font-weight:700;
  padding:.15em .6em;border-radius:999px;letter-spacing:.1em;
}
.plan-note{color:#b45309;font-size:.85rem;letter-spacing:.06em;}
.plan-card ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.plan-card li{
  color:var(--ink-sub);font-size:.92rem;line-height:1.6;padding-left:1.2em;position:relative;
}
.plan-card li::before{
  content:"";position:absolute;left:0;top:.55em;width:.5em;height:.5em;border-radius:50%;
  background:var(--emerald-glow);
}
.plan-cta{
  margin-top:auto;text-align:center;text-decoration:none;
  border:1px solid var(--emerald);color:var(--emerald);font-weight:700;
  padding:.7rem 1rem;border-radius:999px;letter-spacing:.08em;
  transition:background .3s,color .3s;
}
.plan-cta:hover{background:var(--emerald);color:#fff;}
.plan-card.featured .plan-cta{
  background:var(--gold);border-color:var(--gold);color:var(--ink-0);
}
.plan-card.featured .plan-cta:hover{box-shadow:0 0 24px rgba(251,191,36,.45);}
.pricing-note{margin-top:1.8rem;color:var(--ink-sub);font-size:.9rem;}
.pricing-note a{color:var(--emerald);}

/* ============ FAQ ============ */
.faq{
  background:var(--cream-2);
  padding:clamp(4rem,10vh,7rem) clamp(1.4rem,6vw,6rem);
}
.faq-list{
  margin-top:clamp(2.2rem,5vh,3.4rem);
  max-width:860px;display:flex;flex-direction:column;gap:.9rem;
}
.faq-item{
  background:#fff;border:1px solid #e8e2d2;border-radius:16px;
  padding:1.2rem 1.5rem;
}
.faq-item summary{
  cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none;
  position:relative;padding-right:2rem;
}
.faq-item summary::after{
  content:"+";position:absolute;right:0;top:0;
  font-family:var(--mono);color:var(--emerald);font-size:1.2rem;
  transition:transform .25s;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item p{margin-top:.9rem;color:var(--ink-sub);font-size:.94rem;line-height:1.85;}

/* ============ 收尾 CTA ============ */
.final-cta{
  background:linear-gradient(150deg,var(--ink-0),var(--ink-1) 60%,var(--ink-2));
  color:#ecfdf5;text-align:center;
  padding:clamp(5rem,14vh,9rem) clamp(1.4rem,6vw,6rem);
  position:relative;overflow:hidden;
}
.final-cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 50% 110%,rgba(16,185,129,.22),transparent 70%);
}
.final-cta h2{
  font-size:clamp(2rem,5vw,3.8rem);font-weight:800;line-height:1.3;
  position:relative;
}
.final-cta h2 .gold{color:var(--gold);}
.final-cta p{
  margin:1.4rem auto 2.4rem;color:#b9d6cb;max-width:32em;
  line-height:1.9;position:relative;
}
.final-cta .btn-hero-cta{position:relative;font-size:1.1rem;padding:1.05rem 2.8rem;}
.final-note{
  margin-top:1.4rem;font-size:.82rem;color:#7aa595;letter-spacing:.12em;position:relative;
}
.final-note a{color:#a7c9bb;}

/* ============ 页脚 ============ */
.footer{
  background:var(--ink-0);color:#5f8a7a;
  padding:2.4rem clamp(1.4rem,6vw,6rem);
  font-size:.82rem;line-height:2;
}
.footer-inner{
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(52,211,153,.12);padding-top:1.6rem;
}
.footer a{color:#8fb8a8;text-decoration:none;}
.footer a:hover{color:#ecfdf5;}
.footer-contacts{display:inline-flex;gap:1.4rem;align-items:center;}
.footer-qr{display:inline-flex;flex-direction:column;align-items:center;gap:.45rem;font-size:.72rem;color:#7aa595;letter-spacing:.08em;}
.footer-qr img{width:64px;height:64px;border-radius:8px;border:1px solid rgba(52,211,153,.25);display:block;}

/* ============ 子页面公共 ============ */
.sub-hero{
  background:linear-gradient(160deg,var(--ink-0) 0%,var(--ink-1) 60%,var(--ink-2) 100%);
  color:#ecfdf5;
  padding:clamp(8rem,18vh,11rem) clamp(1.4rem,6vw,6rem) clamp(3rem,7vh,5rem);
}
.sub-hero h1{
  font-size:clamp(1.9rem,4.6vw,3.4rem);font-weight:800;line-height:1.3;max-width:20em;
}
.sub-hero-sub{
  margin-top:1.2rem;color:#b9d6cb;font-size:clamp(.95rem,1.5vw,1.1rem);
  max-width:36em;line-height:1.85;
}
.page-section{
  background:var(--cream);
  padding:clamp(3.5rem,9vh,6rem) clamp(1.4rem,6vw,6rem);
  max-width:1200px;margin:0 auto;
}
.feature-detail{
  border-top:1px solid #e8e2d2;padding:2.2rem 0;
}
.feature-detail:first-child{border-top:none;padding-top:0;}
.feature-detail h2{
  font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:800;margin-bottom:.9rem;color:var(--ink-text);
}
.feature-detail p{color:var(--ink-sub);line-height:1.9;max-width:52em;}

/* 咨询转化带（定价/关于页） */
.consult-band{
  background:var(--cream-2);text-align:center;
  padding:clamp(3.5rem,9vh,6rem) clamp(1.4rem,6vw,6rem);
}
.consult-band h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;}
.consult-band p{margin:1rem auto 1.6rem;color:var(--ink-sub);max-width:34em;line-height:1.9;}
.qr-row{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;}
.qr-box{
  display:inline-flex;align-items:center;justify-content:center;
  width:160px;height:160px;margin:0 auto;
  border:2px dashed rgba(5,150,105,.45);border-radius:16px;
  color:var(--emerald);font-size:.85rem;letter-spacing:.1em;background:#fff;
}
.consult-band .final-note{color:#7aa595;}

/* ============ 文章页 ============ */
.article-list{display:flex;flex-direction:column;gap:1.2rem;max-width:860px;}
.article-card{
  background:#fff;border:1px solid #e8e2d2;border-radius:20px;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.article-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(6,78,59,.10);
  border-color:rgba(5,150,105,.4);
}
.article-card a{display:block;padding:1.8rem;text-decoration:none;color:inherit;}
.article-card h2{font-size:1.25rem;font-weight:800;margin-bottom:.6rem;}
.article-card p{color:var(--ink-sub);font-size:.94rem;line-height:1.8;}
.article-card time{
  display:block;margin-top:.9rem;font-family:var(--mono);
  font-size:.78rem;letter-spacing:.12em;color:#7aa595;
}
.empty-note{color:var(--ink-sub);}
.article-body{
  max-width:760px;margin:0 auto;
  padding:clamp(2.5rem,6vh,4rem) clamp(1.4rem,4vw,2rem);
  line-height:2;font-size:1rem;color:var(--ink-text);
}
.article-body h2{
  font-size:1.4rem;font-weight:800;margin:2.4rem 0 1rem;
  padding-left:.8rem;border-left:4px solid var(--emerald);
}
.article-body h3{font-size:1.15rem;font-weight:800;margin:2rem 0 .8rem;}
.article-body p{margin:1rem 0;color:#27433a;}
.article-body ul,.article-body ol{margin:1rem 0 1rem 1.6rem;color:#27433a;}
.article-body li{margin:.4rem 0;}
.article-body strong{color:var(--ink-text);}
.article-body blockquote{
  margin:1.4rem 0;padding:1rem 1.4rem;
  background:var(--cream-2);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;
  color:var(--ink-sub);
}
.article-body a{color:var(--emerald);}
.article-body img{
  max-width:100%;height:auto;display:block;margin:1.6rem auto;
  border-radius:12px;box-shadow:0 10px 34px rgba(5,31,24,.16);
}
.article-body code{
  font-family:var(--mono);font-size:.88em;background:var(--cream-2);
  padding:.15em .4em;border-radius:6px;
}
.article-nav{
  max-width:760px;margin:0 auto;
  padding:0 clamp(1.4rem,4vw,2rem) clamp(2.5rem,6vh,4rem);
}
.article-nav a{color:var(--emerald);text-decoration:none;font-weight:600;}
.article-nav a:hover{text-decoration:underline;}

/* ============ 渐进增强：入场动画初始态 ============ */
/* JS 不可用时内容天然可见，无需兜底类 */
.reveal{will-change:transform,opacity;}

/* 关键词轮播（定宽容器，切换时布局不跳动） */
.kw-rotate{
  display:inline-block;min-width:5em;text-align:left;
  vertical-align:baseline;
}

/* 情绪曲线 scrub 游标与提示 */
.mood-cursor{
  opacity:0;transition:opacity .25s;
  filter:drop-shadow(0 0 6px rgba(251,191,36,.9));
}
.mood-cursor.on{opacity:1;}
.mood-tip{
  position:absolute;z-index:3;pointer-events:none;
  transform:translate(-50%,-150%);
  background:rgba(2,44,34,.94);color:#fff;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  padding:.34rem .65rem;border-radius:6px;white-space:nowrap;
  border:1px solid rgba(251,191,36,.45);
  opacity:0;transition:opacity .25s;
}
.mood-tip.on{opacity:1;}

/* CTA 磁吸迸发粒子 */
.cta-spark{
  position:absolute;width:6px;height:6px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 8px var(--gold);
  pointer-events:none;z-index:5;
}
