@import"https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap";@import"https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400..900;1,400..900&family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Karla:ital,wght@0,200..800;1,200..800&family=Lora:ital,wght@0,400..700;1,400..700&family=Lusitana:wght@400;700&family=Ma+Shan+Zheng&family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&family=Mona+Sans:ital,wght@0,200..900;1,200..900&family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&family=Raleway:ital,wght@0,100..900;1,100..900&family=Rethink+Sans:ital,wght@0,400..800;1,400..800&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Tinos:ital,wght@0,400;0,700;1,400;1,700&family=Young+Serif&display=swap";[data-v-b15002ae]{font-family:var(--sans-serif);font-weight:600}.site-nav[data-v-b15002ae]{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:var(--navbar-height);background-color:var(--navbar);color:var(--text-inverse);border-bottom:.5px solid var(--lines);font-weight:500}.site-nav__content[data-v-b15002ae]{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;width:100%;max-width:var(--page-max-width);height:100%;margin:0 auto}.site-nav__center[data-v-b15002ae]{justify-self:center}.site-nav__right[data-v-b15002ae]{justify-self:end;font-size:var(--tiny)}.site-nav__right[data-v-b15002ae] *{margin-left:var(--space-4)}a[data-v-b15002ae]{color:var(--text-inverse);background-color:transparent;text-decoration:none;border-bottom:none}a[data-v-b15002ae]:hover{background-color:transparent;border-bottom:1px solid var(--text-inverse)}@media (width <= 62rem){.site-nav[data-v-b15002ae]{padding-left:var(--space-4);padding-right:var(--space-4)}}[data-v-9728fe29]{font-family:var(--sans-serif)}a[data-v-9728fe29]{color:var(--text-inverse);background-color:transparent;border:none}a[data-v-9728fe29]:hover{border-bottom:1px solid var(--text-inverse);background-color:transparent}ul[data-v-9728fe29]{padding-left:0;list-style:none}li[data-v-9728fe29]{margin-top:var(--space-1)}.section-heading[data-v-9728fe29]{border-bottom-color:var(--text-inverse);border-top:none}.site-footer[data-v-9728fe29]{background-color:var(--navbar);min-height:var(--sidebar-max-width);color:var(--text-inverse);margin-top:var(--space-12);padding-bottom:var(--space-6)}.site-footer__content[data-v-9728fe29]{padding-top:var(--space-8)}.info[data-v-9728fe29]{display:grid;grid-template-columns:3fr 1fr 1fr;font-size:var(--tiny);padding-top:var(--space-4)}.dim[data-v-9728fe29]{color:var(--subtext-inverse)}#copyright[data-v-9728fe29]{grid-column:1 / -1;align-content:center;text-align:center;padding-top:var(--space-4)}@media (width <= 62rem){.info[data-v-9728fe29]{grid-template-columns:1fr}}[data-v-8e5b4bd7]{font-family:var(--sans-serif)}.ail-badge[data-v-8e5b4bd7]{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-1);border-radius:var(--space-1)}.ail-badge__marker[data-v-8e5b4bd7]{width:calc(1.5 * var(--space-1));height:var(--space-1);fill:currentcolor}.ail-badge__marker.inactive[data-v-8e5b4bd7]{fill:var(--lines)}.ail-badge__tooltip[data-v-8e5b4bd7]{position:absolute;top:calc(100% + var(--space-2));left:50%;z-index:10;width:max-content;padding:var(--space-1) var(--space-2);border-radius:var(--space-1);background-color:var(--surface);color:var(--text-inverse);font-size:var(--tiny);font-weight:500;line-height:1.5;opacity:0;pointer-events:none;transform:translate(-50%,calc(-1 * var(--space-1)));transition:opacity .12s ease,transform .12s ease,visibility .12s ease;visibility:hidden}.hide-link[data-v-8e5b4bd7]{color:inherit;background:inherit;border:none}.ail-badge[data-v-8e5b4bd7]:hover,.ail-badge[data-v-8e5b4bd7]:focus-visible{background-color:var(--mantle);outline:none}.ail-badge:hover .ail-badge__tooltip[data-v-8e5b4bd7],.ail-badge:focus-visible .ail-badge__tooltip[data-v-8e5b4bd7]{opacity:1;transform:translate(-50%);visibility:visible}[data-v-64cd8a23]{font-family:var(--sans-serif)}.article__metadata-content[data-v-64cd8a23]{padding-top:var(--space-8);border-bottom:2px solid var(--lines)}.metadata[data-v-64cd8a23]{font-size:var(--tiny);line-height:1.5}span.tags[data-v-64cd8a23]{display:flex;gap:var(--space-4);padding-bottom:var(--space-4)}.page-header[data-v-0884cdb3]{position:relative;isolation:isolate;overflow:hidden;background-color:var(--surface);color:var(--text-inverse)}.page-header[data-v-0884cdb3]:before,.page-header[data-v-0884cdb3]:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;content:"";pointer-events:none}.page-header[data-v-0884cdb3]:before{top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(ellipse 28% 75% at 8% 78%,rgb(48 106 194 / 90%) 0%,transparent 100%),radial-gradient(ellipse 27% 78% at 92% 58%,rgb(46 101 187 / 84%) 0%,transparent 100%),radial-gradient(ellipse 38% 65% at 50% 5%,rgb(35 55 73 / 82%) 0%,transparent 100%);filter:blur(2.5rem);transform:scale(1.05)}.page-header[data-v-0884cdb3]:after{background:#0c161f4d;-webkit-backdrop-filter:blur(2.25rem) saturate(115%);backdrop-filter:blur(2.25rem) saturate(115%)}.page-header__grid[data-v-0884cdb3]{position:relative;z-index:1;min-height:calc(4 * var(--navbar-height));padding-top:var(--space-24);padding-bottom:var(--space-12)}.page-header__content[data-v-0884cdb3]{align-self:center}.page-header h1[data-v-0884cdb3]{margin:var(--space-6) 0 0;font-family:var(--font-title);font-size:var(--title);font-weight:700;line-height:1.2;font-variant-ligatures:common-ligatures}.page-header p[data-v-0884cdb3]{margin:var(--space-4) 0 0;color:color-mix(in srgb,var(--text-inverse) 70%,transparent);line-height:1.5}.page-header-label[data-v-0884cdb3]{font-size:var(--tiny)}@media (width <= 50rem){.page-header__grid[data-v-0884cdb3]{min-height:auto;padding-top:var(--space-12);padding-bottom:var(--space-12)}}#toc[data-v-4765b919]{align-self:start;padding:0 var(--space-4) var(--space-8) 0;text-align:end}h2[data-v-4765b919]{margin:0 0 var(--space-2);font-family:var(--serif);font-size:1rem}[data-v-4765b919] ul{margin:0;padding:0;list-style:none}[data-v-4765b919] a{color:var(--subtext);font-family:var(--serif);font-size:var(--toc);line-height:1;text-decoration:none;background-color:inherit;border:none}[data-v-4765b919] a:hover{color:var(--text);text-decoration:none;background-color:inherit;border-bottom:1px solid var(--text)}.article__content[data-v-c0a960ab]{padding-top:var(--space-4)}.article__content #toc[data-v-c0a960ab]{grid-column:1}.article__body[data-v-c0a960ab]>div{min-width:0}.article__body[data-v-c0a960ab]>div>:not(.margin-notes){max-width:var(--content-max-width);min-width:0}.article__body[data-v-c0a960ab]>div>p{text-align:justify;text-justify:inter-word}.article__body[data-v-c0a960ab] .margin-notes{margin-top:var(--space-8)}.article__body[data-v-c0a960ab] .margin-notes__title{margin:0 0 var(--space-4)}.article__body[data-v-c0a960ab] .margin-note-group{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;margin-bottom:var(--space-4)}.article__body[data-v-c0a960ab] .footnote-backref{display:inline}[data-v-c0a960ab] .footnote-ref a{margin-left:.25rem}.article__main[data-v-c0a960ab]{background-color:#fff;color:var(--text)}@media (width > 62rem){.article__body[data-v-c0a960ab]>div{position:relative}.article__body[data-v-c0a960ab] .margin-notes__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.article__body[data-v-c0a960ab] .margin-note-group{padding-left:var(--space-4)}.article__body[data-v-c0a960ab] .footnote-backref{display:none}.article__body[data-v-c0a960ab] .margin-notes--measuring,.article__body[data-v-c0a960ab] .margin-notes--ready{position:absolute;inset:0 0 auto var(--content-max-width);width:var(--sidebar-max-width);margin-top:0}.article__body[data-v-c0a960ab] .margin-notes--measuring{visibility:hidden}.article__body[data-v-c0a960ab] .margin-notes--measuring .margin-note-group{position:static;margin-bottom:var(--space-4)}.article__body[data-v-c0a960ab] .margin-notes--ready .margin-note-group{position:absolute;top:var(--margin-note-top);right:0;left:0;margin-bottom:0}}@media (width <= 62rem){.article__content #toc[data-v-c0a960ab]{display:none}}.essay-list[data-v-1f3ca61f]{margin:0;padding:0;list-style:none}.essay-list li[data-v-1f3ca61f]{border-bottom:1px solid var(--lines)}.essay-list a[data-v-1f3ca61f]{display:grid;gap:var(--space-2) var(--space-4);padding:var(--space-6) 0;background:transparent;border-bottom:0}.essay-list__date[data-v-1f3ca61f]{grid-row:span 2;display:flex;gap:var(--space-4);color:var(--subtext);font-size:var(--tiny)}.essay-list__title[data-v-1f3ca61f]{font-family:var(--serif);font-weight:700;color:var(--text)}.essay-list__description[data-v-1f3ca61f]{color:var(--subtext);font-size:var(--tiny)}#resume[data-v-cebde8fa]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-8);color:var(--text);border:1px solid var(--lines);border-radius:var(--space-2);padding:var(--space-8);background:#fff3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#resume h3[data-v-cebde8fa]{margin:0 0 var(--space-4);font-family:var(--serif);font-size:calc(5 * var(--grid-unit));line-height:1.3}.resume-button[data-v-cebde8fa]{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text);font-weight:700;background-color:transparent;border:none}.button__icon[data-v-cebde8fa]{width:1.1em;height:1.1em;fill:none;stroke:currentcolor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.thin-icon[data-v-cebde8fa]{stroke-width:1.5}.resume-button[data-v-cebde8fa]:after{position:absolute;right:0;bottom:-2px;left:0;height:2px;background:var(--text);content:"";transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.resume-button[data-v-cebde8fa]:hover{background:transparent;color:var(--text)}.resume-button[data-v-cebde8fa]:hover:after,.resume-button[data-v-cebde8fa]:focus-visible:after{transform:scaleX(1)}section[data-v-cebde8fa]{margin-bottom:var(--space-8)}.portrait[data-v-cebde8fa]{anchor-name:--portrait;border-radius:var(--space-2)}.portrait-cell[data-v-cebde8fa]{position:relative;z-index:1;display:grid;place-items:center;margin-top:calc(-1 * var(--space-16))}.home__intro[data-v-cebde8fa]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-bottom:var(--space-16)}.home__intro h1[data-v-cebde8fa]{margin:0;font-family:var(--serif);font-size:var(--title);line-height:1.2}.home__intro p[data-v-cebde8fa]{margin:var(--space-4) 0 0;color:color-mix(in srgb,var(--text-inverse) 70%,transparent)}#resume p[data-v-cebde8fa]{color:var(--subtext)}img.portrait[data-v-cebde8fa]{object-fit:cover;object-position:center top}.home__content[data-v-cebde8fa]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding-bottom:var(--space-24);color:var(--text)}.section__fullwidth[data-v-cebde8fa]{grid-column:1 / -1}.home__links[data-v-cebde8fa]{display:flex;flex-wrap:wrap;gap:var(--space-6)}.home__links a[data-v-cebde8fa],.home__more[data-v-cebde8fa]{background:transparent;font-size:var(--tiny);border-bottom:none;border-bottom:1px solid white}.home__more[data-v-cebde8fa]{display:inline-flex;align-items:center;margin:auto 0;justify-self:end;gap:var(--space-1)}.home__more[data-v-cebde8fa]:hover{border-bottom:1px solid var(--subtext)}@media (width <= 34rem){#resume[data-v-cebde8fa]{grid-template-columns:1fr}.portrait[data-v-cebde8fa]{grid-row:1;width:100%;height:16rem}img.portrait[data-v-cebde8fa]{margin:0 auto}}@media (width <= 62rem){.home__intro[data-v-cebde8fa]{align-items:flex-start}.home__intro h1[data-v-cebde8fa]{font-size:calc(9 * var(--grid-unit))}img.portrait[data-v-cebde8fa]{max-width:min(100%,256px);height:auto;aspect-ratio:1 / 1}}h3[data-v-3b662625]{padding:var(--space-2) 0;border-bottom:2px solid var(--text);border-top:1px solid var(--lines)}.overview__content[data-v-3b662625]{padding-top:var(--space-12);padding-bottom:var(--space-12);background-color:#fff;color:var(--text)}.site-layout[data-v-e744500e]{display:flex;flex-direction:column;min-height:100vh}main[data-v-e744500e]{flex:1}.margin-note[data-v-dfa62b3a]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);color:var(--subtext);font-size:var(--tiny);line-height:1.8}.margin-note__number[data-v-dfa62b3a]{font-weight:700}.margin-note__content[data-v-dfa62b3a]{min-width:0}.margin-note__content[data-v-dfa62b3a] p:last-child{margin-bottom:0}.margin-note__content[data-v-dfa62b3a] .footnote-backref{white-space:nowrap}pre{margin:var(--space-2) 0;padding:var(--space-2) 0}.vp-code{max-width:100%;counter-reset:code-line;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;background:linear-gradient(var(--lines),var(--lines)) calc(var(--space-8) - var(--space-1)) 0 / 1px 100% no-repeat}.vp-code code{display:flex;flex-direction:column}.vp-code .line{position:relative;display:block;box-sizing:border-box;min-height:1.5em;min-width:0;padding-left:var(--space-8)}.vp-code .line:after{position:absolute;top:0;bottom:0;left:0;width:calc(var(--space-8) - var(--space-2));background-color:var(--lines);content:"";mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 18%27 preserveAspectRatio=%27none%27%3E%3Ccircle cx=%2722.5%27 cy=%279%27 r=%271.5%27/%3E%3C/svg%3E") 0 0 / calc(var(--space-8) - var(--space-2)) 1.5em repeat-y}.vp-code .line:before{position:absolute;top:0;left:0;width:calc(var(--space-8) - var(--space-2));z-index:1;height:1.5em;background-color:var(--mantle);color:var(--subtext);content:counter(code-line);counter-increment:code-line;text-align:right}div[class*=language-]{background-color:var(--mantle);border-radius:var(--space-2);box-sizing:border-box}.vp-code span[style*="--shiki-light:#D73A49"]{color:#179299;font-weight:500}.vp-code span[style*="--shiki-light:#6F42C1"]{color:color-mix(in srgb,rgb(48 106 194) 80%,black 20%)}.vp-code span[style*="--shiki-light:#6A737D"]{color:var(--subtext)}div[class*=language-]>.lang,button.copy{display:none}:root{--text: black;--text-inverse: white;--subtext: #566B82;--subtext-inverse: color-mix(in srgb, var(--text-inverse) 70%, transparent);--surface: #111c27;--crust: #d8e1ea;--navbar: #111c27;--lines: #D8E1EA;--mantle: #EBF0F5;--shallow: #F5F8FA;--highlight: #2A2D31}:root{--font-title: var(--sans-serif);--serif: neuton, alegreya, lusitana, libre baskerville, serif;--sans-serif: "Source Sans 3", "Mona Sans", sans-serif;--monospace: jetbrains mono, "Source Code Pro", monospace}body{margin:0}h1,h2,h3,h4{font-family:var(--sans-serif);font-variant-ligatures:common-ligatures}html{font-family:var(--serif);font-size:11pt;font-variant-ligatures:common-ligatures}pre,code{font-family:var(--monospace);font-variant-ligatures:common-ligatures no-discretionary-ligatures historical-ligatures contextual;font-weight:400;font-size:9pt}.nostyle,.nostyle:hover{background-color:inherit;border:none}.subdued{color:var(--subtext)}p{margin:0 0 var(--space-4)}a{color:var(--subtext);background-color:var(--mantle);text-decoration:none;border-bottom:1px dashed var(--subtext)}a:hover{background-color:var(--lines);border-bottom-style:solid;cursor:pointer}.section-heading{display:grid;grid-template-columns:1fr 1fr;margin:0 0 var(--space-4);padding:var(--space-2) 0;border-bottom:2px solid var(--text);border-top:1px solid var(--lines);font-size:1.17em}.section-heading *{margin:0;padding:0}:root{--grid-unit: .25rem;--space-1: var(--grid-unit);--space-2: calc(2 * var(--grid-unit));--space-3: calc(3 * var(--grid-unit));--space-4: calc(4 * var(--grid-unit));--space-5: calc(5 * var(--grid-unit));--space-6: calc(6 * var(--grid-unit));--space-7: calc(7 * var(--grid-unit));--space-8: calc(8 * var(--grid-unit));--space-10: calc(10 * var(--grid-unit));--space-12: calc(12 * var(--grid-unit));--space-16: calc(16 * var(--grid-unit));--space-24: calc(24 * var(--grid-unit));--navbar-height: var(--space-12);--page-max-width: calc(62 * 4 * var(--grid-unit));--prose-and-notes-max-width: calc(50 * 4 * var(--grid-unit));--content-max-width: calc(38 * 4 * var(--grid-unit));--sidebar-max-width: calc(12 * 4 * var(--grid-unit));--toc: calc(3 * var(--grid-unit));--tiny: calc(3 * var(--grid-unit));--title: calc(12 * var(--grid-unit))}.content-grid{--margin-note-layout: sidebar;display:grid;grid-template-columns:minmax(0,var(--sidebar-max-width)) minmax(0,var(--content-max-width)) minmax(0,var(--sidebar-max-width));box-sizing:border-box;width:100%;max-width:var(--page-max-width);margin-right:auto;margin-left:auto}.content-grid-prose{grid-column:2;min-width:0}.content-grid-prose-and-notes{grid-column:2 / 4;width:100%;max-width:var(--prose-and-notes-max-width);min-width:0}.prose-container{box-sizing:border-box;width:100%;max-width:var(--content-max-width);margin-right:auto;margin-left:auto;padding-right:var(--space-4);padding-left:var(--space-4)}@media (width <= 62rem){.content-grid{--margin-note-layout: normal-flow;grid-template-columns:minmax(0,var(--content-max-width));max-width:var(--content-max-width)}.content-grid-prose,.content-grid-prose-and-notes{grid-column:1;max-width:var(--content-max-width)}}@media (width <= 50rem){.content-grid{grid-template-columns:minmax(0,1fr);padding-right:var(--space-4);padding-left:var(--space-4)}}@media print{.site-nav,.site-footer,.page-header-label{display:none!important}.page-header,.page-header p{color:var(--text)!important}}
