/* ════════════════════════════════════════════════════════════
   Chapter AI · 落地页共享样式 v3（精致化，对齐主站克制美学）
   原则：矢量图标取代 emoji · 动效克制 · 渐变只用在点睛处 · 弱阴影
════════════════════════════════════════════════════════════ */

:root{
  --p:#7877c6;--pl:#9b9ad4;--pd:#5a59a8;
  --ac:#b794f6;--pk:#ff77c6;
  --gp:linear-gradient(135deg,#7877c6 0%,#b794f6 100%);
  --gc:linear-gradient(135deg,#7877c6 0%,#ff77c6 100%);

  --txt:#1f2433;--muted:#475569;--tert:#697488;--light:#9aa3b4;

  /* mesh 折射背景（与主站 main.css 同源，强度略收敛） */
  --app-bg:#eef0f7;
  --mesh-1:rgba(120,119,198,0.42);
  --mesh-2:rgba(255,119,198,0.30);
  --mesh-3:rgba(99,162,255,0.34);
  --mesh-4:rgba(110,231,183,0.24);

  /* 玻璃材质 */
  --lg-bg:rgba(255,255,255,0.62);
  --lg-bg-thin:rgba(255,255,255,0.42);
  --lg-bg-thick:rgba(255,255,255,0.78);
  --lg-border:rgba(255,255,255,0.7);
  --lg-highlight:rgba(255,255,255,0.9);
  --lg-blur:20px;--lg-saturate:1.4;
  --lg-shadow:0 6px 24px rgba(31,38,135,0.07);
  --lg-shadow-lift:0 14px 40px rgba(31,38,135,0.12);

  --spring:cubic-bezier(0.34,1.4,0.64,1);
  --ease-glass:cubic-bezier(0.22,1,0.36,1);

  --r:18px;--rs:14px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Noto Sans SC',system-ui,sans-serif;
  color:var(--txt);background-color:var(--app-bg);min-height:100vh;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{display:block}

/* 矢量图标基类 */
.ic{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.125em;flex-shrink:0}

/* ── mesh 折射背景：柔光斑 + 极缓漂移（无脉冲） ── */
body::before{
  content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;
  background:
    radial-gradient(46vmax 46vmax at 12% 6%,var(--mesh-1),transparent 60%),
    radial-gradient(40vmax 40vmax at 90% 12%,var(--mesh-2),transparent 58%),
    radial-gradient(48vmax 48vmax at 80% 94%,var(--mesh-3),transparent 62%),
    radial-gradient(36vmax 36vmax at 18% 90%,var(--mesh-4),transparent 60%);
  animation:meshDrift 34s ease-in-out infinite alternate;
}
@keyframes meshDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(1.6vmax,-1.2vmax,0) scale(1.04)}
}

/* ════════ 玻璃工具类 ════════ */
.glass{
  background:var(--lg-bg);
  backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));
  -webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));
  border:1px solid var(--lg-border);
  box-shadow:inset 0 1px 0 0 var(--lg-highlight),var(--lg-shadow);
}

/* 克制的浮起：位移更小，过渡更快 */
.lift{transition:transform .3s var(--ease-glass),box-shadow .3s var(--ease-glass),border-color .3s var(--ease-glass);will-change:transform}
.lift:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 0 var(--lg-highlight),var(--lg-shadow-lift);border-color:rgba(120,119,198,.28)}
.lift:active{transform:translateY(0);transition-duration:.1s}

/* ════════ Header ════════ */
.hd{position:sticky;top:0;z-index:100;padding:12px 0;
  background:rgba(255,255,255,0.6);
  backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
  border-bottom:1px solid rgba(120,119,198,0.08);
  animation:fadeInDown .5s var(--ease-glass) both}
.hd-in{max-width:1000px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:11px}
.logo-mark{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:var(--gc);box-shadow:0 4px 12px rgba(120,119,198,.3);flex-shrink:0}
.logo-name{font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--txt)}
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:11px;font-size:14px;font-weight:600;cursor:pointer;
  transition:transform .24s var(--spring),box-shadow .24s var(--ease-glass)}
.btn .ic{font-size:15px}
.btn-cta{background:var(--gc);color:#fff;box-shadow:0 3px 12px rgba(120,119,198,.28)}
.btn-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(120,119,198,.38)}
.btn-cta:active{transform:translateY(0) scale(.98)}

/* ════════ Breadcrumb ════════ */
.bc{max-width:1000px;margin:0 auto;padding:18px 28px 0;font-size:13px;color:var(--light);display:flex;align-items:center;gap:7px}
.bc a{color:var(--tert);transition:color .15s}.bc a:hover{color:var(--p)}

/* ════════ Hero ════════ */
.hero{max-width:1040px;margin:0 auto;padding:54px 28px 52px;display:grid;grid-template-columns:0.85fr 1.15fr;gap:44px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:100px;font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--pd);
  background:rgba(120,119,198,.09);border:1px solid rgba(120,119,198,.14)}
.badge .ic{font-size:13px;color:var(--p)}
.hero h1{font-size:clamp(28px,3.6vw,38px);font-weight:800;line-height:1.18;letter-spacing:-.6px;margin:20px 0 18px}
.hero h1 em{font-style:normal;background:var(--gp);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{font-size:15.5px;color:var(--muted);line-height:1.85;margin-bottom:30px;max-width:460px}
.hero-acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn-lg{padding:12px 26px;font-size:15px}
.btn-ghost{display:inline-flex;align-items:center;gap:7px;padding:12px 22px;border-radius:11px;font-size:14px;font-weight:600;color:var(--pd);
  background:var(--lg-bg-thin);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(120,119,198,.18);transition:all .2s var(--ease-glass)}
.btn-ghost:hover{border-color:rgba(120,119,198,.4);background:rgba(120,119,198,.06)}

/* 截图：无相框，透明 + 圆角 + 柔性阴影 */
.visual{position:relative}
.glow-bg{position:absolute;inset:-12% -8%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 66% 56% at 56% 46%,rgba(183,148,246,.2) 0%,rgba(255,119,198,.07) 48%,transparent 72%);
  filter:blur(8px)}
.device{position:relative;z-index:1}
.device img{width:100%;height:auto;border-radius:14px;box-shadow:0 22px 56px rgba(31,38,135,.16),0 4px 14px rgba(31,38,135,.08)}

/* ════════ 自动轮播能力条（精致化，icon 用主站同款 tinted 风格） ════════ */
.carousel{margin:0 auto;max-width:1000px;padding:0 28px}
.carousel-card{position:relative;overflow:hidden;border-radius:var(--r);padding:26px 30px;min-height:128px;display:flex;align-items:center}
.car-track{position:relative;flex:1;min-height:84px}
.car-slide{position:absolute;inset:0;display:flex;align-items:center;gap:20px;opacity:0;transform:translateX(24px);
  transition:opacity .5s var(--ease-glass),transform .5s var(--ease-glass);pointer-events:none}
.car-slide.active{opacity:1;transform:translateX(0);pointer-events:auto}
.car-slide.leaving{opacity:0;transform:translateX(-24px)}
.car-icon{flex-shrink:0;width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:26px;
  color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}
.car-body{flex:1;min-width:0}
.car-kicker{display:inline-block;font-size:11.5px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 9px;border-radius:100px;margin-bottom:8px}
.car-name{font-size:21px;font-weight:800;letter-spacing:-.3px;line-height:1.2;margin-bottom:5px}
.car-pitch{font-size:13.5px;color:var(--tert);line-height:1.6}
.car-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:11px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;border:none;white-space:nowrap;
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 58%,#ff77c6));
  box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent);transition:transform .2s var(--spring),box-shadow .2s}
.car-cta:hover{transform:translateY(-1px);box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 42%,transparent)}
.car-cta .ic{font-size:13px;transition:transform .2s}.car-cta:hover .ic{transform:translateX(2px)}
.car-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.car-dot{width:7px;height:7px;border:none;padding:0;border-radius:100px;background:rgba(120,119,198,.22);cursor:pointer;transition:width .3s var(--ease-glass),background .3s}
.car-dot.active{width:26px;background:var(--gc)}

/* ════════ Section ════════ */
.sec{padding:62px 0;position:relative}
.sec-in{max-width:1000px;margin:0 auto;padding:0 28px}
.sec-head{max-width:600px;margin-bottom:38px}
.sec-tag{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--p);margin-bottom:12px;display:flex;align-items:center;gap:9px}
.sec-tag::before{content:"";width:20px;height:2px;border-radius:2px;background:var(--gc)}
.sec h2{font-size:clamp(23px,3.1vw,31px);font-weight:800;letter-spacing:-.7px;line-height:1.25;margin-bottom:12px;color:var(--txt)}
.sec-sub{font-size:15.5px;color:var(--muted);line-height:1.8}

/* ════════ 特性卡（accent-tinted 图标，无 hover 描边动画） ════════ */
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(218px,1fr));gap:16px}
.fc{border-radius:var(--r);padding:26px}
.fi{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:18px;
  color:var(--accent,var(--p));background:color-mix(in srgb,var(--accent,var(--p)) 12%,transparent)}
.fc h3{font-size:15.5px;font-weight:700;margin-bottom:8px;letter-spacing:-.2px}
.fc p{font-size:13.5px;color:var(--tert);line-height:1.7}

/* ════════ 步骤 ════════ */
.how-wrap{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.steps{padding-top:4px}
.step{display:flex;gap:18px}
.step+.step{margin-top:28px}
.step-l{display:flex;flex-direction:column;align-items:center}
.step-n{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--p) 12%,transparent);color:var(--p);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}
.step-line{width:2px;flex:1;min-height:20px;margin-top:8px;background:linear-gradient(180deg,rgba(120,119,198,.2),transparent)}
.step-b h3{font-size:15.5px;font-weight:700;margin-bottom:6px;letter-spacing:-.2px;padding-top:7px}
.step-b p{font-size:14px;color:var(--muted);line-height:1.7}
.screen-frame{position:relative}
.screen-frame img{width:100%;height:auto;border-radius:14px;box-shadow:0 18px 48px rgba(31,38,135,.15),0 4px 12px rgba(31,38,135,.07)}
.screen-cap{font-size:12.5px;color:var(--light);text-align:center;margin-top:12px}

/* ════════ 展示（接近正方形的关系图，居中限宽避免过高） ════════ */
.showcase{margin-top:42px}
.showcase-frame{max-width:720px;margin:0 auto;position:relative}
.showcase-frame img{width:100%;height:auto;border-radius:16px;box-shadow:0 24px 60px rgba(31,38,135,.18),0 6px 16px rgba(31,38,135,.08)}
.showcase-cap{font-size:12.5px;color:var(--light);text-align:center;margin-top:14px}

/* ════════ 适用场景 ════════ */
.ug{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.uc{border-radius:var(--rs);padding:22px 24px}
.uc-tag{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--p);margin-bottom:10px}
.uc h3{font-size:15px;font-weight:700;margin-bottom:8px;letter-spacing:-.2px}
.uc p{font-size:13px;color:var(--tert);line-height:1.65}

/* ════════ FAQ 手风琴 ════════ */
.fq{display:flex;flex-direction:column;gap:11px;max-width:780px}
.fqi{border-radius:var(--rs);overflow:hidden;transition:border-color .3s var(--ease-glass)}
.fqq{width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:inherit;
  padding:18px 24px;font-size:15px;font-weight:700;color:var(--txt);letter-spacing:-.1px;
  display:flex;align-items:center;justify-content:space-between;gap:14px}
.fqq .qi{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--p);
  transition:transform .35s var(--spring),color .25s}
.fqq .qi .ic{font-size:15px}
.fqi.open .qi{transform:rotate(180deg);color:var(--pk)}
.fqa-wrap{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-glass)}
.fqa{padding:0 24px 19px;font-size:14px;color:var(--muted);line-height:1.85}

/* ════════ CTA（玻璃卡 + 渐变按钮，与全站材质统一） ════════ */
.cta-sec{margin:36px 0 0;padding:0 28px}
.cta-card{max-width:1000px;margin:0 auto;border-radius:22px;padding:58px 40px;text-align:center;position:relative;overflow:hidden;
  background:var(--lg-bg);backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));
  border:1px solid var(--lg-border);box-shadow:inset 0 1px 0 0 var(--lg-highlight),var(--lg-shadow-lift)}
.cta-card::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 46% 70% at 50% 122%,rgba(255,119,198,.2),transparent 60%),radial-gradient(ellipse 46% 70% at 50% -22%,rgba(120,119,198,.18),transparent 60%)}
.cta-card h2{font-size:clamp(24px,3.4vw,32px);font-weight:800;color:var(--txt);margin-bottom:12px;letter-spacing:-.6px;position:relative}
.cta-card h2 em{font-style:normal;background:var(--gp);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cta-card p{font-size:15px;color:var(--muted);margin-bottom:28px;position:relative}
.cta-card .btn{position:relative}

/* ════════ Footer（浅色玻璃三列，对齐主站 FooterLinks） ════════ */
.ft{margin-top:36px;padding:0 28px 30px}
.ft-card{max-width:1000px;margin:0 auto;border-radius:18px;padding:24px 30px 16px;
  background:var(--lg-bg-thin);backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));
  border:1px solid var(--lg-border);box-shadow:inset 0 1px 0 0 var(--lg-highlight),var(--lg-shadow)}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;padding-bottom:16px;border-bottom:1px solid rgba(120,119,198,.12)}
.ft-brand{display:flex;flex-direction:column;gap:8px}
.ft-logo{display:flex;align-items:center;gap:10px}
.ft-logo .m{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;background:var(--gc);box-shadow:0 4px 12px rgba(120,119,198,.3);flex-shrink:0}
.ft-logo .n{font-size:20px;font-weight:800;letter-spacing:-.3px;color:var(--txt)}
.ft-badge{font-size:9px;font-weight:700;color:#fff;background:var(--gc);padding:1px 6px;border-radius:6px;letter-spacing:.02em}
.ft-slogan{font-size:12px;color:var(--tert);font-style:italic;opacity:.8;margin:0}
.ft-email a{font-size:12.5px;color:var(--p)}
.ft-email a:hover{text-decoration:underline}
.ft-col h4{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--txt)}
.ft-col a,.ft-col button{display:block;font-size:13px;color:var(--tert);margin-bottom:9px;transition:color .15s;width:fit-content;
  background:none;border:none;padding:0;font-family:inherit;text-align:left;cursor:pointer;line-height:1.4}
.ft-col a:hover,.ft-col button:hover{color:var(--p)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:13px;flex-wrap:wrap;gap:10px}
.ft-copy{font-size:12px;color:var(--light)}
.ft-copy i{font-style:italic;opacity:.7}
.ft-legal{display:flex;gap:18px}
.ft-legal a{font-size:12px;color:var(--light);transition:color .15s}
.ft-legal a:hover{color:var(--p)}

/* ════════ 入场 / 滚动渐显 ════════ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-glass),transform .7s var(--ease-glass)}
.reveal.in{opacity:1;transform:none}
.fadeUp{animation:fadeInUp .7s var(--ease-glass) both}
.d2{animation-delay:.12s}

@keyframes fadeInUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

/* ════════ 响应式 ════════ */
@media(max-width:768px){
  .hero{grid-template-columns:1fr;gap:36px;padding:38px 22px 38px}
  .visual{max-width:440px;margin:0 auto;width:100%}
  .how-wrap{grid-template-columns:1fr;gap:34px}
  .sec{padding:46px 0}
  .carousel-card{padding:24px 22px}
  .car-track{min-height:200px}
  .car-slide{flex-direction:column;text-align:center;gap:12px;justify-content:flex-start}
  .car-cta{align-self:center}
  .cta-card{padding:46px 24px}
  .ft-grid{grid-template-columns:1fr 1fr;gap:24px}
  .ft-brand{grid-column:1 / -1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}
  .ft-slogan,.ft-email{display:none}
}
@media(max-width:560px){
  .fg{grid-template-columns:1fr}
  .hero h1{font-size:30px}
  .lp-modal-card{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  body::before,.cta-card::after{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .lp-modal-card{animation:none}
  *{scroll-behavior:auto}
}

/* ════════ 弹窗（复刻主站 GlassModal：关于作者 / 赏杯咖啡） ════════ */
.lp-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.lp-modal.open{display:flex}
.lp-modal-mask{position:absolute;inset:0;background:rgba(22,18,34,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.lp-modal-card{position:relative;z-index:1;width:100%;max-width:520px;border-radius:18px;padding:24px;
  background:var(--lg-bg-thick);backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);
  border:1px solid var(--lg-border);box-shadow:inset 0 1px 0 0 var(--lg-highlight),0 24px 64px rgba(31,38,135,.26);
  animation:modalIn .32s var(--spring)}
.lp-modal-card.sm{max-width:380px}
.lp-modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;border-radius:9px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--tert);background:rgba(120,119,198,.08);transition:all .15s}
.lp-modal-close:hover{background:rgba(120,119,198,.16);color:var(--p)}
@keyframes modalIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}

/* 关于作者 */
.am-banner{display:flex;align-items:center;gap:18px;padding:22px;border-radius:12px;margin:-2px -2px 0;
  background:linear-gradient(135deg,rgba(120,119,198,.12) 0%,rgba(255,119,198,.08) 60%,rgba(79,209,199,.06) 100%)}
.am-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(120,119,198,.3);box-shadow:0 0 0 4px rgba(120,119,198,.1)}
.am-name{font-size:20px;font-weight:700;color:var(--txt)}
.am-tag{font-size:13px;color:var(--tert);margin-top:4px}
.am-body{padding:18px 4px 2px;display:flex;flex-direction:column;gap:12px}
.am-body p{font-size:14px;line-height:1.75;color:var(--muted)}
.am-contact{padding-top:12px;margin-top:2px;border-top:1px solid rgba(120,119,198,.12);font-size:13px;color:var(--tert)}
.am-contact a{color:var(--p)}.am-contact a:hover{text-decoration:underline}

/* 赏杯咖啡 */
.dm{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:8px 0 2px}
.dm-emoji{font-size:32px;line-height:1}
.dm-title{font-size:18px;font-weight:700;color:var(--txt)}
.dm-sub{font-size:13px;color:var(--tert);line-height:1.6}
.dm-qr{padding:10px;background:#fff;border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,.08)}
.dm-qr img{width:196px;height:196px;border-radius:6px;display:block;object-fit:cover}
.dm-tip{font-size:12px;color:var(--light);letter-spacing:.03em}
