@font-face{font-family:Geist Mono;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/geist-mono-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:#000;--panel:#000;--panel-2:#000;--ink:#fff;--ink-2:#a8a8a8;--dim-ink:#6f6f6f;--rule:#333;--rule-faint:#1f1f1f;--teal:#fff;--teal-2:#fff;--teal-pale:#333;--teal-light:#a8a8a8;--bg:var(--paper);--deep:var(--panel-2);--line:var(--rule);--line-faint:var(--rule-faint);--text:var(--ink);--dim:var(--ink-2);--faint:var(--dim-ink);--container:1120px;--gutter:32px;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, "Hiragino Kaku Gothic ProN", monospace;--sans:var(--mono);--display:var(--mono);color-scheme:dark}*{box-sizing:border-box;border-radius:0}[hidden]{display:none!important}html{scrollbar-gutter:stable;background:#000}body{color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;background:#000;margin:0;font-size:15px;font-weight:300;line-height:1.75}canvas.mesh{z-index:0;pointer-events:none;width:100vw;height:100vh;display:block;position:fixed;top:0;left:0}body>header,body>main,body>footer{z-index:1;position:relative}a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--ink-2)}a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:3px}::selection{color:#000;background:#fff}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;font-weight:400;line-height:1.25}h2{font-size:24px}h3{font-size:18px}.band{border-bottom:1px solid var(--rule)}.band.panel,.band.deep,.band.dark{background:0 0}.inner{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.pad{padding-block:56px}.pad-s{padding-block:14px}.mono{font-family:var(--mono)}.display{font-family:var(--display)}.dim{color:var(--ink-2)}.faint{color:var(--dim-ink)}.small{font-size:12px}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:20px;font-size:11px;font-weight:400;display:block}.win{border:1px solid var(--rule);padding:20px 24px;position:relative}.win.teal{border-color:var(--ink)}.btn{border:1px solid var(--ink);min-height:34px;color:var(--ink);font:400 13px/1.4 var(--mono);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:#000;justify-content:center;align-items:center;gap:8px;padding:4px 14px;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}.btn:hover,.btn.on{color:#000;background:#fff}.btn.primary{color:#000;background:#fff;min-height:46px;padding:6px 24px;font-size:14px;font-weight:500}.btn.primary:hover{color:#fff;background:#000}.btn[aria-disabled=true]{cursor:default;color:var(--dim-ink);border-style:dashed;border-color:var(--rule);background:#000}.btn.chip{cursor:default;border-color:var(--rule);min-height:24px;color:var(--ink-2);padding:1px 10px;font-size:11px}.btn.chip:hover{color:var(--ink-2);background:#000}.menu li{padding:5px 0 5px 24px;position:relative}.menu li:before{content:"→";color:var(--ink);visibility:hidden;position:absolute;top:5px;left:4px}.menu li:hover:before,.menu li.on:before{visibility:visible}.menu li a{color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:600;text-decoration:none}.menu li a:hover{color:var(--teal-2)}.menu li span{color:var(--dim-ink);margin-left:10px;font-size:14px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.trial-form{gap:6px;max-width:34em;display:grid}.trial-row{flex-wrap:wrap;gap:6px;display:flex}.trial-row input[type=email]{border:1px solid var(--rule);height:36px;color:var(--ink);font:13px var(--mono);background:#000;flex:14em;padding:0 10px}.trial-row input[type=email]::placeholder{color:var(--dim-ink)}.trial-row input[type=email]:focus{border-color:var(--ink);outline:none}.trial-row .btn.trial{min-height:36px}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.trial-error{color:#fff;font-weight:500;text-decoration:underline}.trial-form .cf-turnstile{max-height:0;overflow:hidden}.trial-form .cf-turnstile.is-open{min-height:65px;max-height:none;overflow:visible}.site-head{z-index:20;background:#000;position:sticky;top:0}.site-head .inner{justify-content:space-between;align-items:center;gap:16px;min-height:68px;display:flex}.wordmark{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.wordmark b{font-family:var(--mono);letter-spacing:.18em;color:var(--ink);white-space:nowrap;text-transform:uppercase;font-size:18px;font-weight:300;line-height:1}.site-nav{gap:2px;display:flex}.site-nav a{min-height:44px;font-family:var(--mono);color:var(--ink-2);align-items:center;padding:0 12px;font-size:13px;font-weight:400;text-decoration:none;display:flex}.site-nav a:hover{color:var(--ink)}.site-nav a.on{color:var(--ink);text-underline-offset:8px;text-decoration:underline}.site-foot{border-bottom:0}.site-foot .inner{font-family:var(--mono);color:var(--dim-ink);flex-wrap:wrap;justify-content:space-between;gap:8px 28px;font-size:11px;display:flex}.site-foot nav{flex-wrap:wrap;gap:4px 18px;display:flex}.site-foot a{color:var(--ink-2);text-decoration:none}.site-foot a:hover{color:var(--ink)}.shot,.toc{border:1px solid var(--rule);background:#000}.prose,.sheet{border:1px solid var(--rule);background:#000;max-width:72ch;padding:28px 32px 32px}.prose h1{margin-bottom:8px;font-size:30px;line-height:1.2}.prose h2{border-top:1px solid var(--rule-faint);margin:40px 0 10px;padding-top:18px;font-size:15px}.prose p,.prose ul{color:var(--ink-2);margin-bottom:14px}.prose ul{padding-left:1.2em;list-style:square}.prose strong{color:var(--ink);font-weight:600}.prose dl{border-top:1px solid var(--rule-faint);grid-template-columns:11em 1fr;margin-top:24px;display:grid}.prose dt,.prose dd{border-bottom:1px solid var(--rule-faint);padding:14px 0}.prose dt{font-family:var(--mono);color:var(--dim-ink);padding-right:16px;font-size:12px}.prose dd{color:var(--ink-2)}@media (width<=640px){:root{--gutter:16px}.site-head .inner{min-height:60px}.wordmark b{letter-spacing:.12em;font-size:13px}.pad{padding-block:40px}.prose,.sheet{padding:20px 16px 24px}.prose dl{grid-template-columns:1fr}.prose dt{border-bottom:0;padding-bottom:0}.prose dd{padding-top:4px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.prose h3{color:var(--ink);margin:24px 0 8px;font-size:13px}.prose ol{color:var(--ink-2);margin-bottom:14px;padding-left:1.4em}.prose li{margin-bottom:4px}.prose kbd{font-family:var(--mono);border:1px solid var(--rule);color:var(--ink);white-space:nowrap;background:#000;padding:1px 6px;font-size:12px}.prose dl.keys{grid-template-columns:10em 1fr;margin-top:8px}.prose dl.keys dt,.prose dl.keys dd{padding:8px 0}.toc{margin:20px 0 8px;padding:14px 18px}.toc ol{columns:2;column-gap:24px;margin:0}.toc a{color:var(--ink);text-decoration:none}.toc a:before{content:"→ ";color:var(--ink-2)}.toc a:hover{color:var(--ink-2)}@media (width<=640px){.toc ol{columns:1}.prose dl.keys{grid-template-columns:1fr}}.edition{position:relative}.edition>input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.edition-tabs{gap:6px;margin:18px 0 6px;display:flex}.edition-tabs label{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--ink);color:var(--ink);cursor:pointer;user-select:none;background:#000;padding:5px 16px;font-size:12px}.edition-tabs label:hover,#ed-free:checked~.edition-tabs label[for=ed-free],#ed-pro:checked~.edition-tabs label[for=ed-pro]{color:#000;background:#fff}#ed-free:checked~.pro-only,#ed-free:checked~.edition-body .pro-only,#ed-pro:checked~.free-only,#ed-pro:checked~.edition-body .free-only{display:none}.edition-note{font-family:var(--mono);color:var(--dim-ink);margin:0 0 8px;font-size:11px}
