@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--fb-blue-600:#2f6fed;--fb-blue-300:#6da2f0;--fb-blue-100:#cfe0fd;--fb-blue-75:#eff5fe;--fb-blue-50:#eaf1fe;--fb-blue-25:#f7faff;--fb-ink-900:#0f1720;--fb-ink-800:#1a2530;--fb-ink-700:#28323c;--fb-slate-600:#5a6875;--fb-slate-550:#64707c;--fb-slate-500:#40505c;--fb-slate-400:#8a97a3;--fb-slate-350:#9aa7b2;--fb-slate-300:#a3afba;--fb-slate-250:#b3bdc7;--fb-green-600:#2f9e5b;--fb-green-50:#e5f5eb;--fb-green-200:#bfe6cd;--fb-red-500:#e5484d;--fb-red-50:#fdecec;--fb-red-200:#f7cfcf;--fb-red-800:#7a2b2e;--fb-amber-500:#f5a524;--fb-warn-700:#a36000;--fb-warn-50:#fdf3e2;--fb-warn-200:#f3d9a6;--fb-violet-500:#8b5cf6;--fb-violet-600:#6f52f4;--fb-violet-700:#7a3ed0;--fb-violet-200:#e0d4fb;--fb-violet-50:#f1ecfe;--fb-teal-500:#3ec9a7;--fb-indigo-600:#4f46e5;--fb-violet-400:#9c86f7;--fb-violet-150:#d6cdfb;--fb-blue-150:#c7d7fa;--fb-teal-600:#12a38f;--fb-teal-700:#0d7f70;--fb-teal-100:#bde6df;--fb-amber-600:#cd9219;--fb-red-600:#a94e51;--fb-red-700:#ba022f;--fb-indigo-300:#8fa6f7;--fb-green-400:#45c15b;--fb-slate-100:#dfe5eb;--fb-blue-700:#1d4fb8;--fb-blue-200:#9cb8f5;--fb-white:#fff;--fb-bg-page:#e9edf2;--fb-canvas:#f4f6f9;--fb-surface-rail:#fbfcfd;--fb-surface-sunken:#eef1f5;--fb-surface-sunken-2:#eef2f6;--fb-surface-hover:#f4f6f9;--fb-ink-panel:#16202b;--fb-terminal:#0f1720;--fb-terminal-border:#1c2733;--fb-terminal-text:#c8d1d5;--fb-terminal-dim:#8595a3;--fb-terminal-accent:#6da2f0;--fb-terminal-success:#46c17d;--fb-terminal-danger:#f2686c;--fb-terminal-warning:#f5b544;--fb-border:#e6ebf0;--fb-border-control:#e0e6ec;--fb-border-divider:#f0f3f6;--fb-border-subtle:#eef2f6;--fb-border-strong:#dce3ea;--fb-border-strong-2:#dbe2ea;--fb-color-accent:var(--fb-blue-600);--fb-color-accent-tint:var(--fb-blue-50);--fb-color-accent-tint-strong:var(--fb-blue-75);--fb-color-accent-border:var(--fb-blue-100);--fb-color-accent-light:var(--fb-blue-300);--fb-color-accent-wash:var(--fb-blue-25);--fb-color-on-accent-tint:var(--fb-blue-700);--fb-color-accent-ring:var(--fb-blue-200);--fb-color-accent-fill:var(--fb-blue-600);--fb-color-sparkline:var(--fb-blue-150);--fb-color-ramp:var(--fb-blue-300);--fb-color-ramp-text:var(--fb-ink-800);--fb-color-text:var(--fb-ink-900);--fb-color-text-panel:var(--fb-ink-800);--fb-color-text-prose:var(--fb-ink-700);--fb-color-text-muted:var(--fb-slate-600);--fb-color-text-row:var(--fb-slate-500);--fb-color-text-faint:var(--fb-slate-400);--fb-color-text-subtle:var(--fb-slate-350);--fb-color-text-disabled:var(--fb-slate-300);--fb-color-text-ghost:var(--fb-slate-250);--fb-color-icon:var(--fb-slate-400);--fb-color-icon-faint:var(--fb-slate-300);--fb-color-success:var(--fb-green-600);--fb-color-success-surface:var(--fb-green-50);--fb-color-success-border:var(--fb-green-200);--fb-color-danger:var(--fb-red-500);--fb-color-danger-surface:var(--fb-red-50);--fb-color-danger-border:var(--fb-red-200);--fb-color-danger-prose:var(--fb-red-800);--fb-color-warning:var(--fb-amber-500);--fb-color-warning-text:var(--fb-warn-700);--fb-color-warning-surface:var(--fb-warn-50);--fb-color-warning-border:var(--fb-warn-200);--fb-color-idea:var(--fb-violet-500);--fb-color-idea-surface:var(--fb-violet-50);--fb-color-idea-border:var(--fb-violet-200);--fb-color-secondary:var(--fb-violet-500);--fb-color-secondary-tint:var(--fb-violet-50);--fb-color-secondary-border:var(--fb-violet-200);--fb-color-surface:var(--fb-white);--fb-color-bg:var(--fb-bg-page);--fb-color-canvas:var(--fb-canvas);--fb-color-rail:var(--fb-surface-rail);--fb-color-sidebar:var(--fb-surface-rail);--fb-color-surface-subtle:var(--fb-surface-rail);--fb-color-panel:var(--fb-surface-rail);--fb-color-sunken:var(--fb-surface-sunken);--fb-color-hover:var(--fb-surface-sunken-2);--fb-color-hover-subtle:var(--fb-surface-hover);--fb-color-border:var(--fb-border);--fb-color-border-control:var(--fb-border-control);--fb-color-border-divider:var(--fb-border-divider);--fb-color-border-subtle:var(--fb-border-subtle);--fb-color-border-strong:var(--fb-border-strong);--fb-color-avatar-bg:var(--fb-ink-900);--fb-color-avatar-bg-hover:var(--fb-terminal-border);--fb-color-on-emphasis:var(--fb-white);--fb-color-terminal:var(--fb-terminal);--fb-color-terminal-border:var(--fb-terminal-border);--fb-color-terminal-text:var(--fb-terminal-text);--fb-color-terminal-dim:var(--fb-terminal-dim);--fb-color-terminal-hover:var(--fb-ink-panel);--fb-color-terminal-accent:var(--fb-terminal-accent);--fb-color-terminal-success:var(--fb-terminal-success);--fb-color-terminal-danger:var(--fb-terminal-danger);--fb-color-terminal-warning:var(--fb-terminal-warning);--fb-avatar-1:var(--fb-blue-600);--fb-avatar-2:var(--fb-violet-500);--fb-avatar-3:var(--fb-teal-500);--fb-avatar-4:var(--fb-indigo-600);--fb-avatar-5:var(--fb-green-600);--fb-avatar-6:var(--fb-amber-500);--fb-avatar-7:var(--fb-violet-600);--fb-avatar-8:var(--fb-red-500);--fb-meter-brief:var(--fb-violet-400);--fb-meter-brief-tint:var(--fb-violet-150);--fb-meter-sandbox:var(--fb-blue-600);--fb-meter-sandbox-tint:var(--fb-blue-150);--fb-meter-tokens:var(--fb-teal-500);--fb-meter-tokens-tint:var(--fb-teal-100);--fb-color-included:var(--fb-teal-600);--fb-color-included-text:var(--fb-teal-700);--fb-series-1:var(--fb-blue-300);--fb-series-2:var(--fb-amber-600);--fb-series-3:var(--fb-violet-700);--fb-series-4:var(--fb-red-600);--fb-series-5:var(--fb-indigo-300);--fb-series-6:var(--fb-green-400);--fb-series-7:var(--fb-blue-700);--fb-series-8:var(--fb-red-700);--fb-series-other:var(--fb-slate-100);--fb-provider-anthropic-bg:#f2ede4;--fb-provider-anthropic-fg:#c2743b;--fb-provider-openai-bg:#e6f3ee;--fb-provider-openai-fg:#128463;--fb-provider-claude-bg:#efe9fb;--fb-provider-claude-fg:#7c5cf0;--fb-provider-neutral-bg:#eef2f6;--fb-provider-neutral-fg:#5a6875;--fb-gradient-brand:linear-gradient(150deg, var(--fb-blue-600), var(--fb-violet-600));--fb-gradient-scope:linear-gradient(135deg, var(--fb-blue-600), var(--fb-violet-500));--fb-scrim:#0f17206b;--fb-shadow-card:0 1px 2px #1428460a;--fb-shadow-card-hover:0 12px 30px #1428461a;--fb-shadow-menu:0 16px 40px #1428462e;--fb-shadow-menu-up:0 -10px 34px #14284629;--fb-shadow-modal:0 30px 80px #0f17204d;--fb-shadow-panel:0 1px 2px #0f17200a, 0 8px 24px #0f17200d;--fb-scrim-flat:#0f172061;--fb-shadow-modal-flat:0 24px 60px #0f17204d;--fb-font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fb-font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fb-text-2xs:10px;--fb-text-xs:11px;--fb-text-sm:13px;--fb-text-md:15px;--fb-text-lg:16px;--fb-text-xl:19px;--fb-text-2xl:22px;--fb-text-3xl:24px;--fb-tracking-wide:.08em;--fb-weight-regular:400;--fb-weight-medium:500;--fb-weight-semibold:600;--fb-weight-bold:700;--fb-radius-xs:5px;--fb-radius-sm:7px;--fb-radius-md:8px;--fb-radius-lg:12px;--fb-radius-xl:14px;--fb-radius-2xl:16px;--fb-radius-pill:20px;--fb-sidebar-width:236px;--fb-header-height:56px;--fb-bp-shell:900px;--fb-bp-split:760px;--fb-bp-phone:560px;--fb-tap-min:44px;--fb-text-field:var(--fb-text-sm)}@media (pointer:coarse){:root{--fb-text-field:16px}}:root{--fb-shadow-accent:47 111 237;--fb-site-cta-shadow:0 6px 18px rgb(var(--fb-shadow-accent) / .4);--fb-site-h1:clamp(1.875rem, 1.5rem + 1.4vw, 2.375rem);--fb-site-h2:1.5rem;--fb-site-h3:1.1875rem;--fb-site-h4:1rem;--fb-site-lead:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--fb-site-body:1rem;--fb-site-small:.875rem;--fb-site-code:.86rem;--fb-site-code-inline:.85em;--fb-site-code-bg:var(--fb-terminal);--fb-site-code-well:#0b1219;--fb-site-code-border:var(--fb-terminal-border);--fb-site-code-text:var(--fb-terminal-text);--fb-site-code-dim:var(--fb-terminal-dim);--fb-site-code-string:#6bd39a;--fb-site-code-violet:#c3aef4;--fb-site-code-number:#e6b673;--lp-max-width:1320px;--lp-gutter:24px;--lp-nav-height:72px;--lp-dark-bg:var(--fb-site-code-bg);--lp-dark-well:var(--fb-site-code-well);--lp-dark-border:var(--fb-site-code-border);--lp-dark-panel:var(--fb-ink-panel);--lp-dark-text:var(--fb-white);--lp-dark-text-muted:var(--fb-slate-300);--lp-dark-text-body:var(--fb-site-code-text);--lp-dark-text-dim:var(--fb-site-code-dim);--lp-dark-text-faint:var(--fb-slate-500);--lp-sig-words:var(--fb-violet-500);--lp-sig-words-text:var(--fb-violet-700);--lp-sig-words-tint:var(--fb-violet-50);--lp-sig-element:var(--fb-blue-600);--lp-sig-element-text:var(--lp-sig-element);--lp-sig-element-tint:var(--fb-blue-50);--lp-sig-element-on-ink:var(--fb-blue-300);--lp-sig-screenshot:var(--fb-indigo-600);--lp-sig-screenshot-text:var(--lp-sig-screenshot);--lp-sig-screenshot-tint:#ecebfd;--lp-sig-replay:var(--fb-green-600);--lp-sig-replay-text:var(--lp-sig-replay);--lp-sig-replay-tint:var(--fb-green-50);--lp-sig-console:var(--fb-red-500);--lp-sig-console-text:#c13a3f;--lp-sig-console-tint:var(--fb-red-50);--lp-sig-console-on-ink:var(--fb-terminal-danger);--lp-sig-network:var(--fb-warn-700);--lp-sig-network-text:var(--lp-sig-network);--lp-sig-network-tint:var(--fb-warn-50);--lp-sig-env:var(--fb-slate-500);--lp-sig-env-text:var(--lp-sig-env);--lp-sig-env-tint:var(--fb-bg-page);--lp-sig-server:var(--fb-ink-900);--lp-sig-server-text:var(--lp-sig-server);--lp-sig-server-tint:var(--fb-bg-page);--lp-accent-pending:#9fbdf6;--lp-on-accent-soft:#dbe7fd;--lp-scrub-border:#d9d7fb;--lp-scrub-bg:#f5f4fe;--lp-brief-wash-from:#f7f3ff;--lp-brief-wash-to:#f3f7ff;--lp-thumb-tote:#efe6da;--lp-thumb-candle:#e6e1f5;--lp-thumb-mug:#dde8f0;--lp-violet-deep:#6f3fd6;--lp-flow-rule:#e3e8ee;--lp-plan-ground:#f7f9fb;--lp-green-wash:#f3faf6;--lp-green-edge:#cfeedd;--lp-violet-wash:#faf8ff;--lp-violet-rule:#eee8fb;--lp-violet-edge:#e6e0f7;--lp-accent-edge:#c9dafb;--lp-accent-edge-faint:#dbe6fb;--lp-accent-count:#7fa3f3;--lp-send-disabled:#c9c2e8;--lp-diff-add-text:#8fe0b3;--lp-diff-del-text:#f2a3a5;--lp-issue-chrome:#f7f8fa;--lp-issue-rule:#eef1f4;--lp-accent-press:#2458c9;--lp-violet-tint:#f3f0fe;--lp-code-ground:#f1f3f6;--lp-shot-bar:#dde3ea;--lp-thumb-apron:#e9e2d6;--lp-thumb-throw:#d9e1e8;--lp-thumb-pot:#e6d9d0;--lp-replay-text:#e8edf1;--lp-replay-idle:#3a4754;--lp-replay-future:#4a5866;--lp-replay-current:#16233a;--lp-replay-current-text:#7fa6f5;--lp-replay-error-ground:#3a1a1d;--lp-replay-error-future:#1f1517;--lp-replay-error-dim:#6b3a3c;--lp-replay-track:#2a3947;--lp-replay-click:#6f8ff5;--lp-trace-error-row:snow;--lp-trace-open-row:#fdf3f3;--lp-trace-open-rule:#f6dede;--lp-trace-open-ground:#fdf6f6;--lp-handoff-edge:#e4dcfd;--lp-handoff-arrow:#b9a6ff;--lp-on-accent-dim:var(--fb-blue-100);--lp-on-words-dim:var(--fb-violet-200);--lp-glow-violet:var(--fb-violet-600);--lp-gradient-ship:linear-gradient(135deg, var(--fb-blue-600), var(--fb-violet-600));--lp-shadow-light:#142846;--lp-shadow-dark:var(--fb-ink-900);--lp-shadow-black:#000;--lp-grid-rule:#d6dde5;--lp-lens-dot:#8f9dab}.footer{background:var(--lp-dark-well);padding:28px var(--lp-gutter);border-top:1px solid var(--lp-dark-border)}.footer__inner,.footer__company{max-width:var(--lp-max-width);margin:0 auto}.footer__inner{color:var(--lp-dark-text-dim);flex-wrap:wrap;align-items:center;gap:24px;font-size:14px;display:flex}.footer__brand{color:var(--lp-dark-text-body);font-weight:var(--fb-weight-semibold);align-items:center;gap:8px;display:flex}.footer__mark{flex:none;display:block}.footer__spacer{flex:1}.footer__links{flex-wrap:wrap;gap:10px 24px;display:flex}.footer a{color:var(--lp-dark-text-muted)}.footer a:hover{color:var(--lp-dark-text)}.footer__company{border-top:1px solid var(--lp-dark-border);color:var(--lp-dark-text-dim);margin-top:18px;padding-top:18px;font-size:13px;line-height:1.6}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--fb-color-canvas);color:var(--fb-color-text);font-family:var(--fb-font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,p{margin:0}a{color:var(--fb-color-accent);text-decoration:none}button{font-family:inherit}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
