@font-face{font-family:Geist;src:url(/fonts/Geist-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--cols:12;--bl:8px;--lh:24px;--gutter:24px;--margin:72px;--maxw:1296px;--paper:#f3f0e2;--panel:#eae5d2;--ink:#23284a;--ink-soft:#5d6076;--hair:rgba(35,40,74,.26);--hair-strong:rgba(35,40,74,.45);--grain-opacity:.07;--grain-invert:0;--g-col:rgba(228,0,43,.07);--g-edge:rgba(228,0,43,.38);--g-base:rgba(0,150,140,.3);--g-base-min:rgba(0,150,140,.1);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--paper:#16171b;--panel:#23252c;--ink:#e9e7da;--ink-soft:#a19f94;--hair:rgba(233,231,218,.22);--hair-strong:rgba(233,231,218,.42);--grain-opacity:.1;--grain-invert:1}}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font:400 16px/24px Geist,-apple-system,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="280" height="280"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9 0.12" numOctaves="2" stitchTiles="stitch"/><feColorMatrix values="0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0"/></filter><rect width="280" height="280" filter="url(%23n)"/></svg>');opacity:var(--grain-opacity);filter:invert(var(--grain-invert))}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mono{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;white-space:nowrap}.wrap{position:relative;z-index:1;max-width:calc(var(--maxw) + 2*var(--margin));margin:0 auto;padding:0 var(--margin) 96px}.topbar{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--hair-strong)}.topbar:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="280" height="280"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9 0.12" numOctaves="2" stitchTiles="stitch"/><feColorMatrix values="0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0"/></filter><rect width="280" height="280" filter="url(%23n)"/></svg>');opacity:var(--grain-opacity);filter:invert(var(--grain-invert))}.topbar-in{position:relative;max-width:calc(var(--maxw) + 2*var(--margin));margin:0 auto;padding:15px var(--margin) 16px;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.tb-brand{font-family:Geist Mono,ui-monospace,monospace;font-size:13px;line-height:16px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}.tb-right{display:flex;align-items:baseline;gap:24px}.tb-nav{display:flex;align-items:baseline;gap:12px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:16px;letter-spacing:.12em;text-transform:uppercase}.tb-nav a{color:var(--ink);text-decoration:none;white-space:nowrap}.tb-nav a:hover{text-decoration:underline;text-underline-offset:3px}.tb-num,.tb-sep{color:var(--ink-soft)}.topbar button{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:none;border:1px solid var(--hair-strong);padding:3px 10px;cursor:pointer;border-radius:2px}.topbar button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.doc-sect{scroll-margin-top:88px}.hero{padding-top:120px}h1{font-size:96px;line-height:96px;font-weight:600;letter-spacing:-.035em}.tagline{font-size:28px;line-height:40px;font-weight:400;letter-spacing:-.015em;margin-top:24px;max-width:19ch}.pitch{font-size:20px;line-height:32px;margin-top:32px;max-width:46ch;color:var(--ink-soft)}.chip{display:inline-flex;align-items:baseline;gap:12px;margin-top:40px;max-width:100%;overflow-x:auto;background:var(--panel);border:1px solid var(--hair-strong);border-radius:2px;padding:11px 16px}.chip .chip-p{font-family:Geist Mono,ui-monospace,monospace;font-size:13px;line-height:16px;color:var(--ink-soft);user-select:none;-webkit-user-select:none}.chip code{font-family:Geist Mono,ui-monospace,monospace;font-size:13px;line-height:16px;color:var(--ink);white-space:nowrap;user-select:all;-webkit-user-select:all}.ctas{margin-top:24px;display:flex;gap:16px;flex-wrap:wrap}.cta{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;line-height:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;border:1px solid var(--hair-strong);border-radius:2px;padding:11px 15px}.cta:hover{background:var(--panel)}.doc-sect{margin-top:128px}.doc-idx{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-family:Geist Mono,ui-monospace,monospace;font-size:13px;line-height:16px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--hair-strong);padding-top:23px;margin-bottom:48px}.band{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);align-items:start}.band+.band{margin-top:64px}.c-1-5{grid-column:1/5}.c-1-6{grid-column:1/6}.c-1-7{grid-column:1/7}.c-1-8{grid-column:1/8}.c-5-13{grid-column:5/13}.c-7-13{grid-column:7/13}.c-1-13{grid-column:1/-1}@supports not (display:grid){.band{display:block}}h2{font-size:44px;line-height:48px;font-weight:600;letter-spacing:-.02em}.body{margin-top:8px;color:var(--ink-soft);max-width:44ch}.body strong{color:var(--ink);font-weight:500}.body a,.doclist a{color:var(--ink);text-decoration-color:var(--hair-strong);text-underline-offset:3px}.doclist{list-style:none}.body+.doclist{margin-top:32px}.doclist>li{padding:20px 0 19px}.doclist>li:first-child{padding-top:0}.doclist>li+li{border-top:1px solid var(--hair)}.doclist strong{display:block;font-size:16px;line-height:24px;font-weight:600}.doclist>li>span{display:block;margin-top:8px;font-size:16px;line-height:24px;color:var(--ink-soft);max-width:52ch}.doclist span .mono{font-size:14px}.doclist--num{counter-reset:dstep}.doclist--num>li{counter-increment:dstep}.doclist--num strong:before{content:"0" counter(dstep) "  ";font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:400;letter-spacing:.1em;color:var(--ink-soft)}@media(min-width:1101px){.doclist--split>li{display:grid;grid-template-columns:2fr 3fr;column-gap:var(--gutter)}.doclist--split>li>span{margin-top:0}}.coda{margin-top:40px;color:var(--ink-soft);max-width:48ch;line-height:28px}.verdict{display:inline-block;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:16px;letter-spacing:.1em;color:var(--ink);border:1px solid var(--hair-strong);border-radius:2px;padding:3px 8px}.fig-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:16px}.fig-head .t{font-size:14px;line-height:16px;font-weight:500}.fig-head .f{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:16px;letter-spacing:.08em;color:var(--ink-soft)}.panel{background:var(--panel);border:1px solid var(--hair);border-radius:8px;padding:24px}.panel--scroll{overflow-x:auto;background-image:linear-gradient(to right,var(--panel) 50%,transparent),linear-gradient(to left,var(--panel) 50%,transparent),linear-gradient(to right,var(--hair),transparent),linear-gradient(to left,var(--hair),transparent);background-position:left center,right center,left center,right center;background-size:48px 100%,48px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;background-repeat:no-repeat}.caption{margin-top:16px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.composer{background:var(--panel);border:1px solid var(--hair-strong);border-radius:8px;padding:20px 20px 16px}.composer-meta{display:flex;align-items:baseline;gap:16px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px}.composer-prompt{font-size:16px;line-height:24px;max-width:52ch}.composer-row{display:grid;grid-template-columns:48px 1fr;column-gap:12px;align-items:baseline}.composer-row+.composer-row{margin-top:8px}.composer-k{font-family:Geist Mono,ui-monospace,monospace;font-size:10px;line-height:24px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.composer-row .composer-prompt{margin:0}.composer-bar{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.composer-send{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--ink);border-radius:2px;color:var(--ink);font-size:13px;line-height:16px}.fig-flow{margin:16px 0;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.panel pre{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:20px;color:var(--ink);tab-size:2}.panel pre .soft{color:var(--ink-soft)}.engraving{display:block;margin:0 auto;color:var(--ink)}.engraving text{font-family:Geist Mono,ui-monospace,monospace;letter-spacing:.06em;fill:currentColor}.engraving .soft{opacity:.62}.foot{margin-top:144px;border-top:1px solid var(--hair-strong);padding-top:31px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}.foot-line{font-size:13px;line-height:20px;color:var(--ink-soft);max-width:56ch}.foot-links{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}.foot-links a{color:var(--ink);text-decoration:none}.foot-links a:hover{text-decoration:underline;text-underline-offset:3px}.guides{position:absolute;inset:0;pointer-events:none;z-index:60;opacity:0}body.grid-on .guides{opacity:1}@media(prefers-reduced-motion:no-preference){.guides{transition:opacity .26s ease}}.guides .cols{position:absolute;top:0;bottom:0;left:var(--margin);right:var(--margin);display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter)}.guides .col{background:var(--g-col);box-shadow:inset 1px 0 0 var(--g-edge),inset -1px 0 0 var(--g-edge);position:relative}.guides .col span{position:absolute;top:32px;left:0;right:0;text-align:center;font:10px/1 monospace;color:var(--g-edge)}.guides .rows{position:absolute;left:var(--margin);right:var(--margin);top:0;bottom:0;background-image:repeating-linear-gradient(to bottom,var(--g-base) 0 1px,transparent 1px var(--lh)),repeating-linear-gradient(to bottom,var(--g-base-min) 0 1px,transparent 1px var(--bl))}.guides .mline{position:absolute;top:0;bottom:0;width:1px;background:var(--g-edge)}.guides .mline.l{left:var(--margin)}.guides .mline.r{right:var(--margin)}@media(max-width:860px){.tb-label{display:none}}@media(max-width:1100px){.wrap,.topbar-in{padding-inline:32px}.hero{padding-top:72px}.doc-sect{margin-top:88px}.doc-idx{margin-bottom:40px}.band{display:block}.band>*+*{margin-top:48px}.band+.band{margin-top:48px}h1{font-size:64px;line-height:64px}.tagline{font-size:24px;line-height:32px}.pitch{font-size:18px;line-height:28px}h2{font-size:36px;line-height:40px}.foot{margin-top:96px}.guides,.topbar button{display:none}}@media(max-width:560px){.wrap{padding:0 20px 64px}.topbar-in{padding:11px 20px 12px}.doc-sect{scroll-margin-top:72px}.hero{padding-top:56px}.doc-sect{margin-top:72px}.doc-idx{font-size:12px;margin-bottom:32px;padding-top:19px}.band>*+*{margin-top:40px}h1{font-size:56px;line-height:56px}.tagline{font-size:22px;line-height:32px}.chip{display:flex}h2{font-size:30px;line-height:32px}.doclist>li{padding:16px 0 15px}.foot{margin-top:80px}}
