.site-header[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--c-rule);background:color-mix(in srgb,var(--c-paper) 88%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:28px;min-height:62px}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--c-ink);font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:-.02em;white-space:nowrap}.mark[data-astro-cid-3ef6ksr2]{color:var(--c-accent);display:grid;place-items:center}.accent[data-astro-cid-3ef6ksr2]{color:var(--c-accent)}nav[data-astro-cid-3ef6ksr2]{margin-left:auto}nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:4px;list-style:none;padding:0;margin:0}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:7px 13px;border-radius:var(--r-sm);color:var(--c-ink-2);text-decoration:none;font-size:15px;font-weight:500}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background:var(--c-paper-2);color:var(--c-ink)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--c-accent);background:var(--c-accent-bg)}@media(max-width:520px){.bar[data-astro-cid-3ef6ksr2]{gap:14px}.brand[data-astro-cid-3ef6ksr2]{font-size:15.5px}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:7px 9px;font-size:14px}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:72px;border-top:1px solid var(--c-rule);background:var(--c-paper-2);padding:44px 0 36px}.cols[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:36px}.name[data-astro-cid-sz7xmlte]{font-family:var(--f-display);font-weight:600;margin-bottom:6px}.about[data-astro-cid-sz7xmlte] .small[data-astro-cid-sz7xmlte]{max-width:46ch}.ftitle[data-astro-cid-sz7xmlte]{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-3);margin-bottom:10px}.site-footer[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0}.site-footer[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{margin-bottom:7px}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--c-ink-2);text-decoration:none;font-size:15px}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--c-accent);text-decoration:underline}.disclaimer[data-astro-cid-sz7xmlte]{margin-top:34px;padding-top:22px;border-top:1px solid var(--c-rule);max-width:var(--w-prose)}.copy[data-astro-cid-sz7xmlte]{margin-top:16px;color:var(--c-ink-3)}@media(max-width:700px){.cols[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr}.about[data-astro-cid-sz7xmlte]{grid-column:1 / -1}}:root{--c-paper: #fbfbf9;--c-paper-2: #f3f3f0;--c-paper-3: #e9e9e4;--c-ink: #14181b;--c-ink-2: #454e54;--c-ink-3: #6f7a81;--c-rule: #dcdcd6;--c-rule-soft: #ebebe6;--c-accent: #0b6b58;--c-accent-2: #0e8a71;--c-accent-ink: #064a3d;--c-accent-bg: #e7f2ee;--c-warn: #a8621b;--c-warn-bg: #fbf1e4;--c-danger: #a3342a;--f-sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--f-display: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--f-serif: Charter, "Bitstream Charter", Constantia, "Iowan Old Style", Georgia, "Times New Roman", serif;--f-mono: "Cascadia Mono", Consolas, "SF Mono", Menlo, monospace;--w-page: 1120px;--w-prose: 68ch;--r-sm: 4px;--r-md: 8px;--shadow-1: 0 1px 2px rgba(20, 24, 27, .06), 0 1px 1px rgba(20, 24, 27, .04);--shadow-2: 0 4px 16px rgba(20, 24, 27, .08), 0 1px 3px rgba(20, 24, 27, .06)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--c-paper: #0e1113;--c-paper-2: #161a1d;--c-paper-3: #1f2427;--c-ink: #e8eaec;--c-ink-2: #b0b8bd;--c-ink-3: #7d878d;--c-rule: #2a3034;--c-rule-soft: #1e2225;--c-accent: #45c9a8;--c-accent-2: #6ddcbf;--c-accent-ink:#a9ead8;--c-accent-bg: #10322a;--c-warn: #e0a35f;--c-warn-bg: #2c2317;--c-danger: #e58074;--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 4px 16px rgba(0,0,0,.5)}}:root[data-theme=dark]{--c-paper:#0e1113;--c-paper-2:#161a1d;--c-paper-3:#1f2427;--c-ink:#e8eaec;--c-ink-2:#b0b8bd;--c-ink-3:#7d878d;--c-rule:#2a3034;--c-rule-soft:#1e2225;--c-accent:#45c9a8;--c-accent-2:#6ddcbf;--c-accent-ink:#a9ead8;--c-accent-bg:#10322a;--c-warn:#e0a35f;--c-warn-bg:#2c2317;--c-danger:#e58074;--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 4px 16px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:var(--c-paper);color:var(--c-ink);font-family:var(--f-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}img,svg,video{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}.num,table td.num,input[type=number],output,.figure{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.wrap{width:100%;max-width:var(--w-page);margin-inline:auto;padding-inline:24px}.prose{max-width:var(--w-prose)}main{flex:1 0 auto}h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(2rem,4.5vw,3rem)}h2{font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.015em}h3{font-size:1.2rem;letter-spacing:-.01em}p{text-wrap:pretty}a{color:var(--c-accent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--c-accent-2)}.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}.lede{font-size:1.15rem;color:var(--c-ink-2)}.small{font-size:14px;color:var(--c-ink-3)}.longform{font-family:var(--f-serif);font-size:19px;line-height:1.72}.longform p{margin-bottom:1.1em}.longform h2{font-family:var(--f-display);margin:2em 0 .6em}.longform h3{font-family:var(--f-display);margin:1.6em 0 .5em}.longform ul,.longform ol{margin:0 0 1.1em;padding-left:1.3em}.longform li{margin-bottom:.45em}.longform table{display:block;width:100%;overflow-x:auto;margin:1.6em 0;border:1px solid var(--c-rule);border-radius:var(--r-md);font-family:var(--f-sans);font-size:15px}.longform table th{white-space:nowrap}.longform table td{white-space:nowrap;font-variant-numeric:tabular-nums}.longform table td:first-child{font-weight:600}.card{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.btn{display:inline-flex;align-items:center;gap:.5em;padding:11px 18px;background:var(--c-accent);color:#fff;border:1px solid var(--c-accent);border-radius:var(--r-sm);font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--c-accent-ink);color:#fff}.btn:active{transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--c-ink);border-color:var(--c-rule)}.btn-ghost:hover{background:var(--c-paper-2);color:var(--c-ink);border-color:var(--c-ink-3)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:2px}.table-scroll{overflow-x:auto;border:1px solid var(--c-rule);border-radius:var(--r-md)}table{border-collapse:collapse;width:100%;font-size:15px}th{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--c-ink-3);text-align:left;padding:11px 14px;background:var(--c-paper-2);border-bottom:1px solid var(--c-rule);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--c-rule-soft)}tbody tr:last-child td{border-bottom:none}.note{border-left:3px solid var(--c-accent);background:var(--c-accent-bg);padding:16px 20px;border-radius:0 var(--r-sm) var(--r-sm) 0}.note.warn{border-left-color:var(--c-warn);background:var(--c-warn-bg)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--c-accent);color:#fff;padding:10px 16px;z-index:100}.skip-link:focus{left:0}
