@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--blue-50:#eef6fd;--blue-100:#d8e9fa;--blue-200:#b0d2f4;--blue-300:#7cb8ee;--blue-400:#2e91e6;--blue-500:#1a79cb;--blue-600:#0d67ae;--blue-700:#005899;--blue-800:#04426f;--blue-900:#06304d;--blue-950:#041f33;--ink-900:#1c2733;--ink-800:#26333f;--ink-700:#3a4855;--ink-600:#51606e;--ink-500:#6a7583;--ink-400:#8d97a3;--ink-300:#b3bcc6;--ink-200:#d5dbe1;--paper:#fffffa;--paper-2:#f7f7f1;--white:#fff;--line:#e9e9e0;--line-soft:#f2f2ea;--green-500:#1f8a5f;--green-50:#e8f5ef;--amber-500:#b8781b;--amber-50:#fbf2e2;--red-500:#c0392e;--red-50:#fbeceb;--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--paper-2);--surface-code:var(--white);--surface-hover:var(--blue-50);--surface-selected:var(--blue-50);--text-body:var(--ink-900);--text-heading:var(--blue-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-link:var(--blue-400);--text-link-hover:var(--blue-700);--text-on-accent:#fff;--border-hairline:var(--line);--border-soft:var(--line-soft);--border-strong:var(--ink-200);--border-focus:var(--blue-400);--accent:var(--blue-400);--accent-strong:var(--blue-700);--accent-quiet:var(--blue-50);--logo-mark:var(--blue-700);--logo-mark-ink:var(--paper);--info-fg:var(--blue-700);--info-bg:var(--blue-50);--info-line:var(--blue-200);--success-fg:var(--green-500);--success-bg:var(--green-50);--warning-fg:var(--amber-500);--warning-bg:var(--amber-50);--danger-fg:var(--red-500);--danger-bg:var(--red-50);--focus-ring:0 0 0 3px color-mix(in oklch,var(--blue-400) 35%,transparent);--selection-bg:var(--blue-100)}[data-theme=dark]{--surface-page:#0e151f;--surface-card:#141d29;--surface-sunken:#111926;--surface-code:#101823;--surface-hover:#1b2839;--surface-selected:#1b2839;--text-body:#dfe6ee;--text-heading:#7cb8ee;--text-muted:#93a1b1;--text-faint:#6e7d8e;--text-link:#5aa9ee;--text-link-hover:#9ecdf5;--border-hairline:#22303f;--border-soft:#1a2634;--border-strong:#33445a;--accent:#5aa9ee;--accent-strong:#9ecdf5;--accent-quiet:#152436;--logo-mark:#1a79cb;--logo-mark-ink:#eaf3fb;--info-fg:#7cb8ee;--info-bg:#13243a;--info-line:#26456b;--success-fg:#4cc08b;--success-bg:#122a22;--warning-fg:#d9a441;--warning-bg:#2b2213;--danger-fg:#e2695c;--danger-bg:#2e1817;--selection-bg:#1e3c5c}:root{--font-sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-2xs:11px;--text-xs:12px;--text-sm:14px;--text-base:15px;--text-body-size:17px;--text-md:18px;--text-lg:19px;--text-xl:22px;--text-2xl:26px;--text-3xl:29px;--text-4xl:36px;--text-5xl:44px;--leading-tight:1.2;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.08em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--type-wordmark:var(--weight-bold) var(--text-xl)/1.2 var(--font-sans);--type-post-title:var(--weight-semibold) var(--text-3xl)/var(--leading-snug) var(--font-sans);--type-h2:var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-sans);--type-h3:var(--weight-semibold) var(--text-md)/var(--leading-snug) var(--font-sans);--type-body:var(--weight-regular) var(--text-body-size)/var(--leading-relaxed) var(--font-sans);--type-list-item:var(--weight-medium) var(--text-md)/var(--leading-normal) var(--font-sans);--type-meta:var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);--type-eyebrow:var(--weight-bold) var(--text-sm)/1.4 var(--font-sans);--type-tag:var(--weight-medium) var(--text-xs)/1 var(--font-mono);--type-code:var(--weight-regular) .9em/1.6 var(--font-mono);--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:56px;--space-11:72px;--space-12:96px;--gap-inline:8px;--gap-stack:16px;--gap-section:56px;--pad-row:14px;--pad-card:20px;--pad-page-x:20px;--measure:680px;--measure-wide:880px;--shell-max:1440px;--sidebar-w:236px;--toc-w:210px;--header-h:60px;--rail-gap:40px;--tap-min:44px;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--border-width:1px;--rule:1px solid var(--border-hairline);--shadow-none:none;--shadow-sm:0 1px 2px #06304d0f;--shadow-pop:0 8px 28px #06304d24,0 1px 3px #06304d14;--shadow-inset-top:inset 0 1px 0 var(--border-soft);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.28s;--ease-out:cubic-bezier(.2,.6,.3,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--transition-color:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--selection-bg)}a{color:var(--text-link);transition:var(--transition-color);text-decoration:none}a:hover{color:var(--text-link-hover)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}code{background:var(--surface-code);border:var(--rule);border-radius:var(--radius-sm);font:var(--type-code);padding:.1em .35em}pre{background:var(--surface-code);border:var(--rule);border-radius:var(--radius-md);padding:var(--space-5);font:var(--type-code);overflow:auto}pre code{background:0 0;border:none;padding:0}img{max-width:100%;height:auto}hr{border:none;border-top:var(--rule);margin:var(--space-8) 0}
