:root{color-scheme:light;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--measure: clamp(34rem, 76vw, 45rem);--gutter: clamp(1rem, 4vw, 1.5rem);--space-2xs: clamp(.25rem, .4vw, .375rem);--space-xs: clamp(.5rem, .8vw, .75rem);--space-sm: clamp(.75rem, 1vw, 1rem);--space-md: clamp(1rem, 1.6vw, 1.5rem);--space-lg: clamp(1.5rem, 3vw, 2.5rem);--space-xl: clamp(2.5rem, 6vw, 4.5rem);--text-sm: clamp(.875rem, .14vw + .84rem, .95rem);--text-base: clamp(1rem, .24vw + .94rem, 1.125rem);--text-lg: clamp(1.125rem, .45vw + 1rem, 1.35rem);--text-xl: clamp(1.35rem, .9vw + 1.1rem, 1.85rem);--text-title: clamp(2rem, 3.2vw + 1.1rem, 3.4rem);--leading-body: 1.65;--leading-title: 1.05;--palette-cream: #f7f7f2;--palette-cream-light: #fcfbf5;--palette-charcoal: #20211e;--palette-stone: #63655f;--palette-rule: #dadbd2;--palette-teal: #00706b;--palette-teal-bright: #008f88;--palette-teal-soft: rgb(0 112 107 / .12);--palette-purple: #7e22ce;--palette-code-bg: #ecede5;--color-bg: var(--palette-cream);--color-surface: var(--palette-cream-light);--color-text: var(--palette-charcoal);--color-muted: var(--palette-stone);--color-rule: var(--palette-rule);--color-link: var(--palette-teal);--color-link-focus: var(--palette-teal-bright);--color-link-soft: var(--palette-teal-soft);--color-elsewhere: var(--palette-purple);--color-focus: var(--color-link-focus);--color-callout: var(--color-link);--astro-code-background: var(--palette-code-bg);--astro-code-foreground: var(--color-text);--astro-code-token-constant: #047857;--astro-code-token-string: #047857;--astro-code-token-comment: #71717a;--astro-code-token-keyword: #0369a1;--astro-code-token-parameter: #be185d;--astro-code-token-function: #6d28d9;--astro-code-token-string-expression: #047857;--astro-code-token-punctuation: #3f3f46}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--palette-cream: #111312;--palette-cream-light: #171918;--palette-charcoal: #eceee8;--palette-stone: #a7aaa2;--palette-rule: #30332f;--palette-teal: #5eead4;--palette-teal-bright: #99f6e4;--palette-teal-soft: rgb(94 234 212 / .12);--palette-purple: #c084fc;--palette-code-bg: #20221f;--color-bg: var(--palette-cream);--color-surface: var(--palette-cream-light);--color-text: var(--palette-charcoal);--color-muted: var(--palette-stone);--color-rule: var(--palette-rule);--color-link: var(--palette-teal);--color-link-focus: var(--palette-teal-bright);--color-link-soft: var(--palette-teal-soft);--color-elsewhere: var(--palette-purple);--color-focus: var(--color-link-focus);--color-callout: var(--color-link);--astro-code-background: var(--palette-code-bg);--astro-code-foreground: var(--color-text);--astro-code-token-constant: #6ee7b7;--astro-code-token-string: #6ee7b7;--astro-code-token-comment: #71717a;--astro-code-token-keyword: #7dd3fc;--astro-code-token-parameter: #f9a8d4;--astro-code-token-function: #c4b5fd;--astro-code-token-string-expression: #6ee7b7;--astro-code-token-punctuation: #e4e4e7}}*{box-sizing:border-box}html{background:var(--color-bg);font-family:var(--font-body);scrollbar-gutter:stable;text-size-adjust:100%}body{display:flex;flex-direction:column;min-height:100vh;margin:0;color:var(--color-text);background:var(--color-bg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}img,svg{display:block}img{max-width:100%;height:auto}::selection{background:var(--color-link-soft);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:.2rem}a{color:var(--color-link);text-underline-offset:.22em}a:hover,a:focus,a:focus-visible{color:var(--color-link-focus);text-decoration-line:underline}.site-shell{width:100%;max-width:calc(var(--measure) + (var(--gutter) * 2));margin-inline:auto;padding-inline:var(--gutter)}.site-breadcrumb{position:absolute;inset-block-start:1rem;inset-inline-start:1rem;z-index:1;margin:0;color:var(--color-text);font-family:var(--font-mono);font-size:.9rem;line-height:1.35}.site-breadcrumb a{color:var(--color-link);text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.2em}.site-nav__list{display:flex;flex-wrap:wrap;gap:var(--space-md);margin:0;padding:0;color:var(--color-muted);font-size:var(--text-base);list-style:none}.site-nav__link{color:var(--color-link);text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.2em}.site-nav__link--active{color:var(--color-text);text-decoration-line:none}.site-nav__link--elsewhere{color:var(--color-elsewhere)}.site-footer{margin-block-start:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm) var(--space-md);width:100%;padding:1rem;color:var(--color-text);font-family:var(--font-mono);font-size:.9rem;line-height:1.35}.site-footer .site-nav__list{gap:var(--space-sm);font-size:inherit}.site-footer__copyright{margin:0;color:var(--color-muted);font-size:inherit}.page{padding-block-start:calc(1rem + 1.35rem + var(--space-lg));padding-block-end:var(--space-xl)}.page-header{margin-block-start:var(--space-sm)}.page-header__title{margin:0;color:var(--color-text);font-size:var(--text-title);font-weight:700;letter-spacing:-.035em;line-height:var(--leading-title)}.page-header__subtitle{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-lg);line-height:1.55}.page-header__links{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.page-header__separator{margin-inline:var(--space-xs)}.media-image{margin-block:var(--space-md)}.media-image__image{width:clamp(6rem,18vw,8rem);height:clamp(6rem,18vw,8rem)}@media(prefers-color-scheme:dark){.media-image__image--light-bg{background:#fff}}.home-section{margin-block-start:var(--space-xl)}.home-section__title{margin:0;color:var(--color-text);font-size:var(--text-xl);font-weight:700;line-height:1.2}.content-list{display:grid;gap:var(--space-lg);margin:var(--space-md) 0 0;padding:0;list-style:none}.content-list__title{margin:0;font-size:var(--text-lg);font-weight:600;line-height:1.3}.content-list__summary{margin:var(--space-2xs) 0 0;color:var(--color-muted)}.source-note{margin-block-start:var(--space-xl);color:var(--color-muted);font-size:var(--text-sm)}.prose ul:has(>li>.timeline-date){padding-inline-start:0;list-style:none}.prose li:has(>.timeline-date){display:grid;grid-template-columns:3.8rem minmax(0,1fr);align-items:baseline;column-gap:var(--space-xs)}.prose li:has(>.timeline-date)+li:has(>.timeline-date){margin-block-start:var(--space-xs)}.prose li:has(>.timeline-date) p{margin-block:0}.timeline-date{color:var(--color-muted);font-family:var(--font-mono);font-size:.92em;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.link-badges{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-block:var(--space-md)}.prose{margin-block-start:var(--space-lg);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-body)}.prose>*:first-child{margin-block-start:0}.prose>*:last-child{margin-block-end:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table{margin-block:calc(var(--space-md) + var(--space-2xs))}.prose line-emphasis{margin-block:var(--space-lg)}.prose pre,.prose doc-info,.prose .link-badges{margin-block:var(--space-lg)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-block:var(--space-lg) var(--space-sm);color:var(--color-text);font-weight:700;line-height:1.2}.prose h1{font-size:var(--text-title)}.prose h2{font-size:var(--text-xl)}.prose h3{font-size:var(--text-lg)}.prose h4,.prose h5,.prose h6{font-size:var(--text-base)}.prose a{text-decoration-color:color-mix(in srgb,var(--color-link),transparent 35%);text-decoration-thickness:.08em}.prose strong{color:var(--color-text);font-weight:700}.prose ul,.prose ol{padding-inline-start:1.4em}.prose li+li{margin-block-start:var(--space-xs)}.prose li>ul,.prose li>ol{margin-block:var(--space-xs) 0}.prose hr{margin-block:var(--space-xl) var(--space-lg);border:0;border-block-start:1px solid var(--color-rule)}.prose hr+*{margin-block-start:0}.prose blockquote{margin-inline:0;padding-inline-start:var(--space-md);border-inline-start:.2rem solid var(--color-callout);color:var(--color-muted)}.prose line-emphasis,line-emphasis{display:block;color:var(--color-text);font-size:var(--text-xl);font-style:italic;line-height:1.25}.prose code:not(pre code){font-family:var(--font-mono);font-size:.92em}.prose pre{overflow-x:auto;background:var(--astro-code-background);color:var(--astro-code-foreground);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.45}.prose pre>code{display:flex;flex-direction:column;min-width:100%;width:max-content;margin:0;padding-block:var(--space-sm);background:initial;border:0;color:inherit;font:inherit;overflow:visible}.prose pre>code>.line{display:block;min-height:1.45em;padding-inline:var(--space-sm)}.prose code[data-line-numbers]{padding-inline:0}.prose code[data-line-numbers]>span[data-line-number]{padding-inline-start:0}.prose code[data-line-numbers]>span[data-line-number]:before{content:attr(data-line-number);display:inline-block;width:1rem;margin-inline:var(--space-sm);color:var(--color-muted);text-align:right}.prose code>span[data-highlighted]{width:100%;background:var(--color-link-soft)}.prose code>span[data-highlighted]+span[data-highlighted]{border-block-start:1px solid var(--color-rule)}.prose doc-info,doc-info{display:block;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-inline-start:.2rem solid var(--color-callout);color:var(--color-muted);font-size:.95em}.prose doc-info>*{margin-block:var(--space-xs)}.prose doc-info>*:first-child{margin-block-start:0}.prose doc-info>*:last-child{margin-block-end:0}.prose doc-info code:not(pre code){color:var(--color-text)}.prose pre[data-code-title]:before{content:attr(data-code-title);display:block;min-height:calc(3rem + 1px);padding:.75rem 1rem 0;background:var(--color-surface);border-block-end:1px solid var(--color-rule);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1.5rem}.autolink{display:inline-block;margin-inline-start:.3em;font-size:.85em;line-height:1;text-decoration:none;visibility:hidden;vertical-align:baseline}.prose h1:hover .autolink,.prose h2:hover .autolink,.prose h3:hover .autolink,.prose h4:hover .autolink,.prose h5:hover .autolink,.prose h6:hover .autolink{visibility:visible}
