:root{color-scheme:light;--ink:#242137;--muted:#625d72;--accent:#583bc4;--paper:#faf9f6;--line:#e8e3ee;font:16px/1.65 "Inter",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #8368ee;outline-offset:4px}
.shell{width:min(1160px,calc(100% - 80px));margin-inline:auto}
.site-header{border-bottom:1px solid var(--line);background:#faf9f6}
.header-row,.footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.header-row{min-height:69px}
.brand{display:inline-flex;gap:9px;align-items:center;font-size:21px;font-weight:750;white-space:nowrap}
nav{display:flex;gap:34px;color:var(--muted);font-size:14px}
nav a:hover,.footer>a:last-child:hover{color:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;min-height:46px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:650;white-space:nowrap;transition:background .15s}
.button.small{min-height:38px;padding:6px 12px}
.primary{background:#5a3dcb;color:#fff;box-shadow:0 3px 7px #46269829}
.primary:hover{background:#4830a9}
.secondary{border-color:#e1dbe8;background:#fff}
.secondary:hover{background:#f1ecff}
.hero{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,68px);align-items:center;padding-block:94px 99px}
.hero-copy{padding-bottom:9px}
.platform{display:inline-flex;gap:8px;align-items:center;color:#554497;font-size:13px;font-weight:700}
.platform i{width:7px;height:7px;border-radius:50%;background:#8c70e4}
h1,h2,h3,p,figure{margin:0}
h1{font-size:clamp(43px,5.5vw,76px);line-height:1.08;letter-spacing:-.085em;margin:18px 0 25px;font-weight:800}
h1 span{display:block;color:var(--accent)}
.hero-copy>p{font-size:17px;color:var(--muted);max-width:360px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}
.release-note{margin-top:11px;color:var(--muted);font-size:12px}
.hero-preview{position:relative;padding:8px;border:1px solid #dfd5f2;border-radius:18px;background:#eee8fc;box-shadow:0 19px 45px #4b34791b}
.hero-preview img{width:100%;border-radius:0 0 10px 10px}
.window-bar{height:34px;display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid #ede8f4;border-bottom:0;border-radius:10px 10px 0 0;padding:0 10px;color:#675e79;background:#fff;font-size:10px;font-weight:650}
.window-dots{display:flex;gap:4px}
.window-dots i{width:6px;height:6px;border-radius:50%;background:#ddc9fa}
.window-dots i:nth-child(2){background:#e6d7fb}
.window-dots i:nth-child(3){background:#eee6fc}
.window-local{color:#5944a1}
.features{padding:65px 0 78px;background:#f1edf7;border-block:1px solid #ebe4f2}
h2{font-size:clamp(30px,4vw,45px);font-weight:780;line-height:1.22;letter-spacing:-.06em}
.section-heading p,.install>div>p{color:var(--muted);margin-top:11px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.feature{background:#fff;border:1px solid #e7dfef;border-radius:15px;overflow:hidden}
.feature-visual{height:154px;position:relative;overflow:hidden}
.capture img{width:100%;height:100%;object-fit:cover}
.capture-tag{position:absolute;bottom:12px;left:13px;background:#fff;border-radius:7px;padding:4px 9px;font-size:12px;box-shadow:0 3px 10px #241d39a0}
.capture-tag span{color:var(--accent)}
.map{background:radial-gradient(circle,#d9c9ec 1px,transparent 1px) 0 0 / 14px 14px,#f7f1fd}
.map-node{position:absolute;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e5dafa;border-radius:9px;padding:8px 9px;font-size:12px;font-weight:650;z-index:1}
.map-node i{font-size:12px;font-style:normal;color:#5c40be}
.map-node.first{top:26px;left:12%}
.map-node.second{right:11%;bottom:25px}
.map-wire{position:absolute;left:37%;right:34%;top:45px;height:68px;border:2px solid #7c60d7;border-left:0;border-bottom:0;border-radius:0 12px 0 0}
.map-label{position:absolute;z-index:2;top:60px;left:50%;background:#fff;color:#573f9a;border:1px solid #d8c9f4;border-radius:10px;padding:1px 7px;font-size:10px;white-space:nowrap}
.chat{background:#efe9fc;display:grid;align-content:center;gap:12px;padding:18px}
.sample-chips{display:flex;gap:5px;flex-wrap:wrap}
.sample-chips span{background:#fff;color:#523a98;border-radius:5px;padding:2px 6px;font-size:11px}
.sample-question{background:#fff;padding:10px 12px;border:1px solid #e6dcf7;border-radius:9px;font-size:13px;width:max-content;max-width:100%}
.feature-copy{padding:17px 18px 20px}
h3{font-size:17px;line-height:1.45}
.feature-copy p,.steps p,.questions p{margin-top:5px;color:var(--muted);font-size:14px}
.install{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;padding-block:79px}
.install .primary{margin-top:19px}
.steps{padding:0;margin:0;list-style:none;counter-reset:step;display:grid;gap:18px}
.steps li{counter-increment:step;display:flex;align-items:flex-start;gap:13px}
.steps li:before{content:counter(step);display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:8px;background:#eee7fb;color:#5638b8;font-size:13px;font-weight:750}
code{font-size:.92em;background:#f0ebf6;padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}
.copy-button{margin-top:7px;padding:2px 7px;border:1px solid #ded3ed;border-radius:5px;background:white;color:#5840a5;font-size:12px;cursor:pointer}
.copy-status{margin-left:7px;color:var(--muted);font-size:12px}
.faq{border-block:1px solid var(--line);padding-block:54px;background:#fff}
.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:44px}
.questions details{border-bottom:1px solid var(--line);padding:13px 0}
.questions details:first-child{border-top:1px solid var(--line)}
.questions summary{cursor:pointer;font-weight:650}
.questions p{padding:3px 0 2px}
.footer{padding-block:26px;color:var(--muted);font-size:13px}
.footer .brand{color:var(--ink);font-size:17px}
@media(max-width:950px){.shell{width:calc(100% - 48px)}.hero{gap:30px;padding-block:65px}.actions{gap:6px}.actions .button{padding-inline:11px}.feature-visual{height:125px}}
@media(max-width:730px){.shell{width:calc(100% - 32px)}.header-row{min-height:59px}.header-row nav{display:none}.hero,.install,.faq-grid{grid-template-columns:1fr;gap:25px}.hero{padding-block:43px 51px}.hero-copy{padding:0}.hero-copy>p{max-width:430px}.feature-grid{grid-template-columns:1fr}.feature-visual{height:150px}.features,.faq,.install{padding-block:43px}.footer{gap:10px}.footer>span{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.legal {
  max-width: 780px;
  padding-block: 55px 72px;
}
.legal h1 {
  font-size: clamp(36px, 5vw, 56px);
  letter-spacing: -.045em;
  margin: 0 0 12px;
}
.legal-meta {
  color: var(--muted);
  font-size: 14px;
}
.legal section {
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.legal h2 {
  font-size: 21px;
  letter-spacing: -.02em;
  margin-bottom: 8px;
}
.legal section p + p { margin-top: 8px; }
.legal p a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer .legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.footer .legal-links a:hover { color: var(--accent); }

.pricing {
  background: #f1edf7;
  border-top: 1px solid #ebe4f2;
  padding-block: 54px;
}
.pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  align-items: start;
  gap: 44px;
}
.pricing-plan {
  background: #fff;
  border: 1px solid #e7dfef;
  border-radius: 15px;
  padding: 22px 25px;
}
.plan-price {
  color: var(--muted);
  margin-block: 5px 8px;
}
.plan-price strong {
  color: var(--ink);
  font-size: 37px;
  letter-spacing: -.05em;
}
.pricing-plan p:not(.plan-price) {
  color: var(--muted);
  font-size: 14px;
}
.pricing-plan a {
  display: inline-block;
  color: var(--accent);
  font-size: 14px;
  font-weight: 650;
  margin-top: 12px;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-contact span { font-weight: 650; }
.footer-contact:hover, .footer-links a:hover { color: var(--accent); }
@media (max-width: 730px) {
  .pricing { padding-block: 43px; }
  .pricing-grid { grid-template-columns: 1fr; gap: 22px; }
  .footer { flex-wrap: wrap; }
}
