header[data-astro-cid-fzpbxy5g]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block-start:2.25rem;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:var(--ink);align-items:center;gap:.75rem;display:flex;& svg{color:var(--ink-2);@media (prefers-reduced-motion:no-preference){transition:rotate .6s cubic-bezier(.3,1.4,.5,1),color .6s}}&:hover svg{color:var(--accent);@media (prefers-reduced-motion:no-preference){rotate:-14deg}}& span{font-family:var(--font-display);font-variation-settings:var(--dv);font-size:1.25rem}}.end[data-astro-cid-fzpbxy5g]{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.75rem 1.375rem;font-size:1.125rem;display:flex}nav[data-astro-cid-fzpbxy5g]{gap:1.25rem;display:flex;& [aria-current=page]{color:var(--ink)}}.theme[data-astro-cid-fzpbxy5g]{border:1px solid var(--rule);border-radius:999rem;padding:.1875rem;display:flex;& button{cursor:pointer;color:var(--ink-3);text-transform:capitalize;border-radius:999rem;padding:.25rem .625rem;font-size:.875rem;transition:color .25s,background-color .25s;&[aria-pressed=true]{background:var(--ink);color:var(--paper)}}}footer[data-astro-cid-nns7i3if]{--reveal-offset:.9s;border-block-start:1px solid var(--rule);color:var(--ink-2);align-items:flex-start;gap:1.25rem;margin-block-start:4.5rem;padding-block:3rem 5rem;font-size:1.125rem;line-height:1.6;display:flex;& svg{color:var(--ink-3);flex:none}}ul[data-astro-cid-nns7i3if]{flex-wrap:wrap;gap:.25rem 1.25rem;margin-block:.75rem;padding:0;list-style:none;display:flex;& a{color:var(--accent)}}small[data-astro-cid-nns7i3if]{color:var(--ink-3);font-size:1rem}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:var(--font-jetbrains);--spacing:.25rem;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:oklch(13% .018 289);--color-ink-2:oklch(38.8% .025 290);--color-ink-3:oklch(52.4% .021 295);--color-paper:oklch(97.5% .004 295);--color-paper-2:oklch(94.4% .007 292);--color-accent:oklch(47.3% .186 289);--color-accent-2:oklch(64.5% .152 51);--color-sticky:oklch(90.6% .038 296);--color-sticky-ink:oklch(25.4% .112 289);--color-code-bg:oklch(93.8% .025 296);--color-chi-red:oklch(58% .21 27);--font-display:var(--font-fraunces);--font-body:var(--font-newsreader)}}@layer base{*,: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;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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:where(:not(iframe)){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:currentColor}@supports (color:color-mix(in lab, red, red)){::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}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;transition:color .3s}a{color:inherit;text-decoration:none;transition:color .25s,text-decoration-color .25s}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:.1875rem;border-radius:.125rem}h1,h2{font-family:var(--font-display);font-variation-settings:var(--dv);text-wrap:balance;margin:0;font-weight:400}p{text-wrap:pretty;margin:0}code{font-family:var(--font-mono);background:var(--code-bg);border-radius:.25rem;padding:.0625rem .3125rem;font-size:.82em}::selection{background:var(--sticky);color:var(--sticky-ink)}}@layer components;@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.inline{display:inline}.aspect-video{aspect-ratio:var(--aspect-video)}.w-full{width:100%}.flex-wrap{flex-wrap:wrap}.rounded-\[0\.375rem\]{border-radius:.375rem}.border{border-style:var(--tw-border-style);border-width:1px}.pt-16{padding-top:calc(var(--spacing) * 16)}.text-wrap{text-wrap:wrap}.italic{font-style:italic}.underline{text-decoration-line:underline}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light;--ink:var(--color-ink);--ink-2:var(--color-ink-2);--ink-3:var(--color-ink-3);--paper:var(--color-paper);--paper-2:var(--color-paper-2);--accent:var(--color-accent);--accent-2:var(--color-accent-2);--sticky:var(--color-sticky);--sticky-ink:var(--color-sticky-ink);--code-bg:var(--color-code-bg);--chi-red:var(--color-chi-red);--rule:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--rule:color-mix(in oklch, var(--ink) 14%, transparent)}}:root{--wash-a:oklch(94% .028 296);--wash-b:oklch(95.5% .025 60);--dv:"opsz" 144, "SOFT" 50, "WONK" 0;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");--astro-code-foreground:var(--ink);--astro-code-background:var(--code-bg);--astro-code-token-comment:var(--ink-3);--astro-code-token-keyword:var(--accent);--astro-code-token-string:var(--ink-2);--astro-code-token-string-expression:var(--ink-2);--astro-code-token-constant:var(--ink);--astro-code-token-function:var(--ink);--astro-code-token-parameter:var(--ink);--astro-code-token-punctuation:var(--ink-2);--astro-code-token-link:var(--accent)}html.dark{color-scheme:dark;--color-ink:oklch(93% .012 295);--color-ink-2:oklch(80% .02 295);--color-ink-3:oklch(64% .02 295);--color-paper:oklch(16.5% .012 289);--color-paper-2:oklch(21% .016 290);--color-accent:oklch(76% .12 292);--color-accent-2:oklch(75% .13 55);--color-sticky:oklch(26% .055 290);--color-sticky-ink:oklch(91% .035 296);--color-code-bg:oklch(21.5% .03 292);--color-chi-red:oklch(66% .19 27);--wash-a:oklch(20.5% .04 290);--wash-b:oklch(19.5% .025 50)}html{background-color:var(--paper);color:var(--ink)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body:before{content:"";z-index:-1;pointer-events:none;contain:strict;background-image:var(--noise), linear-gradient(-45deg, var(--wash-a) 0%, var(--paper) 25%, var(--wash-b) 50%, var(--paper) 75%, var(--wash-a) 100%);background-size:12.5rem 12.5rem,300% 300%;animation:24s ease-in-out infinite background-shift;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){body:before{background-image:var(--noise);background-size:12.5rem 12.5rem;animation:none}}@keyframes background-shift{0%,to{background-position:0 0,0%}50%{background-position:0 0,100%}}@media (prefers-reduced-motion:no-preference){.reveal,.reveal-group>*{animation:.9s cubic-bezier(.2,.7,.2,1) both reveal;animation-delay:calc(var(--reveal-offset,0s) + var(--i,0) * 90ms)}.reveal-group>:nth-child(2){--i:1}.reveal-group>:nth-child(3){--i:2}.reveal-group>:nth-child(4){--i:3}.reveal-group>:nth-child(5){--i:4}.reveal-group>:nth-child(6){--i:5}.reveal-group>:nth-child(7){--i:6}.reveal-group>:nth-child(n+8){--i:7}::view-transition-old(root){animation:.5s both theme-out}::view-transition-new(root){animation-duration:.5s}}@keyframes reveal{0%{opacity:0;filter:blur(.5rem);translate:0 .5rem}}@keyframes theme-out{to{opacity:0;filter:blur(.375rem)}}.col{max-inline-size:42.5rem;margin-inline:auto;padding-inline:2rem}.skip-link{z-index:10;background:var(--ink);color:var(--paper);border-radius:999rem;padding:.5rem 1rem;position:absolute;inset-block-start:1rem;inset-inline-start:1rem;translate:0 -200%}.skip-link:focus-visible{translate:none}.u{text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.3125rem;text-decoration-thickness:2px}.meta{color:var(--ink-3);font-size:1rem;font-style:italic}.intro{padding-block:6rem 4rem}.intro h1{letter-spacing:-.02em;margin-block-end:1.75rem;font-size:4rem;font-weight:380;line-height:1}.intro p{font-size:1.5rem;line-height:1.55}.intro p+p{color:var(--ink-2);margin-block-start:1.125rem}@media (width<=37.5rem){.intro h1{font-size:2.875rem}.intro p{font-size:1.3125rem}}.art{flex-direction:column;font-size:1.3125rem;line-height:1.7;display:flex}.art>*+*{margin-block-start:1.625rem}.art>p:first-child:first-letter{font-family:var(--font-display);font-variation-settings:var(--dv);float:inline-start;color:var(--accent);padding-block-start:.5rem;padding-inline-end:.75rem;font-size:5.75rem;line-height:.8}.art h2{margin-block-start:3.5rem;font-size:1.875rem;line-height:1.15}.art h3{font-family:var(--font-display);font-variation-settings:var(--dv);text-wrap:balance;margin-block-start:2.5rem;font-size:1.5rem;font-weight:400;line-height:1.2}.art a{text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.25rem;text-decoration-thickness:2px}.art :is(ul,ol){padding-inline-start:1.4em}.art :is(ul,ol) li+li{margin-block-start:.5em}.art ul{list-style:outside}.art ol{list-style:decimal}.art strong{font-weight:600}.art blockquote{border-block:1px solid var(--ink);font-family:var(--font-display);font-variation-settings:var(--dv);text-align:center;margin-block-start:3.5rem;margin-inline:-5rem;padding-block:2rem;font-size:2.25rem;font-weight:350;line-height:1.2}.art blockquote p{text-wrap:balance}.art blockquote cite{font-family:var(--font-body);color:var(--ink-3);margin-block-start:1rem;font-size:1rem;font-style:italic;display:block}.art blockquote+*{margin-block-start:3.5rem}.art pre{font-family:var(--font-mono);background:var(--code-bg);border-radius:.5rem;padding:1.25rem 1.5rem;font-size:.9375rem;line-height:1.65;overflow:auto}.art pre code{font-size:inherit;background:0 0;padding:0}.art figure{margin-block-start:3rem;margin-inline:-7.5rem}.art figure+*{margin-block-start:3rem}.art figcaption{color:var(--ink-2);text-align:center;margin-block-start:.75rem;font-size:1rem;font-style:italic}.art sup a{color:var(--accent);font-size:.7em;font-weight:600;text-decoration:none}.art .sign{font-family:var(--font-display);order:1;margin-block-start:2.5rem;font-size:1.875rem;font-style:italic}.art .footnotes{border-block-start:1px solid var(--rule);color:var(--ink-2);order:2;margin-block-start:4rem;padding-block-start:1.75rem;font-size:1rem;line-height:1.6}.art .footnotes #footnote-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.art .footnotes ol{flex-direction:column;gap:.625rem;padding:0;list-style:none;display:flex}.art .footnotes li+li{margin-block-start:0}.art .footnotes li:before{content:counter(list-item);color:var(--accent);margin-inline-end:.375rem;font-weight:700}.art .footnotes li>p{display:inline}.art .footnotes a{color:var(--ink-3);text-decoration:none}@media (width<=56.25rem){.art blockquote{margin:3rem 0 0}.art blockquote+*{margin-block-start:3rem}.art figure{margin:2.5rem 0 0}.art figure+*{margin-block-start:2.5rem}}@media (width<=37.5rem){.art{font-size:1.1875rem}.art blockquote{font-size:1.75rem}}aside.note{background:var(--sticky);color:var(--sticky-ink);border-radius:.625rem;flex-direction:column;gap:.5rem;padding:1.5rem 1.75rem;display:flex;rotate:-.4deg}aside.note .label{opacity:.75;font-size:1rem;font-style:italic}aside.note p{font-size:1.1875rem;line-height:1.6}aside.note code{background:var(--sticky-ink)}@supports (color:color-mix(in lab, red, red)){aside.note code{background:color-mix(in oklch, var(--sticky-ink) 10%, transparent)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.intro[data-astro-cid-lcdefpme]{--reveal-offset:.12s;padding-block-end:1.625rem}.bio[data-astro-cid-lcdefpme]{--reveal-offset:.34s;font-size:1.3125rem;line-height:1.7;& p+p[data-astro-cid-lcdefpme]{margin-block-start:1.625rem}@media (width<=37.5rem){font-size:1.1875rem}}.sign[data-astro-cid-lcdefpme]{font-family:var(--font-display);margin-block-start:2.5rem;font-size:1.875rem;font-style:italic}
