@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin.woff2)format("woff2-variations");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:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin-ext.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2-variations")}@font-face{font-family:Archivo Fallback;src:local(Arial),local(Helvetica Neue),local(Roboto);size-adjust:101%;ascent-override:88%;descent-override:21%}@font-face{font-family:Mono Fallback;src:local(Menlo),local(Consolas),local(DejaVu Sans Mono);size-adjust:100%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-0:#050607;--ink-1:#090b0d;--ink-2:#0e1114;--ink-3:#14181c;--ink-4:#1b2026;--ink-5:#242a31;--line-1:#d2e1f011;--line-2:#d2e1f01c;--line-3:#d2e1f02e;--line-4:#d2e1f04d;--fg-1:#eef1f4;--fg-2:#b0b9c3;--fg-3:#8a949e;--fg-4:#78818b;--signal:#c6f24e;--signal-hi:#dbff73;--signal-ink:#0a0d03;--signal-a08:#c6f24e14;--signal-a16:#c6f24e29;--signal-a32:#c6f24e52;--sev-critical:#ff5468;--sev-high:#ff8f3f;--sev-medium:#f2c94c;--sev-low:#6cb4ff;--sev-info:#9aa5b1;--sev-critical-a:#ff54681f;--sev-high-a:#ff8f3f1f;--sev-medium-a:#f2c94c1f;--sev-low-a:#6cb4ff1f;--add-bg:#c6f24e17;--del-bg:#ff54681a;--font-sans:"Archivo", "Archivo Fallback", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Mono Fallback", ui-monospace, SFMono-Regular, Menlo, monospace;--stretch-display:112%;--stretch-ui:104%;--text-xs:.75rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.1875rem;--text-xl:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.2rem + 1vw, 2rem);--text-3xl:clamp(2rem, 1.35rem + 2.4vw, 3.25rem);--text-4xl:clamp(2.5rem, 1.4rem + 4vw, 4.75rem);--text-hero:clamp(2.6rem, 1.3rem + 4.6vw, 5rem);--gutter:clamp(1rem, .6rem + 1.8vw, 2rem);--container:80rem;--container-narrow:46rem;--section-y:clamp(4.5rem, 3rem + 5vw, 8rem);--header-h:4.25rem;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-1:.14s;--dur-2:.24s;--dur-3:.42s;--dur-4:.7s;--shadow-panel:0 0 0 1px var(--line-2), 0 30px 80px -20px #000c, 0 12px 24px -12px #0009;--focus-ring:0 0 0 2px var(--ink-0), 0 0 0 4px var(--signal)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#5f6973;font-style:italic}.token.punctuation,.token.operator{color:#8a949e}.token.keyword,.token.important,.token.atrule,.token.rule{color:#c4a7ff}.token.string,.token.char,.token.template-string,.token.attr-value,.token.regex,.token.url{color:#9fe0c0}.token.function,.token.class-name,.token.maybe-class-name{color:#e9edf1}.token.number,.token.boolean,.token.constant,.token.symbol{color:#ffb38a}.token.property,.token.attr-name,.token.tag,.token.selector{color:#8cc8ff}.token.builtin,.token.decorator,.token.annotation{color:#f2d27a}.token.parameter,.token.variable{color:#d3dae1}.token.interpolation-punctuation{color:#c4a7ff}.token.deleted{color:var(--sev-critical)}.token.inserted{color:var(--signal)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1.5rem);hanging-punctuation:first last}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ink-0);min-height:100dvh;color:var(--fg-2);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-weight:400;font-stretch:100%;line-height:1.6;overflow-x:clip}img,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}p,li,h1,h2,h3,h4{overflow-wrap:break-word}h1,h2,h3,h4{color:var(--fg-1);text-wrap:balance;font-weight:600}p{text-wrap:pretty}::selection{background:var(--signal);color:var(--signal-ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:calc(var(--container-narrow) + var(--gutter) * 2)}.section{padding-block:var(--section-y);position:relative}.section--tight{padding-block:calc(var(--section-y) * .6)}.section+.section--ruled,.section--ruled{border-top:1px solid var(--line-1)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:100;background:var(--signal);color:var(--signal-ink);border-radius:var(--radius-sm);transition:transform var(--dur-2) var(--ease-out);padding:.6rem .9rem;font-weight:600;position:absolute;top:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.display,.h1,.h2,.h3{font-stretch:var(--stretch-display);color:var(--fg-1);font-weight:620}.display{font-size:var(--text-hero);letter-spacing:-.04em;line-height:.96}.h1{font-size:var(--text-4xl);letter-spacing:-.038em;line-height:.98}.h2{font-size:var(--text-3xl);letter-spacing:-.032em;line-height:1.02}.h3{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600;line-height:1.2}.lede{font-size:var(--text-lg);color:var(--fg-2);max-width:40rem;line-height:1.55}.muted{color:var(--fg-3)}.signal{color:var(--signal)}.mono,code,kbd,pre{font-family:var(--font-mono);font-variant-ligatures:none}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:500;line-height:1.4}.dim-strike{color:var(--fg-4)}.balance{text-wrap:balance}.link{color:var(--fg-1);text-decoration:underline;-webkit-text-decoration-color:var(--line-4);text-decoration-color:var(--line-4);text-underline-offset:.22em;transition:text-decoration-color var(--dur-2) var(--ease-out), color var(--dur-2);text-decoration-thickness:1px}.link:hover{-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}.arrow-link{color:var(--fg-1);font-weight:500;font-stretch:var(--stretch-ui);align-items:center;gap:.5rem;display:inline-flex}.arrow-link svg{width:1rem;height:1rem;transition:transform var(--dur-2) var(--ease-out)}.arrow-link:hover svg{transform:translate(3px)}.arrow-link:hover{color:var(--signal)}.btn{--btn-h:3rem;min-height:var(--btn-h);border-radius:var(--radius-sm);font-size:.975rem;font-weight:600;font-stretch:var(--stretch-ui);letter-spacing:-.005em;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);justify-content:center;align-items:center;gap:.6rem;padding:0 1.25rem;display:inline-flex;position:relative}.btn:active{transform:translateY(1px)}.btn svg{flex:none;width:1.05rem;height:1.05rem}.btn--primary{background:var(--signal);color:var(--signal-ink);box-shadow:inset 0 -2px #0000002e,0 0 0 1px #c6f24e80}.btn--primary:hover{background:var(--signal-hi);box-shadow:inset 0 -2px 0 #0000002e, 0 0 0 1px var(--signal-hi), 0 8px 30px -8px #c6f24e73}.btn--ghost{color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--line-3);background:#ffffff04}.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--line-4);background:#ffffff0a}.btn--sm{--btn-h:2.4rem;padding:0 .95rem;font-size:.9rem}.btn--lg{--btn-h:3.4rem;padding:0 1.5rem;font-size:1.02rem}.btn-kbd{background:#0000001f;border-radius:3px;place-items:center;width:1.4rem;height:1.4rem;display:inline-grid;box-shadow:inset 0 0 0 1px #00000029}.btn-kbd svg{width:.85rem;height:.85rem}.marker{background:var(--signal);min-width:1.6rem;height:1.25rem;color:var(--signal-ink);font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;border-radius:2px;place-items:center;padding:0 .3rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-grid}.marker--outline{color:var(--signal);box-shadow:inset 0 0 0 1px var(--signal-a32);background:0 0}.marker--crit{background:var(--sev-critical);color:#1a0306}.file-head{align-items:center;gap:.85rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem);display:flex}.file-head .rule{background:linear-gradient(90deg, var(--line-3), var(--line-1));flex:1;height:1px}.file-head .label:last-child{color:var(--fg-4)}.frame{position:relative}.frame:before,.frame:after,.frame>.frame-c:before,.frame>.frame-c:after{content:"";border-color:var(--line-4);pointer-events:none;border-style:solid;width:10px;height:10px;position:absolute}.frame:before{border-width:1px 0 0 1px;top:-6px;left:-6px}.frame:after{border-width:1px 1px 0 0;top:-6px;right:-6px}.frame>.frame-c:before{border-width:0 0 1px 1px;bottom:-6px;left:-6px}.frame>.frame-c:after{border-width:0 1px 1px 0;bottom:-6px;right:-6px}.redact{vertical-align:-.12em;background:repeating-linear-gradient(-45deg,#2b3138 0 3px,#1c2126 3px 6px);border-radius:1px;width:9ch;height:1.05em;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff0f}.grid-bg{pointer-events:none;background-image:linear-gradient(var(--line-1) 1px, transparent 1px), linear-gradient(90deg, var(--line-1) 1px, transparent 1px);background-position:top;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 30%,#000 20%,#0000 75%)}.sev{height:1.4rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:2px;align-items:center;gap:.4rem;padding:0 .5rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.sev:before{content:"";background:currentColor;border-radius:1px;width:6px;height:6px}.sev--critical{color:var(--sev-critical);background:var(--sev-critical-a)}.sev--high{color:var(--sev-high);background:var(--sev-high-a)}.sev--medium{color:var(--sev-medium);background:var(--sev-medium-a)}.sev--low{color:var(--sev-low);background:var(--sev-low-a)}.sev--ok{color:var(--signal);background:var(--signal-a08)}.panel{background:linear-gradient(180deg, var(--ink-2), var(--ink-1));border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--line-2)}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-reveal]{animation:linear both reveal-up;animation-timeline:view();animation-range:entry entry 55%}[data-reveal="2"]{animation-range:entry 8% entry 63%}[data-reveal="3"]{animation-range:entry 16% entry 71%}}}.prose{color:var(--fg-2);font-size:1.125rem;line-height:1.72}.prose>*+*{margin-top:1.25em}.prose h2{letter-spacing:-.025em;font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);line-height:1.12;font-stretch:var(--stretch-display);scroll-margin-top:calc(var(--header-h) + 2rem);margin-top:2.4em;font-weight:620}.prose h3{letter-spacing:-.012em;font-size:1.3rem;line-height:1.25;font-stretch:var(--stretch-ui);margin-top:2em}.prose h2+*,.prose h3+*{margin-top:.75em}.prose a{color:var(--fg-1);text-decoration:underline;-webkit-text-decoration-color:var(--signal-a32);text-decoration-color:var(--signal-a32);text-underline-offset:.2em}.prose a:hover{-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}.prose strong{color:var(--fg-1);font-weight:600}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--fg-4)}.prose ol li::marker{font-family:var(--font-mono);color:var(--signal);font-size:.85em}.prose blockquote{border-left:2px solid var(--signal);color:var(--fg-1);padding:.2em 0 .2em 1.2em}.prose hr{background:var(--line-2);border:0;height:1px;margin-block:3em}.prose :not(pre)>code{background:var(--ink-3);color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--line-2);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:.12em .38em;font-size:.86em}.prose pre{border-radius:var(--radius-md);background:var(--ink-1);box-shadow:inset 0 0 0 1px var(--line-2);tab-size:2;padding:1.25rem 1.4rem;font-size:.86rem;line-height:1.7;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top;padding:.75rem 1rem .75rem 0}.prose th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:.72rem;font-weight:500}.logo[data-astro-cid-f7espo7c]{width:auto;color:var(--fg-1);flex:none;display:block;overflow:visible}.logo--wordmark[data-astro-cid-f7espo7c]{height:.95rem}.logo--mark[data-astro-cid-f7espo7c]{height:1.5rem}.logo-ink[data-astro-cid-f7espo7c]{fill:currentColor}.logo-point[data-astro-cid-f7espo7c]{fill:var(--signal)}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-h);transition:background-color var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs]:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(16px)saturate(140%);opacity:0;transition:opacity var(--dur-3) var(--ease-out);background:#050607db;position:absolute;inset:0}.is-stuck.site-header:before,.menu-open .site-header[data-astro-cid-nen7h5rs]:before{opacity:1}.is-stuck.site-header{box-shadow:inset 0 -1px 0 var(--line-1)}.menu-open .site-header[data-astro-cid-nen7h5rs]:before{background:var(--ink-0)}.header-sentinel{width:1px;height:8px;position:absolute;top:0}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:2rem;height:100%;display:flex}.brand[data-astro-cid-nen7h5rs]{margin-right:auto;padding:.4rem 0;display:inline-flex}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;padding:0;list-style:none;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.faq-link[data-astro-cid-nen7h5rs]{height:2.25rem;font-size:.925rem;font-weight:500;font-stretch:var(--stretch-ui);color:var(--fg-2);border-radius:var(--radius-sm);transition:color var(--dur-2);align-items:center;padding:0 .8rem;display:inline-flex;position:relative}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.faq-link[data-astro-cid-nen7h5rs]:hover,.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page],.faq-link[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--fg-1)}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{content:"";background:var(--signal);height:2px;position:absolute;bottom:-.3rem;left:.8rem;right:.8rem}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.5rem;display:flex}.menu-toggle[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;box-shadow:inset 0 0 0 1px var(--line-2);display:none;position:relative}.menu-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--fg-1);height:1.5px;transition:transform var(--dur-2) var(--ease-out);position:absolute;left:.75rem;right:.75rem}.menu-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:first-child{top:calc(50% - 3.5px)}.menu-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:last-child{top:calc(50% + 2.5px)}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(3px)rotate(45deg)}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-menu[data-astro-cid-nen7h5rs]{display:none}@media (width<=959.98px){.nav[data-astro-cid-nen7h5rs],.faq-link[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs]{display:block}.mobile-menu[data-astro-cid-nen7h5rs]{inset:var(--header-h) 0 0 0;background:var(--ink-0);padding:1rem var(--gutter) 2rem;visibility:hidden;opacity:0;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3);display:block;position:fixed;overflow-y:auto;transform:translateY(-8px)}.mobile-menu[data-astro-cid-nen7h5rs][data-open]{visibility:visible;opacity:1;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);transform:none}.mobile-menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{border-top:1px solid var(--line-1);padding:0;list-style:none}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line-1);font-size:1.35rem;font-weight:560;font-stretch:var(--stretch-display);letter-spacing:-.02em;color:var(--fg-1);align-items:center;gap:1rem;padding:1.1rem 0;display:flex}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs] svg{width:1.1rem;color:var(--fg-4);margin-left:auto}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page] .label[data-astro-cid-nen7h5rs]{color:var(--signal)}.mobile-cta[data-astro-cid-nen7h5rs]{width:100%;margin-top:2rem}.mobile-note[data-astro-cid-nen7h5rs]{text-align:center;margin-top:1rem}html.menu-open{overflow:hidden}}@media (width<=420px){.actions[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line-1);background:linear-gradient(180deg, var(--ink-0), var(--ink-1));padding-top:1rem;padding-bottom:2.5rem;position:relative}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr repeat(3,1fr);gap:2.5rem;padding-block:3.5rem;display:grid}.brand-col[data-astro-cid-jo6i4kqk] .footer-logo{height:1.05rem}.statement[data-astro-cid-jo6i4kqk]{max-width:30ch;color:var(--fg-3);margin-top:1.25rem;font-size:.95rem}.custody[data-astro-cid-jo6i4kqk]{color:var(--fg-2);align-items:center;gap:.6rem;margin-top:1.5rem;display:inline-flex}.dot[data-astro-cid-jo6i4kqk]{background:var(--signal);width:7px;height:7px;box-shadow:0 0 0 3px var(--signal-a16)}.col[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{margin-bottom:1.1rem}.col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.7rem;padding:0;list-style:none;display:grid}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--fg-2);transition:color var(--dur-2);font-size:.95rem}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--fg-1)}.base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line-1);color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-top:2rem;font-size:.85rem;display:flex}@media (width<=860px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.brand-col[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width<=480px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}
