.wip-banner[data-astro-cid-tw5dklhe]{background:var(--accent);color:var(--bg);overflow:hidden;contain:content}.track[data-astro-cid-tw5dklhe]{display:flex;width:max-content;animation:slide 38s linear infinite}.run[data-astro-cid-tw5dklhe]{display:flex;flex-shrink:0}.item[data-astro-cid-tw5dklhe]{font-size:var(--step--1);font-weight:600;padding:var(--space--2) 0;white-space:nowrap}.item[data-astro-cid-tw5dklhe]:after{content:"✳";margin-inline:var(--space-0);opacity:.55;font-weight:400}@keyframes slide{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.track[data-astro-cid-tw5dklhe]{animation:none}}@font-face{font-family:Literata;src:url(/fonts/literata-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{--bg: #fbf7f2;--fg: #57534e;--muted: #726e69;--faint: #908c88;--rule: #b5b1ad;--accent: #427a5b;--surface: #f0ece7;--font-serif: "Literata", ui-serif, "Iowan Old Style", Georgia, serif;--font-sans: "Instrument Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-num: 1.0625;--fs: calc(var(--fs-num) * 1rem);--lh: 1.53;--unit: calc(var(--fs) * var(--lh));--phi: 1.618;--r-min: 1.2;--vw-range: calc((100vw - 20rem) / 57.5);--step--1: calc(var(--fs) * pow(var(--phi), -.5));--step-0: var(--fs);--step-1: clamp( var(--fs) * var(--r-min), var(--fs) * var(--r-min) + var(--fs-num) * (pow(var(--phi), .5) - var(--r-min)) * var(--vw-range), var(--fs) * pow(var(--phi), .5));--step-2: clamp( var(--fs) * pow(var(--r-min), 2), var(--fs) * pow(var(--r-min), 2) + var(--fs-num) * (var(--phi) - pow(var(--r-min), 2)) * var(--vw-range), var(--fs) * var(--phi));--step-3: clamp( var(--fs) * pow(var(--r-min), 3), var(--fs) * pow(var(--r-min), 3) + var(--fs-num) * (pow(var(--phi), 1.5) - pow(var(--r-min), 3)) * var(--vw-range), var(--fs) * pow(var(--phi), 1.5));--step-4: clamp( var(--fs) * pow(var(--r-min), 4), var(--fs) * pow(var(--r-min), 4) + var(--fs-num) * (pow(var(--phi), 2) - pow(var(--r-min), 4)) * var(--vw-range), var(--fs) * pow(var(--phi), 2));--step-7: calc(var(--fs) * pow(var(--phi), 3.5));--step-11: calc(var(--fs) * pow(var(--phi), 5.5));--space--4: calc(var(--unit) * pow(var(--phi), -4));--space--3: calc(var(--unit) * pow(var(--phi), -3));--space--2: calc(var(--unit) * pow(var(--phi), -2));--space--1: calc(var(--unit) * pow(var(--phi), -1));--space-0: var(--unit);--space-1: calc(var(--unit) * var(--phi));--space-2: calc(var(--unit) * pow(var(--phi), 2));--space-3: calc(var(--unit) * pow(var(--phi), 3));--measure: 34rem;--page: 46rem;--gutter: clamp(1.25rem, 5vw, 2.5rem)}@media(prefers-color-scheme:dark){:root{--bg: #14120f;--fg: #d1cecc;--muted: #8e8984;--faint: #6c6965;--rule: #3f3c38;--accent: #549a73;--surface: #211f1c}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs);line-height:var(--lh);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1;display:flex;flex-direction:column;min-height:100vh}.wrap{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter)}main{flex:1;padding-block:clamp(var(--space-1),9vw,var(--space-3)) var(--space-2)}.site-header{padding-block:var(--space-1) 0}.site-header .bar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space--2) var(--space-0)}.brand{font-family:var(--font-serif);font-weight:600;font-size:var(--step-0);letter-spacing:-.01em;text-decoration:none;color:var(--fg)}.brand:hover{color:var(--accent)}.site-nav{display:flex;gap:var(--space-0);font-size:var(--step--1)}.site-nav a{color:var(--muted);text-decoration:none;padding-block:var(--space--4);position:relative;transition:color var(--motion-duration-fast) var(--motion-easing-subtle)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--fg)}.nav-indicator{position:absolute;inset-inline:0;bottom:-1px;height:1px;background:var(--accent);view-transition-name:nav-indicator}h1,h2,h3{font-family:var(--font-serif);line-height:1.15;letter-spacing:-.018em;font-weight:600;text-wrap:balance;margin:0}h1{font-size:var(--step-4)}h2{font-size:var(--step-2);margin-top:var(--space-1);margin-bottom:var(--space--2)}h3{font-size:var(--step-1);margin-top:var(--space-1);margin-bottom:var(--space--3)}p{margin:0 0 1.15em;text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--rule);transition:text-decoration-color var(--motion-duration-fast) var(--motion-easing-subtle),color var(--motion-duration-fast) var(--motion-easing-subtle)}a:hover{color:var(--accent);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}hr{border:0;border-top:1px solid var(--rule);margin-block:var(--space-1)}blockquote{margin:var(--space-0) 0;padding-left:var(--space-0);border-left:2px solid var(--rule);color:var(--muted);font-style:italic}code{font-family:var(--font-mono);font-size:.875em;background:var(--surface);padding:.15em .35em;border-radius:3px}pre{background:var(--surface);padding:var(--space--1) var(--space--1);border-radius:6px;overflow-x:auto;font-size:var(--step--1);line-height:1.6}pre code{background:none;padding:0;font-size:inherit}img,video{max-width:100%;height:auto;border-radius:4px}.lede{font-size:var(--step-0);color:var(--muted);max-width:var(--measure);margin-top:var(--space-0)}.meta{font-size:var(--step--1);color:var(--muted);margin:0}.prose>*{max-width:var(--measure)}.prose>.bento{max-width:none}.prose ul,.prose ol{padding-left:1.25rem;margin-bottom:1.15em}.prose li{margin-bottom:.4em}.section-label{font-family:var(--font-sans);font-size:var(--step-0);font-weight:600;letter-spacing:-.005em;color:var(--accent);margin:0 0 var(--space--2)}.callout{margin:var(--space-1) 0;padding:var(--space--1) var(--space--1);background:var(--surface);border-radius:6px;font-size:var(--step-0)}.callout-title{font-family:var(--font-sans);font-size:var(--step--1);font-weight:600;color:var(--accent);margin:0 0 var(--space--2)}.callout-body>:last-child{margin-bottom:0}details.callout>summary{cursor:pointer;list-style:none;margin:0}details.callout>summary::-webkit-details-marker{display:none}details.callout>summary:after{content:"+";margin-left:.5em}details.callout[open]>summary{margin-bottom:var(--space--2)}details.callout[open]>summary:after{content:"−"}.bento{margin:var(--space-1) 0}.bento-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space--2);margin:0}.bento-grid img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:6px;background:var(--surface)}.bento:not([data-count="2"],[data-count="4"],[data-count="5"]) img{aspect-ratio:1}.bento[data-count="1"] .bento-grid{grid-template-columns:minmax(0,1fr)}.bento[data-count="1"] img{aspect-ratio:var(--phi)}.bento[data-count="2"] .bento-grid{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);aspect-ratio:2}.bento[data-count="4"] .bento-grid,.bento[data-count="5"] .bento-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:var(--phi)}.bento[data-count="4"] img:nth-child(1),.bento[data-count="4"] img:nth-child(4),.bento[data-count="5"] img:nth-child(1){grid-column:span 4}.bento[data-count="4"] img:nth-child(2),.bento[data-count="4"] img:nth-child(3),.bento[data-count="5"] img:nth-child(n+2){grid-column:span 2}.bento figcaption{margin-top:var(--space--2);max-width:var(--measure);font-size:var(--step--1);color:var(--muted)}@media(max-width:38rem){.bento[data-count="4"] .bento-grid,.bento[data-count="5"] .bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;aspect-ratio:auto}.bento[data-count="4"] img:nth-child(n),.bento[data-count="5"] img:nth-child(n){grid-column:span 1;aspect-ratio:1}.bento[data-count="4"] img:nth-child(1),.bento[data-count="4"] img:nth-child(4),.bento[data-count="5"] img:nth-child(1){grid-column:span 2;aspect-ratio:var(--phi)}}.golden{display:grid;grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:var(--space-0) var(--space-1)}@media(max-width:38rem){.golden{grid-template-columns:minmax(0,1fr)}}.facts{margin:0;display:grid;gap:var(--space--1);align-content:start}.facts dt{font-size:var(--step--1);font-weight:600;color:var(--accent)}.facts dd{margin:var(--space--4) 0 0}@media(max-width:38rem){.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space--1) var(--space-0)}}.cover{margin:0 0 var(--space-1)}.cover img{display:block;width:100%;aspect-ratio:var(--phi);object-fit:cover}.entries{list-style:none;margin:0;padding:0}.entry{--entry-pad: calc(var(--space-1) / 2);position:relative}.entry:first-child{--entry-pad-top: 0px}.entry:last-child{--entry-pad-bottom: 0px}.entry-link{display:block;max-width:var(--measure);padding-block:var(--entry-pad-top, var(--entry-pad)) var(--entry-pad-bottom, var(--entry-pad));text-decoration:none;color:inherit}.entry-link:hover .entry-title{color:var(--accent)}.entry-title{font-family:var(--font-serif);font-size:var(--step-1);font-weight:600;letter-spacing:-.015em;line-height:1.3;margin:0 0 var(--space--3)}.entry-meta{font-size:var(--step--1);color:var(--muted);display:flex;flex-wrap:wrap;gap:var(--space--2);align-items:center}.dot:before{content:"·";margin-right:var(--space--2)}.entry-stage{display:none}@media(hover:hover)and (min-width:64rem){.entries--preview{position:relative}.entries--preview .entry-link{max-width:none;width:calc(50% - var(--space-0))}.entry-stage{display:grid;position:absolute;top:0;left:calc(50% + var(--space-0));width:min(32rem,50vw - var(--space-0) - var(--space-1));pointer-events:none;transform:translateY(var(--y, 0));opacity:0;visibility:hidden}.entry-stage.is-visible{opacity:1;visibility:visible}.entry-stage-img{grid-area:1 / 1;display:block;width:100%;aspect-ratio:var(--phi);object-fit:cover;border-radius:6px;background:var(--surface);opacity:0}.entry-stage-img.is-shown{opacity:1}.entries--preview.is-previewing .entry:not(.is-active) .entry-link{opacity:.4}}.empty{color:var(--faint);font-style:italic;padding-block:var(--space-0)}.site-footer{border-top:1px solid var(--rule);padding-block:var(--space-1) var(--space-1);font-size:var(--step--1);color:var(--faint)}.site-footer .bar{display:flex;flex-wrap:wrap;gap:var(--space--2) var(--space-0);justify-content:space-between}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--accent)}.footer-links{display:flex;gap:var(--space-0)}.back{display:inline-block;font-size:var(--step--1);color:var(--muted);text-decoration:none;margin-bottom:var(--space-1)}.back:hover{color:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:var(--space--3);list-style:none;padding:0;margin:0}.tag{font-size:var(--step--1);color:var(--muted);background:var(--surface);border-radius:100px;padding:var(--space--4) var(--space--2)}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);top:var(--space--2);z-index:10;background:var(--bg);padding:var(--space--2) var(--space--2);border:1px solid var(--rule);border-radius:4px}:root{--motion-duration-fast: .22s;--motion-duration-normal: .3s;--motion-duration-slow: .5s;--motion-duration-press: .1s;--motion-duration-enter: .42s;--motion-duration-exit: .22s;--motion-duration-reveal: .8s;--motion-duration-hero: 1.1s;--motion-stagger: 90ms;--motion-easing-entry: cubic-bezier(.22, 1, .36, 1);--motion-easing-exit: cubic-bezier(.45, 0, .55, 1);--motion-easing-subtle: cubic-bezier(.25, .1, .25, 1);--motion-translate-enter: 8px;--motion-translate-slide: 4px;--motion-scale-press: .985}@media(prefers-reduced-motion:reduce){:root{--motion-duration-fast: 0ms;--motion-duration-normal: 0ms;--motion-duration-slow: 0ms;--motion-duration-press: 0ms;--motion-duration-enter: 0ms;--motion-duration-exit: 0ms;--motion-duration-reveal: 0ms;--motion-duration-hero: 0ms;--motion-stagger: 0ms;--motion-translate-enter: 0px;--motion-translate-slide: 0px;--motion-scale-press: 1}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}}@view-transition{navigation:auto}::view-transition-old(root){animation:fade-out var(--motion-duration-exit) var(--motion-easing-exit) both}::view-transition-new(root){animation:fade-in-up var(--motion-duration-enter) var(--motion-easing-entry) both}@keyframes fade-out{to{opacity:0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(var(--motion-translate-slide))}}::view-transition-group(*){animation-duration:var(--motion-duration-slow);animation-timing-function:var(--motion-easing-entry)}::view-transition-old(*.entry-title),::view-transition-new(*.entry-title){height:100%;width:auto;object-fit:none;object-position:left top}[data-reveal]{animation:reveal var(--motion-duration-reveal) var(--motion-easing-entry) both;animation-delay:calc(var(--delay, 0) * var(--motion-stagger))}@keyframes reveal{0%{opacity:0;transform:translateY(var(--motion-translate-enter))}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.entry{animation:reveal-scroll linear both;animation-timeline:view();animation-range:entry 0% entry 42%}}}@keyframes reveal-scroll{0%{opacity:0;transform:translateY(var(--motion-translate-enter))}}.entry-link{transition:scale var(--motion-duration-fast) var(--motion-easing-entry),opacity var(--motion-duration-fast) var(--motion-easing-subtle)}.entry-link .entry-title{transition:color var(--motion-duration-fast) var(--motion-easing-subtle),translate var(--motion-duration-normal) var(--motion-easing-entry)}.entry-link:hover .entry-title{translate:var(--motion-translate-slide) 0}.entry-link:active{scale:var(--motion-scale-press);transition:scale var(--motion-duration-press) var(--motion-easing-entry),opacity var(--motion-duration-fast) var(--motion-easing-subtle)}.entry-stage{transition:opacity var(--motion-duration-exit) var(--motion-easing-exit),visibility 0s linear var(--motion-duration-exit),transform var(--motion-duration-slow) var(--motion-easing-entry)}.entry-stage.is-visible{transition:opacity var(--motion-duration-enter) var(--motion-easing-entry),visibility 0s,transform var(--motion-duration-slow) var(--motion-easing-entry)}.entry-stage.is-jump{transition:opacity var(--motion-duration-enter) var(--motion-easing-entry),visibility 0s,transform 0s}.entry-stage-img{filter:blur(8px);transform:scale(.985);transition:opacity var(--motion-duration-exit) var(--motion-easing-exit),filter var(--motion-duration-exit) var(--motion-easing-exit),transform var(--motion-duration-exit) var(--motion-easing-exit)}.entry-stage-img.is-shown{filter:none;transform:none;transition:opacity var(--motion-duration-enter) var(--motion-easing-entry),filter var(--motion-duration-enter) var(--motion-easing-entry),transform var(--motion-duration-enter) var(--motion-easing-entry)}.underline-grow{position:relative;text-decoration:none}.underline-grow:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-duration-normal) var(--motion-easing-entry)}.underline-grow:hover:after{transform:scaleX(1)}.arrow{display:inline-block;transition:translate var(--motion-duration-normal) var(--motion-easing-entry)}a:hover .arrow-forward{translate:var(--motion-translate-slide) 0}a:hover .arrow-back{translate:calc(var(--motion-translate-slide) * -1) 0}a:hover .arrow-out{translate:var(--motion-translate-slide) calc(var(--motion-translate-slide) * -1)}details.callout{interpolate-size:allow-keywords}details.callout::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size var(--motion-duration-exit) var(--motion-easing-exit),opacity var(--motion-duration-exit) var(--motion-easing-exit),content-visibility var(--motion-duration-exit) allow-discrete}details.callout[open]::details-content{block-size:auto;opacity:1;transition-duration:var(--motion-duration-slow);transition-timing-function:var(--motion-easing-entry)}details.callout>summary:after{display:inline-block;transition:rotate var(--motion-duration-normal) var(--motion-easing-entry)}@supports selector(::details-content){details.callout[open]>summary:after{content:"+";rotate:45deg}}
