@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2)format("woff2")}@font-face{font-family:Inter Display;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-display-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}:root{--white:#fff;--ink-100:#000;--ink-80:#000c;--ink-75:#000000bf;--ink-60:#0009;--ink-45:#00000073;--ink-25:#00000040;--line-8:#00000014;--line-6:#0000000f;--surface-4:#0000000a;--surface-2:#00000005;--grey-96:#f5f5f5;--grey-tile:#f2f2f299;--text-primary:var(--ink-100);--text-secondary:#0000008c;--text-muted:var(--ink-45);--icon-default:var(--ink-100);--border-default:var(--line-6);--border-strong:var(--line-8);--surface-page:var(--white);--surface-raised:var(--white);--surface-hover:var(--surface-2);--surface-tile:var(--grey-tile);--surface-control:var(--surface-4);--surface-control-hover:#0000000f;--border-control:#00000029;--focus-ring:2px solid var(--ink-100);--focus-offset:2px;--accent-orange:#f50;--accent-blue:#2469ff;--accent-purple:#6352fa;--accent-lime:#c8ed78;--accent-green:#008b37;--signal-red:#d92d20;--signal-red-soft:#d92d201a;--signal-green:#12b76a;--signal-green-soft:#12b76a1f;--banner-gradient:linear-gradient(100deg, #4d64ff 0%, #b3a6ff 32%, #adb3ff 58%, #ffc061 100%);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.375rem;--space-sm:.5rem;--space-md:.625rem;--space-lg:.75rem;--space-xl:1rem;--space-2xl:1.25rem;--space-3xl:1.5rem;--space-4xl:2rem;--space-5xl:3rem;--space-6xl:4rem;--space-7xl:6rem;--nav-height:104px;--font-sans:"Inter", system-ui, sans-serif;--font-display:"Inter Display", "Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--text-2xs:.5625rem;--text-xs:.625rem;--text-sm:.75rem;--text-md:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:2rem;--text-3xl:3.5rem;--leading-tight:1.2;--leading-body:1.5;--track-tightest:-.04em;--track-tighter:-.03em;--track-tight:-.02em;--track-snug:-.01em;--track-none:0em;--radius-sm:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:6.25rem;--ease-spring-logo:linear(0, .044, .154, .3012, .4621, .6192, .7607, .8795, .9725, 1.0399, 1.0837, 1.1074, 1.115, 1.1108, 1.0987, 1.082, 1.0636, 1.0454, 1.0289, 1.015, 1.004, .996, .9907, .9878, .9868, .9872, .9885);--ease-spring-pad:linear(0, .0223, .0791, .1575, .2478, .3425, .4363, .5256, .6079, .6819, .747, .8031, .8506, .8901, .9222, .948, .9682, .9836, .9951, 1.0033, 1.0089, 1.0124, 1.0144, 1.0151, 1.015, 1.0143, 1.0132);--dur-logo:.31s;--dur-pad:.35s;--ease-nav-tween:cubic-bezier(.44, 0, .56, 1);--dur-nav-tween:.15s;--ease-spring-banner:linear(0, .0223, .0791, .1575, .2478, .3425, .4363, .5256, .6079, .6819, .747, .8031, .8506, .8901, .9222, .948, .9682, .9836, .9951, 1.0033, 1.0089, 1.0124, 1.0144, 1.0151, 1.015, 1.0143, 1.0132);--dur-banner:.4s}.on-dark{--text-primary:#fff;--text-secondary:#ffffffb3;--text-muted:#ffffff73;--icon-default:#fff;--border-default:#ffffff1f;--border-strong:#ffffff2e;--surface-page:var(--ink-100);--surface-raised:#ffffff0a;--surface-hover:#ffffff0f;--surface-tile:#ffffff14;--surface-control:#ffffff14;--surface-control-hover:#ffffff1f;--border-control:#ffffff3d;--focus-ring:2px solid #fff;background:var(--surface-page);color:var(--text-secondary)}*,:before,:after{box-sizing:border-box}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}body{background:var(--surface-page);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-tight);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}body{padding-top:var(--nav-height)}html{scroll-padding-top:calc(var(--nav-height) + var(--space-5xl))}body{flex-direction:column;min-height:100vh;display:flex}main{flex:1 0 auto;width:100%}.page{max-width:75rem;padding:var(--space-7xl) var(--space-4xl);margin:0 auto}.page--narrow{max-width:45rem}.eyebrow,.stack-meta{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-none);text-transform:uppercase;color:var(--text-secondary);margin:0}.h1{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:var(--track-tighter);color:var(--text-primary);text-wrap:balance;margin:0;font-weight:500;line-height:1.1}.h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--track-tight);color:var(--text-primary);text-wrap:balance;margin:0}.h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--track-snug);color:var(--text-primary);text-wrap:balance;margin:0}.lead{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-tighter);color:var(--text-secondary);text-wrap:balance;max-width:34ch;margin:0}.lead--wide{max-width:60ch}.body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-tight);color:var(--text-secondary);text-wrap:pretty;max-width:68ch;margin:0}.small{font-family:var(--font-sans);font-size:var(--text-md);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-none);color:var(--text-secondary);text-wrap:pretty;margin:0}.tag{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-body);letter-spacing:var(--track-tight);color:var(--text-primary);margin:0}.mono,.row-count,.row-right{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-none);text-transform:uppercase;color:var(--text-secondary);margin:0}.mono--literal{text-transform:none}.stack-title{text-wrap:balance;font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:var(--leading-body);letter-spacing:var(--track-tight);color:var(--text-primary);margin:0}.t-nav{font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:var(--leading-body);letter-spacing:var(--track-tight);color:var(--ink-60)}.t-body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-tight);color:var(--ink-100)}.t-foot{font-family:var(--font-sans);font-size:var(--text-md);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-none);color:var(--ink-60)}.t-micro{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-body);letter-spacing:var(--track-tight);font-feature-settings:"blwf" on}.t-mono{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--track-none);text-transform:uppercase}.t-link{transition:color var(--dur-nav-tween) var(--ease-nav-tween);text-decoration:none}.t-link:hover{color:var(--ink-100)}section+section,.section+.section{margin-top:var(--space-7xl)}.page--article .section+.section{margin-top:var(--space-6xl)}.section-head{gap:var(--space-lg);margin-bottom:var(--space-4xl);flex-direction:column;display:flex}.section-head--page{margin-bottom:var(--space-5xl)}.section-title{margin-bottom:var(--space-4xl)}.section-head:has(+.prose),.section-title:has(+.prose__block){margin-bottom:var(--space-lg)}.prose{gap:var(--space-5xl);flex-direction:column;display:flex}.prose__block{gap:var(--space-lg);flex-direction:column;display:flex}.prose__block .body{max-width:68ch}@media (width<=48rem){.page{padding:var(--space-6xl) var(--space-xl) var(--space-5xl)}.h1{font-size:var(--text-2xl);letter-spacing:var(--track-tight)}.h2{font-size:var(--text-xl);letter-spacing:var(--track-snug);line-height:1.3}.lead{font-size:var(--text-base);letter-spacing:var(--track-tight)}}.btn{--btn-window:36px;--btn-shuttle-gap:var(--space-md);--btn-shuttle-top:var(--space-xs);--btn-icon:18px;--btn-travel:-31px;font:inherit;justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--btn-pad-y,1px) var(--space-xl);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--dur-nav-tween) var(--ease-nav-tween), filter var(--dur-nav-tween) var(--ease-nav-tween);border:0;flex-direction:row;text-decoration:none;display:flex;overflow:hidden}.btn__window{height:var(--btn-window);flex:none;display:flex;overflow:hidden}.btn--sm{--btn-window:28px;--btn-shuttle-gap:var(--space-sm);--btn-shuttle-top:var(--space-2xs);--btn-icon:16px;--btn-travel:-27px;padding-inline:var(--space-lg)}.btn--sm .btn__label{font-size:var(--text-md)}.btn--secondary{background:var(--surface-control);color:var(--text-primary)}.btn--secondary:hover{background:var(--surface-control-hover)}.btn--primary{background:var(--banner-gradient);color:var(--white)}.btn--primary .btn__label,.btn--primary .btn__icon{color:var(--white)}.btn--primary:hover{filter:brightness(1.07)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn__shuttle{justify-content:flex-start;align-items:center;gap:var(--btn-shuttle-gap);height:var(--btn-window);padding:var(--btn-shuttle-top) 0 0 0;transition:transform var(--dur-logo) var(--ease-spring-logo);flex-direction:column;flex:none;display:flex}.btn:hover .btn__shuttle,.btn:focus-visible .btn__shuttle{transform:translateY(var(--btn-travel))}.btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){.btn__shuttle{transition:none}}.btn__label{white-space:pre}.btn__icon{width:var(--btn-icon);height:var(--btn-icon);color:var(--icon-default);flex:none;display:block}.btn__icon path{fill:currentColor}.logo{height:var(--logo-height,28px);width:auto;color:var(--text-primary);display:block}.nav{z-index:5;width:100%;box-shadow:0 .5px 0 0 var(--border-strong);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.nav__banner{justify-content:center;align-items:center;gap:var(--space-md);width:100%;height:36px;padding:0 var(--space-xl);background:var(--banner-gradient);flex-direction:row;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav__banner-stack{justify-content:center;align-items:center;gap:var(--space-sm);z-index:1;flex-direction:row;display:flex;position:relative}.nav__banner-labels{align-items:center;gap:var(--space-xs);flex-direction:row;display:flex}.nav__chip{padding:var(--space-3xs) var(--space-xs);color:var(--surface-raised);white-space:pre;border:1px solid #ffffff4d;border-radius:4px;align-items:center;display:flex}.nav__banner-copy{color:var(--surface-raised);white-space:pre}.nav__banner-cta{padding:var(--space-3xs) var(--space-md);border-radius:var(--radius-full);color:var(--surface-raised);white-space:pre;animation:banner-rise var(--dur-banner) var(--ease-spring-banner) both;background:#000000b3;align-items:center;display:flex}@keyframes banner-rise{0%{opacity:.001;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.nav__menu{justify-content:flex-start;align-items:center;gap:var(--space-lg);width:100%;height:68px;padding:0 var(--space-xl);background:var(--surface-raised);flex-direction:row;display:flex}.nav__left{justify-content:flex-start;align-items:center;gap:var(--space-lg);flex-direction:row;flex:1 0 0;width:1px;display:flex;overflow:clip}.nav__logo{flex:none;align-items:center;height:68px;display:flex}.nav__logo-mark{--logo-height:20px}.nav__links{flex-direction:row;justify-content:center;align-items:center;gap:0;display:flex;overflow:clip}.nav__link{padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);white-space:pre;cursor:pointer;flex-direction:row;justify-content:center;align-items:center;gap:5px;text-decoration:none;display:flex}.nav__link:hover{color:var(--text-primary)}.nav__right{justify-content:flex-end;align-items:center;gap:var(--space-lg);flex-direction:row;flex:none;display:flex}@media (width<=1079.98px){.nav__links{display:none}.nav__right .btn{height:36px}}@media (width<=30rem){.nav__chip{display:none}}.foot{width:100%;padding:var(--space-4xl);flex-direction:row;justify-content:center;align-items:center;display:flex;overflow:hidden}.foot__line{flex-direction:row;flex:1 0 0;justify-content:space-between;align-items:flex-start;width:1px;display:flex}.foot__left{align-items:flex-start;gap:var(--space-lg);flex-direction:column;flex:none;display:flex}.foot__right{align-items:flex-end;gap:var(--space-lg);flex-direction:column;flex:1 0 0;width:1px;display:flex}.foot__legal{justify-content:flex-end;align-items:center;gap:var(--space-lg) var(--space-xl);flex-direction:row;width:602px;display:flex;overflow:hidden}.foot p{white-space:pre;margin:0}@media (width<=48rem){.foot{padding:var(--space-4xl) var(--space-xl)}}@media (width<=1079.98px){.foot__line{justify-content:flex-start;gap:var(--space-2xl);flex-direction:column}.foot__left{order:1}.foot__right{align-items:flex-start;gap:var(--space-3xl);flex:none;order:0;width:100%}.foot__legal{align-items:flex-start;gap:var(--space-lg);flex-direction:column;width:100%;overflow:visible}}
