:root{--night:#141416;--cinder:#0f0f11;--hearth:#1b1b1f;--hearth-2:#232328;--ink:#f4f2ee;--smoke:#a9a7ae;--ash:#8c8a92;--line:#ffffff14;--line-strong:#ffffff24;--cobalt:#1c53cf;--cobalt-hover:#2b62dc;--link:#86adff;--flame:#f23818;--amber:#ff9800;--fire:linear-gradient(100deg, var(--flame) 0%, #fb6a0c 55%, var(--amber) 100%);--cold:#4a4950;--term-green:#4cc38a;--term-red:#ff6a5f;--term-blue:#86adff;--font:"Figtree Variable", "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.1875rem;--text-num:2rem;--text-h2:clamp(1.9rem, 3vw, 2.5rem);--text-h1:clamp(2.35rem, 4.6vw, 3.5rem);--wrap:75rem;--gutter:clamp(1.25rem, 4vw, 2.5rem);--radius:12px;--radius-small:7px;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--night);color:var(--ink);font-family:var(--font);font-size:var(--text-md);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:720;line-height:1.05}h2{font-size:var(--text-h2);line-height:1.08}h3{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:680;line-height:1.2}p{text-wrap:pretty;margin:0}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,kbd,pre,samp{font-family:var(--mono);font-size:.9em}:not(pre)>code{color:var(--ink);white-space:nowrap;background:#ffffff0f;border-radius:4px;padding:.06em .3em;font-size:.86em}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:3px}::selection{background:#86adff52}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.section{padding-block:clamp(3.5rem,6vw,5.25rem)}.head{grid-template-columns:minmax(0,1fr);gap:1rem;max-width:46rem;display:grid}.lede{max-width:36em;color:var(--smoke);font-size:var(--text-lg);line-height:1.55}.prose{max-width:36em;color:var(--smoke)}.prose strong,.lede strong{color:var(--ink);font-weight:600}.lit{background:var(--fire);color:#0000;-webkit-background-clip:text;background-clip:text}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{min-height:2.9rem;font:620 var(--text-md) / 1.2 var(--font);letter-spacing:-.01em;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.3rem;text-decoration:none;transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.button-primary{background:var(--cobalt);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 10px 24px -12px #1c53cfe6}.button-primary:hover{background:var(--cobalt-hover)}.button-quiet{border-color:var(--line-strong);color:var(--ink);background:#ffffff05}.button-quiet:hover{background:#ffffff0d;border-color:#ffffff4d}.cells{width:max(8px, calc(var(--share,1) * 100%));height:var(--cell-height,14px);background:var(--cold);display:block;-webkit-mask:repeating-linear-gradient(90deg,#000 0 8px,#0000 8px 10px);mask:repeating-linear-gradient(90deg,#000 0 8px,#0000 8px 10px)}.cells-lit{background:var(--fire)}.cells-glow{filter:drop-shadow(0 0 7px #f2381880)}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem clamp(1.5rem,3vw,2.5rem);margin:0;padding:0;list-style:none;display:grid}.facts-2{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>*{border-top:1px solid var(--line-strong);align-content:start;gap:.3rem;padding-top:.85rem;display:grid}.facts h3{color:var(--ink);font-size:var(--text-md);letter-spacing:-.01em;font-weight:650}.facts p{color:var(--smoke);font-size:var(--text-sm)}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--cinder);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:1.45}.table caption{border-bottom:1px solid var(--line);color:var(--smoke);font-size:var(--text-xs);text-align:left;padding:.85rem 1rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem 1rem}.table thead th{color:var(--smoke);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.table tbody th{color:var(--ink);font-weight:560}.table td{color:var(--smoke)}.table tbody tr:last-child>*{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .win{color:var(--ink);font-weight:600}.article{min-width:0;color:var(--smoke);font-size:var(--text-lg);line-height:1.7}.article>*+*{margin-top:1.25em}.article h2{color:var(--ink);font-size:var(--text-num);letter-spacing:-.035em;margin-top:2.2em;scroll-margin-top:6rem;line-height:1.15}.article h3{color:var(--ink);font-size:var(--text-lg);margin-top:1.8em;scroll-margin-top:6rem}.article h2+*,.article h3+*{margin-top:.75em}.article strong{color:var(--ink);font-weight:620}.article ul,.article ol{gap:.5em;padding-left:1.2em;display:grid}.article blockquote{border-left:2px solid var(--line-strong);color:var(--smoke);margin-inline:0;padding-left:1.2em}.article :not(pre)>code{white-space:normal}.article table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:1.45;display:block;overflow-x:auto}.article th,.article td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .9rem .6rem 0}.article th{color:var(--ink);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.article hr{border:0;border-top:1px solid var(--line)}.article .expressive-code{font-size:var(--text-sm)}@media (width<=640px){.table-stack thead{display:none}.table-stack,.table-stack tbody,.table-stack tr,.table-stack th,.table-stack td{display:block;width:auto!important}.table-stack tr{border-bottom:1px solid var(--line);padding:.85rem 1rem}.table-stack tbody tr:last-child{border-bottom:0}.table-stack tbody th,.table-stack td{text-align:left;border:0;padding:.12rem 0}.table-stack tbody th{margin-bottom:.25rem}.table-stack td[data-label]:before{content:attr(data-label) ": ";color:var(--ash);font-weight:400}.table-stack .num{text-align:left;white-space:normal}}.actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.5rem;display:flex}.actions .copy-command{max-width:100%}.block{margin-top:clamp(2rem,3.5vw,2.75rem)}.note{color:var(--ash);font-size:var(--text-xs);margin-top:1.5rem}.band{border-block:1px solid var(--line);background:#161619}.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2.5rem,5vw,5rem);display:grid}.split .head{align-content:start}.split .actions{margin-top:.3rem}.split-flip{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.faq{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,6vw,5rem);margin-top:clamp(1.75rem,3vw,2.5rem);display:grid}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{color:var(--ink);font-size:var(--text-md);cursor:pointer;padding:1.05rem 2.25rem 1.05rem 0;font-weight:620;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"";border-right:1.6px solid var(--smoke);border-bottom:1.6px solid var(--smoke);width:.55rem;height:.55rem;transition:transform .16s;position:absolute;top:50%;right:.25rem;transform:translateY(-70%)rotate(45deg)}.faq-list details[open] summary:after{transform:translateY(-30%)rotate(225deg)}.faq-list details p{max-width:38em;color:var(--smoke);font-size:var(--text-md);padding-bottom:1.2rem}@media (width<=1000px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.facts,.facts-2{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.split,.split-flip,.faq{grid-template-columns:minmax(0,1fr)}.faq-list+.faq-list details:first-child{border-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nav:where(.astro-wpvy4v7s){z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.5)blur(16px);background:#141416f0;position:sticky;top:0}.nav-row:where(.astro-wpvy4v7s){align-items:center;gap:2.25rem;height:4rem;display:flex}.nav-home:where(.astro-wpvy4v7s){border-radius:var(--radius-small);flex:none}.nav-home:where(.astro-wpvy4v7s) img:where(.astro-wpvy4v7s){width:auto;height:2.25rem}.nav-links:where(.astro-wpvy4v7s){align-items:center;gap:.15rem;display:flex}.nav-link:where(.astro-wpvy4v7s),.nav-trigger:where(.astro-wpvy4v7s),.nav-github:where(.astro-wpvy4v7s){border-radius:var(--radius-small);color:var(--smoke);font:520 var(--text-sm) / 1.2 var(--font);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:.5rem .75rem;text-decoration:none;display:inline-flex;position:relative}.nav-link:where(.astro-wpvy4v7s):hover,.nav-trigger:where(.astro-wpvy4v7s):hover,.nav-github:where(.astro-wpvy4v7s):hover,.nav-product:where(.astro-wpvy4v7s).is-open .nav-trigger:where(.astro-wpvy4v7s){color:var(--ink)}.nav-trigger:where(.astro-wpvy4v7s) svg:where(.astro-wpvy4v7s){transition:transform .16s}.nav-product:where(.astro-wpvy4v7s).is-open .nav-trigger:where(.astro-wpvy4v7s) svg:where(.astro-wpvy4v7s){transform:rotate(180deg)}.nav-link:where(.astro-wpvy4v7s)[aria-current=page],.nav-trigger:where(.astro-wpvy4v7s)[aria-current=page]{color:var(--ink)}.nav-link:where(.astro-wpvy4v7s)[aria-current=page]:after,.nav-trigger:where(.astro-wpvy4v7s)[aria-current=page]:after{content:"";background:var(--flame);border-radius:2px;height:2px;position:absolute;bottom:-.78rem;left:.75rem;right:.75rem}.nav-product:where(.astro-wpvy4v7s){position:relative}.nav-panel:where(.astro-wpvy4v7s){border:1px solid var(--line-strong);background:#1a1a1e;border-radius:16px;grid-template-columns:17rem 21rem;gap:.5rem;padding:.6rem;display:none;position:absolute;top:calc(100% + .85rem);left:-1.25rem;box-shadow:inset 0 1px #ffffff0d,0 30px 60px -20px #000000bf}.nav-panel:where(.astro-wpvy4v7s):before{content:"";position:absolute;inset:-1rem 0 100%}.nav-product:where(.astro-wpvy4v7s).is-open .nav-panel:where(.astro-wpvy4v7s),html:not(.js) .nav-product:where(.astro-wpvy4v7s):hover .nav-panel:where(.astro-wpvy4v7s),html:not(.js) .nav-product:where(.astro-wpvy4v7s):focus-within .nav-panel:where(.astro-wpvy4v7s){display:grid}.nav-panel-heading:where(.astro-wpvy4v7s){color:var(--ash);font-size:var(--text-xs);padding:.6rem .75rem .35rem;font-weight:500}.nav-panel:where(.astro-wpvy4v7s) ul:where(.astro-wpvy4v7s),.nav-sheet:where(.astro-wpvy4v7s) ul:where(.astro-wpvy4v7s){margin:0;padding:0;list-style:none}.nav-panel-services:where(.astro-wpvy4v7s){border-right:1px solid var(--line);padding-right:.5rem}.nav-panel-services:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s){border-radius:var(--radius-small);color:var(--ink);font-size:var(--text-sm);grid-template-columns:20px 1fr auto;align-items:center;gap:.75rem;padding:.5rem .75rem;font-weight:540;text-decoration:none;display:grid}.nav-panel-services:where(.astro-wpvy4v7s) .pixels{color:var(--smoke)}.nav-panel-services:where(.astro-wpvy4v7s) code:where(.astro-wpvy4v7s){color:var(--ash);font-size:var(--text-xs);background:0 0;padding:0}.nav-panel-tools:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s){border-radius:var(--radius-small);color:var(--ink);font-size:var(--text-sm);gap:.1rem;padding:.55rem .75rem;font-weight:560;text-decoration:none;display:grid}.nav-panel-tools:where(.astro-wpvy4v7s) small:where(.astro-wpvy4v7s){color:var(--smoke);font-size:var(--text-xs);font-weight:400}.nav-panel:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s):hover,.nav-panel:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s):focus-visible{background:#ffffff0d}.nav-panel:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s):hover .pixels{color:var(--ink)}.nav-panel:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s)[aria-current=page],.nav-sheet:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s)[aria-current=page]{box-shadow:inset 2px 0 0 var(--flame)}.nav-end:where(.astro-wpvy4v7s){align-items:center;gap:.6rem;margin-left:auto;display:flex}.nav-github:where(.astro-wpvy4v7s){padding:.5rem}.nav-start:where(.astro-wpvy4v7s){min-height:2.4rem;font-size:var(--text-sm);padding:.45rem 1.05rem}.nav-menu:where(.astro-wpvy4v7s){display:none;position:relative}.nav-menu:where(.astro-wpvy4v7s) summary:where(.astro-wpvy4v7s){border:1px solid var(--line-strong);width:2.6rem;height:2.6rem;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;list-style:none;display:grid}.nav-menu:where(.astro-wpvy4v7s) summary:where(.astro-wpvy4v7s)::-webkit-details-marker{display:none}.nav-sheet:where(.astro-wpvy4v7s){border:1px solid var(--line-strong);background:#1a1a1e;border-radius:16px;width:min(20rem,100vw - 2.5rem);max-height:calc(100dvh - 6rem);padding:.5rem;display:grid;position:absolute;top:calc(100% + .7rem);right:0;overflow-y:auto;box-shadow:0 30px 60px -20px #000000bf}.nav-sheet-services:where(.astro-wpvy4v7s){grid-template-columns:1fr 1fr;display:grid;margin-bottom:.25rem!important}.nav-sheet:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s):not(.button){border-radius:var(--radius-small);color:var(--ink);font-size:var(--text-sm);align-items:center;gap:.6rem;padding:.6rem .75rem;font-weight:540;text-decoration:none;display:flex}.nav-sheet:where(.astro-wpvy4v7s) .pixels{color:var(--smoke);flex:none}.nav-sheet:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s):not(.button):hover{background:#ffffff0d}.nav-sheet:where(.astro-wpvy4v7s) .button:where(.astro-wpvy4v7s){margin:.5rem .25rem .25rem}@media (width<=900px){.nav-links:where(.astro-wpvy4v7s),.nav-github:where(.astro-wpvy4v7s),.nav-start:where(.astro-wpvy4v7s){display:none}.nav-menu:where(.astro-wpvy4v7s){display:block}}.footer:where(.astro-jo6i4kqk){border-top:1px solid var(--line);color:var(--smoke);font-size:var(--text-sm);padding-block:3rem 2rem}.footer-grid:where(.astro-jo6i4kqk){grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem;display:grid}.footer-about:where(.astro-jo6i4kqk){align-content:start;gap:1rem;max-width:19rem;display:grid}.footer-home:where(.astro-jo6i4kqk){border-radius:var(--radius-small);justify-self:start;margin-left:-.342rem}.footer-home:where(.astro-jo6i4kqk) img:where(.astro-jo6i4kqk){width:auto;height:2.25rem}.footer-column:where(.astro-jo6i4kqk) h2:where(.astro-jo6i4kqk){color:var(--ink);font-size:var(--text-sm);letter-spacing:-.005em;margin-bottom:.75rem;font-weight:600}.footer-column:where(.astro-jo6i4kqk) ul:where(.astro-jo6i4kqk){gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.footer-column:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk){color:var(--smoke);text-decoration:none}.footer-column:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk):hover{color:var(--ink);text-decoration:underline}.footer-legal:where(.astro-jo6i4kqk){border-top:1px solid var(--line);color:var(--ash);font-size:var(--text-xs);margin-top:2.5rem;padding-top:1.25rem}.footer-legal:where(.astro-jo6i4kqk) p:where(.astro-jo6i4kqk){max-width:52em}@media (width<=860px){.footer-grid:where(.astro-jo6i4kqk){grid-template-columns:1fr 1fr}.footer-about:where(.astro-jo6i4kqk){grid-column:1/-1}}@media (width<=480px){.footer-grid:where(.astro-jo6i4kqk){grid-template-columns:1fr}}.skip:where(.astro-hkbrpulz){z-index:100;background:var(--ink);color:var(--night);border-radius:999px;padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip:where(.astro-hkbrpulz):focus{top:1rem}
