:root{--bg:#09090b;--bg-2:#101012;--surface:#111113;--ink:#fafafa;--ink-2:#d4d4d8;--muted:#85858f;--line:#ffffff12;--line-2:#ffffff1f;--leaf:#4fcf82;--leaf-ink:#6ee09b;--leaf-soft:#13271b;--glow:#4fcf8224;--forest:#354336;--sage:#c6d5be;--k-speed:#4fcf82;--k-memory:#7fb2ff;--k-allocation:#5fd0c8;--k-complexity:#b79bff;--k-correctness:#f1b84e;--term:#0b0b0d;--term-2:#111113;--term-line:#ffffff12;--term-fg:#e4e4e7;--term-dim:#6b6b74;--term-dir:#86c8ff;--term-add:#5fd68d;--term-mod:#f1c24e;--term-del:#ff7c5f;--term-size:#7fd6c7;--display:"General Sans", ui-sans-serif, system-ui, sans-serif;--sans:"General Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--wrap:1200px;--gutter:clamp(20px, 4vw, 40px);--section:clamp(96px, 12vw, 168px);--radius:14px;--shadow-panel:0 1px 0 #ffffff0d inset, 0 40px 80px -30px #000000b3;--ease:cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}img,svg{display:block}a{color:inherit}:focus-visible{outline:2px solid var(--leaf);outline-offset:3px;border-radius:6px}::selection{background:var(--leaf-soft)}.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}code,kbd{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:.14em .4em;font-size:.86em}h1,h2,h3{font-family:var(--display);font-optical-sizing:auto;color:var(--ink);text-wrap:balance;margin:0}h2{letter-spacing:-.04em;font-size:clamp(32px,4.2vw,52px);font-weight:600;line-height:1.05}h3{letter-spacing:-.02em;font-size:19px;font-weight:550;line-height:1.3}.lead{color:var(--ink-2);text-wrap:pretty;max-width:36em;font-size:clamp(18px,1.7vw,21px);line-height:1.6}.muted{color:var(--muted)}.btn{height:48px;font:500 15px var(--sans);cursor:pointer;transition:transform .2s var(--ease), background-color .2s, border-color .2s, box-shadow .2s;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-ghost{color:var(--ink);border-color:var(--line-2);background:var(--surface)}.btn-ghost:hover{border-color:var(--muted)}.btn svg{width:16px;height:16px}.cmd{background:var(--surface);max-width:100%;height:52px;color:var(--ink);border:1px solid var(--line-2);font:500 14.5px var(--mono);cursor:pointer;text-align:left;transition:transform .2s var(--ease), box-shadow .3s var(--ease);border-radius:14px;align-items:center;gap:14px;padding:0 8px 0 18px;display:inline-flex;box-shadow:0 10px 30px -12px #0c1a1373}.cmd:hover{box-shadow:0 16px 40px -14px #0c1a138c}.cmd:active{transform:scale(.985)}.cmd .sigil{color:var(--leaf);user-select:none}.cmd .txt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cmd .copy-ic{background:#ffffff1a;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid;position:relative}.cmd .copy-ic svg{width:16px;height:16px;transition:opacity .2s, transform .3s var(--ease);position:absolute}.cmd .copy-ic .ok{opacity:0;transform:scale(.5)}.cmd.copied .copy-ic .ok{opacity:1;transform:none}.cmd.copied .copy-ic .cp{opacity:0;transform:scale(.5)}.section{padding-block:var(--section);position:relative}.section+.section{border-top:0}.section+.section:before{content:"";background:linear-gradient(90deg, transparent, var(--line) 20%, var(--line-2) 50%, var(--line) 80%, transparent);height:1px;position:absolute;inset:0 0 auto}.section-head{gap:20px;max-width:760px;margin-bottom:clamp(40px,6vw,72px);display:grid}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(40px,6vw,88px);display:grid}@media (width<=960px){.split{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--term);color:var(--term-fg);border:1px solid var(--term-line);box-shadow:var(--shadow-panel);font:400 13.5px/1 var(--mono);font-variant-ligatures:none;border-radius:18px;overflow:hidden}.panel-bar{border-bottom:1px solid var(--term-line);background:var(--term-2);color:var(--term-dim);align-items:center;gap:12px;min-height:52px;padding:14px 18px;font-size:12.5px;display:flex}.panel-body{scrollbar-width:thin;padding:18px 22px 22px;overflow-x:auto}.prompt{color:var(--term-fg);white-space:pre;gap:10px;margin-bottom:8px;line-height:24px;display:flex}.prompt .sigil{color:var(--term-add)}.caret{background:var(--term-add);vertical-align:-3px;width:8px;height:16px;margin-left:1px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.stage{--row:24px;contain:layout;min-width:max-content;position:relative}.stage .ln{height:var(--row);line-height:var(--row);white-space:pre;will-change:transform, opacity;border-radius:4px;padding-right:12px;position:absolute;top:0;left:0}@media (width<=640px){.panel{font-size:11.5px}.stage{--row:20px}.panel-body{padding:14px 14px 18px}}.t-dim,.t-conn{color:var(--term-dim)}.t-dir{color:var(--term-dir);font-weight:500}.t-size{color:var(--term-size)}.t-add,.t-st-A,.t-st-u{color:var(--term-add)}.t-st-M,.t-heat-2{color:var(--term-mod)}.t-del,.t-st-D,.t-st-U,.t-heat-3{color:var(--term-del)}.t-st-R{color:var(--term-dir)}.t-del-name{color:var(--term-del);text-decoration:line-through 1px}.t-heat-1{color:var(--term-dim)}.t-head{color:#fff;font-weight:600}.t-key{color:var(--term-dim)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.wm{vertical-align:bottom;margin:-.08em -.02em -.14em;padding:.08em .02em .14em;display:inline-block;overflow:hidden}.wi{will-change:transform;display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cmd{position:relative}.cmd .copy-ic .ok path{stroke-dasharray:24;stroke-dashoffset:24px;transition:stroke-dashoffset .4s var(--ease) 80ms}.cmd.copied .copy-ic .ok path{stroke-dashoffset:0}.cmd:after{content:"Copied";font:500 12.5px var(--sans);color:var(--bg);background:var(--ink);opacity:0;transform-origin:80% 100%;pointer-events:none;border-radius:8px;padding:5px 10px;transition:opacity .18s,transform .35s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:calc(100% + 8px);right:4px;transform:translateY(6px)scale(.9)}.cmd.copied:after{opacity:1;transform:none}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.nav{view-transition-name:nav}@media (prefers-reduced-motion:reduce){.cmd:after,.cmd .copy-ic .ok path{transition:none}@view-transition{navigation:none}}body:after{content:"";z-index:100;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}[data-spot]{position:relative}[data-spot]:before,[data-spot]:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;position:absolute;inset:-1px}[data-spot]:before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #4fcf8212, transparent 45%)}[data-spot]:after{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), #4fcf82a6, transparent 60%);-webkit-mask-composite:xor;padding:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}[data-spot]:hover:before,[data-spot]:hover:after{opacity:1}.card,.stat,.tools li{box-shadow:inset 0 1px #ffffff0b,0 24px 48px -32px #000c;background:linear-gradient(180deg, color-mix(in srgb, var(--surface), #fff 2.5%), var(--surface) 60%)!important}.eyebrow{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.cmd.primary{background:var(--ink);color:#0a0f0c;border-color:#0000;box-shadow:inset 0 1px #fff6,0 12px 32px -12px #e8efe940}.cmd.primary .sigil{color:#2f7a4f}.cmd.primary .copy-ic{background:#0a0f0c14}main{background:linear-gradient(var(--line), var(--line)) calc(50% - var(--wrap) / 2 - 1px) 0 / 1px 100% no-repeat, linear-gradient(var(--line), var(--line)) calc(50% + var(--wrap) / 2) 0 / 1px 100% no-repeat}@media (width<=1260px){main{background:0 0}}.dim{color:var(--muted)}.pill{height:44px;font:500 15px var(--sans);transition:background-color .2s, border-color .2s, transform .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.pill:active{transform:scale(.97)}.pill-light{background:var(--ink);color:#09090b}.pill-light:hover{background:#e4e4e7}.pill svg{width:15px;height:15px;transition:transform .2s var(--ease)}.pill:hover svg{transform:translate(2px)}.star-btn{border-radius:999px!important}.frame{border:1px solid var(--line);background:#ffffff04;border-radius:26px;padding:8px;box-shadow:0 40px 120px -40px #000000e6}.frame>.panel{box-shadow:none;border-radius:18px}.arrow-link{color:var(--ink);align-items:center;gap:6px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.arrow-link:after{content:"→";transition:transform .2s var(--ease)}.arrow-link:hover:after{transform:translate(3px)}.btn{height:44px;font:500 15px var(--sans);border-radius:10px;padding:0 18px}.btn-solid{background:var(--leaf);color:#03140a;box-shadow:inset 0 1px #ffffff59,0 8px 24px -8px #4fcf828c}.btn-solid:hover{background:#66dc95}.btn-dark{color:var(--ink);border-color:var(--line-2);backdrop-filter:blur(8px);background:#27272ab3}.btn-dark:hover{background:#3f3f46b3}.btn-sm{border-radius:9px;height:34px;padding:0 14px;font-size:14px}.nav{z-index:50;padding:10px var(--gutter) 0;view-transition-name:nav;position:sticky;top:0}.bar{max-width:calc(var(--wrap) + 24px);height:58px;transition:max-width .5s var(--ease), background-color .3s, border-color .3s, box-shadow .3s;border:1px solid #0000;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:0 8px 0 16px;display:grid;position:relative}.nav.scrolled .bar{backdrop-filter:blur(18px)saturate(1.6);border-color:var(--line-2);background:#111114db;max-width:1020px;box-shadow:inset 0 1px #ffffff0f,0 18px 50px -18px #000000d9}.brand{font:600 19px var(--display);letter-spacing:-.03em;justify-self:start;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.brand svg{width:auto;height:26px;color:var(--sage)}.nav-links{gap:2px;display:flex;position:relative}.nav-link{z-index:1;color:var(--muted);border-radius:9px;padding:7px 13px;font-size:14.5px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-link:hover{color:var(--ink)}.nav-pill{opacity:0;pointer-events:none;background:#ffffff12;border-radius:9px;position:absolute;top:0;left:0}.nav-end{justify-self:end;align-items:center;gap:8px;display:flex}.nav-search{border:1px solid var(--line);height:34px;color:var(--muted);background:#ffffff08;border-radius:9px;align-items:center;gap:8px;padding:0 6px 0 11px;font-size:13.5px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.nav-search:hover{color:var(--ink);border-color:var(--line-2)}.nav-search svg{width:14px;height:14px}.nav-search kbd{border:1px solid var(--line-2);font:11px var(--mono);background:#ffffff0d;border-radius:6px;padding:1px 6px}.nav .star-btn{height:34px}.menu{display:none;position:relative}.menu summary{border:1px solid var(--line-2);cursor:pointer;border-radius:10px;place-content:center;gap:5px;width:38px;height:38px;list-style:none;display:grid}.menu summary::-webkit-details-marker{display:none}.menu summary span{background:var(--ink);width:16px;height:1.5px;transition:transform .3s var(--ease);border-radius:2px;display:block}.menu[open] summary span:first-child{transform:translateY(3.25px)rotate(45deg)}.menu[open] summary span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.menu-panel{width:min(280px, calc(100vw - 2 * var(--gutter)));border:1px solid var(--line-2);backdrop-filter:blur(18px);animation:menu-in .25s var(--ease);background:#131316;border-radius:16px;gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 60px -16px #000000e6}.menu-panel a:not(.btn){color:var(--ink-2);border-radius:10px;padding:10px 12px;font-weight:500;text-decoration:none}.menu-panel a:not(.btn):hover{background:#ffffff0d}.menu-panel .btn{justify-content:center;margin-top:6px}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}@media (width<=900px){.bar{grid-template-columns:1fr auto}.nav-links,.nav-search span,.nav .star-btn{display:none}}@media (width<=560px){.nav-search,.nav-cta{display:none}.menu{display:block}}.foot:where(.astro-hkbrpulz){border-top:1px solid var(--line);padding:64px 0 0;font-size:15px;overflow:hidden}.wordmark:where(.astro-hkbrpulz){font:800 clamp(96px, 24vw, 320px) / .8 var(--display);letter-spacing:-.06em;text-align:center;color:#0000;background:radial-gradient(circle,#ffffff29 1.2px,#0000 1.6px) 0 0/7px 7px;user-select:none;-webkit-background-clip:text;background-clip:text;margin:72px 0 -.24em}.foot-grid:where(.astro-hkbrpulz){grid-template-columns:2fr repeat(3,1fr);gap:40px;display:grid}.foot-brand:where(.astro-hkbrpulz) p:where(.astro-hkbrpulz){max-width:26em;margin:16px 0 0}.maker:where(.astro-hkbrpulz){flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:20px;display:flex}.foot-brand:where(.astro-hkbrpulz) .maker:where(.astro-hkbrpulz) p:where(.astro-hkbrpulz){font:600 21px/1.3 var(--display);letter-spacing:-.015em;color:var(--ink);flex-basis:100%;margin:0}.maker:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz){color:var(--muted);font-size:15px;text-decoration:none}.maker:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz):hover{color:var(--leaf)}.foot:where(.astro-hkbrpulz) nav:where(.astro-hkbrpulz){align-content:start;gap:10px;display:grid}.foot:where(.astro-hkbrpulz) nav:where(.astro-hkbrpulz) p:where(.astro-hkbrpulz){color:var(--ink);margin:0 0 4px;font-weight:600}.foot:where(.astro-hkbrpulz) nav:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz){color:var(--muted);width:fit-content;text-decoration:none}.foot:where(.astro-hkbrpulz) nav:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz):hover{color:var(--ink)}@media (width<=760px){.foot-grid:where(.astro-hkbrpulz){grid-template-columns:1fr 1fr}.foot-brand:where(.astro-hkbrpulz){grid-column:1/-1}}
