:root{
    --bg:#0a0f1c;
    --bg-raise:#101828;
    --bg-card:#0d1522;
    --line:#1d2c4a;
    --line-soft:#16213a;
    --ink:#e9eef8;
    --ink-dim:#9fb0cc;
    --ink-faint:#6f81a3;
    --accent:#4c82f7;
    --accent-deep:#2f66e8;
    --accent-ink:#ffffff;
    --danger:#ff6b5e;
    --ok:#3ddc84;
    --shadow:0 24px 60px rgba(0,0,0,.45);
    --radius:14px;
  }
  @media (prefers-color-scheme: light){
    :root{
      --bg:#f5f8fd;
      --bg-raise:#ffffff;
      --bg-card:#ffffff;
      --line:#d7e1f0;
      --line-soft:#e4ebf6;
      --ink:#101b2e;
      --ink-dim:#46586f;
      --ink-faint:#7688a0;
      --accent:#2563eb;
      --accent-deep:#1d4fd7;
      --accent-ink:#ffffff;
      --danger:#e4483a;
      --ok:#1da85f;
      --shadow:0 20px 50px rgba(16,27,46,.10);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0a0f1c; --bg-raise:#101828; --bg-card:#0d1522;
    --line:#1d2c4a; --line-soft:#16213a;
    --ink:#e9eef8; --ink-dim:#9fb0cc; --ink-faint:#6f81a3;
    --accent:#4c82f7; --accent-deep:#2f66e8; --accent-ink:#ffffff;
    --danger:#ff6b5e; --ok:#3ddc84;
    --shadow:0 24px 60px rgba(0,0,0,.45);
  }
  :root[data-theme="light"]{
    --bg:#f5f8fd; --bg-raise:#ffffff; --bg-card:#ffffff;
    --line:#d7e1f0; --line-soft:#e4ebf6;
    --ink:#101b2e; --ink-dim:#46586f; --ink-faint:#7688a0;
    --accent:#2563eb; --accent-deep:#1d4fd7; --accent-ink:#ffffff;
    --danger:#e4483a; --ok:#1da85f;
    --shadow:0 20px 50px rgba(16,27,46,.10);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans SC",-apple-system,"Segoe UI",sans-serif;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  .mono{font-family:"SF Mono",ui-monospace,Menlo,Consolas,"Courier New",monospace}
  a{color:inherit;text-decoration:none}
  img,canvas{max-width:100%}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
  section{padding:88px 0;border-top:1px solid var(--line-soft)}
  .eyebrow{
    font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
    font-size:12px;letter-spacing:.22em;color:var(--accent);
    text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent)}
  h2{font-size:clamp(26px,3.4vw,38px);font-weight:700;letter-spacing:.01em;line-height:1.3;text-wrap:balance;margin-bottom:14px}
  .lede{color:var(--ink-dim);font-size:16.5px;max-width:34em;text-wrap:pretty}
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

  /* ---------- nav ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line-soft);
  }
  .nav{display:flex;align-items:center;gap:32px;height:66px}
  .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.02em}
  .logo svg{display:block}
  .nav-links{display:flex;gap:26px;font-size:14.5px;color:var(--ink-dim)}
  .nav-links a:hover{color:var(--ink)}
  .nav-cta{margin-left:auto;display:flex;gap:12px;align-items:center}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 22px;border-radius:10px;font-size:14.5px;font-weight:600;
    border:1px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn-primary{background:var(--accent);color:var(--accent-ink)}
  .btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}
  .btn-ghost{border-color:var(--line);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
  .btn-lg{padding:14px 30px;font-size:16px;border-radius:12px}
  .lang-btn{padding:8px 14px;font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:12.5px;letter-spacing:.08em}

  /* ---------- hero ---------- */
  .hero{position:relative;overflow:hidden;border-top:none;padding:96px 0 72px}
  #ridges{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
  .hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
  .hero h1{
    font-size:clamp(34px,4.6vw,54px);font-weight:800;line-height:1.22;
    letter-spacing:.01em;text-wrap:balance;margin:18px 0 20px;
  }
  .hero h1 em{font-style:normal;color:var(--accent)}
  .hero .lede{margin-bottom:34px}
  .hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
  .tag{
    font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:12px;
    border:1px solid var(--line);border-radius:999px;padding:5px 14px;color:var(--ink-dim);
  }
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .hero-note{font-size:13px;color:var(--ink-faint);margin-top:14px}

  /* environment manager mock */
  .app{
    background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);overflow:hidden;font-size:13px;
  }
  .app-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--line-soft);color:var(--ink-faint)}
  .dot{width:10px;height:10px;border-radius:50%;background:var(--line)}
  .dot:nth-child(1){background:#ff6159}.dot:nth-child(2){background:#ffbd2e}.dot:nth-child(3){background:#28c840}
  .app-bar span{margin-left:8px;font-size:12px}
  .app-head{display:grid;grid-template-columns:1.35fr 1.15fr .8fr .62fr .68fr;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line-soft);color:var(--ink-faint);font-size:11.5px;letter-spacing:.06em}
  .app-row{display:grid;grid-template-columns:1.35fr 1.15fr .8fr .62fr .68fr;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft);align-items:center}
  .app-row:last-child{border-bottom:none}
  .env-name{font-weight:600;display:flex;align-items:center;gap:8px}
  .env-swatch{width:8px;height:8px;border-radius:2px;background:var(--accent);flex:none}
  .app-row .mono{font-size:11.5px;color:var(--ink-dim)}
  .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:999px;padding:3px 10px;font-weight:600}
  .pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
  .pill-on{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}
  .pill-off{color:var(--ink-faint);background:color-mix(in srgb, var(--ink-faint) 12%, transparent)}
  .row-btn{
    font-size:12px;font-weight:600;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);
    border-radius:8px;padding:4px 0;text-align:center;
  }
  .app-foot{display:flex;justify-content:space-between;padding:10px 16px;color:var(--ink-faint);font-size:11.5px;background:color-mix(in srgb, var(--accent) 4%, transparent)}

  /* stats strip */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;margin-top:72px;position:relative}
  .stat{background:var(--bg-raise);padding:26px 28px}
  .stat b{display:block;font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em}
  .stat b i{font-style:normal;color:var(--accent);font-size:20px;margin-left:2px}
  .stat span{font-size:13px;color:var(--ink-faint)}

  /* ---------- pain ---------- */
  .pain-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
  .ban-stack{display:flex;flex-direction:column;gap:14px}
  .ban{
    display:flex;gap:14px;align-items:flex-start;background:var(--bg-card);
    border:1px solid var(--line);border-left:3px solid var(--danger);
    border-radius:10px;padding:16px 18px;box-shadow:var(--shadow);
  }
  .ban:nth-child(2){transform:translateX(26px)}
  .ban:nth-child(3){transform:translateX(52px)}
  .ban-ico{width:34px;height:34px;border-radius:8px;flex:none;display:grid;place-items:center;background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);font-weight:800}
  .ban b{display:block;font-size:14px;margin-bottom:2px}
  .ban p{font-size:12.5px;color:var(--ink-dim);line-height:1.55}
  .pain-list{margin-top:26px;display:flex;flex-direction:column;gap:14px}
  .pain-list li{list-style:none;display:flex;gap:12px;color:var(--ink-dim);font-size:15px}
  .pain-list li::before{content:"—";color:var(--accent);flex:none}

  /* ---------- features ---------- */
  .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
  .feat{
    background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px 26px;transition:transform .18s ease,border-color .18s ease;
  }
  .feat:hover{transform:translateY(-4px);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}
  .feat-ico{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:18px;background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}
  .feat h3{font-size:17.5px;font-weight:700;margin-bottom:8px}
  .feat p{font-size:14px;color:var(--ink-dim)}
  .feat .mono{display:block;margin-top:14px;font-size:11px;color:var(--ink-faint);letter-spacing:.08em}

  /* ---------- split rows (深入功能) ---------- */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:56px 0}
  .split + .split{border-top:1px dashed var(--line)}
  .split h3{font-size:24px;font-weight:700;margin-bottom:12px;text-wrap:balance}
  .split p{color:var(--ink-dim);font-size:15px;margin-bottom:20px}
  .split ul{display:flex;flex-direction:column;gap:10px}
  .split li{list-style:none;display:flex;gap:10px;font-size:14.5px}
  .split li::before{content:"✓";color:var(--accent);font-weight:700;flex:none}
  .panel{
    background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;box-shadow:var(--shadow);
  }
  .fp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .fp-item{border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px}
  .fp-item small{display:block;font-size:11px;color:var(--ink-faint);letter-spacing:.06em;margin-bottom:3px}
  .fp-item .mono{font-size:12px;color:var(--ink)}
  .fp-item.on{border-color:color-mix(in srgb, var(--accent) 50%, var(--line-soft))}
  .team-rows{display:flex;flex-direction:column;gap:12px}
  .team-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line-soft);border-radius:10px;padding:12px 16px}
  .avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:13px;font-weight:700;background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}
  .team-row b{font-size:13.5px}
  .team-row small{display:block;font-size:12px;color:var(--ink-faint)}
  .role{margin-left:auto;font-size:11px;font-weight:600;border-radius:999px;padding:3px 12px;border:1px solid var(--line);color:var(--ink-dim)}
  .role.admin{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}
  .rpa-flow{display:flex;flex-direction:column;gap:0}
  .rpa-step{display:flex;gap:14px;align-items:flex-start}
  .rpa-node{width:30px;flex:none;display:flex;flex-direction:column;align-items:center}
  .rpa-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent);background:var(--bg-card);flex:none;margin-top:5px}
  .rpa-line{width:2px;flex:1;background:var(--line);min-height:26px}
  .rpa-step:last-child .rpa-line{display:none}
  .rpa-card{border:1px solid var(--line-soft);border-radius:10px;padding:10px 14px;margin-bottom:12px;flex:1}
  .rpa-card b{font-size:13px}
  .rpa-card small{display:block;font-size:11.5px;color:var(--ink-faint)}

  /* ---------- scenes ---------- */
  .scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
  .scene{
    border:1px solid var(--line);border-radius:12px;padding:22px 20px;background:var(--bg-card);
    transition:border-color .18s ease;
  }
  .scene:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}
  .scene .mono{font-size:11px;color:var(--accent);letter-spacing:.14em;display:block;margin-bottom:10px}
  .scene h3{font-size:16px;font-weight:700;margin-bottom:6px}
  .scene p{font-size:13px;color:var(--ink-dim)}

  /* ---------- security ---------- */
  .sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
  .sec{border-top:2px solid var(--accent);background:var(--bg-card);border-radius:0 0 12px 12px;padding:24px 24px;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .sec h3{font-size:16px;font-weight:700;margin-bottom:8px}
  .sec p{font-size:13.5px;color:var(--ink-dim)}

  /* ---------- pricing ---------- */
  .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;align-items:stretch}
  .price{
    background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);
    padding:32px 28px;display:flex;flex-direction:column;gap:0;
  }
  .price.hot{border-color:var(--accent);position:relative;box-shadow:0 0 0 1px var(--accent), var(--shadow)}
  .hot-badge{
    position:absolute;top:-13px;left:28px;background:var(--accent);color:var(--accent-ink);
    font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 14px;letter-spacing:.08em;
  }
  .price h3{font-size:16px;font-weight:700}
  .price .amount{margin:14px 0 4px;font-variant-numeric:tabular-nums}
  .price .amount b{font-size:38px;font-weight:800}
  .price .amount span{font-size:13px;color:var(--ink-faint)}
  .price .for{font-size:13px;color:var(--ink-faint);margin-bottom:22px}
  .price ul{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
  .price li{list-style:none;display:flex;gap:10px;font-size:13.5px;color:var(--ink-dim)}
  .price li::before{content:"✓";color:var(--accent);font-weight:700;flex:none}
  .price .btn{margin-top:auto;width:100%}
  .price-note{text-align:center;font-size:13px;color:var(--ink-faint);margin-top:22px}

  /* ---------- testimonials ---------- */
  .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
  .quote{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
  .stars{color:var(--accent);letter-spacing:3px;font-size:13px;margin-bottom:14px}
  .quote p{font-size:14px;color:var(--ink-dim);margin-bottom:18px}
  .quote-who{display:flex;align-items:center;gap:12px}
  .quote-who b{font-size:13.5px;display:block}
  .quote-who small{font-size:12px;color:var(--ink-faint)}

  /* ---------- faq ---------- */
  .faq{max-width:760px;margin:44px auto 0}
  details{border-bottom:1px solid var(--line-soft)}
  summary{
    cursor:pointer;padding:20px 4px;font-size:16px;font-weight:600;
    display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;
  }
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";font-size:20px;color:var(--accent);flex:none;transition:transform .2s ease}
  details[open] summary::after{transform:rotate(45deg)}
  details p{padding:0 4px 20px;color:var(--ink-dim);font-size:14.5px;max-width:60em}

  /* ---------- download cta ---------- */
  .dl{
    text-align:center;background:
      radial-gradient(closest-side at 50% 120%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%),
      var(--bg-raise);
    border:1px solid var(--line);border-radius:20px;padding:72px 32px;position:relative;overflow:hidden;
  }
  .dl h2{margin-bottom:12px}
  .dl .lede{margin:0 auto 36px}
  .dl-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .dl-btn{
    display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;
    padding:14px 26px;background:var(--bg-card);transition:border-color .15s ease,transform .15s ease;
  }
  .dl-btn:hover{border-color:var(--accent);transform:translateY(-2px)}
  .dl-btn b{display:block;font-size:15px;text-align:left}
  .dl-btn small{display:block;font-size:11.5px;color:var(--ink-faint);text-align:left}
  .dl-btn svg{color:var(--accent)}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line-soft);padding:64px 0 40px;margin-top:88px}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:48px}
  .foot-grid h4{font-size:13px;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:16px;font-weight:600}
  .foot-grid ul{display:flex;flex-direction:column;gap:10px}
  .foot-grid li{list-style:none;font-size:13.5px;color:var(--ink-dim)}
  .foot-grid li a:hover{color:var(--accent)}
  .foot-brand p{font-size:13px;color:var(--ink-faint);margin-top:14px;max-width:24em}
  .foot-base{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-soft);padding-top:26px;font-size:12.5px;color:var(--ink-faint);flex-wrap:wrap;gap:12px}
  .foot-base .links{display:flex;gap:20px}

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;animation:none !important}
    html{scroll-behavior:auto}
  }
  @media (max-width: 960px){
    .hero-grid,.pain-grid,.split{grid-template-columns:1fr;gap:40px}
    .stats{grid-template-columns:repeat(2,1fr)}
    .feat-grid,.sec-grid,.quote-grid,.price-grid{grid-template-columns:1fr}
    .scene-grid{grid-template-columns:repeat(2,1fr)}
    .nav-links{display:none}
    .foot-grid{grid-template-columns:1fr 1fr}
    .ban:nth-child(2),.ban:nth-child(3){transform:none}
    section{padding:64px 0}
  }

  /* ---------- 下载按钮:版本号 / 推荐高亮 / 未发布(2026-07-26 接入动态版本) ---------- */
  .dl-btn .ver{font-style:normal;font-variant-numeric:tabular-nums;opacity:.85}
  .dl-btn.rec{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
  .dl-btn.off{opacity:.55;pointer-events:none}
  .dl-hint{margin-top:18px;font-size:13px;color:var(--ink-faint);text-align:center;min-height:1.2em}

  /* h1 品牌行(SEO:h1 内含品牌 + 主关键词,视觉上作小字压在主标题之上) */
  .h1-brand{
    display:block;font-size:15px;font-weight:600;letter-spacing:.04em;
    color:var(--accent);margin-bottom:12px;
  }
