:root{--brand:#0364b5;--accent:#0f6cbd;--accent-dark:#0b4f8a;--pale:#dcebfa;--pale-bg:#f4f8fc;--line:#e6e6e6;--text:#1b1b1b;--muted:#5f5f5f;--body:#4a4a4a;--green:#0e700e;--green-bg:#dff6dd;--font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono:"Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{font-family:var(--font);color:var(--text);background:#fff;margin:0;font-size:16px;line-height:1.5}img{max-width:100%;height:auto}a{color:var(--accent)}a:hover{color:var(--accent-dark)}code{font-family:var(--mono);font-size:.92em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:10;background:#fff;border-radius:6px;padding:8px 14px;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.wrap-wide{max-width:1360px}@media (width<=600px){.wrap{padding:0 20px}}.site-header{border-bottom:1px solid var(--line);background:#fff}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:12px 28px;min-height:68px;padding-top:10px;padding-bottom:10px;display:flex}.brand{color:var(--text);align-items:center;gap:10px;font-size:18px;font-weight:600;text-decoration:none;display:flex}.brand img{width:30px;height:30px}.brand .sub{color:var(--muted);font-weight:400}.site-nav{flex-wrap:wrap;align-items:center;gap:8px 24px;margin-left:auto;display:flex}.site-nav a{color:var(--text);font-size:15px;text-decoration:none}.site-nav a:hover{color:var(--accent)}.site-nav a[aria-current=page]{color:var(--accent);font-weight:600}@media (width<=520px){.site-nav .btn{display:none}.site-nav{margin-left:0}}.btn{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);color:#fff}.site-nav .btn-primary,.site-nav .btn-primary:hover{color:#fff}.free-left :focus-visible,.band :focus-visible{outline-color:#fff}.btn-ghost{color:var(--text);background:#fff;border:1px solid #c9d6e3}.btn-ghost:hover{border-color:var(--accent);color:var(--text)}.btn-white{color:var(--brand);background:#fff}.btn-white:hover{background:var(--pale);color:var(--brand)}.btn-sm{border-radius:6px;height:40px;padding:0 18px;font-size:15px}.btn-md{height:48px;padding:0 22px;font-size:16px}.btn-lg{height:52px;padding:0 26px;font-size:17px}.section{padding:96px 0}.section-tight{padding:44px 0}.border-b{border-bottom:1px solid #ececec}.bg-pale{background:var(--pale-bg);border-bottom:1px solid #e3ecf5}.bg-grey{background:#f7f9fb;border-top:1px solid #ececec;border-bottom:1px solid #ececec}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:14px;font-weight:700}h2.title{letter-spacing:-.01em;max-width:760px;margin:0;font-size:38px;font-weight:700;line-height:1.15}.lead{color:var(--body);max-width:640px;margin:14px 0 0;font-size:17px;line-height:1.6}@media (width<=700px){.section{padding:64px 0}h2.title{font-size:30px}}.hero .wrap{flex-wrap:wrap;align-items:center;gap:56px;padding-top:88px;padding-bottom:96px;display:flex}.hero-text{flex:420px;min-width:0}.hero-shot{flex:520px;min-width:0}.hero-shot img{border-radius:10px;width:100%;display:block;box-shadow:0 24px 48px #03325a29}.pill{color:#0b5394;background:var(--pale);border-radius:14px;margin:0 0 16px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.hero h1{letter-spacing:-.02em;margin:0;font-size:56px;font-weight:700;line-height:1.08}.hero .intro{color:var(--body);max-width:540px;margin:22px 0 0;font-size:19px;line-height:1.6}.hero .actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero .small{color:var(--muted);margin:16px 0 0;font-size:14px}@media (width<=700px){.hero .wrap{gap:40px;padding-top:56px;padding-bottom:64px}.hero h1{font-size:40px}}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;display:grid}.stat-n{color:var(--brand);font-size:32px;font-weight:700}.stat-l{color:var(--body);font-size:15px}.free{background:#fff;border:1px solid #d9e4ef;border-radius:18px;flex-wrap:wrap;display:flex;overflow:hidden;box-shadow:0 16px 40px #03325a14}.free-left{background:var(--brand);color:#fff;flex-direction:column;flex:380px;gap:6px;min-width:0;padding:48px;display:flex}.free-left .kicker{letter-spacing:.08em;text-transform:uppercase;color:#dcebfa;margin:0;font-size:14px;font-weight:700}.free-left h2{letter-spacing:-.01em;margin:10px 0 0;font-size:44px;font-weight:700;line-height:1.1}.free-price{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:18px;display:flex}.free-price b{font-size:72px;font-weight:700;line-height:1}.free-price span{color:var(--pale);font-size:17px}.free-left .spacer{flex:1;min-height:24px}.free-left .btn{align-self:flex-start}.free-right{flex:420px;min-width:0;padding:36px 48px}.free-right p{color:var(--muted);margin:0 0 4px;font-size:15px;font-weight:600}.ticks{margin:0;padding:0;list-style:none}.ticks li{border-bottom:1px solid #ececec;align-items:flex-start;gap:12px;padding:14px 0;font-size:17px;line-height:1.5;display:flex}.ticks li:last-child{border-bottom:0}.ticks svg{flex:none;margin-top:2px}@media (width<=600px){.free-left,.free-right{padding:32px 24px}.free-price b{font-size:60px}}.envs{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:44px 0 0;padding:0;list-style:none;display:grid}.envs li{background:#fff;border:1px solid #e6edf4;border-radius:12px;align-items:flex-start;gap:14px;padding:20px;display:flex}.mark{border-radius:10px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:700;display:flex}.envs b{font-size:17px;display:block}.envs span.d{color:var(--muted);margin-top:2px;font-size:14.5px;line-height:1.5;display:block}.templates{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px;display:flex}.templates>span{color:#3b3b3b;font-size:15px;font-weight:600}.templates ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.templates li{background:#fff;border:1px solid #d9e4ef;border-radius:16px;padding:6px 12px;font-size:14px;font-weight:600}.features{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px 48px;margin-top:56px;display:grid}.feat h3{margin:12px 0 6px;font-size:18px;font-weight:600}.feat p{color:var(--body);margin:0;font-size:15px;line-height:1.55}.ico{background:var(--pale);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.split{flex-wrap:wrap;align-items:center;gap:56px;display:flex}.split>*{flex:400px;min-width:0}pre.code{color:#d4d4d4;font-family:var(--mono);background:#1e1e1e;border-radius:10px;margin:0;padding:24px 28px;font-size:14px;line-height:1.7;overflow-x:auto}pre.code .c{color:#8a8a8a}.band{background:var(--brand);color:#fff}.band .wrap{flex-wrap:wrap;align-items:center;gap:40px;padding-top:80px;padding-bottom:80px;display:flex}.band img{border-radius:22px;width:96px;height:96px;box-shadow:0 0 0 2px #ffffff40}.band h2{margin:0;font-size:36px;font-weight:700;line-height:1.15}.band p{color:var(--pale);margin:10px 0 0;font-size:17px}.band .text{flex:360px;min-width:0}.site-footer{color:var(--muted);background:#fff;border-top:1px solid #ececec;font-size:14px}.foot-cols{flex-wrap:wrap;gap:32px 64px;padding-top:48px;padding-bottom:40px;display:flex}.foot-cols .about{flex:280px}.foot-cols .about p{margin:10px 0 0;line-height:1.6}.foot-cols nav{flex-direction:column;gap:8px;display:flex}.foot-cols strong{color:var(--text)}.foot-brand{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.foot-brand img{width:22px;height:22px}.foot-base{color:#6b6b6b;border-top:1px solid #ececec;padding-top:18px;padding-bottom:28px;font-size:13px}.dl-card{background:#fff;border:1px solid #d9e4ef;border-radius:12px;padding:28px}.dl-card .head{align-items:center;gap:16px;display:flex}.dl-card .head img{width:56px;height:56px}.dl-card .btn{width:100%;margin-top:22px}.steps{flex-direction:column;gap:24px;display:flex}.step{align-items:flex-start;gap:16px;display:flex}.num{background:var(--pale);color:#0b5394;border-radius:16px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:700;display:flex}.step h3{margin:3px 0 4px;font-size:17px;font-weight:600}.step p{color:var(--body);margin:0;font-size:15px;line-height:1.55}.box{border:1px solid var(--line);border-radius:12px;padding:24px}.box h2{margin:0 0 10px;font-size:19px;font-weight:600}.box p,.box li{color:#3b3b3b;font-size:15px;line-height:1.6}.box p{margin:0}.box.warn{background:#fff8e6;border-color:#f1d9a6}.box.warn p{color:#4a3a12}.page{flex-wrap:wrap;gap:48px 64px;padding-top:72px;padding-bottom:96px;display:flex}.page>aside{flex:220px;max-width:280px;font-size:14px}.page>article{flex:999 560px;min-width:0;max-width:780px}.aside-title{color:#6b6b6b;text-transform:uppercase;letter-spacing:.07em;margin:0 0 10px;font-size:12px;font-weight:700}.aside-links{flex-direction:column;gap:8px;display:flex}.aside-links a{color:#3b3b3b;text-decoration:none}.aside-links a:hover{color:var(--accent)}.prose h1{letter-spacing:-.02em;margin:0;font-size:44px;font-weight:700;line-height:1.1}.prose .meta{color:var(--muted);margin-top:12px;font-size:15px}.prose .leadp{color:var(--body);margin-top:14px;font-size:19px}.prose h2{margin:44px 0 12px;font-size:26px;font-weight:700}.prose h3{margin:28px 0 8px;font-size:19px;font-weight:600}.prose p,.prose li{color:#333;font-size:16.5px;line-height:1.7}.prose p{margin:0 0 14px}.prose ol,.prose ul{margin:0 0 14px;padding-left:22px}.prose :not(pre)>code{background:#f2f4f7;border-radius:4px;padding:1px 5px}.prose pre{color:#d4d4d4;font-family:var(--mono);border-radius:10px;margin:0 0 18px;padding:18px 22px;font-size:14px;line-height:1.7;overflow-x:auto;background:#1e1e1e!important}.prose pre code{color:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{text-align:left;vertical-align:top;border-bottom:1px solid #ececec;padding:11px 14px;font-size:15px}.prose th{color:var(--muted);background:#fafafa;font-size:13px;font-weight:600}.prose tr:last-child td{border-bottom:0}.table-box{border:1px solid #ececec;border-radius:10px;margin:0 0 18px;overflow-x:auto}@media (width<=600px){.table-box.stack table,.table-box.stack tbody,.table-box.stack tr,.table-box.stack td,.table-box.stack th{display:block}.table-box.stack td{border-bottom:0;padding-bottom:2px}.table-box.stack td+td{color:var(--body);border-bottom:1px solid #ececec;padding-top:0;padding-bottom:12px}.table-box.stack td code{white-space:normal}}.prose figure{margin:8px 0 26px}.prose figure img{border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 10px 30px #03325a1f}.prose figcaption{color:var(--muted);margin-top:10px;font-size:14px}.summary{background:var(--pale-bg);border:1px solid #d9e4ef;border-radius:12px;margin:28px 0 0;padding:22px 26px}.summary p:last-child,.summary ul:last-child{margin-bottom:0}.note{background:#fff8e6;border:1px solid #f1d9a6;border-radius:10px;gap:14px;margin:0 0 18px;padding:16px 18px;display:flex}.note p{color:#4a3a12;margin:0;font-size:15.5px}.note svg{flex:none;margin-top:3px}.docs{flex-wrap:wrap;gap:40px 48px;padding-top:36px;padding-bottom:96px;display:flex}.docs-side{flex:240px;max-width:260px}@media (width>=861px){.docs-side{order:-1}}.docs-side a{color:#3b3b3b;border-radius:6px;padding:6px 12px;font-size:14.5px;text-decoration:none;display:block}.docs-side a:hover{color:var(--accent);background:#f2f6fa}.docs-side a[aria-current=page]{color:var(--accent-dark);background:#e8f1fb;font-weight:600}.docs-side p{letter-spacing:.07em;text-transform:uppercase;color:#6b6b6b;margin:22px 0 6px 12px;font-size:12px;font-weight:700}.docs-main{flex:999 560px;min-width:0;max-width:780px}.docs-toc{flex:180px;max-width:200px}.docs-toc a{color:var(--muted);padding:4px 0;font-size:13.5px;text-decoration:none;display:block}.docs-toc a:hover{color:var(--accent)}.crumb{color:var(--muted);margin:0 0 10px;font-size:14px}.docs-foot{border-top:1px solid #ececec;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;font-size:15px;display:flex}.docs-foot span{color:#6b6b6b}.docs-side .menu-title{color:var(--text);letter-spacing:0;text-transform:none;margin:0 0 4px 12px;font-size:18px;font-weight:700;display:none}@media (width<=1100px){.docs-toc{display:none}}@media (width<=860px){.page>aside{flex-basis:100%;max-width:none}.docs-side{border-top:1px solid var(--line);flex-basis:100%;max-width:none;padding-top:8px}.docs-side .menu-title{display:block}}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:8px;display:grid}.card{color:var(--text);background:#fff;border:1px solid #e1e8ef;border-radius:12px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);color:var(--text)}.card .shot{background:var(--pale-bg);height:160px;padding:16px 16px 0;display:block;overflow:hidden}.card .shot img{border-radius:6px 6px 0 0;width:100%;display:block;box-shadow:0 4px 14px #03325a1f}.card .txt{padding:16px 18px 18px}.card b{font-size:17px;display:block}.card span.d{color:var(--muted);margin-top:4px;font-size:14.5px;line-height:1.5;display:block}.guides{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));column-gap:32px;margin:0;list-style:none;display:grid;padding:0!important}.guides li{border-bottom:1px solid #ececec;padding:12px 0}.guides a{font-weight:600;text-decoration:none}.guides span{color:var(--muted);font-size:14.5px;display:block}.shot-marks{position:relative}.shot-marks .m{color:#fff;background:#d83b01;border-radius:13px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff}@media (width<=600px){.shot-marks .m{width:18px;height:18px;font-size:10px;box-shadow:0 0 0 2px #fff}}ol.legend{counter-reset:none;margin:0 0 14px;list-style:none;padding:0!important}ol.legend li{border-bottom:1px solid #f0f0f0;gap:12px;padding:10px 0;display:flex}ol.legend .n{color:#fff;background:#d83b01;border-radius:12px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;font-size:12.5px;font-weight:700;display:flex}.notfound{text-align:center;padding:120px 0}.notfound h1{margin:0 0 12px;font-size:44px}
