.inline-math-text[data-astro-cid-4xueuea2] .katex{font-size:1em}.link[data-astro-cid-tlhisbeo]{transition:color .3s,text-decoration-color .3s;display:inline-block}.link[data-astro-cid-tlhisbeo].btn{display:inline-flex}.link-underline[data-astro-cid-tlhisbeo]{text-decoration:underline;text-decoration-color:var(--muted-foreground);text-underline-offset:3px}.link-underline[data-astro-cid-tlhisbeo]:hover{text-decoration-color:var(--foreground)}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:IBM Plex Mono;src:url(/_astro/IBMPlexMono-Regular.DMJ8VG8y.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/IBMPlexMono-Italic.BqAiT5Ww.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/IBMPlexMono-Medium.DSY6xOcd.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/_astro/IBMPlexMono-MediumItalic.As4cCeDr.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Mono Fallback;src:local(Courier New);font-weight:400 500;font-style:normal;size-adjust:99.9837%;ascent-override:102.517%;descent-override:27.5045%}@font-face{font-family:IBM Plex Mono Fallback;src:local(Courier New);font-weight:400 500;font-style:italic;size-adjust:99.9837%;ascent-override:102.517%;descent-override:27.5045%}@font-face{font-family:EB Garamond;src:url(/_astro/EBGaramond-Latin-VariableFont_wght.BUNBP5ar.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/_astro/EBGaramond-Latin-Italic-VariableFont_wght.B2EO8eH-.woff2)format("woff2");font-weight:400 800;font-style:italic;font-display:swap}@font-face{font-family:EB Garamond;src:url(/_astro/EBGaramond-LatinExt-VariableFont_wght.Bgo24x86.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+100-2FF,U+300-36F,U+1D00-1DBF,U+1E??,U+20A0-20C0,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;src:url(/_astro/EBGaramond-LatinExt-Italic-VariableFont_wght.BnMDq_wd.woff2)format("woff2");font-weight:400 800;font-style:italic;font-display:swap;unicode-range:U+100-2FF,U+300-36F,U+1D00-1DBF,U+1E??,U+20A0-20C0,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond Fallback;src:local(Georgia);font-weight:400 800;font-style:normal;size-adjust:92%;ascent-override:93.7%;descent-override:32.9%;line-gap-override:0%}@font-face{font-family:EB Garamond Fallback;src:local(Georgia);font-weight:400 800;font-style:italic;size-adjust:92%;ascent-override:93.7%;descent-override:32.9%;line-gap-override:0%}:root{--font-serif:"EB Garamond", "EB Garamond Fallback", Georgia, serif;--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback", monospace;--gray-1:light-dark(#f7f3e8,#15130f);--gray-2:light-dark(#f2ede2,#1b1813);--gray-3:light-dark(#ebe4d7,#211e18);--gray-4:light-dark(#e4dacb,#29251e);--gray-5:light-dark(#dccfbf,#312c24);--gray-6:light-dark(#cfc0a8,#3b352b);--gray-7:light-dark(#bcaa8e,#4b4337);--gray-8:light-dark(#a18c70,#615747);--gray-9:light-dark(#83745c,#776a55);--gray-10:light-dark(#766750,#897b65);--gray-11:light-dark(#5e5548,#b6aa95);--gray-12:light-dark(#29261f,#eee7d9);--oxblood-9:light-dark(#8b3a3a,#a14a3f);--oxblood-11:light-dark(#7d2f2f,#d08d6f);--gold-9:light-dark(#a8853d,#8a6d3b);--gold-11:light-dark(#6e5827,#c9a86a);--accent-ink:light-dark(#7f3535,#c6a66a);--red-9:light-dark(#b0442c,#c25a41);--red-11:light-dark(#9a3a24,#e0906f);--background:var(--gray-1);--foreground:var(--gray-12);--primary:var(--accent-ink);--primary-foreground:var(--gray-1);--muted:var(--gray-3);--muted-foreground:var(--gray-11);--destructive:var(--red-11);--border:var(--gray-6);--ring:var(--gray-8);--secondary:var(--gray-2);--secondary-foreground:var(--foreground);--accent:var(--gray-3);--accent-foreground:var(--foreground);--card:var(--gray-2);--card-foreground:var(--foreground);color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after,::backdrop{border-color:var(--border)}::file-selector-button{border-color:var(--border);&:focus-visible{outline:2px solid var(--ring);outline-offset:.25rem;border-radius:var(--radius-sm)}}*,:before,:after,::backdrop{&:focus-visible{outline:2px solid var(--ring);outline-offset:.25rem;border-radius:var(--radius-sm)}}body{background-color:var(--background);color:var(--foreground)}:root{--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--radius-full:9999px;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--aspect-video:16 / 9;--shadow-color:light-dark(oklch(35% .05 70/.25),oklch(0% 0 0/.55));--shadow-sm:0 1px 3px var(--shadow-color);--shadow-md:0 6px 16px var(--shadow-color);--space-3xs:clamp(.25rem, .2269rem + .1127vw, .3125rem);--space-2xs:clamp(.5rem, .4769rem + .1127vw, .5625rem);--space-xs:clamp(.75rem, .7038rem + .2255vw, .875rem);--space-s:clamp(1rem, .9538rem + .2255vw, 1.125rem);--space-m:clamp(1.5rem, 1.4307rem + .3382vw, 1.6875rem);--space-l:clamp(2rem, 1.9076rem + .451vw, 2.25rem);--space-xl:clamp(3rem, 2.8613rem + .6764vw, 3.375rem);--space-2xl:clamp(4rem, 3.8151rem + .9019vw, 4.5rem);--space-3xl:clamp(6rem, 5.7227rem + 1.3529vw, 6.75rem);--space-3xs-2xs:clamp(.25rem, .1344rem + .5637vw, .5625rem);--space-2xs-xs:clamp(.5rem, .3613rem + .6764vw, .875rem);--space-xs-s:clamp(.75rem, .6113rem + .6764vw, 1.125rem);--space-s-m:clamp(1rem, .7458rem + 1.2401vw, 1.6875rem);--space-m-l:clamp(1.5rem, 1.2227rem + 1.3529vw, 2.25rem);--space-l-xl:clamp(2rem, 1.4915rem + 2.4803vw, 3.375rem);--space-xl-2xl:clamp(3rem, 2.4453rem + 2.7057vw, 4.5rem);--space-2xl-3xl:clamp(4rem, 2.9831rem + 4.9605vw, 6.75rem);--grid-max-width:75.94rem;--grid-gutter:var(--space-s-m);--grid-columns:12;--content-width:42rem;--listing-width:44rem;--shell-width:48rem;--grid-edge:max(var(--grid-gutter), (100% - var(--grid-max-width)) / 2 + var(--grid-gutter));--grid-column-width:calc(( min(100%, var(--grid-max-width)) - (var(--grid-columns) + 1) * var(--grid-gutter) ) / var(--grid-columns));--bar-gutter:max(var(--grid-gutter), (100% - var(--measure)) / 2);--bar-border-image:linear-gradient(to right, transparent 0 var(--bar-gutter), var(--border) 0 calc(100% - var(--bar-gutter)), transparent 0) 1;--page-offset-top:var(--space-xl);--page-offset-bottom:var(--space-m)}html{scrollbar-gutter:stable;@media (width<64rem){--bar-nav-height:calc(2rem + 2 * var(--space-2xs) + 2px);--bar-toc-height:0px;scroll-padding-block-start:calc(var(--bar-nav-height) + var(--bar-toc-height) + var(--space-2xs));&:has(page-toc){--bar-toc-height:calc(1.5 * var(--step--1) + 2 * var(--space-2xs) + 2px)}}}:root{--step--1:clamp(.9444rem, .9278rem + .0814vw, .9896rem);--step-0:clamp(1.0625rem, 1.0163rem + .2255vw, 1.1875rem);--step-1:clamp(1.1953rem, 1.1104rem + .4143vw, 1.425rem);--step-2:clamp(1.3447rem, 1.2096rem + .659vw, 1.71rem);--step-3:clamp(1.5128rem, 1.3134rem + .9727vw, 2.052rem);--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:0em;--tracking-caps:.08em;--leading-offset:.65rem;--prose-foreground:color-mix(in oklab, var(--foreground) 80%, transparent);--prose-marker:color-mix(in oklab, var(--foreground) 30%, transparent);--measure:40rem}*,:before,:after,::backdrop{letter-spacing:var(--tracking-tight)}::file-selector-button{letter-spacing:var(--tracking-tight)}body{font-family:var(--font-serif);text-wrap:pretty}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}a{text-decoration:underline;text-decoration-color:var(--underline,transparent);text-decoration-skip-ink:none;text-underline-position:under;text-underline-offset:-.06em;text-decoration-thickness:max(1px,.0625em);&:hover{text-decoration-color:currentColor}}.prose{font-size:var(--step-0);line-height:calc(var(--leading-offset) + 1em);color:var(--foreground);text-wrap:pretty;overflow-wrap:break-word;font-variant-numeric:oldstyle-nums proportional-nums;display:block;& :where(p,ul,ol,blockquote,pre,table,figure,hr,details,math-display,.expressive-code){margin-block:0 1em}&>:first-child{margin-block-start:0}&>:last-child{margin-block-end:0}& :is(p,li){color:var(--prose-foreground)}}.prose{& :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-serif);font-weight:var(--font-weight-normal);font-synthesis-weight:none;line-height:calc(var(--leading-offset) + 1em);color:var(--foreground);text-wrap:balance;margin-block:1.5em .5em;@media (width>=64rem){scroll-margin-block-start:calc(var(--page-offset-top) - .2em)}}& :is(h2,h3,h4,h5,h6){& [data-heading-anchor]{color:var(--muted-foreground);opacity:0;margin-inline-start:.5ch;text-decoration-line:none;&:before{content:"#"}&:hover{color:var(--foreground)}}&:is(:hover,:target) [data-heading-anchor]{opacity:1}@media (hover:none){& [data-heading-anchor]{opacity:1}}}& h1{font-size:var(--step-3)}& h2{font-size:var(--step-2)}& h3{font-size:var(--step-1)}& h4{font-size:var(--step-0)}& :is(h5,h6){font-size:calc(var(--step--1) * .92);text-transform:uppercase;letter-spacing:var(--tracking-caps)}}.prose{& a{--underline:color-mix(in oklab, var(--primary) 45%, transparent);color:var(--primary)}& .figure-ref{font-weight:var(--font-weight-medium);white-space:nowrap}& :is(strong,b){color:var(--foreground);font-weight:var(--font-weight-medium)}& :is(em,i){font-style:italic}& :where(code){font-family:var(--font-mono);border-radius:var(--radius-sm);background-color:color-mix(in oklab, var(--muted) 60%, transparent);padding:.1em .3em;font-size:.9em;&[data-ec] :where(span[style^=--]:not([class])){color:light-dark(var(--0,inherit),var(--1,inherit));background-color:light-dark(var(--0bg,transparent),var(--1bg,transparent));font-style:light-dark(var(--0fs,inherit),var(--1fs,inherit));font-weight:light-dark(var(--0fw,inherit),var(--1fw,inherit));text-decoration:light-dark(var(--0td,inherit),var(--1td,inherit))}}& kbd{font-family:var(--font-mono);font-size:var(--step--1);vertical-align:middle;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:inset 0 -1px 0 var(--border);margin-block-end:.2em;padding:.25em .4em;line-height:1;display:inline-block}}.prose{& :is(ul,ol){padding-inline-start:1.5rem;& :is(ul,ol){margin-block:.5em 0}}& ul{list-style-type:disc;&.contains-task-list{padding-inline-start:0;list-style-type:none}}& ol{list-style-type:decimal;&[type=A]{list-style-type:upper-alpha}&[type=a]{list-style-type:lower-alpha}&[type=I]{list-style-type:upper-roman}&[type=i]{list-style-type:lower-roman}}& li{margin-block-start:.5em;padding-inline-start:.5rem;&::marker{color:var(--prose-marker)}&>blockquote,& .expressive-code{margin-block-start:1em}&>p{margin-block:0}&.task-list-item{padding-inline-start:0;& input[type=checkbox]{vertical-align:middle;accent-color:var(--foreground);margin-inline-end:.5em}}}}.prose{& blockquote{border-inline-start:2px solid var(--border);color:var(--muted-foreground);padding-inline-start:1.25em;& :is(p,li){color:inherit}}& hr{margin-block:var(--space-l);text-align:center;border:0}& hr:after{content:"⁂";font-size:var(--step-0);color:var(--gold-9)}& :is(img,video){margin-inline:auto}& summary{cursor:pointer;font-weight:var(--font-weight-medium)}& details[open] summary{margin-block-end:.5em}& .footnotes{border-block-start:1.5px solid var(--border);margin-block-start:var(--space-l);padding-block-start:var(--space-s)}& :is(math,math *){letter-spacing:normal}& math-display{justify-content:safe center;display:flex;overflow:auto hidden}& .expressive-code{content-visibility:auto;contain-intrinsic-block-size:auto 20rem;& pre{max-block-size:min(68vh,1000px);overflow-y:auto;&::-webkit-scrollbar-corner{display:none}}& .tm-label .code:before{font-family:var(--font-serif)}& .frame.is-terminal .header{font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-tight)}& .frame.has-title:not(.is-terminal) .header{border-block-end:var(--ec-brdWd) solid var(--border)}& .expand{margin-block-end:.1em}& .ec-section summary{list-style:none}& .collapsible-start summary{margin-block:var(--space-3xs)}}}.prose{& table{--table-border:color-mix(in oklab, var(--muted-foreground) 30%, transparent);max-inline-size:fit-content;font-size:var(--step--1);font-variant-numeric:lining-nums tabular-nums;margin-inline:auto;display:block;overflow-x:auto;& thead{border-block-end:1.5px solid var(--table-border)}& tr{border-block:1.5px solid var(--table-border);&:first-child{border-block-start:0}&:last-child{border-block-end:0}}& :is(th,td){min-width:10rem;max-width:22rem}& th{font-weight:var(--font-weight-medium);color:var(--foreground);text-align:start;padding:.5em 1em}& td{color:var(--prose-foreground);text-align:start;vertical-align:top;padding:.5em 1em;&>:first-child{margin-block-start:0}&>:last-child{margin-block-end:0}}}}.prose{& [data-callout]{--callout-accent:var(--muted-foreground);--callout-text:light-dark(oklch(from var(--callout-accent) .48 calc(c * 1.05) h),oklch(from var(--callout-accent) .83 calc(c * .5) h));border-inline-start:4px solid var(--callout-accent);background:color-mix(in oklab, var(--callout-accent) 5%, transparent);margin-block:1.5rem;padding-block:.75rem;padding-inline:1rem;position:relative}& [data-callout]>summary{cursor:pointer;color:var(--callout-text);font-weight:var(--font-weight-medium);align-items:center;gap:.5rem;list-style:none;display:flex;&::-webkit-details-marker{display:none}& svg{flex-shrink:0;width:1.25rem;height:1.25rem}& :is(strong,b){color:inherit}& svg:last-child{margin-inline-start:auto;transition:transform .15s}& span span{font-weight:var(--font-weight-normal);color:color-mix(in oklab, var(--callout-text) 80%, var(--foreground))}& .katex{color:currentColor}}& [data-callout][open]>summary{margin-block-end:.75rem;& svg:last-child{rotate:180deg}}& [data-callout]>:last-child{margin-block-end:0}& [data-callout=proof][open]>:last-child:after{content:"∎";float:right;color:var(--callout-text);margin-inline-start:.5rem}& :is(.katex,.katex *){letter-spacing:normal}& .katex-display{overscroll-behavior-inline:contain;max-inline-size:100%;margin-block:1.5rem;padding-block:.5rem;overflow:auto hidden}& .katex-display>.katex{inline-size:max-content;min-inline-size:100%}& .katex-display .katex-html:has(>.tag){padding-inline-end:3em}& .katex :is(.eq-hl-purple,.eq-hl-pink,.eq-hl-lime){border-radius:.2em;padding:.05em .18em}& .katex .eq-hl-purple{background-color:oklab(50% .0952628 -.055/.22)}& .katex .eq-hl-pink{background-color:oklab(58% .12216 .0444626/.22)}& .katex .eq-hl-lime{background-color:oklab(60% -.0630934 .0901067/.22)}}.prose{& .equation{min-inline-size:0;max-inline-size:100%;scroll-margin-top:6rem}& .xref{color:var(--primary);font-weight:500;text-decoration:none}& .xref:hover{text-decoration:underline}& .astro-figure,& .table-figure,& [data-callout]{scroll-margin-top:6rem}& .table-figure{margin-block:2rem}& .table-figure figcaption{color:var(--muted-foreground);font-size:var(--step--1);text-align:center;margin-block-end:.5rem}& .cite{color:var(--primary);font-weight:500;text-decoration:none}& .cite:hover{text-decoration:underline}& .references{border-block-start:1px solid var(--border);margin-block-start:3rem;padding-block-start:1.5rem}& .references ol{padding-inline-start:1.5rem}& .references li{font-size:var(--step--1);font-variant-numeric:lining-nums tabular-nums;margin-block:.35rem;scroll-margin-top:6rem}}.sidenote-checkbox{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidenote-toggle.sidenote-number{color:var(--primary);font-variant-numeric:lining-nums tabular-nums;vertical-align:super;cursor:pointer;background-color:#0000;border-radius:0;margin-inline:.05em;padding:0;font-size:.72em;font-weight:500;line-height:0;transition:color .15s,background-color .15s;display:inline}.sidenote-toggle.sidenote-number:hover{color:var(--foreground);background-color:#0000}.sidenote{font-size:.75rem;font-weight:500;line-height:1rem}.sidenote-number-inline{color:var(--primary);background-color:color-mix(in oklab, var(--primary) 20%, transparent);border-radius:var(--radius-sm);margin-right:.375rem;padding:.125rem .25rem;font-size:.75rem;font-weight:500;line-height:1rem}@media (width>=1280px){.sidenote{float:right;clear:right;width:240px;color:var(--muted-foreground);margin-top:.25rem;margin-bottom:1rem;margin-right:-280px;padding:0;font-size:.85rem;line-height:1.45;transition:color .2s ease-out}.sidenote-toggle.sidenote-number{cursor:default}.sidenote-toggle.sidenote-number:hover{color:var(--primary);background-color:#0000}.sidenote .sidenote-number-inline{font-size:inherit;line-height:inherit;background-color:#0000;margin-right:.3rem;padding:0}}@media (width<=1279px){.sidenote{background-color:color-mix(in oklab, var(--primary) 5%, transparent);border-left:4px solid color-mix(in oklab, var(--primary) 50%, transparent);border-radius:var(--radius-lg);margin:.75rem 0;padding:.75rem 1rem;display:none}.sidenote-checkbox:checked+.sidenote{animation:.2s ease-out sidenote-appear;display:block}@keyframes sidenote-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}.sidenote-toggle.sidenote-number.active{color:var(--primary);background-color:#0000;outline:none}@media (width>=1280px){.sidenote.active{color:var(--foreground);transition:color .2s ease-out}.sidenote.active .sidenote-number-inline{color:var(--primary)}blockquote .sidenote,li .sidenote{width:200px;margin-right:-230px}}article,.prose{counter-reset:figure}section{counter-reset:none!important}.research-projects{counter-reset:figure!important}.research-projects article{counter-reset:none!important}.prose .astro-figure{counter-increment:figure;flex-direction:column;align-items:center;margin-block:2rem;display:flex}.prose .astro-figure img{max-width:100%;height:auto;padding:var(--space-s);border:1px solid var(--gray-7);outline:1px solid color-mix(in oklab, var(--gold-9) 35%, transparent);outline-offset:-5px;border-radius:var(--radius-xs);box-shadow:var(--shadow-sm);background-color:light-dark(#fbf8f0,#211e18)}.prose .astro-figure figcaption{color:var(--muted-foreground);font-size:var(--step--1);text-align:center;margin-block-start:.5rem;font-style:italic}.prose .astro-figure figcaption:before{content:"Figure " counter(figure) ": ";font-style:normal;font-weight:var(--font-weight-medium);font-variant-numeric:lining-nums;color:var(--primary)}.btn{white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:disabled{pointer-events:none;opacity:.5}.btn svg{pointer-events:none;flex-shrink:0}.btn svg:not([class*=size-]){width:1rem;height:1rem}.btn-default{background-color:var(--primary);color:var(--primary-foreground)}.btn-default:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}.btn-destructive{background-color:var(--destructive);color:var(--gray-1)}.btn-destructive:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}.btn-outline{border:1px solid var(--border);background-color:var(--background)}.btn-outline:hover{background-color:var(--accent);color:var(--accent-foreground)}.btn-secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}.btn-ghost:hover{background-color:var(--accent);color:var(--accent-foreground)}.btn-link{color:var(--primary);text-underline-offset:4px}.btn-link:hover{text-decoration:underline}.btn-size-default{height:2.25rem;padding-block:.5rem;padding-inline:1rem}.btn-size-sm{border-radius:var(--radius-md);gap:.375rem;height:2rem;padding-inline:.75rem}.btn-size-lg{border-radius:var(--radius-md);height:2.5rem;padding-inline:1.5rem}.btn-size-icon{width:2.25rem;height:2.25rem}[data-icon-button]{border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:background-color .15s,color .15s;display:inline-flex;&:hover{background-color:var(--accent);color:var(--accent-foreground)}& svg{width:1rem;height:1rem}}[data-bar]{background-color:color-mix(in oklab, var(--background) 90%, transparent);backdrop-filter:blur(var(--blur-xs))}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.shrink-0{flex-shrink:0}.post-grid{grid-template-columns:minmax(0, 1fr) min(var(--content-width), 100%) minmax(0, 1fr);gap:1.5rem 0;display:grid}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-12{margin-left:3rem}.ml-16{margin-left:4rem}:root{--paper-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body:after{content:"";z-index:100;pointer-events:none;background:var(--paper-noise) repeat 0 0 / 300px 300px;mix-blend-mode:multiply;opacity:.08;position:fixed;inset:0}:root[data-theme=dark] body:after{mix-blend-mode:soft-light;opacity:.12}@media (prefers-color-scheme:dark){:root:not([data-theme]) body:after{mix-blend-mode:soft-light;opacity:.12}}@media print{body:after{display:none}}.essay-hero{align-items:center;gap:var(--space-2xs);text-align:center;flex-direction:column;display:flex}.essay-hero-title{font-family:var(--font-serif);font-size:calc(var(--step-3) * 1.15);line-height:1.2;font-weight:var(--font-weight-normal);font-synthesis-weight:none;text-wrap:balance;margin-bottom:.5rem;padding-block:.5rem;scroll-margin-top:7.75rem}.essay-hero-meta{justify-content:center;align-items:center;gap:var(--space-2xs);color:var(--muted-foreground);font-size:var(--step--1);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-variant-numeric:lining-nums;flex-wrap:wrap;margin-bottom:1rem;display:flex}.essay-hero:after{content:"";border-block-end:1px solid var(--gold-9);inline-size:6rem;margin-block-start:var(--space-2xs)}.prose[data-essay]>p:first-of-type:first-letter{-webkit-initial-letter:3;initial-letter:3;font-family:var(--font-serif);font-weight:var(--font-weight-normal);color:var(--primary);margin-inline-end:.12em}@supports not (initial-letter:3){.prose[data-essay]>p:first-of-type:first-letter{float:left;padding-block-start:.06em;font-size:3.05em;line-height:.82}}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:1rem}.site-footer-inner[data-astro-cid-jo6i4kqk]{width:100%;max-width:var(--shell-width);text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-inline:auto;padding-inline:1rem;display:flex}.site-footer-copy[data-astro-cid-jo6i4kqk]{color:var(--muted-foreground);font-size:.875rem}.brand-monogram[data-astro-cid-6sdccmvk]{width:2.75rem;height:2.75rem;color:var(--foreground)}@media (width>=300px){.brand-monogram[data-astro-cid-6sdccmvk]{width:3rem;height:3rem}}#theme-toggle[data-astro-cid-l6lhmie6]{color:inherit}.theme-icon[data-astro-cid-l6lhmie6]{display:inline-flex}.theme-icon-dark[data-astro-cid-l6lhmie6],:root[data-theme=dark] .theme-icon-light[data-astro-cid-l6lhmie6]{display:none}:root[data-theme=dark] .theme-icon-dark[data-astro-cid-l6lhmie6]{display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-icon-light[data-astro-cid-l6lhmie6]{display:none}:root:not([data-theme]) .theme-icon-dark[data-astro-cid-l6lhmie6]{display:inline-flex}}.sr-only[data-astro-cid-l6lhmie6]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-menu[data-astro-cid-xlat7obg]{position:relative}@media (width>=768px){.mobile-menu[data-astro-cid-xlat7obg]{display:none}}.mobile-menu-trigger[data-astro-cid-xlat7obg]{list-style:none}.mobile-menu-trigger[data-astro-cid-xlat7obg]::-webkit-details-marker{display:none}.mobile-menu-content[data-astro-cid-xlat7obg]{z-index:50;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--background);min-width:8rem;box-shadow:var(--shadow-md);flex-direction:column;gap:.125rem;margin-top:.5rem;padding:.25rem;display:flex;position:absolute;right:0}.mobile-menu-link[data-astro-cid-xlat7obg]{border-radius:var(--radius-sm);width:100%;padding:.375rem .5rem;font-size:.9rem;font-weight:500;transition:background-color .15s,color .15s}.mobile-menu-link[data-astro-cid-xlat7obg]:hover{background-color:var(--accent);color:var(--accent-foreground)}.site-header-inner[data-astro-cid-nen7h5rs]{max-width:var(--shell-width);align-items:center;gap:clamp(var(--space-xs), 3vw, var(--space-l));margin-inline:auto;padding-block:.75rem;padding-inline:1rem;display:flex}.site-header-inner[data-astro-cid-nen7h5rs] .site-brand{flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;display:flex}.site-brand-title[data-astro-cid-nen7h5rs]{font-size:1.125rem;font-weight:500;display:none}@media (width>=300px){.site-brand-title[data-astro-cid-nen7h5rs]{display:block}}.site-nav[data-astro-cid-nen7h5rs]{align-items:center;gap:1.5rem;font-size:.875rem;display:none}@media (width>=768px){.site-nav[data-astro-cid-nen7h5rs]{display:flex}}.site-nav[data-astro-cid-nen7h5rs] .site-nav-link{font-weight:500;transition:color .15s}.site-nav[data-astro-cid-nen7h5rs] .site-nav-link:hover{color:var(--muted-foreground)}.site-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3xs);margin-inline-start:auto;display:flex}@media (width>=640px){.site-actions[data-astro-cid-nen7h5rs]{gap:1rem}}.site-search[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3xs);cursor:pointer;border-radius:var(--radius-sm);padding:.5rem;font-size:.875rem;transition:background-color .3s,color .3s;display:flex}.site-search-label[data-astro-cid-nen7h5rs]{display:none}@media (width>=64rem){.site-search-label[data-astro-cid-nen7h5rs]{display:inline}}.site-search[data-astro-cid-nen7h5rs]:hover,.site-search[data-astro-cid-nen7h5rs]:focus-visible{background-color:var(--accent);color:var(--accent-foreground)}.search-dialog[data-astro-cid-lcrtiukk]{width:min(44rem, calc(100% - 2 * var(--space-s)));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gray-2);max-height:min(80vh,44rem);color:var(--foreground);box-shadow:var(--shadow-md);margin:auto;padding:0;overflow:hidden}.search-dialog[data-astro-cid-lcrtiukk]::backdrop{backdrop-filter:blur(var(--blur-sm));background:light-dark(oklab(26.5215% .00416141 .0265816/.55),oklab(0% none none/.55))}.search-panel[data-astro-cid-lcrtiukk]{max-height:min(80vh,44rem);padding:var(--space-s);overflow-y:auto}.search-header[data-astro-cid-lcrtiukk]{justify-content:space-between;align-items:start;gap:var(--space-s);margin-block-end:var(--space-s);display:flex}.search-header[data-astro-cid-lcrtiukk] h2[data-astro-cid-lcrtiukk],.search-header[data-astro-cid-lcrtiukk] p[data-astro-cid-lcrtiukk]{margin:0}.search-header[data-astro-cid-lcrtiukk] h2[data-astro-cid-lcrtiukk]{font-family:var(--font-display);font-size:var(--step-2);font-weight:var(--font-weight-normal)}.search-header[data-astro-cid-lcrtiukk] p[data-astro-cid-lcrtiukk],.search-status[data-astro-cid-lcrtiukk]{color:var(--muted-foreground);font-size:var(--step--1)}.search-close[data-astro-cid-lcrtiukk]{border-radius:var(--radius-sm);min-width:2rem;min-height:2rem;color:var(--muted-foreground);font-size:var(--step-1);line-height:1}.search-close[data-astro-cid-lcrtiukk]:hover,.search-close[data-astro-cid-lcrtiukk]:focus-visible{background:var(--gray-3);color:var(--foreground)}.search-field[data-astro-cid-lcrtiukk] input[data-astro-cid-lcrtiukk]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);width:100%;padding:var(--space-xs) var(--space-s);color:var(--foreground);font:inherit;outline:none}.search-field[data-astro-cid-lcrtiukk] input[data-astro-cid-lcrtiukk]:focus-visible{border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in oklab, var(--ring) 30%, transparent)}.search-status[data-astro-cid-lcrtiukk]{margin-block:var(--space-xs)}.search-results[data-astro-cid-lcrtiukk]{gap:var(--space-2xs);padding:0;list-style:none;display:grid}.search-results[data-astro-cid-lcrtiukk] li{border-block-start:1px solid var(--border);padding-block-start:var(--space-xs)}.search-results[data-astro-cid-lcrtiukk] a{color:var(--primary);font-family:var(--font-display);font-size:var(--step-1);text-underline-offset:3px;text-decoration-thickness:1px}.search-results[data-astro-cid-lcrtiukk] p{margin-block:var(--space-3xs) 0;color:var(--muted-foreground);font-size:var(--step--1)}.search-results[data-astro-cid-lcrtiukk] mark{background:color-mix(in oklab, var(--gold-9) 30%, transparent);color:inherit}.site-shell[data-astro-cid-ju4pidww]{height:fit-content;min-height:100vh;font-family:var(--font-serif);flex-direction:column;gap:1.5rem;display:flex;position:relative}.site-header-shell[data-astro-cid-ju4pidww]{z-index:50;position:sticky;top:0}.site-header-shell[data-astro-cid-ju4pidww]>[data-astro-cid-ju4pidww]+[data-astro-cid-ju4pidww]{border-top:1px solid var(--border)}@media (width>=1280px){.site-header-shell[data-astro-cid-ju4pidww]>[data-astro-cid-ju4pidww]+[data-astro-cid-ju4pidww]{border-top:none}}.site-main[data-astro-cid-ju4pidww]{flex-grow:1}.site-main-inner[data-astro-cid-ju4pidww]{flex-direction:column;flex-grow:1;gap:1.5rem;width:100%;margin-inline:auto;padding-inline:1rem;display:flex}.site-main-inner[data-astro-cid-ju4pidww].max-w-3xl{max-width:var(--shell-width)}.site-main-inner[data-astro-cid-ju4pidww].listing-shell{max-width:var(--listing-width)}
