:root{--header-h:4rem;--code-bg:var(--k-bg-secondary);--gutter:clamp(1rem, 3vw, 2rem)}html{scroll-padding-top:calc(var(--header-h) + 1rem)}body{min-block-size:100dvh}@layer site-base{a{color:var(--k-text-brand);text-underline-offset:.3em}}code,pre,kbd{font-family:var(--k-font-mono);direction:ltr;unicode-bidi:isolate}.site-header{z-index:var(--k-z-sticky);border-block-end:1px solid var(--k-border-secondary);background:color-mix(in srgb, var(--k-bg-primary) 94%, transparent);backdrop-filter:blur(10px);transition:box-shadow var(--k-duration-normal);position:sticky;inset-block-start:0}.site-header[data-scrolled]{box-shadow:0 1px 0 var(--k-border-secondary), 0 6px 16px -10px #0000004d}.site-header__inner{align-items:center;gap:var(--k-space-3);max-inline-size:90rem;block-size:var(--header-h);padding-inline:var(--gutter);margin-inline:auto;display:flex}.brand{align-items:center;gap:var(--k-space-2);color:var(--k-text-primary);border-radius:var(--k-radius-md);text-decoration:none;display:inline-flex}.brand:focus-visible{box-shadow:var(--k-ring-brand);outline:2px solid #0000}.brand .logo-mark{transition:rotate .6s var(--k-ease-emphasized)}.brand:hover .logo-mark{rotate:45deg}.brand__name{font-size:var(--k-text-xl);font-weight:var(--k-weight-black)}.version{border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-full);color:var(--k-text-tertiary);font:600 .7rem var(--k-font-mono);transition:color var(--k-duration-fast), border-color var(--k-duration-fast);padding:.125rem .5rem;text-decoration:none}.version:hover{border-color:var(--k-border-primary);color:var(--k-text-primary)}.site-nav{gap:2px;margin-inline-start:var(--k-space-5);display:flex}.site-nav a{padding:var(--k-space-2) var(--k-space-3);border-radius:var(--k-radius-md);color:var(--k-text-tertiary);font-size:var(--k-text-sm);font-weight:var(--k-weight-semibold);white-space:nowrap;transition:color var(--k-duration-fast), background-color var(--k-duration-fast);text-decoration:none;position:relative}.site-nav a:hover{color:var(--k-text-primary);background:var(--k-bg-hover)}.site-nav a[aria-current=page]{color:var(--k-text-primary)}.site-nav a[aria-current=page]:after{content:"";inset-inline:var(--k-space-3);background:var(--k-border-brand);border-radius:2px;block-size:2px;position:absolute;inset-block-end:calc((var(--header-h) - 2.25rem) / -2)}.site-header__end{align-items:center;gap:var(--k-space-1);margin-inline-start:auto;display:flex}.menu-btn{display:none}.install-btn{margin-inline-start:var(--k-space-1)}@media (width<=26rem){.install-btn{display:none}}.search-btn{align-items:center;gap:var(--k-space-2);block-size:2.25rem;inline-size:15rem;padding-inline:var(--k-space-3) var(--k-space-1_5);border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-md);background:var(--k-bg-secondary);color:var(--k-text-tertiary);font:inherit;font-size:var(--k-text-sm);cursor:pointer;box-shadow:var(--k-shadow-xs);transition:border-color var(--k-duration-fast), color var(--k-duration-fast);margin-inline-end:var(--k-space-2);display:inline-flex}.search-btn:hover{border-color:var(--k-border-primary);color:var(--k-text-secondary)}.search-btn:focus-visible{box-shadow:var(--k-ring-brand);outline:2px solid #0000}.search-btn svg{flex-shrink:0;block-size:1.125rem;inline-size:1.125rem}.search-btn__text{text-align:start;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.search-btn__kbd{border:1px solid var(--k-border-primary);border-radius:var(--k-radius-sm);background:var(--k-bg-primary);color:var(--k-text-tertiary);padding:.0625rem .375rem;font-size:.7rem}[data-theme=dark] .icon-moon,[data-theme=light] .icon-sun{display:none}[data-theme-toggle] svg{transition:rotate .5s var(--k-ease-emphasized)}[data-theme-toggle]:hover svg{rotate:30deg}.docs{max-inline-size:90rem;padding-inline:var(--gutter);grid-template-columns:16rem minmax(0,1fr) 13rem;gap:clamp(1.5rem,4vw,4rem);margin-inline:auto;display:grid}.docs__sidebar,.docs__toc{max-block-size:calc(100dvh - var(--header-h));padding-block:var(--k-space-8);scrollbar-width:thin;scrollbar-color:var(--k-border-secondary) transparent;align-self:start;position:sticky;inset-block-start:var(--header-h);overflow-y:auto}.docs__sidebar{mask-image:linear-gradient(#0000,#000 1.5rem calc(100% - 2rem),#0000)}.docs__main{min-inline-size:0;padding-block:var(--k-space-10) var(--k-space-16);outline:none}@media (prefers-reduced-motion:no-preference){.docs__main .prose{animation:page-in .5s var(--k-ease-standard) both}}@keyframes page-in{0%{opacity:0;translate:0 .5rem}}.sidebar__group+.sidebar__group{margin-block-start:var(--k-space-6)}.sidebar__title{margin:0 0 var(--k-space-2);padding-inline:var(--k-space-3);color:var(--k-text-quaternary);font-size:var(--k-text-xs);font-weight:var(--k-weight-bold)}.sidebar ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.sidebar a{justify-content:space-between;align-items:center;gap:var(--k-space-2);padding:.375rem var(--k-space-3);border-radius:var(--k-radius-md);color:var(--k-text-tertiary);font-size:var(--k-text-sm);font-weight:var(--k-weight-medium);transition:color var(--k-duration-fast), background-color var(--k-duration-fast), padding var(--k-duration-normal) var(--k-ease-standard);text-decoration:none;display:flex;position:relative}.sidebar a:hover{color:var(--k-text-primary);background:var(--k-bg-hover)}.sidebar a:focus-visible{box-shadow:var(--k-ring-brand);outline:2px solid #0000}.sidebar a[aria-current=page]{color:var(--k-text-primary);background:var(--k-bg-active);font-weight:var(--k-weight-semibold)}.sidebar a[aria-current=page]:before{content:"";background:var(--k-border-brand);border-radius:3px;inline-size:3px;position:absolute;inset-block:.45rem;inset-inline-start:-.25rem}.toc__title{margin:0 0 var(--k-space-3);color:var(--k-text-quaternary);font-size:var(--k-text-xs);font-weight:var(--k-weight-bold)}.toc ul{gap:var(--k-space-1);border-inline-start:1px solid var(--k-border-secondary);margin:0;padding:0;list-style:none;display:grid}.toc a{padding:.125rem 0;color:var(--k-text-tertiary);font-size:var(--k-text-sm);transition:color var(--k-duration-fast), border-color var(--k-duration-fast);border-inline-start:2px solid #0000;margin-inline-start:-1px;padding-inline-start:var(--k-space-3);line-height:1.7;text-decoration:none;display:block}.toc a:hover{color:var(--k-text-primary)}.toc a[data-active]{border-color:var(--k-border-brand);color:var(--k-text-primary);font-weight:var(--k-weight-medium)}.toc__sub a{padding-inline-start:var(--k-space-6)}.menu-dialog{block-size:100dvh;max-block-size:none;inline-size:min(20rem,86vw);max-inline-size:none;padding:var(--k-space-4);border:0;border-inline-end:1px solid var(--k-border-secondary);background:var(--k-bg-primary);color:var(--k-text-primary);margin:0;inset-block:0;inset-inline:0 auto;overflow-y:auto}.menu-dialog::backdrop{backdrop-filter:blur(2px);background:#0009}.menu-dialog[open]{animation:drawer-in var(--k-duration-normal) var(--k-ease-standard)}.menu-dialog__head{font-weight:var(--k-weight-bold);justify-content:space-between;align-items:center;margin-block-end:var(--k-space-6);display:flex}@keyframes drawer-in{0%{translate:100%}}[dir=ltr] .menu-dialog[open]{animation-name:drawer-in-ltr}@keyframes drawer-in-ltr{0%{translate:-100%}}@media (width<=75rem){.docs{grid-template-columns:14rem minmax(0,1fr)}.docs__toc{display:none}}@media (width<=64rem){.search-btn{inline-size:2.25rem;box-shadow:none;background:0 0;border-color:#0000;justify-content:center;margin-inline-end:0;padding:0}.search-btn__text,.search-btn__kbd{display:none}.menu-btn{display:inline-flex}.site-nav{display:none}}@media (width<=56rem){.docs{grid-template-columns:minmax(0,1fr)}.docs__sidebar{display:none}.menu-btn{display:inline-flex}.site-nav,.version{display:none}.docs__main{padding-block-start:var(--k-space-6)}}.page-head{border-block-end:1px solid var(--k-border-secondary);margin-block-end:var(--k-space-10);padding-block-end:var(--k-space-8)}.page-head__crumb{margin:0 0 var(--k-space-3);color:var(--k-text-brand);font-size:var(--k-text-sm);font-weight:var(--k-weight-semibold)}.page-head h1{font-size:clamp(var(--k-text-3xl), 4vw, 2.75rem);font-weight:var(--k-weight-bold);margin:0;line-height:1.3}.page-head__lead{margin:var(--k-space-4) 0 0;color:var(--k-text-tertiary);font-size:var(--k-text-lg);text-wrap:pretty;line-height:1.9}.prose{max-inline-size:50rem;color:var(--k-text-secondary);line-height:1.9}.prose>:first-child{margin-block-start:0}.prose>h2{margin-block:var(--k-space-16) var(--k-space-4);color:var(--k-text-primary);font-size:var(--k-text-2xl);font-weight:var(--k-weight-bold);scroll-margin-block-start:calc(var(--header-h) + 1rem)}.prose>.page-head+h2{margin-block-start:0}.kind-anchor{scroll-margin-block-start:calc(var(--header-h) + 1rem);display:block}.prose>:is(h2,h3)>a{color:inherit;text-decoration:none}.prose>h3{margin-block:var(--k-space-8) var(--k-space-3);color:var(--k-text-primary);font-size:var(--k-text-lg);font-weight:var(--k-weight-semibold)}.prose>p{margin-block:var(--k-space-4)}.prose>ul,.prose>ol{padding-inline-start:var(--k-space-6)}.prose>:is(ul,ol)>li{margin-block:var(--k-space-2)}.prose>:is(ul,ol)>li::marker{color:var(--k-text-quaternary)}.prose strong{color:var(--k-text-primary);font-weight:var(--k-weight-semibold)}.prose :not(pre)>code{border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-sm);background:var(--k-bg-tertiary);color:var(--k-text-primary);padding:.125em .375em;font-size:.85em}.prose>blockquote{padding:var(--k-space-3) var(--k-space-4);border-inline-start:3px solid var(--k-border-brand);border-radius:var(--k-radius-sm);background:var(--k-bg-secondary);margin-inline:0}.prose>blockquote p{margin:0}.prose>.demo,.prose>.codeblock,.prose>.table-wrap,.prose>.k-alert{margin-block:var(--k-space-6)}.codeblock{position:relative}.codeblock pre,.prose>pre{padding:var(--k-space-4) var(--k-space-5);text-align:left;tab-size:2;scrollbar-width:thin;max-block-size:28rem;margin:0;padding-inline-end:3rem;font-size:.8125rem;line-height:1.7;overflow:auto;background:var(--code-bg)!important}.prose>pre,.prose>.codeblock pre{border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-lg)}.astro-code span{color:var(--shiki-dark)}[data-theme=light] .astro-code span{color:var(--shiki-light)}.codeblock__label{color:var(--k-text-tertiary);font-size:var(--k-text-xs);position:absolute;inset-block-start:var(--k-space-2);inset-inline-start:var(--k-space-4)}.copy-btn{inset-block-start:var(--k-space-2);right:var(--k-space-2);opacity:.7;position:absolute!important}.codeblock:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn[data-copied]{color:var(--k-text-success);opacity:1}.demo{border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-xl);box-shadow:var(--k-shadow-xs), var(--k-highlight);margin:0}.demo>:first-child{border-start-start-radius:calc(var(--k-radius-xl) - 1px);border-start-end-radius:calc(var(--k-radius-xl) - 1px)}.demo>:last-child{border-end-end-radius:calc(var(--k-radius-xl) - 1px);border-end-start-radius:calc(var(--k-radius-xl) - 1px);overflow:clip}.demo__preview{z-index:2;justify-content:center;align-items:center;gap:var(--k-space-3);min-block-size:9rem;padding:clamp(1.5rem, 4vw, 3rem) var(--k-space-6);background:radial-gradient(circle at 1px 1px, var(--k-border-secondary) 1px, transparent 0) 0 0 / 1.25rem 1.25rem, var(--k-bg-primary);flex-wrap:wrap;display:flex;position:relative}.demo__preview--start{justify-content:flex-start}.demo__preview--stretch>*{flex:18rem}.demo__preview--column{flex-direction:column;align-items:stretch}.demo__preview--column.demo__preview--center{align-items:center}.demo__code{border-block-start:1px solid var(--k-border-secondary);background:var(--code-bg)}.demo__tabs{gap:var(--k-space-1);padding:var(--k-space-2) var(--k-space-3) 0;border-block-end:1px solid var(--k-border-secondary);direction:ltr;display:flex}.demo__tabs [role=tab]{padding:var(--k-space-2) var(--k-space-3);color:var(--k-text-tertiary);font:inherit;font-size:var(--k-text-sm);font-weight:var(--k-weight-semibold);cursor:pointer;border-radius:var(--k-radius-sm) var(--k-radius-sm) 0 0;background:0 0;border:0;position:relative}.demo__tabs [role=tab]:hover,.demo__tabs [role=tab][aria-selected=true]{color:var(--k-text-primary)}.demo__tabs [role=tab][aria-selected=true]:after{content:"";inset-inline:var(--k-space-2);background:var(--k-border-brand);block-size:2px;position:absolute;inset-block-end:-1px}.table-wrap{border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-lg);overflow-x:auto}.ref-table{border-collapse:collapse;inline-size:100%;font-size:var(--k-text-sm);line-height:var(--k-leading-normal)}.ref-table th,.ref-table td{padding:var(--k-space-3) var(--k-space-4);border-block-end:1px solid var(--k-border-secondary);text-align:start;vertical-align:top}.ref-table thead th{background:var(--k-bg-secondary);color:var(--k-text-tertiary);font-weight:var(--k-weight-semibold);white-space:nowrap}.ref-table tbody tr:last-child>*{border-block-end:0}.ref-table tbody th{font-weight:inherit;white-space:nowrap}.ref-table tbody th code{color:var(--k-text-primary);font-size:.8125rem}.ref-table code.type{color:var(--k-text-info);font-size:.8125rem}.ref-table .muted{color:var(--k-text-quaternary)}.pager{gap:var(--k-space-4);max-inline-size:50rem;grid-template-columns:1fr 1fr;margin-block-start:var(--k-space-16);display:grid}.pager__link{gap:var(--k-space-1);padding:var(--k-space-4) var(--k-space-5);border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-lg);color:var(--k-text-primary);font-weight:var(--k-weight-semibold);transition:border-color var(--k-duration-fast);text-decoration:none;display:grid}.pager__link span{color:var(--k-text-tertiary);font-size:var(--k-text-sm);font-weight:var(--k-weight-regular)}.pager__link{transition:border-color var(--k-duration-fast), background-color var(--k-duration-fast), translate var(--k-duration-normal) var(--k-ease-standard)}.pager__link:hover{border-color:var(--k-border-brand);background:var(--k-bg-secondary);translate:0 -2px}.pager__link--next{text-align:end;grid-column:2}.install{align-items:center;gap:var(--k-space-3);padding:var(--k-space-3) var(--k-space-4);border:1px solid var(--k-border-primary);border-radius:var(--k-radius-lg);background:var(--k-bg-secondary);font-size:var(--k-text-sm);box-shadow:var(--k-shadow-xs);direction:ltr;padding-inline-end:3rem;display:flex;position:relative}.install__prompt{color:var(--k-text-brand);font-family:var(--k-font-mono);user-select:none}.install__cmd{color:var(--k-text-primary);white-space:nowrap;scrollbar-width:none;overflow-x:auto}.install .copy-btn{inset-block-start:50%;translate:0 -50%}.site-footer{border-block-start:1px solid var(--k-border-secondary);padding:var(--k-space-16) var(--gutter) var(--k-space-8);background:var(--k-bg-secondary);color:var(--k-text-tertiary);font-size:var(--k-text-sm);position:relative;overflow:clip}.site-footer__inner,.site-footer__legal{gap:var(--k-space-8) clamp(2rem, 7vw, 5rem);flex-wrap:wrap;max-inline-size:80rem;margin-inline:auto;display:flex}.site-footer__brand{max-inline-size:20rem;margin-inline-end:auto}.site-footer__brand p{margin:var(--k-space-3) 0 0;line-height:1.9}.site-footer .credit{align-items:center;gap:var(--k-space-2);padding-block:var(--k-space-1);padding-inline:var(--k-space-1) var(--k-space-3);border:1px solid var(--k-border-secondary);border-radius:var(--k-radius-full);background:var(--k-bg-primary);color:var(--k-text-tertiary);transition:border-color var(--k-duration-fast), color var(--k-duration-fast);margin-block-start:var(--k-space-5);text-decoration:none;display:inline-flex}.site-footer .credit:hover{border-color:var(--k-border-primary);color:var(--k-text-primary)}.site-footer .credit img{object-fit:cover;border-radius:50%;block-size:1.75rem;inline-size:1.75rem}.site-footer .credit strong{color:var(--k-text-primary);font-weight:var(--k-weight-semibold)}.site-footer__title{margin:0 0 var(--k-space-4);color:var(--k-text-primary);font-size:var(--k-text-xs);font-weight:var(--k-weight-semibold)}.site-footer ul{gap:var(--k-space-2_5,.625rem);margin:0;padding:0;list-style:none;display:grid}.site-footer a:not(.brand,.credit){color:var(--k-text-tertiary);transition:color var(--k-duration-fast);text-decoration:none}.site-footer a:not(.brand,.credit):hover{color:var(--k-text-primary)}.site-footer__legal{justify-content:space-between;gap:var(--k-space-3);border-block-start:1px solid var(--k-border-secondary);font-size:var(--k-text-xs);margin-block-start:var(--k-space-12);padding-block-start:var(--k-space-6)}.site-footer__status{align-items:center;gap:var(--k-space-2);display:inline-flex}.site-footer__status bdi{font-family:var(--k-font-mono)}.site-footer__dot{background:var(--k-text-success);border-radius:50%;block-size:.5rem;inline-size:.5rem}.site-footer__inner,.site-footer__legal{z-index:1;position:relative}.demo-stack{gap:var(--k-space-4);inline-size:min(100%,24rem);display:grid}.demo-stack--center{justify-items:center;inline-size:auto}.demo-row{align-items:center;gap:var(--k-space-3);flex-wrap:wrap;display:flex}.demo-row .demo-grow{flex:14rem}.demo-out{padding:var(--k-space-2) var(--k-space-3);border-radius:var(--k-radius-md);background:var(--k-bg-secondary);color:var(--k-text-tertiary);font-size:var(--k-text-sm);margin:0}.demo-panel{padding:var(--k-space-4);border-radius:var(--k-radius-md);background:var(--k-bg-secondary);color:var(--k-text-secondary);margin:0}
