@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=JetBrains+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&display=swap";.email-reveal[data-astro-cid-z3ovrjiy],.email-reveal__result[data-astro-cid-z3ovrjiy]{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.email-reveal__button[data-astro-cid-z3ovrjiy],.email-reveal__result[data-astro-cid-z3ovrjiy] button[data-astro-cid-z3ovrjiy]{border:1px solid var(--color-sand);border-radius:var(--radius-sm);background:var(--color-paper);min-height:44px;color:var(--color-charcoal);cursor:pointer;padding:.65rem .85rem;font-weight:700}.email-reveal__result[data-astro-cid-z3ovrjiy] a[data-astro-cid-z3ovrjiy]{color:var(--color-forest);font-weight:700}.site-footer .email-reveal__button[data-astro-cid-z3ovrjiy],.site-footer .email-reveal__result[data-astro-cid-z3ovrjiy] button[data-astro-cid-z3ovrjiy]{border-color:var(--color-dark-border);background:var(--color-dark-surface);color:#fff}.site-footer .email-reveal__result[data-astro-cid-z3ovrjiy] a[data-astro-cid-z3ovrjiy]{color:#fff}.email-reveal--compact[data-astro-cid-z3ovrjiy]{align-items:baseline;display:inline-flex}.email-reveal--compact[data-astro-cid-z3ovrjiy] .email-reveal__result[data-astro-cid-z3ovrjiy]{align-items:baseline}.email-reveal--compact[data-astro-cid-z3ovrjiy] .email-reveal__button[data-astro-cid-z3ovrjiy],.email-reveal--compact[data-astro-cid-z3ovrjiy] .email-reveal__result[data-astro-cid-z3ovrjiy] button[data-astro-cid-z3ovrjiy]{color:currentColor;min-height:0;line-height:inherit;text-underline-offset:.18em;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.site-footer[data-astro-cid-v3fbrohj]{background:var(--color-charcoal);color:#fff;padding-block:var(--space-8)}.site-footer__inner[data-astro-cid-v3fbrohj]{gap:var(--space-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.site-footer[data-astro-cid-v3fbrohj] h2[data-astro-cid-v3fbrohj]{color:#fff;max-width:760px}.footer-links[data-astro-cid-v3fbrohj]{align-items:baseline;gap:var(--space-4);flex-wrap:wrap;font-style:normal;display:flex}.footer-links[data-astro-cid-v3fbrohj] a[data-astro-cid-v3fbrohj],.footer-links[data-astro-cid-v3fbrohj] .email-reveal__button{color:#fff}@media (width<=760px){.site-footer__inner[data-astro-cid-v3fbrohj]{grid-template-columns:1fr}}.site-header[data-astro-cid-wzfd4wrd]{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf7f2f0;border-bottom:1px solid #e7e1d9c7;position:sticky;top:0}.site-header__inner[data-astro-cid-wzfd4wrd]{align-items:center;gap:var(--space-4);grid-template-columns:1fr auto;min-height:72px;display:grid}.wordmark[data-astro-cid-wzfd4wrd]{color:var(--color-ink);font-family:var(--font-display);font-size:1.18rem;line-height:1;text-decoration:none}.desktop-nav[data-astro-cid-wzfd4wrd]{align-items:center;gap:var(--space-5);display:flex}.desktop-nav[data-astro-cid-wzfd4wrd] a[data-astro-cid-wzfd4wrd],.mobile-sheet[data-astro-cid-wzfd4wrd] a[data-astro-cid-wzfd4wrd]{color:var(--color-charcoal);font-weight:700;text-decoration:none}.desktop-nav[data-astro-cid-wzfd4wrd] a[data-astro-cid-wzfd4wrd][aria-current=page],.mobile-sheet[data-astro-cid-wzfd4wrd] a[data-astro-cid-wzfd4wrd][aria-current=page]{color:var(--color-forest)}.menu-button[data-astro-cid-wzfd4wrd]{border:1px solid var(--color-sand);border-radius:var(--radius-sm);min-height:44px;color:var(--color-charcoal);padding-inline:var(--space-4);background:0 0;font-weight:700;display:none}.mobile-sheet[data-astro-cid-wzfd4wrd]{border-top:1px solid var(--color-sand);background:var(--color-paper)}.mobile-sheet__nav[data-astro-cid-wzfd4wrd]{gap:var(--space-4);padding-block:var(--space-6);display:grid}.mobile-sheet[data-astro-cid-wzfd4wrd] a[data-astro-cid-wzfd4wrd]{border-bottom:1px solid var(--color-sand);min-height:44px;color:var(--color-ink);font-family:var(--font-display);font-size:2rem}@media (width<=760px){.site-header__inner[data-astro-cid-wzfd4wrd]{grid-template-columns:1fr auto}.desktop-nav[data-astro-cid-wzfd4wrd]{display:none}.menu-button[data-astro-cid-wzfd4wrd]{align-items:center;display:inline-flex}}@layer tokens{:root{--color-charcoal:#1f2937;--color-stone:#6b7280;--color-ivory:#faf7f2;--color-forest:#0f766e;--color-copper:#b45309;--color-ink:#111827;--color-paper:#fffdfc;--color-sand:#e7e1d9;--color-mist:#f2eee8;--color-muted:#9ca3af;--color-dark-surface:#18202b;--color-dark-border:#2e3947;--color-success:#15803d;--color-warning:#b45309;--color-error:#b91c1c;--color-info:#0369a1;--font-display:"DM Serif Display", Georgia, serif;--font-body:"Source Sans 3", Inter, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--text-display-xl:clamp(3.5rem, 7vw, 7rem);--text-display-l:clamp(2.75rem, 5vw, 5rem);--text-heading-1:clamp(2.25rem, 4vw, 3.75rem);--text-heading-2:clamp(1.75rem, 3vw, 2.75rem);--text-heading-3:1.5rem;--text-body-l:1.25rem;--text-body:1rem;--text-body-s:.9rem;--text-label:.75rem;--text-mono-s:.78rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--shadow-soft:0 10px 30px #11182714;--shadow-deep:0 18px 50px #11182724;--container-page:1440px;--container-standard:1200px;--container-wide:1100px;--container-case:760px;--container-reading:680px;--diagram-line:#6b7280;--diagram-line-active:#0f766e;--diagram-line-warning:#b45309;--diagram-node:#fffdfc;--diagram-node-dark:#18202b;--diagram-label:#1f2937;--duration-fast:.16s;--duration-base:.24s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--focus-ring:0 0 0 3px #0f766e38}}@layer reset{*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}img,picture,svg,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit}}@layer base{html{background:var(--color-ivory);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--color-ivory);min-width:320px;min-height:100vh;color:var(--color-charcoal);font-family:var(--font-body);font-size:var(--text-body);grid-template-rows:auto 1fr auto;line-height:1.65;display:grid}body.menu-open{overflow:hidden}a{color:var(--color-forest);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-forest);outline-offset:3px;box-shadow:var(--focus-ring)}h1,h2,.display-heading{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;font-weight:400}h1{font-size:var(--text-heading-1);line-height:1.05}h2{font-size:var(--text-heading-2);line-height:1.15}h3{color:var(--color-ink);font-size:var(--text-heading-3);line-height:1.25}code,pre,kbd{font-family:var(--font-mono)}pre{border:1px solid var(--color-sand);border-radius:var(--radius-md);background:var(--color-paper);padding:var(--space-5);font-size:var(--text-body-s);line-height:1.6;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-body-s)}th,td{border-bottom:1px solid var(--color-sand);padding:var(--space-3);text-align:left;vertical-align:top}th{color:var(--color-ink);font-weight:700}}@layer utilities{.site-shell{width:min(calc(100% - 2rem), var(--container-page));margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.content-shell{width:min(calc(100% - 2rem), var(--container-standard));margin-inline:auto}.reading-shell{width:min(calc(100% - 2rem), var(--container-reading));margin-inline:auto}.wide-shell{width:min(calc(100% - 2rem), var(--container-wide));margin-inline:auto}.section{padding-block:var(--space-9)}.section-muted{background:var(--color-mist)}.eyebrow,.mono-label{color:var(--color-stone);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-weight:600;line-height:1.2}.lede{max-width:62ch;color:var(--color-stone);font-size:var(--text-body-l);line-height:1.6}.button{border-radius:var(--radius-sm);min-height:44px;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;padding:.72rem 1rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{border-color:var(--color-forest);background:var(--color-forest);color:#fff}.button-primary:hover{background:var(--color-ink);color:#fff}.button-secondary{border-color:var(--color-sand);color:var(--color-charcoal);background:0 0}.button-secondary:hover{border-color:var(--color-forest);color:var(--color-forest)}.tag-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{border:1px solid var(--color-sand);border-radius:var(--radius-pill);color:var(--color-charcoal);font-family:var(--font-mono);font-size:var(--text-mono-s);padding:.32rem .55rem;line-height:1.25}.metadata-row{gap:var(--space-3);color:var(--color-stone);font-family:var(--font-mono);font-size:var(--text-mono-s);flex-wrap:wrap;display:flex}.mdx-content{color:var(--color-charcoal);font-size:1.05rem;line-height:1.75}.mdx-content>*+*{margin-top:var(--space-5)}.mdx-content h2,.mdx-content h3{margin-top:var(--space-8)}.mdx-content ul,.mdx-content ol{padding-inline-start:var(--space-5)}.mdx-content blockquote{border-inline-start:3px solid var(--color-forest);color:var(--color-stone);padding-inline-start:var(--space-5)}.skip-link{z-index:100;position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@media (width<=639px){.section{padding-block:56px}.lede{font-size:1.08rem}}@media (width>=640px) and (width<=1023px){.section{padding-block:72px}}}
