: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}.elsewhere-document{--elsewhere-color-canvas: light-dark(#fff, #000);--elsewhere-color-text: light-dark(#000, #fff);--elsewhere-color-purple: light-dark(#4c1d95, #a78bfa);--elsewhere-color-purple-focus: light-dark(#7e22ce, #c084fc);--elsewhere-color-link: var(--elsewhere-color-purple);--elsewhere-color-link-focus: var(--elsewhere-color-purple-focus);--color-focus: var(--elsewhere-color-link-focus);color-scheme:light dark;background:var(--elsewhere-color-canvas)}.elsewhere-document :focus-visible{outline-color:var(--elsewhere-color-link-focus)}.elsewhere-body{min-height:100vh;overflow-x:hidden;background:var(--elsewhere-color-canvas);color:var(--elsewhere-color-text)}.elsewhere-shell{--elsewhere-shell-pad: 1rem;position:relative}.elsewhere-shell>.elsewhere-breadcrumb{position:absolute;inset-block-start:var(--elsewhere-shell-pad);inset-inline-start:var(--elsewhere-shell-pad);z-index:1}.elsewhere-breadcrumb{margin:0;color:inherit;font-family:var(--font-mono);font-size:.9rem;line-height:1.35}.elsewhere-breadcrumb a{color:var(--elsewhere-color-link);text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.2em;transition:color .18s cubic-bezier(.76,0,.24,1)}.elsewhere-breadcrumb a:visited{color:var(--elsewhere-color-link)}.elsewhere-breadcrumb a:hover,.elsewhere-breadcrumb a:focus,.elsewhere-breadcrumb a:focus-visible{color:var(--elsewhere-color-link-focus)}.elsewhere-index{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100svh;overflow-x:hidden;padding:1rem;background:var(--elsewhere-color-canvas);color:var(--elsewhere-color-text);font-family:Georgia,Times New Roman,Times,serif}.elsewhere-index__inner{max-width:42rem;padding-block-start:2.5rem}.elsewhere-index__inner>*{margin-block:.75rem}.elsewhere-index h1{margin-block-start:1rem;font-size:clamp(2.5rem,16vmin,8rem);font-style:italic;font-weight:400;letter-spacing:-.08em;line-height:.9}.elsewhere-index p{font-size:clamp(1rem,3vmin,1.4rem);line-height:1.25}.elsewhere-index__diagnostic{max-width:64ch;padding:.75rem;border:1px solid currentColor;font-family:var(--font-mono);font-size:.9rem;overflow-wrap:anywhere}.elsewhere-index ul{padding-inline-start:1.25rem;font-family:var(--font-mono);font-size:.9rem}.elsewhere-index li+li{margin-block-start:.35rem}.elsewhere-index a,.elsewhere-index a:visited{color:var(--elsewhere-color-link)}.elsewhere-index a:hover,.elsewhere-index a:focus,.elsewhere-index a:focus-visible{color:var(--elsewhere-color-link-focus)}.quote-page{--quote-bg: var(--elsewhere-color-canvas);--quote-fg: var(--elsewhere-color-text);--quote-muted: color-mix(in srgb, var(--quote-fg), transparent 48%);--quote-link: var(--elsewhere-color-link);--quote-link-active: var(--elsewhere-color-link-focus);--quote-link-visited: var(--elsewhere-color-link);--quote-primary: var(--quote-link);--quote-serif: Georgia, "Times New Roman", Times, serif;--quote-mono: var(--font-mono);--quote-ease: cubic-bezier(.76, 0, .24, 1);--quote-gap: clamp(1rem, 3vmin, 2.5rem);--elsewhere-breadcrumb-size: .9rem;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:auto auto minmax(0,.86fr) minmax(0,.14fr) auto;grid-template-areas:"context context context context context context context context" ". . paths paths paths . . ." ". . quote quote quote quote quote ." ". . . . . . . ." "credit credit credit source source source source source";gap:var(--quote-gap);min-height:100svh;overflow-x:hidden;padding:clamp(.8rem,3vmin,1.5rem);padding-block-start:calc(var(--elsewhere-shell-pad) + 1.35rem + var(--quote-gap));background:var(--quote-bg);color:var(--quote-fg)}@media(prefers-reduced-motion:no-preference){.quote-text{animation:quote-text-arrive 2.4s ease-out .42s both}}@keyframes quote-text-arrive{0%{opacity:0}}.quote-credit,.quote-attribution,.quote-paths{margin:0;color:var(--quote-muted);font-family:var(--quote-mono);font-size:clamp(.66rem,1.45vmin,.88rem);line-height:1.35}.quote-text{grid-area:quote;align-self:center;max-width:min(32ch,100%);margin:0;color:var(--quote-fg);font-family:var(--quote-serif);font-size:clamp(1.45rem,5.8vmin,5.6rem);font-weight:400;letter-spacing:-.03em;line-height:1.03;text-wrap:balance;justify-self:start;text-align:left}.quote-text p{margin:0}.quote-text p:before{color:var(--quote-link);content:"“"}.quote-text p:after{color:var(--quote-link);content:"”"}.quote-credit{grid-area:credit;align-self:end;color:var(--quote-muted);font-family:var(--quote-serif);font-size:clamp(1rem,2.8vmin,1.65rem);font-style:italic;line-height:1.15}.quote-paths{grid-area:paths;align-self:center;display:flex;gap:clamp(1rem,3vmin,2rem)}.quote-path{padding:0;background:transparent;color:var(--quote-primary);font-family:var(--font-mono);font-size:.9rem;text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.2em;transition:color .18s var(--quote-ease)}.quote-path:hover,.quote-path:focus,.quote-path:focus-visible{color:var(--quote-link-active)}.quote-path:focus{outline:.12em solid currentColor;outline-offset:.2em}.quote-attribution{grid-area:source;align-self:end;justify-self:end;max-width:42ch;text-align:right}.quote-context a,.quote-attribution a{color:var(--quote-link)}.quote-context a:visited,.quote-attribution a:visited,.quote-path:visited{color:var(--quote-link-visited)}.quote-context a:hover,.quote-context a:focus,.quote-context a:focus-visible,.quote-attribution a:hover,.quote-attribution a:focus,.quote-attribution a:focus-visible,.quote-path:visited:hover,.quote-path:visited:focus,.quote-path:visited:focus-visible{color:var(--quote-link-active)}@media(width<42rem){.quote-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;grid-template-areas:"context" "paths" "quote" "credit" "source"}.quote-page .quote-text{justify-self:start;text-align:left}.quote-text{font-size:clamp(1.45rem,7.2vmin,3.4rem)}.quote-paths{flex-wrap:wrap}.quote-attribution{justify-self:start;text-align:left}}@media(prefers-reduced-motion:reduce){.quote-text{animation:none}.quote-path{transition:none}}
