.site-footer.svelte-jz8lnl{border-top:1px solid var(--color-border);background:var(--color-bg-surface);margin-top:auto;padding-block:clamp(1.75rem,3vw,2.5rem)}.footer-inner.svelte-jz8lnl{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 2rem;display:flex}.footer-brand.svelte-jz8lnl{flex-direction:column;gap:.3rem;display:flex}.footer-tag.svelte-jz8lnl{font-family:var(--font-serif);color:var(--color-text-muted);margin:0;font-size:.85rem}.footer-links.svelte-jz8lnl{flex-wrap:wrap;gap:clamp(1rem,2vw,1.75rem);display:flex}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl){font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text);font-size:.74rem;font-weight:600;text-decoration:none}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--color-brand);text-decoration:none}.footer-legal.svelte-jz8lnl{font-family:var(--font-sans);letter-spacing:.03em;color:var(--color-text-muted);align-items:center;gap:1.1rem;font-size:.72rem;display:flex}.footer-legal.svelte-jz8lnl a:where(.svelte-jz8lnl){color:var(--color-text-muted);text-decoration:none}.footer-legal.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--color-brand)}@media (width<=680px){.footer-inner.svelte-jz8lnl{flex-direction:column;align-items:flex-start}}.site-header.svelte-ocbj1u{border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);z-index:120;position:sticky;top:0}.nav.svelte-ocbj1u{height:var(--nav-height);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.nav-links.svelte-ocbj1u{align-items:center;gap:clamp(1rem,2vw,2rem);display:flex}.nav-link.svelte-ocbj1u{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text);white-space:nowrap;padding:.25rem 0;font-size:.78rem;font-weight:600;text-decoration:none;position:relative}.nav-link.svelte-ocbj1u:hover{color:var(--color-brand);text-decoration:none}.nav-link.active.svelte-ocbj1u{color:var(--color-brand)}.nav-link.active.svelte-ocbj1u:after{content:"";background:var(--color-brand);border-radius:2px;height:2px;position:absolute;bottom:-3px;left:0;right:0}.nav-link.home.svelte-ocbj1u{border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;display:inline-flex}.nav-link.home.svelte-ocbj1u:hover{border-color:var(--color-brand)}.nav-link.home.active.svelte-ocbj1u{background:var(--color-brand);color:var(--color-bg-light);border-color:var(--color-brand)}.nav-link.home.active.svelte-ocbj1u:after{display:none}.menu-toggle.svelte-ocbj1u{cursor:pointer;background:0 0;border:none;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:2.4rem;height:2.4rem;margin-left:auto;padding:0;display:none}.hamburger.svelte-ocbj1u{background:var(--color-text);transform-origin:50%;width:1.1rem;height:2px;transition:all .3s}.menu-toggle[aria-expanded=true].svelte-ocbj1u .hamburger:where(.svelte-ocbj1u):first-child{transform:rotate(45deg)translate(.25rem,.25rem)}.menu-toggle[aria-expanded=true].svelte-ocbj1u .hamburger:where(.svelte-ocbj1u):nth-child(2){opacity:0}.menu-toggle[aria-expanded=true].svelte-ocbj1u .hamburger:where(.svelte-ocbj1u):nth-child(3){transform:rotate(-45deg)translate(.25rem,-.25rem)}@media (width<=768px){.menu-toggle.svelte-ocbj1u{display:inline-flex}.nav-links.svelte-ocbj1u{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);padding:.75rem var(--gutter) 1rem;z-index:140;flex-direction:column;align-items:stretch;gap:.5rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open.svelte-ocbj1u{display:flex}.nav-link.svelte-ocbj1u{text-align:center;border-top:1px solid var(--color-border);padding:.65rem 0}.nav-link.home.svelte-ocbj1u{border:1px solid var(--color-border);justify-content:center}.nav-link.active.svelte-ocbj1u:after{display:none}.nav-link:not(.home).active.svelte-ocbj1u{background:var(--color-brand-tint);border-radius:6px}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-700-normal.Bxkt5Cjx.woff2)format("woff2"),url(./ibm-plex-sans-latin-700-normal.Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-serif-latin-400-normal.BIGslYFI.woff2)format("woff2"),url(./ibm-plex-serif-latin-400-normal.BB-zNvJB.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:italic;font-display:swap;font-weight:400;src:url(./ibm-plex-serif-latin-400-italic.BCf4TsCA.woff2)format("woff2"),url(./ibm-plex-serif-latin-400-italic.Dd68USph.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-serif-latin-500-normal.REKAfBVG.woff2)format("woff2"),url(./ibm-plex-serif-latin-500-normal.C3_OdgN3.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-serif-latin-600-normal.DAxitmSu.woff2)format("woff2"),url(./ibm-plex-serif-latin-600-normal.D3rpGdkS.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-serif-latin-700-normal.bnJnpGuO.woff2)format("woff2"),url(./ibm-plex-serif-latin-700-normal.BBiG0u0D.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(./ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff")}.panel{background:var(--color-bg-light);border:1px solid var(--color-border);border-top:var(--ink-rule) solid var(--color-text);border-bottom:var(--ink-rule) solid var(--color-text);border-radius:var(--panel-radius);padding:clamp(1.5rem,3vw,2.5rem);position:relative}.card{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:1rem;transition:border-color .15s,transform 80ms,box-shadow .15s}.card:hover,.card:focus-within{border-color:var(--color-brand);box-shadow:0 2px 0 var(--color-brand-tint);transform:translateY(-1px)}.stack>*+*{margin-top:var(--section-gap)}.scrim-lines{--scrim-fill:color-mix(in srgb, var(--color-bg-light) 88%, transparent);--scrim-inline:.3em;background-image:linear-gradient(var(--scrim-fill), var(--scrim-fill));background-repeat:no-repeat;background-size:100% calc(var(--scrim-line,1.2) * 1em);padding:0 var(--scrim-inline);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 100%}.wordmark{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text);white-space:nowrap;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark:hover{text-decoration:none}.wordmark .dot{background:var(--color-brand);border-radius:50%;flex:none;width:9px;height:9px}.badge{background:var(--color-brand);width:22px;height:22px;color:var(--color-bg-light);font-family:var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:600;display:inline-flex}.placeholder{background:repeating-linear-gradient(45deg, var(--color-border), var(--color-border) 12px, var(--color-bg-light) 12px, var(--color-bg-light) 24px)}.kicker{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;display:inline-flex}.kicker--accent{color:var(--color-accent)}.kicker--brand{color:var(--color-brand)}.kicker .tick{background:currentColor;width:18px;height:2px;display:inline-block}:root{--measure:74ch;--hero-max:var(--container-max);--body-size:clamp(1.08rem, 1.35vw, 1.22rem);--em-color:var(--color-accent);--em-fill:var(--color-accent-tint);--pull-accent:var(--color-accent)}html{scroll-padding-top:calc(var(--nav-height) + 1.25rem)}.prose{font-family:var(--font-serif);font-weight:400;font-size:var(--body-size);color:var(--color-text);max-width:var(--measure);margin-inline:auto;line-height:1.8}.prose>*+*{margin-top:1.15em}.prose p{text-wrap:pretty}.prose a:not(.btn){color:var(--color-brand);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.prose a:not(.btn):hover{color:var(--color-brand-dark)}.prose .ref,.ref{color:var(--color-brand);font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}.prose .ref:hover{text-underline-offset:2px;text-decoration:underline}.prose .rin{margin-top:clamp(1.9rem,3.4vw,2.6rem)}.prose .rin>h2{font-family:var(--font-sans);font-weight:700;font-size:var(--body-size);letter-spacing:-.005em;color:var(--color-text);line-height:1.8;display:inline}.prose .rin>h2:after{content:" "}.prose .rin>p{display:inline}.prose ul,.prose ol{margin-left:0;padding-left:1.4rem}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--color-brand)}.prose code{font-family:var(--font-mono);color:var(--color-accent);border:1px solid var(--color-border);border-radius:var(--radius-s);background:0 0;padding:.12rem .32rem;font-size:.9em}.prose pre{border:1px solid var(--color-border);border-radius:var(--radius-m);background:0 0;padding:1rem;overflow-x:auto}.prose pre code{color:var(--color-text);border:0;padding:0}.prose blockquote{border-left:4px solid var(--color-brand);color:var(--color-text-muted);padding-left:1rem;font-style:italic}.prose p strong,.prose li strong{color:var(--em-color);font-weight:700}.prose mark{color:var(--em-color);background:var(--em-fill);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:5px;padding:.04em .32em;font-weight:700}.figcaption strong,.figcaption em{color:inherit;font-style:italic}mjx-container strong{color:inherit}.prose .pull{flex-direction:column;gap:.8rem;margin:clamp(2.25rem,4.5vw,3.25rem) 0;font-weight:400;display:flex}.prose .pull-tick{background:var(--pull-accent);border-radius:4px;width:60px;height:22px}.prose .pull-text{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--color-text);text-wrap:balance;font-size:clamp(1.5rem,3.1vw,2.1rem);font-weight:700;line-height:1.15}.prose{counter-reset:figure}.figure{margin:clamp(1.8rem,4vw,2.8rem) 0}.figure__frame{border-radius:var(--radius-m);border:1px solid var(--color-border);border-top:var(--ink-rule) solid var(--color-text);border-bottom:var(--ink-rule) solid var(--color-text);background:var(--color-brand-tint);aspect-ratio:16/9;place-items:center;padding:clamp(.75rem,2vw,1.25rem);display:grid;overflow:hidden}.figure__img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.figcaption{font-family:var(--font-serif);font-size:var(--step--1);color:var(--color-text-muted);text-wrap:pretty;margin-top:.7rem;line-height:1.5}.figure--num .figcaption:before{counter-increment:figure;content:"Figure " counter(figure) ". ";font-family:var(--font-sans);letter-spacing:.01em;color:var(--color-text);font-weight:700}.prose mjx-container[display=true]{text-align:center;margin:clamp(1.4rem,3vw,2rem) 0;padding:clamp(.6rem,1.5vw,1rem) .25rem;overflow:auto hidden}mjx-container{color:var(--color-text);background:0 0}.fn-ref{font-family:var(--font-sans);vertical-align:super;color:var(--color-brand);padding:0 .12em;font-size:.64em;font-weight:700;line-height:0;text-decoration:none}.fn-ref:hover{text-decoration:underline}.app-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);margin-bottom:.85rem;font-size:.7rem;font-weight:700}.footnotes+.app-label{margin-top:clamp(1.6rem,3vw,2.25rem)}.footnotes{counter-reset:fn;margin:0;padding:0;list-style:none}.footnotes li{counter-increment:fn;font-family:var(--font-serif);color:var(--color-text-muted);padding-left:2.1rem;font-size:.92rem;line-height:1.55;position:relative}.footnotes li+li{margin-top:.6rem}.footnotes li:before{min-width:1.5rem;font-family:var(--font-sans);color:var(--color-brand);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700;position:absolute;top:.05rem;left:0}.footnotes--alpha li:before{content:counter(fn, lower-alpha)}.footnotes--num li:before{content:counter(fn)}.footnotes li a{color:var(--color-brand)}.footnotes .backref{font-family:var(--font-sans);margin-left:.3rem;font-size:.82rem;text-decoration:none}:root{--container-max:1200px;--gutter:24px;--section-gap:clamp(2rem, 4vw, 3.5rem);--nav-height:64px;--rule-color:var(--color-border);--panel-bg:var(--color-bg-light);--panel-strong:var(--color-bg-light);--panel-border:var(--color-border);--radius-s:6px;--radius-m:10px;--radius-l:16px;--ink-rule:2px;--panel-radius:var(--radius-l);--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-serif:"IBM Plex Serif", ui-serif, Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--step--1:clamp(.85rem, .9vw, .95rem);--step-0:clamp(1rem, 1.05vw, 1.12rem);--step-1:clamp(1.15rem, 1.6vw, 1.35rem);--step-2:clamp(1.4rem, 2.2vw, 1.75rem);--step-3:clamp(1.9rem, 3.2vw, 2.6rem)}body{font-family:var(--font-serif);color:var(--color-text);text-rendering:optimizelegibility;letter-spacing:.002em;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.01em}nav,button,input,textarea,select{font-family:var(--font-sans)}html{box-sizing:border-box}*,:before,:after{box-sizing:inherit}img,video,svg,canvas{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.container{width:min(100%, var(--container-max));padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.section-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.rule{background:var(--rule-color);border:0;height:1px}.btn{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:1px solid var(--color-brand);border-radius:999px;align-items:center;gap:8px;padding:.6rem 1.2rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn--primary{background:var(--color-brand);color:var(--color-bg-light)}.btn--primary:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark);text-decoration:none}.btn--outline{background:var(--color-bg-light);color:var(--color-brand)}.btn--outline:hover{background:var(--color-brand);color:var(--color-bg-light);text-decoration:none}.skip-link.svelte-12qhfyh{background:var(--color-text);color:var(--color-bg-light);border-radius:var(--radius-s);z-index:1000;padding:.5rem .75rem;position:absolute;top:0;left:-9999px}.skip-link.svelte-12qhfyh:focus{top:1rem;left:1rem}.site.svelte-12qhfyh{background:var(--site-bg);flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:100vh;padding-top:0;display:flex}@media (width<=768px){:root{--gutter:16px}}
