.vesper-search{font:inherit}.vesper-search-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.vesper-search-trigger{min-height:2.5rem;font:inherit;color:inherit;border:1px solid var(--vesper-search-border,currentColor);border-radius:var(--vesper-search-radius,.5rem);cursor:pointer;background:0 0;align-items:center;gap:.375rem;padding:.25rem .75rem;text-decoration:none;display:inline-flex}.vesper-search-modal{overscroll-behavior:contain;width:min(44rem,100vw - 2rem);max-height:min(40rem,100dvh - 2rem);color:inherit;background:var(--vesper-search-surface,Canvas);border:1px solid var(--vesper-search-border,currentColor);border-radius:var(--vesper-search-radius,.5rem);padding:0;overflow:auto}.vesper-search-modal::backdrop{background:#00000080}.vesper-search-panel{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.vesper-search-top{align-items:end;gap:.75rem;display:flex}.vesper-search-form{flex-direction:column;flex:1;gap:.25rem;min-width:0;margin:0;display:flex}.vesper-search-row{flex-wrap:wrap;gap:.5rem;display:flex}.vesper-search-row input{flex:12rem}.vesper-search input[type=search],.vesper-search select{min-width:0;max-width:100%;min-height:2.5rem;font:inherit;color:inherit;border:1px solid var(--vesper-search-border,currentColor);border-radius:var(--vesper-search-radius,.5rem);background:0 0;padding:.25rem .5rem}.vesper-search-close,.vesper-search-more,.vesper-search-row button{min-height:2.5rem;font:inherit;color:inherit;border:1px solid var(--vesper-search-border,currentColor);border-radius:var(--vesper-search-radius,.5rem);cursor:pointer;background:0 0;padding:.25rem .75rem}.vesper-search :focus-visible{outline:3px solid var(--vesper-search-accent,Highlight);outline-offset:2px}.vesper-search-status{margin:0}.vesper-search-status:empty{display:none}.vesper-search-body{gap:1rem;display:grid}@media (width>=40rem){.vesper-search-body:has(.vesper-search-filter,.vesper-search-sort label){grid-template-columns:11rem minmax(0,1fr)}}.vesper-search-filters{flex-direction:column;gap:.75rem;display:flex}.vesper-search-filters:empty{display:none}.vesper-search-filter{border:0;margin:0;padding:0}.vesper-search-filter legend{padding:0;font-weight:600}.vesper-search-option{align-items:baseline;gap:.5rem;display:flex}.vesper-search-sort{flex-direction:column;gap:.25rem;display:flex}.vesper-search-sort:empty{display:none}.vesper-search-sort label{font-weight:600}.vesper-search-results{overflow-wrap:anywhere;min-width:0}.vesper-search-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.vesper-search-result{align-items:start;gap:.75rem;display:flex}.vesper-search-thumbnail{object-fit:cover;border-radius:calc(var(--vesper-search-radius,.5rem) / 2);flex:none;width:4rem;height:4rem}.vesper-search-link{font-weight:600}.vesper-search-date{font-size:.875em;display:block}.vesper-search-excerpt{margin:.25rem 0 0}.vesper-search mark{color:inherit;background:var(--vesper-search-mark,Mark);background:color-mix(in srgb, var(--vesper-search-accent,Mark) 25%, transparent)}.vesper-search-more{align-self:start;margin-top:1rem}html.vesper-search-open{overflow:hidden}@media (forced-colors:active){.vesper-search mark{color:marktext;forced-color-adjust:none;background:mark}}@media (prefers-reduced-motion:reduce){.vesper-search *{transition:none;animation:none}}.mark-star[data-astro-cid-4pt2nqzy],.mark-halo[data-astro-cid-4pt2nqzy]{fill:var(--accent)}.mark-halo[data-astro-cid-4pt2nqzy]{opacity:.2}@media (forced-colors:active){.mark-star[data-astro-cid-4pt2nqzy]{fill:canvastext}.mark-halo[data-astro-cid-4pt2nqzy]{display:none}}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/figtree-latin-400-normal.g7Dtegnw.woff2)format("woff2"),url(/_astro/figtree-latin-400-normal.BD4aNku5.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/figtree-latin-600-normal.Cv_xCTDl.woff2)format("woff2"),url(/_astro/figtree-latin-600-normal.BM_oTo4n.woff)format("woff")}:root{color-scheme:light dark;--surface:light-dark(oklch(98.5% .008 70),oklch(21% .01 60));--surface-raised:light-dark(oklch(100% 0 0),oklch(25% .011 60));--surface-sunken:light-dark(oklch(96% .012 70),oklch(17.5% .009 60));--border:light-dark(oklch(90.5% .016 70),oklch(33% .013 60));--border-strong:light-dark(oklch(61% .022 70),oklch(58% .016 60));--content:light-dark(oklch(25% .018 60),oklch(95% .01 70));--content-muted:light-dark(oklch(48% .022 60),oklch(76% .016 70));--on-accent:light-dark(oklch(99% .004 185),oklch(19% .03 185));--accent:light-dark(oklch(48% .072 185),oklch(78% .1 185));--accent-hover:light-dark(oklch(42% .072 185),oklch(84% .075 185));--accent-subtle:light-dark(oklch(95% .025 185),oklch(31% .045 185));--focus:light-dark(oklch(52% .14 250),oklch(75% .12 250));--warning:light-dark(oklch(62% .13 70),oklch(80% .13 78));--font-sans:Figtree, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--page:72rem;--measure:45rem;--header-height:4rem;--ease-out:cubic-bezier(0, 0, .2, 1);--shadow-overlay:0 12px 32px light-dark(oklch(30% .03 55/.14),oklch(0% 0 0/.5)), 0 2px 6px light-dark(oklch(30% .03 55/.1),oklch(0% 0 0/.35));--glow-accent:0 0 0 1px light-dark(color-mix(in oklch, var(--accent) 10%, transparent),color-mix(in oklch, var(--accent) 30%, transparent)), 0 6px 20px -6px light-dark(color-mix(in oklch, var(--accent) 55%, transparent),transparent), 0 0 28px -4px light-dark(transparent,color-mix(in oklch, var(--accent) 55%, transparent));--vesper-search-accent:var(--focus);--vesper-search-surface:var(--surface-raised);--vesper-search-border:var(--border-strong);--vesper-search-radius:var(--radius-md)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 1rem)}body{background:var(--surface);color:var(--content);font-family:var(--font-sans);margin:0;font-size:1rem;line-height:1.6}h1,h2,h3{text-wrap:balance;font-weight:600;line-height:1.25}h1{letter-spacing:-.015em;margin:0 0 .75rem;font-size:2.25rem}h2{letter-spacing:-.01em;margin:2.5rem 0 .75rem;font-size:1.5rem}h3{margin:1.75rem 0 .5rem;font-size:1.125rem}p,ul,ol{margin:0 0 1rem}a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}strong{font-weight:600}code{font-family:var(--font-mono);font-size:.875em}:not(pre)>code{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:.05em .35em}pre{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);margin:0 0 1.25rem;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.astro-code{background-color:light-dark(var(--surface-raised),var(--surface-sunken))!important}.astro-code,.astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}table{border-collapse:collapse;width:100%;margin:0 0 1.25rem;font-size:.9375rem;display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.5rem .75rem}th{font-weight:600}hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.skip-link{z-index:10;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.5rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}main:focus{outline:none}.site-header{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--surface) 88%, transparent);backdrop-filter:blur(20px)saturate(160%);position:sticky;top:0}@supports not (backdrop-filter:blur(1px)){.site-header{background:var(--surface)}}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--surface);backdrop-filter:none}}@media (width<=40rem){.site-header{position:static}}.site-header-inner{max-width:var(--page);min-height:var(--header-height);flex-wrap:wrap;align-items:center;gap:.75rem 2rem;margin:0 auto;padding:.75rem 1.5rem;display:flex}.brand{color:var(--content);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.brand:hover{color:var(--content)}.site-nav{margin-inline-start:auto}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--content);text-decoration:none}.site-nav a:hover{color:var(--accent);text-decoration:underline}.site-nav a[aria-current=page]{color:var(--accent);font-weight:600}.site-tools{align-items:center;gap:.5rem;display:flex}.theme-toggle{display:none}[data-js] .theme-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--content);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{background:var(--surface-sunken)}.theme-toggle>.icon{grid-area:1/1}.theme-toggle-moon,.theme-toggle[aria-pressed=true] .theme-toggle-sun{display:none}.theme-toggle[aria-pressed=true] .theme-toggle-moon{display:block}.site-footer{border-top:1px solid var(--border);margin-top:6rem}.site-footer-inner{max-width:var(--page);color:var(--content-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin:0 auto;padding:2rem 1.5rem 3rem;font-size:.9375rem;display:flex}.site-footer p{margin:0}.page{max-width:var(--page);margin:0 auto;padding:0 1.5rem}.lead{color:var(--content-muted);max-width:40rem;font-size:1.25rem;line-height:1.55}.page-title{max-width:50rem;padding:3.5rem 0 1rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);min-height:2.75rem;color:var(--content);transition:background-color .12s var(--ease-out), box-shadow .18s var(--ease-out);align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{color:var(--content);background:var(--surface-sunken)}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent);box-shadow:var(--glow-accent)}.button-arrow{transition:transform .18s var(--ease-out)}.button:hover .button-arrow{transform:translate(3px)}.hero{isolation:isolate;position:relative;overflow:hidden}.hero-canvas{z-index:-1;opacity:0;width:100%;height:100%;position:absolute;inset:0}.hero[data-art=live] .hero-canvas{opacity:1;transition:opacity .8s var(--ease-out)}.hero-inner{max-width:var(--page);align-items:center;gap:1.5rem;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:grid}.hero-text{max-width:44rem}.hero h1{letter-spacing:-.03em;margin-bottom:1.25rem;font-size:clamp(2.375rem,1.5rem + 3.4vw,4rem);line-height:1.06}.hero-mark{aspect-ratio:1;order:-1;width:min(48vw,11rem);margin-inline-start:-1.25rem;position:relative}.hero-mark:before{content:"";background:radial-gradient(circle at 72% 26%, color-mix(in oklch, var(--accent) 28%, transparent), transparent 32%);position:absolute;inset:-20%}.hero-fallback{width:100%;height:auto;color:var(--content);position:relative}[data-js] .hero:not([data-art]) .hero-mark{opacity:0;animation:.4s 2.5s forwards appear}.hero[data-art=live] .hero-mark:before,.hero[data-art=live] .hero-fallback{visibility:hidden}@keyframes appear{to{opacity:1}}@media (width>=60rem){.hero-inner{min-height:min(38rem, calc(100svh - var(--header-height)));grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;padding-block:2rem}.hero-mark{order:0;justify-self:center;width:min(100%,26rem);margin:0}}.section{padding-top:6rem}.section h2,.closing h2{letter-spacing:-.025em;margin:0 0 1rem;font-size:clamp(1.75rem,1.25rem + 1.6vw,2.5rem);line-height:1.12}.section-head{max-width:var(--measure)}.section-intro{max-width:var(--measure);color:var(--content-muted);font-size:1.125rem}.point-icon{border-radius:var(--radius-md);background:var(--accent-subtle);width:2.5rem;height:2.5rem;color:var(--accent);flex:none;place-items:center;display:inline-grid}.feature{align-items:center;gap:2.5rem;display:grid}@media (width>=64rem){.feature{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:4rem}.feature-flip{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.feature-flip .feature-text{order:2}}.feature-points{gap:1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.feature-points li{grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.feature-points li>div:only-child{grid-column:1/-1}.feature-points h3{margin:.375rem 0 .25rem;font-size:1.0625rem}.feature-points p{color:var(--content-muted);margin:0}.shot{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);margin:0;overflow:hidden}.shot img{width:100%;height:auto;display:block}.shot .shot-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shot .shot-light{display:none}:root:not([data-theme=light]) .shot .shot-dark{display:block}}:root[data-theme=dark] .shot .shot-light{display:none}:root[data-theme=dark] .shot .shot-dark{display:block}.feature-shot{box-shadow:var(--shadow-overlay), 0 40px 90px -40px color-mix(in oklch, var(--accent) 50%, transparent)}.showcase{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1.25rem;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.showcase-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.showcase-card .shot{border:0;border-bottom:1px solid var(--border);border-radius:0}.showcase-text{padding:1.25rem 1.5rem 1.5rem}.showcase-text h3{align-items:center;gap:.5rem;margin:0 0 .375rem;display:flex}.inline-icon{color:var(--accent);flex:none}.showcase-text p{color:var(--content-muted);margin:0}.points{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.point{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.375rem 1.5rem 1.5rem}.point .point-icon{transition:box-shadow .18s var(--ease-out);margin-bottom:1rem}.point:hover .point-icon{box-shadow:var(--glow-accent)}.point h3{margin:0 0 .375rem}.point p{color:var(--content-muted);margin:0}.prose{max-width:var(--measure)}.closing{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(70% 90% at 50% 0%, light-dark(color-mix(in oklch, var(--accent-subtle) 90%, transparent),color-mix(in oklch, var(--accent) 12%, transparent)), transparent 70%), var(--surface-raised);margin-top:7rem;padding:4rem 1.5rem;position:relative;overflow:hidden}.closing .lead{margin-inline:auto}.closing .actions{justify-content:center}.command{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:.75rem;max-width:100%;margin-top:.5rem;padding:.375rem .375rem .375rem 1.125rem;display:inline-flex}.command code{white-space:nowrap;font-size:.9375rem;overflow-x:auto}.command-copy{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);min-height:2.25rem;color:var(--content);font:inherit;cursor:pointer;flex:none;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.command-copy[hidden]{display:none}.command-copy:hover{background:var(--surface-sunken)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.hero-text>*{animation:.9s cubic-bezier(.2,.8,.2,1) both rise}.hero-text>:nth-child(2){animation-delay:.1s}.hero-text>:nth-child(3){animation-delay:.2s}.theme-toggle .icon{animation:.4s cubic-bezier(.2,.8,.2,1) turn-in}@supports (animation-timeline:view()){.section-head,.feature-text,.point,.showcase-card,.closing{animation:linear both rise view();animation-range:entry entry 70%}.point:nth-child(3n+2),.showcase-card:nth-child(2n){animation-range:entry 10% entry 80%}.point:nth-child(3n){animation-range:entry 20% entry 90%}.feature-shot{animation:linear both tilt-in view();animation-range:entry cover 45%}}}@keyframes rise{0%{opacity:0;transform:translateY(1.25rem)}}@keyframes tilt-in{0%{opacity:.4;transform:perspective(1400px)rotateX(14deg)translateY(3rem)scale(.95)}}@keyframes turn-in{0%{opacity:0;transform:rotate(-90deg)scale(.6)}}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:.6s cubic-bezier(.4,0,.2,1) theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--theme-x,50%) var(--theme-y,0))}to{clip-path:circle(var(--theme-r,150%) at var(--theme-x,50%) var(--theme-y,0))}}.docs{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:3rem;max-width:82rem;margin:0 auto;padding:2rem 1.5rem 0;display:grid}.docs-article{max-width:var(--measure);min-width:0}.docs-toc{display:none}@media (width>=80rem){.docs{grid-template-columns:15rem minmax(0, var(--measure)) 13rem}.docs-toc{top:calc(var(--header-height) + 2rem);font-size:.875rem;display:block;position:sticky}}.docs-menu{top:calc(var(--header-height) + 2rem);max-height:calc(100vh - var(--header-height) - 4rem);font-size:.9375rem;position:sticky;overflow-y:auto}.docs-menu>summary{display:none}.docs-menu ul{margin:0;padding:0;list-style:none}.docs-menu li{margin:0}.docs-menu>nav>ul>li+li{margin-top:.75rem}.docs-menu ul ul{border-inline-start:1px solid var(--border);margin-top:.125rem;padding-inline-start:.75rem}.docs-menu a{border-radius:var(--radius-sm);color:var(--content-muted);padding:.25rem .625rem;text-decoration:none;display:block}.docs-menu>nav>ul>li>a{color:var(--content);font-weight:600}.docs-menu a:hover{color:var(--accent)}.docs-menu a[aria-current=page]{color:var(--accent);background:var(--accent-subtle)}@media (width<=60rem){.docs{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-top:1rem}.docs-menu{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);max-height:none;position:static}.docs-menu>summary{cursor:pointer;padding:.625rem 1rem;font-weight:600;display:list-item}.docs-menu>nav{padding:0 .5rem .75rem}}.docs-section-link{margin:0 0 .25rem;font-size:.9375rem}.docs-section-link a{color:var(--content-muted);text-decoration:none}.docs-section-link a:hover{color:var(--accent);text-decoration:underline}.docs-summary{color:var(--content-muted);margin-bottom:2rem;font-size:1.125rem}.docs-body>:first-child{margin-top:0}.docs-body li+li{margin-top:.25rem}.docs-toc h2{margin:0 0 .5rem;font-size:.875rem}.docs-toc ul{margin:0;padding:0;list-style:none}.docs-toc li{margin:0}.docs-toc a{color:var(--content-muted);padding:.1875rem 0;text-decoration:none;display:block}.docs-toc a:hover{color:var(--accent);text-decoration:underline}.docs-children{gap:.75rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.docs-children a{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--content);padding:1rem 1.25rem;text-decoration:none;display:block}.docs-children a:hover{border-color:var(--border-strong)}.docs-children strong{color:var(--accent);display:block}.docs-children span{color:var(--content-muted)}.docs-pager{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.docs-pager a{flex-direction:column;max-width:48%;text-decoration:none;display:flex}.docs-pager a span{color:var(--content-muted);font-size:.875rem}.docs-pager .next{text-align:end;margin-inline-start:auto}.docs-meta{color:var(--content-muted);margin-top:2rem;font-size:.875rem}.callout{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);margin:0 0 1.25rem;padding:1rem 1.25rem}.callout-tip{background:var(--accent-subtle);border-color:#0000}.callout-warning{border-color:var(--warning)}.callout>:last-child{margin-bottom:0}.callout-title{margin-bottom:.25rem}.search-page{max-width:var(--measure)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
