:root{--bg:#ffffff;--bg-soft:#f6f8fa;--panel:#ffffff;--border:#d8dee4;--text:#1f2328;--muted:#59636e;--faint:#818b96;--accent:#0969da;--accent2:#218bff;--accent3:#8250df;--good:#1a7f37;--warn:#bf8700;--danger:#cf222e;--cyan:#0a7ea4;--soft:#0969da14;--shadow:0 1px 3px rgba(27,31,36,.08), 0 8px 24px -12px rgba(27,31,36,.12);--shadow-lg:0 24px 60px -20px rgba(9,105,218,.25);--radius:14px;--maxw:1120px;--grad:linear-gradient(95deg,var(--accent),var(--accent3));--grad-soft:linear-gradient(135deg,#0969da10,#8250df10)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{color:var(--accent);font-weight:650;font-size:13px;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{letter-spacing:-.02em;line-height:1.12}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:11px 20px;border-radius:10px;font-size:15px;font-weight:600;border:1px solid rgba(27,31,36,.08);transition:transform .12s ease,box-shadow .12s ease,background .12s}.btn:hover{background:#0860c4;text-decoration:none;color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px -8px #0969da80}.btn.grad{background:var(--grad);border:none}.btn.grad:hover{filter:brightness(1.05)}.btn.ghost{background:var(--panel);color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{background:var(--bg-soft);color:var(--text)}.btn.lg{padding:13px 26px;font-size:16px}header.site{position:sticky;top:0;z-index:50;background:#fffc;backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}header.site nav{display:flex;align-items:center;gap:14px;height:64px}.brand{display:flex;align-items:center;gap:9px;font-weight:750;font-size:19px}.brand img{height:22px;display:block;transform:translateY(-3px)}footer.site .brand img{height:22px}.nav-links{display:flex;gap:4px;margin-left:8px}.nav-links a{color:var(--muted);font-size:14.5px;font-weight:500;padding:7px 11px;border-radius:8px}.nav-links a:hover{color:var(--text);background:var(--bg-soft);text-decoration:none}.spacer{flex:1}.nav-right{display:flex;align-items:center;gap:10px}@media(max-width:860px){.nav-links,.nav-right .hide-sm{display:none}}section{padding:84px 0;position:relative}.center{text-align:center}.section-head{max-width:660px;margin:0 auto 52px}.section-head h2{font-size:clamp(27px,3.6vw,40px);margin:12px 0 14px;font-weight:780}.section-head p{color:var(--muted);font-size:18px;margin:0}.hero{padding:92px 0 64px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 50% -8%,#0969da18,transparent 70%),radial-gradient(40% 50% at 88% 0%,#8250df14,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.hero h1{font-size:clamp(36px,5.4vw,60px);font-weight:820;margin:18px 0 20px}.hero .lead{font-size:19px;color:var(--muted);max-width:560px;margin:0 0 28px}.hero .cta{display:flex;gap:12px;flex-wrap:wrap}.hero .hero-note{margin-top:16px;color:var(--faint);font-size:13.5px}.badge{display:inline-flex;align-items:center;gap:7px;background:var(--soft);color:var(--accent);font-size:13px;font-weight:650;padding:6px 13px;border-radius:999px;border:1px solid #0969da22}.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px #1a7f3733}@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero .lead{max-width:none}}.mock{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:16px;position:relative}.mock .bar{display:flex;gap:6px;margin-bottom:12px}.mock .bar i{width:10px;height:10px;border-radius:50%;background:#e2e6ea;display:inline-block}.mock .bar i:nth-child(1){background:#ff5f57}.mock .bar i:nth-child(2){background:#febc2e}.mock .bar i:nth-child(3){background:#28c840}.trust{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-soft);padding:26px 0}.trust .label{text-align:center;color:var(--faint);font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:16px}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chip{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:860px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#0969da44}.card .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px}.card h3{margin:0 0 8px;font-size:17.5px}.card p{margin:0;color:var(--muted);font-size:14.5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}@media(max-width:860px){.split{grid-template-columns:1fr;gap:34px}}.pointlist{display:flex;flex-direction:column;gap:22px;margin-top:8px}.point{display:flex;gap:14px}.point .pi{flex:none;width:30px;height:30px;border-radius:9px;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-weight:700}.point h4{margin:2px 0 4px;font-size:16px}.point p{margin:0;color:var(--muted);font-size:14.5px}.viz{display:flex;flex-direction:column;gap:16px}.plats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:760px;margin:0 auto 36px}@media(max-width:640px){.plats{grid-template-columns:repeat(2,1fr)}}.plat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.plat .pn{font-weight:700;font-size:15px}.plat .ps{color:var(--faint);font-size:12.5px}.plat .pl{width:34px;height:34px;border-radius:9px;background:var(--grad-soft);display:grid;place-items:center;color:var(--accent)}.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 36px;max-width:760px;margin:0 auto}.feat li{list-style:none;padding-left:30px;position:relative}.feat li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--good);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat}.feat li b{display:block;font-size:14.5px}.feat li span{display:block;color:var(--muted);font-size:13px}@media(max-width:560px){.feat{grid-template-columns:1fr}}.cmp{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.cmp .row{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-top:1px solid var(--border)}.cmp .row:first-child{border-top:none}.cmp .row>div{padding:15px 18px;font-size:14.5px}.cmp .row .h{font-weight:600;color:var(--text)}.cmp .head{background:var(--bg-soft);font-weight:700}.cmp .head .ours{color:var(--accent)}.cmp .theirs{color:var(--faint)}.cmp .ours-col{background:#0969da08;font-weight:600}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:860px;margin:0 auto 30px}@media(max-width:740px){.steps{grid-template-columns:1fr}}.step{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.step .n{font-size:13px;font-weight:800;color:var(--accent);background:var(--soft);width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:12px}.step h4{margin:0 0 5px;font-size:16px}.step p{margin:0;color:var(--muted);font-size:14px}.codewrap{max-width:720px;margin:0 auto}pre{background:#0d1117;color:#e6edf3;border-radius:14px;padding:20px 22px;overflow:auto;font:13.5px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:var(--shadow-lg);margin:0}pre .c{color:#8b949e}pre .k{color:#79c0ff}pre .s{color:#a5d6ff}pre .f{color:#d2a8ff}.ainote{text-align:center;color:var(--muted);font-size:14.5px;margin-top:22px}.band{background:var(--grad);border-radius:22px;color:#fff;text-align:center;padding:56px 28px;position:relative;overflow:hidden}.band:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 120% at 50% -20%,rgba(255,255,255,.22),transparent 60%)}.band h2{color:#fff;margin:0 0 12px;font-size:clamp(26px,3.4vw,36px);font-weight:800;position:relative}.band p{color:#ffffffeb;margin:0 auto 26px;max-width:520px;font-size:17px;position:relative}.band .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}.band .btn{background:#fff;color:var(--accent)}.band .btn:hover{background:#eef2f6;color:var(--accent)}.band .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.band .btn.ghost:hover{background:#ffffff1f;color:#fff}footer.site{border-top:1px solid var(--border);background:var(--bg-soft);padding:54px 0 30px}.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}@media(max-width:740px){.foot-grid{grid-template-columns:1fr 1fr}}.foot-grid h5{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.foot-grid a{display:block;color:var(--muted);font-size:14px;padding:4px 0}.foot-grid a:hover{color:var(--text)}.foot-brand p{color:var(--muted);font-size:14px;max-width:280px;margin:12px 0 0}.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid var(--border);color:var(--faint);font-size:13px}.lang{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;font-size:13px;font-weight:600}.lang a{padding:6px 11px;color:var(--muted)}.lang a:hover{background:var(--bg-soft);text-decoration:none}.lang a.on{background:var(--accent);color:#fff}.pricing-sec{padding-top:72px}.tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:start}@media(max-width:1100px){.tiers{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.tiers{grid-template-columns:1fr}}.tier{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:22px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.tier.pop{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pop-badge{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--grad);color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap}.tier-name{font-size:18px;font-weight:750}.tier-tag{color:var(--faint);font-size:12.5px;min-height:34px;margin-top:3px}.tier-price{display:flex;align-items:baseline;gap:3px;margin-top:6px}.tier-price .amt{font-size:30px;font-weight:820;letter-spacing:-.02em}.tier-price .per{color:var(--muted);font-size:14px;font-weight:600}.tier-limits{list-style:none;padding:14px 0 0;margin:0 0 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:7px}.tier-limits li{font-size:13px;color:var(--muted)}.tier-limits li b{color:var(--text);font-weight:700}.tier-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.tier-feats li{font-size:12.5px;display:flex;align-items:center;gap:8px;color:var(--text)}.tier-feats li.off{color:var(--faint)}.tier-feats .fi{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800}.tier-feats li.on .fi{background:#1a7f3718;color:var(--good)}.tier-feats li.off .fi{background:var(--bg-soft);color:var(--faint)}.faq{max-width:860px;margin:64px auto 0}.faq h3{text-align:center;font-size:24px;font-weight:760;margin:0 0 28px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}@media(max-width:640px){.faq-grid{grid-template-columns:1fr}}.faq-item .q{font-weight:700;font-size:15px;margin-bottom:5px}.faq-item .a{color:var(--muted);font-size:14px;line-height:1.6}.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:880px;margin:0 auto}@media(max-width:740px){.posts{grid-template-columns:1fr}}.post-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);text-decoration:none;border-color:#0969da44}.post-card .date{color:var(--faint);font-size:12.5px;font-weight:600}.post-card h3{margin:8px 0 6px;font-size:18px;color:var(--text)}.post-card p{margin:0;color:var(--muted);font-size:14px}.prose{max-width:720px;margin:0 auto}.prose h1{font-size:clamp(28px,4vw,40px);margin:0 0 8px}.prose h2{font-size:24px;margin:34px 0 12px}.prose p,.prose li{color:#34404a;font-size:16.5px;line-height:1.75}.prose pre{margin:20px 0}.prose code{background:var(--bg-soft);padding:2px 6px;border-radius:6px;font-size:14px}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.prose thead th{background:var(--bg-soft);font-weight:700;color:var(--text)}.prose th,.prose td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.55}.prose th:not(:first-child),.prose td:not(:first-child){border-left:1px solid var(--border)}.prose tbody tr:nth-child(2n){background:#fafbfc}.prose tbody tr:last-child td{border-bottom:none}.prose tbody td:first-child{font-weight:600;color:var(--text)}@media(max-width:640px){.prose table{display:block;overflow-x:auto;white-space:nowrap}}.post-meta{color:var(--faint);font-size:14px;margin:0 0 26px}
