@font-face{font-family:figtree;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/Figtree-italic-400-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:figtree;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/Figtree-italic-400-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:figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/Figtree-normal-400to700-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:figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/Figtree-normal-400to700-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:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/IBMPlexMono-normal-400-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:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/IBMPlexMono-normal-400-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:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/IBMPlexMono-normal-500-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:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/IBMPlexMono-normal-500-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:lobster;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/Lobster-normal-400-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:lobster;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/Lobster-normal-400-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}:root{--paper:#F5F5F4;--paper-raised:#FFFFFF;--paper-sunken:#EBEBE8;--ink:#0B0D11;--ink-2:#3A3F48;--ink-3:#5A606A;--line:rgba(11,13,17,0.07);--line-strong:rgba(11,13,17,0.14);--field-edge:#787A80;--night:#0B0D11;--night-raised:#1A1E25;--night-text:#EAECEF;--night-text-2:#A7AEB8;--night-line:rgba(255,255,255,0.10);--emerald:#21C97A;--cyan:#25CFD6;--azure:#3D9BFF;--violet:#9B7BFF;--magenta:#FF5C93;--amber:#FFA63D;--emerald-deep:#17A564;--cyan-deep:#1AAAB0;--azure-deep:#1F7AE0;--violet-deep:#7A58F0;--magenta-deep:#E23D76;--amber-deep:#D9801A;--tint-emerald:rgba(33,201,122,0.12);--tint-azure:rgba(61,155,255,0.12);--tint-violet:rgba(155,123,255,0.13);--tint-amber:rgba(255,166,61,0.15);--tint-magenta:rgba(255,92,147,0.12);--azure-text:#1B66C4;--emerald-text:#0F7A48;--amber-text:#8F5300;--magenta-text:#B8255A;--violet-text:#5B3CC4;--spectrum:linear-gradient(90deg,#21C97A,#25CFD6,#3D9BFF,#9B7BFF,#FF5C93,#FFA63D);--surface-page:var(--paper);--surface-card:var(--paper-raised);--surface-code:var(--paper-sunken);--surface-band:var(--night);--text-body:var(--ink);--text-secondary:var(--ink-2);--text-muted:var(--ink-3);--link:var(--azure-text);--link-hover:var(--ink);--focus-ring:0 0 0 3px rgba(61,155,255,0.45);--btn-primary-bg:var(--ink);--btn-primary-fg:#FFFFFF}:root{--font-display:'Lobster',cursive;--font-sans:'Figtree',ui-sans-serif,system-ui,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,monospace;--fs-display-xl:96px;--fs-display-l:60px;--fs-display-m:48px;--fs-h2:30px;--fs-h3:24px;--fs-h4:20px;--fs-lead:21px;--fs-body:18px;--fs-docs:17px;--fs-small:15px;--fs-caption:13.5px;--fs-eyebrow:14px;--fs-code:15px;--lh-display:1.05;--lh-heading:1.25;--lh-body:1.55;--lh-prose:1.7;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-eyebrow:0.06em;--ls-display:-0.005em;--ls-heading:-0.01em}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;--space-16:64px;--space-18:72px;--space-24:96px;--space-28:112px;--gutter:64px;--gutter-mobile:20px;--container:1152px;--measure:720px;--header-h:76px;--docs-sidebar:260px;--docs-toc:220px;--radius-xs:5px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px}:root{--shadow-shot:0 2px 4px rgba(11,13,17,0.08),0 30px 70px rgba(11,13,17,0.28);--shadow-shot-sm:0 1px 3px rgba(11,13,17,0.10),0 12px 32px rgba(11,13,17,0.20);--shadow-pop:0 1px 2px rgba(11,13,17,0.06),0 8px 24px rgba(11,13,17,0.10)}:root{--ease:cubic-bezier(0.2,0,0.2,1);--dur-fast:120ms;--dur:180ms}@media(prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms}}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;transition:color var(--dur)var(--ease)}a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}::selection{background:rgba(61,155,255,.25)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}img{max-width:100%}.bf-prose{font-size:var(--fs-body);line-height:var(--lh-prose);color:var(--text-body);max-width:var(--measure)}.bf-prose--docs{font-size:var(--fs-docs)}.bf-prose>*+*{margin-top:1.1em}.bf-prose p,.bf-prose ul,.bf-prose ol,.bf-prose figure,.bf-prose pre,.bf-prose blockquote,.bf-prose table{margin-bottom:0}.bf-prose h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:2em 0 0}.bf-prose h3{font-size:var(--fs-h3);font-weight:var(--fw-bold);line-height:var(--lh-heading);margin:1.6em 0 0}.bf-prose h4{font-size:var(--fs-h4);font-weight:var(--fw-semibold);margin:1.4em 0 0}.bf-prose h2+*,.bf-prose h3+*,.bf-prose h4+*{margin-top:.6em}.bf-prose ul,.bf-prose ol{padding-left:1.3em}.bf-prose li+li{margin-top:.35em}.bf-prose li::marker{color:var(--text-muted)}.bf-prose a{text-decoration:underline;text-decoration-color:rgba(27,102,196,.35);text-underline-offset:3px}.bf-prose a:hover{text-decoration-color:initial}.bf-prose strong{font-weight:var(--fw-semibold)}.bf-prose code{font-family:var(--font-mono);font-size:.86em;background:var(--surface-code);padding:.12em .4em;border-radius:var(--radius-xs)}.bf-prose pre{font-family:var(--font-mono);font-size:var(--fs-code);line-height:1.6;background:var(--night);color:var(--night-text);padding:18px 22px;border-radius:var(--radius-sm);overflow-x:auto}.bf-prose pre code{background:0 0;padding:0;font-size:inherit}.bf-prose blockquote{margin-left:0;padding:0 0 0 1.2em;border-left:3px solid var(--line-strong);color:var(--text-secondary);font-style:italic}.bf-prose img{border-radius:var(--radius-md);display:block}.bf-prose figure{margin-left:0;margin-right:0}.bf-prose figcaption{font-size:var(--fs-caption);color:var(--text-muted);margin-top:10px}.bf-prose hr{border:0;height:1px;background:var(--line-strong);margin:2.4em 0}.bf-prose table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.bf-prose th{text-align:left;font-weight:var(--fw-semibold);border-bottom:1px solid var(--line-strong);padding:8px 12px 8px 0}.bf-prose td{border-bottom:1px solid var(--line);padding:8px 12px 8px 0}.bf-prose kbd{font-family:var(--font-mono);font-size:.82em;background:var(--paper-raised);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:var(--radius-xs);padding:.05em .45em}.bf-wrap{max-width:calc(var(--container) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}.bf-spectrum{height:3px;background:var(--spectrum)}.bf-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bf-header__inner{display:flex;align-items:center;gap:36px;padding-top:22px;padding-bottom:22px}.bf-header__logo{display:flex}.bf-header__logo img{height:30px;width:auto;display:block}.bf-header__nav{display:flex;gap:28px;margin-left:auto;font-size:16px;font-weight:500}.bf-header__nav a{color:var(--ink-2)}.bf-header__nav a[aria-current=page]{color:var(--ink);font-weight:600}.bf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:1.2;padding:12px 24px;border-radius:var(--radius-pill);border:0;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--dur)var(--ease)}.bf-btn:hover{text-decoration:none}.bf-btn--primary{background:var(--ink);color:#fff}.bf-btn--primary:hover{background:#262c34;color:#fff}.bf-btn--secondary{background:0 0;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.bf-btn--secondary:hover{background:rgba(11,13,17,5%);color:var(--ink)}.bf-btn--sm{font-size:15px;padding:9px 18px}.bf-btn--on-dark{background:var(--night-text);color:var(--ink)}.bf-btn--on-dark:hover{background:#fff;color:var(--ink)}.bf-badge{display:inline-flex;align-items:center;font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;line-height:1.3;color:var(--azure-text);background:var(--tint-azure);padding:5px 14px;border-radius:var(--radius-pill)}.bf-hero{padding-top:72px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}.bf-display-xl{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--fs-display-xl);line-height:1.02;letter-spacing:var(--ls-display);max-width:900px;text-wrap:balance}.bf-display-l{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--fs-display-l);line-height:1.1;text-wrap:balance}.bf-lead{margin:0;font-size:var(--fs-lead);color:var(--ink-2);max-width:640px;text-wrap:pretty}.bf-signup{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;width:100%;max-width:560px;margin-top:10px}.bf-email{display:flex;gap:8px;padding:6px;width:100%;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--paper-raised);border:1.5px solid var(--field-edge);transition:box-shadow var(--dur)var(--ease),border-color var(--dur)var(--ease)}.bf-email:focus-within{border-color:var(--azure-text);box-shadow:var(--focus-ring)}.bf-email input{flex:1;min-width:0;border:0;outline:0;background:0 0;color:var(--ink);font-family:var(--font-sans);font-size:17px;padding:0 16px}.bf-email input::placeholder{color:var(--ink-3)}.bf-email .bf-btn:focus-visible{border-radius:var(--radius-pill)}.bf-optins{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center}.bf-check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:var(--fs-small);color:var(--ink-2)}.bf-check input{appearance:none;-webkit-appearance:none;margin:0;width:18px;height:18px;flex:none;border-radius:var(--radius-xs);border:1.5px solid var(--field-edge);background:var(--paper-raised);display:grid;place-content:center;cursor:pointer;transition:background var(--dur-fast)var(--ease)}.bf-check input::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px)rotate(45deg);opacity:0}.bf-check input:checked{background:var(--azure-text);border-color:var(--azure-text)}.bf-check input:checked::after{opacity:1}.bf-check input:focus-visible{box-shadow:var(--focus-ring)}.bf-note{font-size:var(--fs-caption);color:var(--ink-3)}.bf-honeypot{position:absolute;left:-5e3px}.bf-signup--dark .bf-email{background:var(--night-raised)}.bf-signup--dark .bf-email:focus-within{border-color:var(--azure)}.bf-signup--dark .bf-email input{color:var(--night-text)}.bf-signup--dark .bf-email input::placeholder{color:var(--night-text-2)}.bf-shot{margin:0 auto;padding-top:64px}.bf-shot img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:var(--shadow-shot);outline:1px solid var(--night-line);outline-offset:-1px;background:var(--night)}.bf-benefits{padding-top:112px;display:flex;flex-direction:column;gap:56px}.bf-benefits>h2{text-align:center}.bf-benefits__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bf-benefit{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:10px}.bf-benefit__dash{width:28px;height:4px;border-radius:4px;background:var(--azure)}.bf-benefit--emerald .bf-benefit__dash{background:var(--emerald)}.bf-benefit--cyan .bf-benefit__dash{background:var(--cyan)}.bf-benefit--violet .bf-benefit__dash{background:var(--violet)}.bf-benefit--magenta .bf-benefit__dash{background:var(--magenta)}.bf-benefit--amber .bf-benefit__dash{background:var(--amber)}.bf-benefit h3{margin:0;font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-heading)}.bf-benefit p{margin:0;color:var(--ink-2);text-wrap:pretty}.bf-cta-wrap{padding-top:112px}.bf-cta{background:var(--surface-band);color:var(--night-text);border-radius:var(--radius-xl);padding:var(--space-16);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.bf-cta h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:56px;line-height:1.1;text-wrap:balance}.bf-cta p{margin:0;color:var(--night-text-2);max-width:560px;text-wrap:pretty}.bf-cta .bf-signup{margin-top:8px}.bf-cta--plain{background:0 0;color:var(--ink)}.bf-cta--plain p{color:var(--ink-2)}.bf-cta .bf-btn{margin-top:8px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.bf-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}.bf-signup--dark .bf-note{color:var(--night-text-2)}.bf-page{max-width:calc(var(--measure) + 2 * var(--gutter));padding-top:64px}.bf-page__title{margin:0 0 24px;font-family:var(--font-display);font-weight:400;font-size:var(--fs-display-m);line-height:1.1;text-wrap:balance}.bf-page__meta{margin:-12px 0 24px;font-size:var(--fs-small);color:var(--ink-3)}.bf-page__lead{margin:0;color:var(--ink-2)}.bf-post-list{list-style:none;margin:0;padding:0}.bf-post-list li+li{margin-top:24px}.bf-post-list a{font-size:var(--fs-h3);font-weight:700}.bf-post-list time{display:block;font-size:var(--fs-small);color:var(--ink-3)}.bf-post-list p{margin:4px 0 0;color:var(--ink-2)}.bf-prose .bf-screenshot{margin-left:calc(50% - min(var(--container)/2,50vw - var(--gutter)));width:min(var(--container),100vw - 2 * var(--gutter))}.bf-screenshot img{width:100%;height:auto;border-radius:14px;box-shadow:var(--shadow-shot)}.bf-footer{border-top:1px solid var(--line);margin-top:96px}.bf-footer__inner{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;padding-top:40px;padding-bottom:40px;font-size:var(--fs-small);color:var(--ink-3)}.bf-footer__inner img{height:26px;width:auto;display:block}.bf-footer__nav{display:flex;flex-wrap:wrap;gap:24px;margin-left:auto}.bf-footer__nav a{color:var(--ink-3)}@media(max-width:900px){:root{--gutter:var(--gutter-mobile);--fs-display-xl:60px;--fs-display-l:42px;--fs-lead:19px}.bf-header__inner{gap:20px}.bf-header__nav{gap:18px;font-size:15px}.bf-hero{padding-top:48px}.bf-shot{padding-top:40px}.bf-benefits{padding-top:72px;gap:32px}.bf-benefits__grid{grid-template-columns:minmax(0,1fr);gap:14px}.bf-benefit{padding:24px}.bf-cta-wrap{padding-top:72px}.bf-cta{padding:40px 22px;border-radius:var(--radius-lg)}.bf-cta h2{font-size:38px}.bf-footer{margin-top:64px}.bf-footer__nav{margin-left:0;width:100%}}@media(max-width:560px){.bf-header__nav{display:none}.bf-header__cta{margin-left:auto}.bf-email{flex-direction:column;border-radius:20px;padding:8px}.bf-email input{padding:10px 12px}.bf-email .bf-btn{width:100%}.bf-optins{flex-direction:column;align-items:flex-start}.bf-shot img{border-radius:8px}}