@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:107.4%}:root{--bg:#fff;--bg-alt:#f5f7fb;--ink:#141a2e;--text:#3d4458;--muted:#6b7184;--line:#e4e7ef;--accent:#3b5bfd;--accent-ink:#2a3fd6;--accent-soft:#eef1ff;--radius:16px;--shadow:0 1px 2px #141a2e0f, 0 12px 40px #141a2e1a}html{visibility:visible!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.6 Inter,Inter Fallback,system-ui,-apple-system,sans-serif}h1,h2,h3{color:var(--ink);letter-spacing:-.02em;margin:0}p{margin:0}a{color:inherit}code{background:var(--accent-soft);color:var(--accent-ink);border-radius:5px;padding:1px 5px;font-size:.88em}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #3b5bfd4d,0 6px 16px #3b5bfd38}.btn:hover{background:var(--accent-ink);transform:translateY(-1px)}.btn-sm{padding:8px 14px;font-size:14px}.btn-lg{border-radius:12px;padding:14px 22px;font-size:16px}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.btn-ghost:hover{background:var(--bg-alt)}.btn-light{color:var(--accent-ink);background:#fff;box-shadow:0 8px 24px #00000026}.btn-light:hover{background:#f2f4ff}.nav{z-index:10;-webkit-backdrop-filter:saturate(1.8)blur(12px);backdrop-filter:saturate(1.8)blur(12px);background:#ffffffd9;border-bottom:1px solid #0000;position:sticky;top:0}.nav-in{align-items:center;gap:32px;height:68px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:9px;font-size:19px;text-decoration:none;display:flex}.brand b{color:var(--accent)}.nav-links{gap:26px;margin-left:auto;display:flex}.nav-links a{color:var(--muted);font-size:15px;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--ink)}.hero{background:radial-gradient(900px 420px at 85% 10%,#eef1ff 0%,#eef1ff00 70%);padding:56px 0 72px}.hero-in{grid-template-columns:1fr 1.05fr;align-items:center;gap:56px;display:grid}.pill{color:var(--accent-ink);background:var(--accent-soft);border-radius:99px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-block}h1{margin:18px 0;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.08}.hl{color:var(--accent)}.nw{white-space:nowrap}.lead{max-width:520px;font-size:18px}.cta{flex-wrap:wrap;gap:12px;margin:30px 0 18px;display:flex}.note{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.note svg{color:#17803a;width:18px;height:18px}.demo{position:relative}.sheet{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;overflow:hidden}.sheet-bar{border-bottom:1px solid var(--line);background:#f7f8fb;align-items:center;gap:12px;padding:10px 14px;display:flex}.dots{gap:6px;display:flex}.dots i{background:#d9dce5;border-radius:50%;width:10px;height:10px}.file{color:#17803a;font-size:13px;font-weight:600}.sheet table{border-collapse:collapse;width:100%;font-size:14px}.sheet th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:#fbfbfd;padding:8px 14px;font-size:12px;font-weight:600}.sheet td{color:var(--text);border-bottom:1px solid #f0f1f5;padding:9px 14px;transition:background .3s,color .3s}.sheet tr:last-child td{border-bottom:0}.sheet tr.on td{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.sheet tr.on td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.flow{justify-content:center;height:36px;display:flex}.flow span{background:linear-gradient(var(--line), var(--accent));width:2px;position:relative}.flow span:after{content:"";border:6px solid #0000;border-top-color:var(--accent);border-bottom:0;position:absolute;bottom:-2px;left:-5px}.sig{aspect-ratio:760/250;box-shadow:var(--shadow);background:#fff;border-radius:12px;position:relative}.sig canvas{opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.sig canvas.on{opacity:1}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-alt)}.strip-in{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:12px 40px;padding:18px 24px;font-size:15px;font-weight:600;display:flex}.section{padding:96px 0}.section.alt{background:var(--bg-alt)}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:13px;font-weight:700}h2{max-width:640px;font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.15}h3{margin:14px 0 8px;font-size:18px}.steps{counter-reset:s;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0 0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px}.num{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.features{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;display:grid}.features article{border-radius:var(--radius);border:1px solid var(--line);background:#fff;padding:26px;transition:transform .2s,box-shadow .2s}.features article:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.features svg{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:10px;padding:9px}.features p{font-size:15px}.privacy{background:var(--ink);color:#c7cbe0}.privacy h2{color:#fff}.privacy .kicker{color:#8fa3ff}.privacy-in{grid-template-columns:1fr 1fr;align-items:end;gap:48px;display:grid}.privacy-in p:last-child{font-size:17px}.faq{border-top:1px solid var(--line);margin-top:36px}.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;color:var(--ink);justify-content:space-between;gap:16px;padding:16px 0;font-size:17px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:22px;line-height:1;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding:0 0 18px}.final{padding:0 0 96px}.final-in{text-align:center;color:#e6e9ff;background:radial-gradient(600px 300px at 20% 0,#5b7bff,#0000 70%),linear-gradient(135deg,#3b5bfd,#2a3fd6);border-radius:24px;padding:64px 24px}.final h2{color:#fff;margin:0 auto 12px}.final p{margin-bottom:28px;font-size:17px}.footer{border-top:1px solid var(--line)}.footer-in{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 24px;font-size:14px;display:flex}.footer .brand{font-size:16px}:focus-visible{outline-offset:2px;border-radius:6px;outline:3px solid #3b5bfd73}@media (width<=960px){.hero-in{grid-template-columns:1fr;gap:44px}.steps,.features{grid-template-columns:1fr 1fr}.privacy-in{grid-template-columns:1fr;gap:20px}}@media (width<=640px){.wrap{padding:0 16px}.nav-links{display:none}.nav-in{justify-content:space-between}.hero{padding:32px 0 56px}.lead{font-size:17px}.cta .btn{flex:1}.steps,.features{grid-template-columns:1fr}.section{padding:64px 0}.sheet td:nth-child(3),.sheet th:nth-child(3){display:none}.sheet td,.sheet th{padding:7px 12px}.flow{height:24px}.hero-in{gap:32px}.final-in{border-radius:18px;padding:48px 20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sig canvas,.btn,.features article,.sheet td{transition:none}}.footer-cols{grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding:48px 24px 24px;display:grid}.footer-cols p{color:var(--muted);max-width:320px;margin-top:12px;font-size:14.5px}.footer-cols h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:0 0 12px;font-size:13px}.footer-cols nav{flex-direction:column;gap:9px;display:flex}.footer-cols nav a{color:var(--muted);font-size:14.5px;text-decoration:none}.footer-cols nav a:hover{color:var(--accent)}.footer-in{border-top:1px solid var(--line)}.guides .post-list{margin-top:40px}@media (width<=760px){.footer-cols{grid-template-columns:1fr;gap:24px}}.all-guides{margin-top:24px}.all-guides a{color:var(--accent);font-weight:600;text-decoration:none}.lang-switch{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.lang-switch svg{width:17px;height:17px}.lang-switch a{color:var(--muted);padding:4px 2px;text-decoration:none}.lang-switch a:hover{color:var(--accent)}.footer-cols{grid-template-columns:1.4fr 1fr 1fr .8fr}.footer-cols nav span[aria-current]{color:var(--ink);font-size:14.5px;font-weight:600}@media (width<=760px){.footer-cols{grid-template-columns:1fr 1fr}.footer-cols>div:first-child{grid-column:1/-1}}@media (width<=640px){.lang-switch svg{display:none}.nav-in{gap:12px}}.article-wrap{padding:48px 0 88px}.crumbs{color:var(--muted);margin-bottom:28px;font-size:14px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.blog-title{margin:0 0 14px;font-size:clamp(32px,4.4vw,48px);font-weight:800;line-height:1.1}.blog-lead{max-width:640px;margin-bottom:40px}.prose{color:var(--text);font-size:17.5px;line-height:1.75}.prose h1{margin:8px 0 16px;font-size:clamp(30px,4vw,42px);font-weight:800;line-height:1.15}.prose .lead{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:32px;padding-bottom:28px;font-size:19px}.prose h2{margin:44px 0 12px;font-size:26px;line-height:1.25}.prose h3{margin:30px 0 8px;font-size:20px}.prose p,.prose ul,.prose ol,.prose table,.prose blockquote{margin:0 0 18px}.prose ul,.prose ol{padding-left:24px}.prose li{margin:6px 0}.prose li::marker{color:var(--accent);font-weight:700}.prose a{color:var(--accent-ink);text-underline-offset:3px}.prose strong{color:var(--ink)}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:0 10px 10px 0;padding:14px 18px}.prose blockquote p:last-child{margin:0}.prose table{border-collapse:collapse;width:100%;font-size:15.5px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.prose th{background:var(--bg-alt);color:var(--ink)}.prose kbd{background:var(--bg-alt);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font:600 13px/1 ui-monospace,Menlo,Consolas,monospace}.post-meta{color:var(--muted);font-size:14px}.cta-box{background:var(--accent-soft);border:1px solid #d9e0ff;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:48px 0;padding:28px;display:flex}.cta-box h2{margin:0 0 6px;font-size:22px}.cta-box p{max-width:460px;margin:0}.related h2{margin:0 0 18px;font-size:22px}.post-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.post-card{border-radius:var(--radius);border:1px solid var(--line);color:var(--text);background:#fff;flex-direction:column;gap:8px;padding:24px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.post-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.post-card h3{margin:0;font-size:19px;line-height:1.3}.post-card p{margin:0;font-size:15px}.post-card .more{color:var(--accent);margin-top:auto;padding-top:6px;font-size:14.5px;font-weight:600}.not-found{text-align:center;padding:120px 0}.not-found h1{margin:0 0 12px;font-size:44px}.not-found p{margin-bottom:28px}
