@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/geist-latin-300-normal.FJSXOZHt.woff2) format("woff2"),url(/_astro/geist-latin-300-normal.ssr5NqVT.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-latin-400-normal.B40WzpMT.woff2) format("woff2"),url(/_astro/geist-latin-400-normal.akEymXtG.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2) format("woff2"),url(/_astro/geist-latin-500-normal.BDXIbFrL.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-400-normal.DTRLJnHl.woff2) format("woff2"),url(/_astro/geist-mono-latin-400-normal.B2yvC1Cq.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff) format("woff")}:root{color-scheme:light;--text-primary:25 25 25;--text-secondary:25 25 25 / .78;--text-tertiary:25 25 25 / .64;--text-white:255 255 255;--accent:49 124 255;--link:26 95 224;--lead:25 25 25 / .5;--success:22 163 74;--warning:234 120 20;--danger:220 38 38;--bg-page:248 248 248;--bg-surface:252 252 252;--bg-elevated:255 255 255;--bg-primary:0 0 0;--tint-blue:51 125 244 / .1;--tint-green:22 163 74 / .1;--tint-orange:245 130 30 / .14;--tint-red:220 38 38 / .09;--fill:0 0 0 / .04;--fill-2:0 0 0 / .06;--border:0 0 0 / .08;--border-subtle:0 0 0 / .06;--c-text:rgb(var(--text-primary));--c-muted:rgb(var(--text-secondary));--c-subtle:rgb(var(--text-tertiary));--c-bg:rgb(var(--bg-page));--c-surface:rgb(var(--bg-surface));--c-elevated:rgb(var(--bg-elevated));--c-line:rgb(var(--border));--c-line-2:rgb(var(--border-subtle));--c-accent:rgb(var(--accent));--font-sans:"Geist","Helvetica Neue",Arial,sans-serif;--font-ui:"Inter","Segoe UI",system-ui,sans-serif;--font-mono:"Geist Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;--fluid-h1:clamp(2.25rem,1rem + 2.25vw,4rem);--fluid-h2:clamp(1.75rem,1.2rem + 1.4vw,2.5rem);--fluid-title:clamp(1.5rem,1.1rem + 1vw,2rem);--gutter:clamp(1.125rem,-.1rem + 4.6vw,4rem);--space-hero-t:clamp(4rem,1.5rem + 8vw,7.5rem);--space-hero-b:clamp(3.5rem,1.5rem + 6vw,6rem);--space-head-t:clamp(2.5rem,1rem + 4.5vw,4.5rem);--space-head-b:clamp(1.75rem,1.2rem + 2vw,3rem);--space-sec-t:clamp(2.5rem,1.4rem + 3.5vw,3.75rem);--space-sec-b:clamp(3.5rem,2rem + 5vw,5.625rem);--space-body-t:clamp(1.75rem,1rem + 2.5vw,3rem);--frame:80rem;--h-nav:3.25rem;--r-xs:.25rem;--r-sm:.375rem;--r-md:.75rem;--r-lg:.875rem;--r-xl:1rem;--r-full:9999px;--dur-fast:.15s;--dur:.2s;--ease:cubic-bezier(.2,0,0,1);--shadow-raised:0 1px 2px rgb(0 0 0 / .04),0 4px 12px -4px rgb(0 0 0 / .08);--shadow-float:0 2px 6px rgb(0 0 0 / .06),0 12px 28px -8px rgb(0 0 0 / .16);--tk-k:#c2185b;--tk-s:#1a7f37;--tk-f:#6639ba;--tk-c:rgb(25 25 25 / .64);--tk-n:#0b6bcb;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--panel-sky:radial-gradient(120% 90% at 20% 10%,#cbd8e8 0,rgba(203,216,232,0) 60%),radial-gradient(90% 90% at 90% 90%,#b4cfd0 0,rgba(180,207,208,0) 65%),linear-gradient(160deg,#bac8da,#a8c4c8);--panel-haze:radial-gradient(100% 80% at 80% 0,#e8d5dd 0,rgba(232,213,221,0) 60%),radial-gradient(90% 90% at 10% 100%,#b9cbdc 0,rgba(185,203,220,0) 65%),linear-gradient(200deg,#c5d2e0,#b8ccd3);--panel-mist:radial-gradient(110% 90% at 80% 10%,#d9dfc9 0,rgba(217,223,201,0) 60%),radial-gradient(90% 90% at 10% 90%,#bfd3d6 0,rgba(191,211,214,0) 65%),linear-gradient(170deg,#c9d6cf,#b9ccd2)}@media (prefers-contrast:more){:root{--text-secondary:25 25 25 / .85;--text-tertiary:25 25 25 / .72;--border:0 0 0 / .3;--border-subtle:0 0 0 / .2}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--h-nav) + 1rem)}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:1rem;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}main:focus{outline:none}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0;font-weight:400}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}svg{display:block}pre{margin:0}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:var(--r-xs)}h1:focus{outline:none}::selection{background:rgb(var(--accent) / .2)}[hidden]{display:none!important}.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.band{border-top:1px solid var(--c-line-2)}.frame{position:relative;width:100%;max-width:var(--frame);margin-inline:auto;padding-inline:var(--gutter)}.frame:before,.frame:after{content:"";position:absolute;top:0;bottom:0;width:0;border-left:1px dashed rgb(0 0 0 / .14);pointer-events:none}.frame:before{left:0}.frame:after{right:0}.sec{padding-block:var(--space-sec-t) var(--space-sec-b)}.sec--tight{padding-top:var(--space-body-t)}.page-body{padding-block:var(--space-body-t) var(--space-sec-b)}.sec-head,.phead{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}.sec-head{align-items:flex-start;margin-bottom:2.5rem}.phead{align-items:flex-end;padding-block:var(--space-head-t) var(--space-head-b)}.sec-head>:first-child,.phead>:first-child{flex:1 1 24rem}.sec-head>.sec-desc,.phead>.sec-desc{flex:0 1 21.25rem}.sec-num{font-size:var(--fluid-h2);line-height:1;letter-spacing:-.03em;color:var(--c-subtle)}.sec-title{font-size:var(--fluid-h2);line-height:1.1;letter-spacing:-.03em;margin-top:.5rem}.sec-desc{font-size:.8125rem;line-height:1.55;color:var(--c-muted);font-family:var(--font-ui);letter-spacing:-.005em}.meta{font:400 .6875rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--c-subtle)}.phead .meta{margin-bottom:1rem}.mono{font-family:var(--font-mono)}.caption{font:400 .75rem/1.33 var(--font-ui);color:var(--c-subtle)}.topbar{position:sticky;top:0;z-index:50;background:#f8f8f8eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar .frame{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 1.5rem;min-height:var(--h-nav)}.logo{display:inline-flex;align-items:center;min-height:2.75rem;font-size:1.25rem;line-height:1;letter-spacing:-.02em}.topnav ul{display:flex;flex-wrap:wrap;gap:.125rem}.topnav a{height:1.75rem;padding:0 .75rem;border-radius:var(--r-full);font-size:.875rem;color:var(--c-muted);display:inline-flex;align-items:center;transition:background-color var(--dur-fast),color var(--dur-fast)}.topnav a:is(:hover,[aria-current=page],[aria-current=true]){background:rgb(var(--fill));color:var(--c-text)}.navtoggle{display:none;height:1.75rem;padding:0 .75rem;border-radius:var(--r-full);font-size:.875rem;color:var(--c-muted);align-items:center}.navtoggle:is(:hover,[aria-expanded=true]){background:rgb(var(--fill));color:var(--c-text)}@media (max-width:45rem){.has-dialog .navtoggle{display:inline-flex}.has-dialog .topnav{display:none}}@media (min-width:45.0625rem){.menu{display:none!important}}.menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--c-bg);color:var(--c-text);overflow-y:auto;overscroll-behavior:contain}.menu::backdrop{background:var(--c-bg)}.menu[open]{display:flex;flex-direction:column;animation:menu-in .22s var(--ease)}@keyframes menu-in{0%{opacity:0;transform:translateY(-.5rem)}}.menu-bar{display:flex;align-items:center;justify-content:space-between;min-height:var(--h-nav);padding-inline:var(--gutter)}.menu-nav{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1rem var(--gutter)}.menu-nav ul{display:grid}.menu-nav li{border-top:1px solid var(--c-line-2)}.menu-nav li:last-child{border-bottom:1px solid var(--c-line-2)}.menu-nav a{display:flex;align-items:baseline;gap:1rem;min-height:4.25rem;padding:1rem 0;font-size:clamp(2rem,1.2rem + 4.5vw,3rem);line-height:1.05;letter-spacing:-.03em;transition:color var(--dur-fast)}.menu-nav a .n{font:400 .6875rem/1 var(--font-mono);letter-spacing:.04em;color:var(--c-subtle);min-width:1.75rem}.menu-nav a .ic{margin-left:auto;align-self:center;width:1rem;height:1rem;color:var(--c-subtle);transition:transform var(--dur) var(--ease),color var(--dur)}.menu-nav a:is(:hover,:focus-visible) .ic{transform:translate(3px);color:var(--c-text)}.menu-nav a[aria-current],.menu-nav a[aria-current] .n{color:rgb(var(--link))}.menu-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;padding:1.25rem var(--gutter) calc(1.25rem + env(safe-area-inset-bottom))}.menu-foot ul{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.875rem}.menu-foot a{display:inline-flex;align-items:center;min-height:1.75rem}html.menu-open{overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.625rem;padding:0 1.25rem;border-radius:var(--r-full);font-size:1rem;line-height:1.5;border:.8px solid transparent;white-space:nowrap;transition:background-color var(--dur),border-color var(--dur),transform var(--dur)}.btn.sm{height:1.75rem;padding:0 .75rem;font-size:.875rem}.btn.primary{background:rgb(var(--bg-primary));color:rgb(var(--text-white))}.btn.primary:hover{background:rgb(var(--text-primary))}.btn.primary:active{transform:scale(.98)}.btn.primary:focus-visible{outline-offset:3px}.btn.outline{border-color:rgb(var(--border))}.btn.outline:hover{background:rgb(var(--fill-2))}.btn.ghost:hover{background:rgb(var(--fill))}.btn svg{width:.75rem;height:.75rem}.a{color:rgb(var(--link));text-decoration:underline;text-decoration-color:rgb(var(--link) / .35);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color var(--dur-fast)}.a:is(:hover,:focus-visible){text-decoration-color:currentColor}.link-muted{color:var(--c-subtle);transition:color var(--dur-fast)}.link-muted:is(:hover,:focus-visible){color:var(--c-text)}.skip{position:absolute;left:.75rem;top:-4rem;z-index:300;height:2.25rem;padding:0 1rem;display:inline-flex;align-items:center;border-radius:var(--r-full);background:rgb(var(--bg-primary));color:rgb(var(--text-white));font-size:.875rem;transition:top var(--dur) var(--ease)}.skip:focus{top:.75rem}.h-h1{font-size:var(--fluid-h1);line-height:1.04;letter-spacing:-.03em;text-wrap:balance}.h-h2{font-size:var(--fluid-h2);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}.two-tone .lead{display:block;color:rgb(var(--lead))}.two-tone .tail{display:block}.lede{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.4;letter-spacing:-.01em;color:var(--c-muted);max-width:42rem;text-wrap:pretty}.pull{font-size:clamp(1.5rem,1.1rem + 1.2vw,2.25rem);line-height:1.14;letter-spacing:-.025em;text-wrap:balance}.prose{font-size:1rem;line-height:1.65;color:rgb(var(--text-primary) / .8);max-width:42rem;text-wrap:pretty;min-width:0}.prose>*+*{margin-top:1em}.prose h2{font-size:var(--fluid-title);line-height:1.18;letter-spacing:-.02em;color:var(--c-text);margin-top:1.8em;text-wrap:balance}.prose h3{font-size:clamp(1.15rem,1.05rem + .4vw,1.375rem);line-height:1.25;letter-spacing:-.01em;color:var(--c-text);margin-top:1.6em;text-wrap:balance}.prose h4{font-size:1rem;font-weight:500;line-height:1.3;color:var(--c-text);margin-top:1.4em}.prose>:is(h2,h3,h4):first-child{margin-top:0}.prose :is(h2,h3,h4){scroll-margin-top:calc(var(--h-nav) + 1rem)}.prose strong,.prose b{font-weight:500;color:var(--c-text)}.prose a:not(.btn){color:rgb(var(--link));text-decoration:underline;text-decoration-color:rgb(var(--link) / .35);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color var(--dur-fast)}.prose a:not(.btn):is(:hover,:focus-visible){text-decoration-color:currentColor}.prose ul,.ul{display:grid;gap:.5rem;line-height:1.5}.prose ul>li,.ul>li{position:relative;padding-left:1.25rem}.prose ul>li:before,.ul>li:before{content:"";position:absolute;left:.3125rem;top:.625rem;width:4px;height:4px;border-radius:50%;background:rgb(var(--text-primary) / .4)}.prose li>ul,.prose li>ol{margin-top:.5rem}.prose ol{display:grid;gap:.625rem;line-height:1.5;counter-reset:n}.prose ol>li{counter-increment:n;position:relative;padding-left:2rem}.prose ol>li:before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:0;font:400 .75rem/1.5rem var(--font-mono);color:var(--c-subtle)}.prose blockquote,.quote{padding-left:1.25rem;border-left:2px solid rgb(var(--border));font-size:1.125rem;line-height:1.5;letter-spacing:-.01em;color:var(--c-text)}.prose blockquote p+p{margin-top:.75em}.prose hr{border:0;border-top:1px solid var(--c-line-2);margin-block:2em}.prose img,.prose video,.prose iframe{max-width:100%;height:auto;border-radius:var(--r-md)}.prose figure{display:grid;gap:.625rem}.prose figcaption{font:400 .75rem/1.33 var(--font-ui);color:var(--c-subtle)}.prose figure.fig svg{max-width:100%;height:auto;margin-inline:auto}.prose ul.contains-task-list>li:before{display:none}:not(pre)>code{font:400 .86em/1.4 var(--font-mono);padding:1px 5px;border-radius:var(--r-xs);background:rgb(var(--fill-2));color:var(--c-text);overflow-wrap:anywhere}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3125rem;border-radius:var(--r-xs);border:1px solid rgb(var(--border));background:var(--c-elevated);box-shadow:0 1px rgb(var(--border));font:400 .6875rem/1 var(--font-mono);color:var(--c-muted);vertical-align:1px}.panel{position:relative;overflow:hidden;isolation:isolate;background:var(--panel-sky)}.panel:after{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.18;mix-blend-mode:overlay;pointer-events:none;z-index:1}.panel.haze{background:var(--panel-haze)}.panel.mist{background:var(--panel-mist)}.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:2rem .75rem}.acard{display:grid;gap:.875rem;width:100%;height:100%;align-content:start;border-radius:var(--r-lg)}.acard .panel{aspect-ratio:16/10;border-radius:var(--r-lg)}.acard h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.01em;transition:color var(--dur-fast)}.acard p:not(.meta){font-size:.875rem;line-height:1.43;color:var(--c-muted)}.acard:is(:hover,:focus-visible) h3{color:var(--c-accent)}.acard:focus-visible{outline-offset:6px}.callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.875rem 1rem;border-radius:var(--r-md);font-size:.875rem;line-height:1.5;background:rgb(var(--fill));max-width:42rem}.callout svg{width:1rem;height:1rem;margin-top:.125rem}.callout>div>*+*{margin-top:.5em}.callout p{color:rgb(var(--text-primary) / .8);font-size:inherit;line-height:inherit}.callout b,.callout-title{display:block;font-weight:500;color:var(--c-text);margin-bottom:.125rem}.callout.note{background:rgb(var(--tint-blue))}.callout.note svg{color:var(--c-accent)}.callout.tip{background:rgb(var(--tint-green))}.callout.tip svg{color:rgb(var(--success))}.callout.warn{background:rgb(var(--tint-orange))}.callout.warn svg{color:rgb(var(--warning))}.callout.danger{background:rgb(var(--tint-red))}.callout.danger svg{color:rgb(var(--danger))}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--r-md);background:rgb(var(--fill-2));color:var(--c-muted);font:400 .75rem/1.33 var(--font-ui)}.chip.blue{background:rgb(var(--tint-blue));color:rgb(var(--link))}.chip.green{background:rgb(var(--tint-green));color:#156f37}.chip.orange{background:rgb(var(--tint-orange));color:#8a3e04}.chip.red{background:rgb(var(--tint-red));color:#b01c1c}.chips{display:flex;flex-wrap:wrap;gap:.375rem}a.chip:hover{background:rgb(var(--fill))}.fchip{height:1.75rem;padding:0 .75rem;border-radius:var(--r-full);border:1px solid rgb(var(--border));font-size:.875rem;color:var(--c-muted);display:inline-flex;align-items:center;gap:.375rem;transition:background-color var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.fchip:hover{background:rgb(var(--fill));color:var(--c-text)}.fchip:is([aria-pressed=true],[aria-current=page]){background:rgb(var(--bg-primary));border-color:rgb(var(--bg-primary));color:rgb(var(--text-white))}.rows{container-type:inline-size}.rows>li{border-top:1px solid var(--c-line-2)}.rows>li:last-child{border-bottom:1px solid var(--c-line-2)}.rowline{position:relative;display:grid;align-items:center;gap:1rem;padding:.875rem 0}a.rowline:focus-visible{outline-offset:-2px;background:rgb(var(--fill))}.rowline .ic{width:.875rem;height:.875rem;color:var(--c-subtle);transition:transform var(--dur) var(--ease),color var(--dur)}a.rowline:is(:hover,:focus-visible) .ic{transform:translate(3px);color:var(--c-text)}a.rowline.ext .ic{transform:rotate(-45deg)}a.rowline.ext:is(:hover,:focus-visible) .ic{transform:rotate(-45deg)}a.rowline:is(:hover,:focus-visible) :is(.t,.n){text-decoration:underline;text-decoration-color:#00000040;text-underline-offset:4px}.changelog{grid-template-columns:5.6875rem 1fr auto 1.25rem}.changelog .d{color:var(--c-subtle);font-family:var(--font-mono)}.changelog .t{font-size:1rem}.changelog .c{font-size:.875rem;color:var(--c-subtle)}.solo{grid-template-columns:1fr 1.25rem}.res{grid-template-columns:minmax(6rem,10rem) 1fr auto 1.25rem}.res .n{font-size:1rem}.res .w{font-size:.875rem;color:var(--c-muted)}.res .c{font-size:.875rem;color:var(--c-subtle)}@container (max-width:40rem){.changelog{grid-template-columns:1fr auto;gap:.25rem .75rem}.changelog .d{grid-column:1/-1;font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase}.changelog .c{grid-column:1/-1}.changelog .ic{display:none}}@container (max-width:45rem){.res{grid-template-columns:1fr auto;gap:.125rem .75rem}.res .w{grid-column:1/-1;order:3}.res .ic{display:none}}.group{font:400 .8125rem/1.4 var(--font-ui);color:var(--c-muted);margin:2.5rem 0 .75rem}.group:first-of-type{margin-top:0}.marquee{overflow:hidden;width:100%;padding-block:1.5rem;border-block:1px solid var(--c-line-2);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marq-track{display:flex;width:max-content;animation:marq 40s linear infinite}.marq-set{display:flex;gap:4rem;padding-right:4rem}.marquee:hover .marq-track{animation-play-state:paused}.logo-ph{display:inline-flex;align-items:center;white-space:nowrap;color:var(--c-subtle);font-size:1.375rem;letter-spacing:-.02em}.logo-ph img{display:block;height:1.5rem;width:auto;filter:grayscale(1);opacity:.64}@keyframes marq{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marq-track{animation:none;width:100%}.marq-set{flex-wrap:wrap;gap:1rem 2.5rem}.marq-set[data-copy="1"]{display:none}}.tw{width:100%;max-width:42rem;overflow-x:auto}.prose .tw{max-width:100%}.table,.prose table{width:100%;border-collapse:collapse;font:400 .875rem/1.43 var(--font-sans);text-align:left;font-variant-numeric:tabular-nums}.table th,.prose th{font:400 .8125rem/1.4 var(--font-ui);color:var(--c-subtle);padding:.625rem 1rem;border-bottom:1px solid var(--c-line);white-space:nowrap;text-align:left}.table td,.prose td{padding:.8125rem 1rem;border-top:1px solid var(--c-line-2);vertical-align:top}.table tbody th{font:400 .75rem/1.4 var(--font-mono);color:var(--c-text)}.table tbody tr:first-child :is(td,th),.prose tbody tr:first-child :is(td,th){border-top:0}.table .num{text-align:right}.table :is(th,td):first-child,.prose :is(th,td):first-child{padding-left:0}.table :is(th,td):last-child,.prose :is(th,td):last-child{padding-right:0}.prose figure.wp-table,.prose figure:has(>table){overflow-x:auto}.prose pre,.cb pre{font:400 .75rem/1.67 var(--font-mono);white-space:pre;overflow:auto;tab-size:2}.prose pre{padding:.75rem .875rem;border:1px solid var(--c-line-2);border-radius:var(--r-md);background:var(--c-elevated);color:var(--c-text);max-height:32rem}.cb{border:1px solid var(--c-line-2);border-radius:var(--r-md);background:var(--c-elevated);overflow:hidden;max-width:100%}.cb-h{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem .5rem .25rem .875rem;border-bottom:1px solid var(--c-line-2);background:rgb(var(--fill));font:400 .75rem/1.5 var(--font-mono);color:var(--c-muted)}.prose .cb pre,.cb pre{border:0;border-radius:0;padding:.75rem .875rem;background:none;max-height:32rem}.cb pre:focus-visible,.prose pre:focus-visible{outline-offset:-3px}.copyb{height:1.5rem;padding:0 .5rem;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:.375rem;font:400 .75rem/1 var(--font-ui);color:var(--c-muted);transition:background-color var(--dur-fast),color var(--dur-fast)}.copyb:hover{background:rgb(var(--fill-2));color:var(--c-text)}.copyb svg{width:.75rem;height:.75rem}.copyb.done{color:rgb(var(--success))}.tk-k{color:var(--tk-k)}.tk-s{color:var(--tk-s)}.tk-f{color:var(--tk-f)}.tk-c{color:var(--tk-c)}.fld{position:relative;width:100%}.fld>svg{position:absolute;left:.75rem;top:50%;translate:0 -50%;width:.875rem;height:.875rem;color:var(--c-subtle);pointer-events:none}.fld .r{position:absolute;right:.5rem;top:50%;translate:0 -50%;display:flex;gap:.25rem;align-items:center}.input{width:100%;height:2.25rem;padding:0 .75rem;border-radius:var(--r-sm);border:1px solid rgb(var(--border));background:var(--c-elevated);color:var(--c-text);font:400 .875rem/1.43 var(--font-sans);transition:border-color var(--dur),box-shadow var(--dur)}.fld .input{padding-left:2.125rem;padding-right:2.5rem}.input::placeholder{color:var(--c-subtle)}.input:hover{border-color:#0000002e}.input:focus{outline:2px solid var(--c-accent);outline-offset:1px;border-color:var(--c-accent);box-shadow:0 0 0 3px rgb(var(--accent) / .16)}.input::-webkit-search-cancel-button{display:none}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding-bottom:1.5rem}.toolbar .fld{flex:1 1 16rem;max-width:22rem}.pager{display:flex;align-items:center;gap:.125rem;flex-wrap:wrap;margin-top:2rem}.pager a{min-width:1.75rem;height:1.75rem;padding:0 .5rem;border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--c-muted);transition:background-color var(--dur-fast),color var(--dur-fast)}.pager a:hover{background:rgb(var(--fill));color:var(--c-text)}.pager a[aria-current=page]{background:rgb(var(--bg-primary));color:rgb(var(--text-white))}.pager svg{width:.75rem;height:.75rem}.pn{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.5rem;width:100%}.pn a{display:grid;gap:.25rem;padding:.875rem 1rem;border:1px solid rgb(var(--border));border-radius:var(--r-lg);transition:border-color var(--dur),box-shadow var(--dur)}.pn a:hover{border-color:rgb(var(--text-primary) / .2);box-shadow:var(--shadow-raised)}.pn small{font:400 .75rem/1.33 var(--font-ui);color:var(--c-subtle)}.pn b{font-weight:400;font-size:1rem;line-height:1.375;display:flex;align-items:center;gap:.375rem}.pn .nx{text-align:right}.pn .nx b{justify-content:flex-end}.pn svg{width:.75rem;height:.75rem;color:var(--c-subtle);flex:none}.hero{padding-block:var(--space-hero-t) var(--space-hero-b)}.hero h1{max-width:20em}.hero .sub{margin-top:1.75rem;max-width:30rem;font-size:1rem;line-height:1.5;color:var(--c-muted)}.acts{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:2.25rem}.ahead{padding-block:var(--space-head-t) var(--space-body-t);display:grid;gap:1.25rem;justify-items:start}.ahead>*{max-width:44rem}.ahead .acts{margin-top:.5rem}.ahead.wide>*{max-width:none}.crumb a{display:inline-flex;align-items:center;min-height:1.5rem}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:0 2rem;border-top:1px solid var(--c-line-2);margin-bottom:2rem}.facts>div{padding:.875rem 0;display:grid;gap:.25rem;align-content:start}.facts dt{font:400 .6875rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--c-subtle)}.facts dd{font-size:.875rem;line-height:1.43;overflow-wrap:anywhere}.facts dd.kpi{font-size:var(--fluid-title);line-height:1.1;letter-spacing:-.02em;order:-1;color:var(--c-text)}.leadpanel{height:clamp(13rem,6rem + 28vw,30rem);border-radius:var(--r-xl);margin-bottom:2.5rem}.endnav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:4rem;padding-top:1.25rem;border-top:1px solid var(--c-line-2);font-size:.875rem}.endnav a{display:inline-flex;align-items:center;min-height:1.5rem}.foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-block:1.5rem}.foot ul{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.875rem}.foot a{display:inline-flex;align-items:center;min-height:1.5rem}.foot .meta a{text-decoration:underline;text-decoration-color:#0003;text-underline-offset:3px}.empty{text-align:center;display:grid;justify-items:center;gap:.5rem;padding:3rem .75rem;max-width:30ch;margin-inline:auto}.empty :is(h2,h3){font-size:1rem;line-height:1.375;font-weight:500}.empty p{font-size:.875rem;line-height:1.43;color:var(--c-muted)}.e404{display:grid;gap:.75rem;justify-items:start}.e404 .big{font-size:clamp(4rem,3rem + 6vw,8rem);line-height:.9;letter-spacing:-.05em;color:rgb(var(--text-primary) / .12)}.e404 .big:before{content:attr(data-n)}.artmeta{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:center}.artmeta a{text-decoration:underline;text-decoration-color:#0003;text-underline-offset:3px}.artcover{width:100%;max-width:60rem;aspect-ratio:21/9;border-radius:var(--r-xl);margin-bottom:2.5rem}.post .ahead{justify-items:center}.post .ahead>*,.post .prose,.post .endnav{width:100%;max-width:42rem;margin-inline:auto}.post .artcover{max-width:60rem}.docs{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr) minmax(0,12rem);gap:clamp(1.25rem,.5rem + 3vw,3rem);align-items:start}.docs>aside{position:sticky;top:calc(var(--h-nav) + 1rem);max-height:calc(100dvh - var(--h-nav) - 2rem);overflow:auto;scrollbar-width:thin;padding-block:.25rem}.docs>article{min-width:0}.docs-mobile{display:none}@media (max-width:75rem){.docs{grid-template-columns:minmax(0,14rem) minmax(0,1fr)}.docs>.toc{display:none}}@media (max-width:56rem){.docs{grid-template-columns:minmax(0,1fr)}.docs>.snavbox{display:none}.docs-mobile{display:block;margin-bottom:1.5rem}}.snav{display:grid;gap:1px;font-size:.875rem;line-height:1.43;width:100%}.snav .grp{padding:.875rem .625rem .25rem;font:400 .75rem/1.33 var(--font-ui);color:var(--c-subtle)}.snav .grp:first-child{padding-top:0}.snav a{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.3125rem .625rem;border-radius:var(--r-sm);color:var(--c-muted);transition:background-color var(--dur-fast),color var(--dur-fast)}.snav a:hover{background:rgb(var(--fill));color:var(--c-text)}.snav a:is(.on,[aria-current]){background:rgb(var(--fill));color:var(--c-text)}.snav .num{font:400 .6875rem/1 var(--font-mono);color:var(--c-subtle);flex:none;margin-right:.25rem}.snav a>span:first-child{min-width:0}.snav.rule{border-left:1px solid var(--c-line-2);gap:0}.snav.rule a{margin-left:-1px;border-left:1px solid transparent;border-radius:0;padding:.3125rem .875rem}.snav.rule a:hover{background:none}.snav.rule a:is(.on,[aria-current]){background:none;border-left-color:var(--c-text);color:var(--c-text)}.snav.rule a.l2{padding-left:1.75rem}.on-this{font:400 .75rem/1.33 var(--font-ui);color:var(--c-subtle);margin-bottom:.625rem}.docs .fld{margin-bottom:1rem}.docs-part{margin:3.5rem 0 0;padding-top:1rem;border-top:1px solid var(--c-line-2);font:400 .6875rem/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-subtle)}.docs-part:first-child{margin-top:0}.chapter{padding-top:2.5rem}.chapter>h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;font-size:var(--fluid-h2);line-height:1.1;letter-spacing:-.03em;margin:0 0 1.25rem;scroll-margin-top:calc(var(--h-nav) + 1rem);text-wrap:balance}.chapter>h2 .n{font:400 .875rem/1 var(--font-mono);letter-spacing:0;color:var(--c-subtle)}.chapter>h2 .anchor{font-size:.6em;color:var(--c-subtle);opacity:0;transition:opacity var(--dur-fast)}.chapter>h2:hover .anchor,.chapter>h2 .anchor:focus-visible{opacity:1}.prose.docsprose{max-width:44rem}.docsprose :is(h3,h4){scroll-margin-top:calc(var(--h-nav) + 1rem)}.docsprose>h3{margin-top:2em}.go-body{display:grid;gap:1rem;max-width:42rem;margin-top:2rem}.go-status{display:flex;align-items:center;gap:.5rem;font:400 .8125rem/1.4 var(--font-ui);color:var(--c-muted)}.go-status .dot{width:6px;height:6px;border-radius:50%;background:var(--c-accent);flex:none}.go-status .dot.g{background:rgb(var(--success))}.go-status .dot.o{background:rgb(var(--warning))}.go-count{margin-left:auto;font-size:.75rem;color:var(--c-subtle)}.go-bar{position:relative;height:2px;overflow:hidden;background:var(--c-line)}.go-bar i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:rgb(var(--text-primary))}.go-bar.run i{animation:go-fill var(--go-ms,3s) linear forwards}@keyframes go-fill{to{transform:scaleX(1)}}.go-body .acts{margin-top:.75rem}@media (prefers-reduced-motion:reduce){.go-bar{display:none}}.readbar{position:fixed;top:var(--h-nav);left:0;right:0;height:2px;z-index:49;pointer-events:none}.readbar i{display:block;height:100%;background:rgb(var(--text-primary));transform:scaleX(0);transform-origin:left}.btt{position:fixed;right:1.25rem;bottom:1.25rem;z-index:90;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--c-elevated);border:1px solid rgb(var(--border));box-shadow:var(--shadow-float);display:grid;place-items:center;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--dur),transform var(--dur) var(--ease)}.btt.show{opacity:1;transform:none;pointer-events:auto}.btt svg{width:.875rem;height:.875rem}@media (forced-colors:active){.btn.primary{border-color:ButtonText}.panel{forced-color-adjust:none}}@media print{.topbar,.skip,.endnav,.btt,.readbar,.docs>aside,.docs-mobile{display:none!important}.frame:before,.frame:after{display:none}.docs{display:block}body{background:#fff}}
