:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Cascadia Mono", Consolas, monospace;--sans:var(--font-sans);--mono:var(--font-mono);--bg:#f4f8f3;--raise:#fff;--raise-2:#eef4ee;--bg-deep:#e9f0e9;--ink:#121a15;--prose:#26312a;--soft:#5f6b62;--mute:#8a958c;--line:#dbe5dc;--line-strong:#b9c9bb;--accent:#0b7441;--accent-hover:#09663a;--accent-deep:#075530;--accent-tint:#0b74411a;--accent-ink:#fff;--sun:var(--accent);--logo:#ffd60a;--good:#0b7441;--bad:#b3402c;--sky:#2f6fe0;--term-bg:#121a15;--term-ink:#d9e2da;--term-soft:#98a39a;--term-accent:#3ddc84;--tok-keyword:#c49cf0;--tok-string:#e6c07b;--tok-comment:#86918a;--tok-number:#f0a77c;--tok-type:#7fcfe0;--tok-punct:#a9a6a0;--nav-bg:#f4f8f3e6;--me-bg:#e6eee6;--shadow:0 10px 28px #0a1e141f;--ground:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17171a;--raise:#212126;--raise-2:#2a2a30;--bg-deep:#121214;--ink:#f0eee9;--prose:#dcd9d2;--soft:#9b978f;--mute:#6f6c66;--line:#33333a;--line-strong:#44444c;--accent:#3ddc84;--accent-hover:#5ee89a;--accent-deep:#2cc470;--accent-tint:#3ddc841f;--accent-ink:#06160c;--good:#3ddc84;--bad:#ef8a7a;--sky:#8fb8f2;--term-bg:#121214;--term-ink:#dcd9d2;--term-soft:#8a8884;--term-accent:#79dba2;--tok-comment:#7d8590;--nav-bg:#17171ae0;--me-bg:#28282e;--shadow:0 10px 28px #00000073;--ground:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17171a;--raise:#212126;--raise-2:#2a2a30;--bg-deep:#121214;--ink:#f0eee9;--prose:#dcd9d2;--soft:#9b978f;--mute:#6f6c66;--line:#33333a;--line-strong:#44444c;--accent:#3ddc84;--accent-hover:#5ee89a;--accent-deep:#2cc470;--accent-tint:#3ddc841f;--accent-ink:#06160c;--good:#3ddc84;--bad:#ef8a7a;--sky:#8fb8f2;--term-bg:#121214;--term-ink:#dcd9d2;--term-soft:#8a8884;--term-accent:#79dba2;--tok-comment:#7d8590;--nav-bg:#17171ae0;--me-bg:#28282e;--shadow:0 10px 28px #00000073;--ground:dark}}:root{--t-12:12px;--t-13:13px;--t-14:14px;--t-15:15px;--t-16:16px;--t-18:18px;--t-22:22px;--t-28:28px;--t-36:36px;--t-48:48px;--t-64:64px;--t-84:84px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--s-32:128px;--page:1120px;--gutter:24px;--col-gap:24px;--r-1:4px;--r-2:6px;--r-3:10px;--r-4:14px;--r-pill:999px;--d-fast:.12s;--d-base:.2s;--d-slow:.32s;--d-reveal:.56s;--d-letter:.44s;--e-out:cubic-bezier(.2,.7,.2,1);--e-in-out:cubic-bezier(.65,0,.35,1);--e-spring:cubic-bezier(.34,1.3,.4,1);--stagger:22ms}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:var(--t-16)/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{width:100%;max-width:calc(var(--page) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}code,kbd,pre{font-family:var(--mono)}.lk{color:var(--ink);transition:background-size var(--d-base) var(--e-out), color var(--d-fast);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;position:relative}.lk:hover,.lk:focus-visible{background-size:100% 1px}.lk.soft{color:var(--soft)}.lk.soft:hover{color:var(--ink)}.btn{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border:1px solid var(--line);border-radius:var(--r-3);color:var(--ink);font-size:var(--t-15);white-space:nowrap;transition:border-color var(--d-fast), background-color var(--d-fast), color var(--d-fast), transform var(--d-fast) var(--e-out);background:0 0;font-weight:500;line-height:1;display:inline-flex}.btn:hover{border-color:var(--line-strong);background:var(--raise)}.btn:active{transform:translateY(1px)}.btn:hover{transform:translateY(-1px)}.btn:hover .arrow{transform:translate(3px)}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:active{background:var(--accent-deep);border-color:var(--accent-deep)}.btn .ico{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform var(--d-base) var(--e-spring);flex:none}.btn:hover .ico{transform:translateY(-1px)scale(1.08)}.btn:hover .ico.arrow{transform:translate(3px)}.btn:hover .ico.download{transform:translateY(2px)}.btn .label{transition:opacity var(--d-base), transform var(--d-base) var(--e-out);display:inline-block}.button-icon{flex:none;width:16px;height:16px;display:inline-grid;position:relative}.button-icon>.ico{grid-area:1/1}.button-icon .bolt,.button-icon .tick,.btn[aria-busy=true] .button-icon>.ico,.btn[data-done=true] .button-icon>.ico{visibility:hidden}.btn[aria-busy=true] .button-icon .bolt,.btn[data-done=true] .button-icon .tick{visibility:visible}.btn[aria-busy=true] .label{opacity:.6}.btn .bolt-path{stroke-dasharray:60;stroke-dashoffset:0;fill:currentColor;fill-opacity:.5}.btn .bolt-charge{fill:currentColor;stroke:none}.btn .bolt-level{transform:translateY(12px)}.btn .bolt{overflow:hidden}.btn[data-done=true] .tick{animation:pop var(--d-slow) var(--e-spring)}@keyframes pop{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:no-preference){.btn[aria-busy=true] .bolt-path{fill-opacity:0;animation:bolt-draw 1.1s var(--e-in-out) infinite}.btn[aria-busy=true] .bolt-level{animation:bolt-charge 1.1s var(--e-in-out) infinite}}@keyframes bolt-draw{0%{stroke-dashoffset:60px}55%,to{stroke-dashoffset:0}}@keyframes bolt-charge{0%,55%{transform:translateY(24px)}85%,to{transform:translateY(0)}}.btn:disabled{opacity:.45;cursor:default;transform:none}.nav{z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav .wrap{align-items:center;gap:var(--s-6);height:60px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-weight:600;display:inline-flex}.brand img{width:22px;height:22px;transition:transform var(--d-slow) var(--e-spring)}.brand:hover img{transform:rotate(-12deg)scale(1.08)}.brand.plain img{filter:grayscale()brightness(1.6)}.nav ul{gap:var(--s-1);margin:0 0 0 var(--s-4);padding:0;list-style:none;display:flex}.nav li{position:relative}.nav li>a,.nav li>details>summary{height:36px;padding:0 var(--s-3);border-radius:var(--r-2);color:var(--soft);font-size:var(--t-14);transition:color var(--d-fast), background-color var(--d-fast);background:0 0;border:0;align-items:center;gap:5px;display:inline-flex}.nav li>a:hover,.nav summary:hover,.nav details[open]>summary{color:var(--ink);background:var(--raise)}.nav .caret{width:10px;height:10px;transition:transform var(--d-base) var(--e-out)}.nav details[open] .caret{transform:rotate(180deg)}.product-menu{border:1px solid var(--line);border-radius:var(--r-3);background:var(--raise);min-width:260px;box-shadow:var(--shadow);transform-origin:0 0;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.product-menu :is(a,.planned){border-radius:var(--r-2);color:var(--ink);font-size:var(--t-14);transition:background-color var(--d-fast);grid-template-columns:28px 1fr;align-items:center;column-gap:10px;padding:8px 10px;display:grid}.product-menu a:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.product-menu :is(a,.planned) small{color:var(--soft);font-size:var(--t-12);grid-column:2;line-height:1.4;display:block}.product-menu :is(a,.planned) .pi{border-radius:var(--r-2);background:var(--bg);border:1px solid var(--line);width:28px;height:28px;color:var(--accent);place-items:center;display:grid}.product-menu .planned{color:var(--soft);cursor:default}.product-menu .planned .pi{color:var(--mute)}.product-menu .planned:hover{background:0 0}.nav .right{gap:var(--s-2);align-items:center;margin-left:auto;display:flex}.nav .btn{min-height:36px;padding:0 var(--s-4);font-size:var(--t-14)}.btn.ghost{color:var(--soft);border-color:#0000}.btn.ghost:hover{color:var(--ink);background:var(--raise)}.burger{width:40px;height:40px;color:var(--ink);border-radius:var(--r-2);background:0 0;border:0;display:none}.burger svg{width:20px;height:20px}.pi svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}@media (max-width:760px){.nav ul,.nav .right .ghost{display:none}.burger{place-items:center;display:grid}.nav[data-open=true] ul{padding:var(--s-2) var(--s-4) var(--s-4);background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;margin:0;display:flex;position:absolute;top:60px;left:0;right:0}.nav[data-open=true] li>a,.nav[data-open=true] summary{justify-content:space-between;width:100%;height:44px}.nav[data-open=true] .product-menu{opacity:1;pointer-events:auto;box-shadow:none;display:block;position:static;transform:none}}@keyframes blink{to{visibility:hidden}}footer{border-top:1px solid var(--line);background:var(--bg-deep);color:var(--soft);font-size:var(--t-14)}footer .wrap{gap:var(--col-gap);padding:var(--s-16) var(--gutter) var(--s-12);grid-template-columns:repeat(12,1fr);display:grid}footer .wrap>div:first-child{grid-column:1/6}footer .wrap>div:nth-child(2){grid-column:6/8}footer .wrap>div:nth-child(3){grid-column:8/10}footer .wrap>div:nth-child(4){grid-column:10/13}footer h2{margin:0 0 var(--s-3);color:var(--ink);font-size:var(--t-13);text-transform:uppercase;letter-spacing:.06em;font-weight:600}footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}footer .fine{justify-content:space-between;gap:var(--s-4);padding-top:var(--s-6);border-top:1px solid var(--line);color:var(--soft);font-size:var(--t-13);flex-wrap:wrap;grid-column:1/-1;display:flex}@media (max-width:760px){footer .wrap{gap:var(--s-6);padding:var(--s-12) var(--gutter) var(--s-8);grid-template-columns:1fr 1fr}footer .wrap>div{grid-column:auto!important}footer .wrap>:first-child{grid-column:1/-1!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}.rv{opacity:1;transform:none}.cursorline,.term .cur{animation:none}}.theme{border-radius:var(--r-2);width:36px;height:36px;color:var(--soft);transition:color var(--d-fast), border-color var(--d-fast), background-color var(--d-fast);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.theme:hover{color:var(--ink);border-color:var(--line);background:var(--raise)}.theme svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform var(--d-slow) var(--e-spring), opacity var(--d-base);position:absolute}.theme{position:relative}.theme .moon{opacity:0;transform:rotate(-90deg)scale(.6)}.theme .sun{opacity:1}[data-theme=dark] .theme .moon{opacity:1;transform:none}[data-theme=dark] .theme .sun{opacity:0;transform:rotate(90deg)scale(.6)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme .moon{opacity:1;transform:none}:root:not([data-theme=light]) .theme .sun{opacity:0;transform:rotate(90deg)scale(.6)}}body{transition:background-color var(--d-slow), color var(--d-slow)}.nav summary{cursor:pointer;list-style:none}.nav summary::-webkit-details-marker{display:none}.nav .mobile-signin{display:none}.site-main{min-height:48vh;padding-block:var(--s-24)}.site-main h1{letter-spacing:-.035em;margin:0;font-size:clamp(36px,5.6vw,76px);line-height:1.06}.skip-link{z-index:50;background:var(--raise);padding:12px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:8px}@media (max-width:760px){.nav .mobile-signin{display:block}.nav .wrap{gap:8px}.nav .btn{padding:0 10px}.nav .right{gap:4px}}@media (pointer:coarse){.nav .btn,.theme,.burger{min-width:44px;min-height:44px}}footer .brand+p{max-width:30ch;margin:12px 0 0}@media (max-width:760px){footer .wrap>.fine{grid-column:1/-1!important}}
.launch-page{padding-block:var(--s-20) var(--s-24)}.launch-header{max-width:880px;margin-bottom:var(--s-16)}.eyebrow{margin:0 0 var(--s-5);color:var(--soft);font:var(--t-13)/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em}.launch-header h1{font:600 clamp(36px, 5vw, 64px)/1.08 var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0}.launch-lede{max-width:660px;margin:var(--s-6) 0 0;color:var(--prose);font-size:var(--t-18);line-height:1.6}.launch-actions{gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.launch-note,.index-note{color:var(--soft);font-size:var(--t-14)}.index-note{margin-top:var(--s-8)}.feature-ledger{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.feature-ledger li{gap:var(--s-6);border-bottom:1px solid var(--line);padding:var(--s-6) 0;grid-template-columns:minmax(56px,auto) 1fr 1.65fr;align-items:start;display:grid}.ledger-number{color:var(--soft);font:var(--t-13)/1.8 var(--mono)}.feature-ledger h2,.feature-ledger h3{font-size:var(--t-22);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.35}.feature-ledger h2 a,.feature-ledger h3 a{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:5px;transition:color var(--d-fast)}.feature-ledger a:hover{color:var(--accent)}.feature-ledger p{color:var(--prose);font-size:var(--t-15);margin:0}.install-section{gap:var(--s-12);padding-block:var(--s-10);margin-bottom:var(--s-12);border-top:1px solid var(--line);grid-template-columns:1fr 1.5fr;scroll-margin-top:84px;display:grid}.install-section h2{font-size:var(--t-28);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.25}.install-section p{color:var(--prose);max-width:38ch}.install-section code{overflow-wrap:anywhere}.code-block{border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--term-bg);min-width:0;color:var(--term-ink);overflow:hidden}.code-bar{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line-strong);color:var(--term-soft);font:var(--t-12)/1.5 var(--mono);justify-content:space-between;align-items:center;display:flex}.code-bar .btn{color:var(--term-ink);border-color:var(--term-soft);min-height:36px;padding-inline:var(--s-3);font-family:var(--sans)}.code-bar .btn:hover{background:0 0}.code-block pre{padding:var(--s-5);font:var(--t-13)/1.85 var(--mono);margin:0;overflow-x:auto}.code-block .copy-error{color:var(--term-ink);font-size:var(--t-14);padding:0 var(--s-5) var(--s-4);margin:0}.reading-layout{justify-content:center;align-items:start;gap:var(--s-12);padding-block:var(--s-12) var(--s-24);grid-template-columns:minmax(0,720px) 180px;display:grid}.docs-layout{gap:var(--s-10);grid-template-columns:180px minmax(0,1fr) 160px}.reading-layout>*{min-width:0}.docs-side,.page-toc{max-height:calc(100vh - 108px);font-size:var(--t-14);align-self:start;position:sticky;top:84px;overflow:auto}.docs-side a,.page-toc a{border-left:2px solid var(--line);color:var(--soft);padding:8px 12px;line-height:1.4;display:block}.docs-side .docs-overview{margin-bottom:var(--s-4);color:var(--ink);border:0;padding-left:0;font-weight:600}.docs-side a:hover,.page-toc a:hover{color:var(--ink);border-color:var(--line-strong)}.docs-side a[aria-current=page]{color:var(--ink);border-color:var(--accent)}.side-sections{margin-top:var(--s-6)}.side-sections a{font-size:var(--t-13)}.page-toc p{margin:0 0 var(--s-3);color:var(--soft);font:var(--t-12)/1.5 var(--mono)}.page-toc a{font-size:var(--t-13);border:0;padding-left:0}.prose{max-width:68ch;color:var(--prose);font-size:var(--t-15);overflow-wrap:anywhere;line-height:1.75}.prose .breadcrumbs{gap:var(--s-2);margin-bottom:var(--s-5);color:var(--soft);font-size:var(--t-13);flex-wrap:wrap;line-height:1.5;display:flex}.prose h1{color:var(--ink);font-size:var(--t-36);letter-spacing:-.03em;margin:0;font-weight:600;line-height:1.15}.prose .article-lede{margin:var(--s-4) 0;font-size:var(--t-18);color:var(--soft);line-height:1.5}.prose .article-date{color:var(--soft);font:var(--t-12)/1.6 var(--mono);margin-bottom:var(--s-8)}.prose h2{color:var(--ink);font-size:var(--t-22);letter-spacing:-.02em;margin:var(--s-10) 0 var(--s-3);scroll-margin-top:84px;font-weight:600;line-height:1.35}.prose h3{color:var(--ink);font-size:var(--t-16);margin:var(--s-6) 0 var(--s-2);scroll-margin-top:84px}.prose p{margin:0 0 var(--s-4)}.prose a{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);transition:color var(--d-fast)}.prose a:hover{color:var(--accent)}.prose ul,.prose ol{padding-left:var(--s-6);margin:var(--s-4) 0 var(--s-6)}.prose li{margin-bottom:var(--s-2)}.prose :not(pre)>code{background:var(--raise);border:1px solid var(--line);border-radius:var(--r-1);color:var(--ink);padding:2px 5px;font-size:.88em}.prose .code-block{margin-block:var(--s-5) var(--s-6)}.prose .related{gap:var(--s-3);margin-top:var(--s-12);border-top:1px solid var(--line);display:grid}@media (max-width:1100px){.docs-layout{grid-template-columns:180px minmax(0,1fr)}.docs-layout .page-toc{display:none}}@media (max-width:760px){.launch-page{padding-block:var(--s-12) var(--s-16)}.launch-header{margin-bottom:var(--s-10)}.feature-ledger li{gap:var(--s-3) var(--s-4);grid-template-columns:minmax(28px,auto) minmax(0,1fr)}.feature-ledger p{grid-column:2}.feature-ledger h2,.feature-ledger h3{font-size:var(--t-18)}.install-section{gap:var(--s-6);margin-bottom:var(--s-6);grid-template-columns:minmax(0,1fr)}.reading-layout,.docs-layout{gap:var(--s-8);padding-block:var(--s-8) var(--s-16);grid-template-columns:minmax(0,1fr)}.docs-side{border-bottom:1px solid var(--line);padding-bottom:var(--s-4);flex-wrap:wrap;align-items:center;max-height:none;display:flex;position:static}.docs-side .docs-overview{margin-bottom:var(--s-2);flex-basis:100%}.docs-side>a{border:0;border-bottom:2px solid #0000;align-items:center;min-height:44px;display:inline-flex}.docs-side .side-sections,.page-toc{display:none}.prose h1{font-size:var(--t-28)}.prose h2{margin-top:var(--s-8)}.code-bar .btn{min-height:44px}}.mobile-toc{display:none}@media (max-width:1100px){.docs-layout .mobile-toc{border-block:1px solid var(--line);margin-block:var(--s-5);padding-block:var(--s-3);display:block}}@media (max-width:760px){.mobile-toc{border-block:1px solid var(--line);margin-block:var(--s-5);padding-block:var(--s-3);display:block}}.mobile-toc summary{cursor:pointer;color:var(--ink);align-content:center;min-height:44px}.mobile-toc a{padding-block:var(--s-2);display:block}
