@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.b68677ba.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.e3544bb0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_c8169f04-module__YGzDCG__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_c8169f04-module__YGzDCG__variable{--font-sg:"Figtree","Figtree Fallback"}
@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b6a3ba25a63ffdc2-s.e629b2be.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/c46d9efd5b21dbaa-s.2f9e3f9f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/6308822089fd3411-s.97f8028e.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/ff4d9f8b7294524b-s.156d6bf8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0e64cfb82a47c250-s.p.4178c239.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_b146a1e-module__m9_Cma__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback;font-style:italic;font-weight:400}.ibm_plex_serif_b146a1e-module__m9_Cma__variable{--font-ips:"IBM Plex Serif","IBM Plex Serif Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.b68677ba.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.e3544bb0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_9a108a36-module__wGoXPq__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_9a108a36-module__wGoXPq__variable{--font-dm:"Figtree","Figtree Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.e45fea2b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.20ecb425.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3b382e45.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_8512b5e3-module__Abc7Ca__className{font-family:Space Mono,Space Mono Fallback;font-style:normal;font-weight:400}.space_mono_8512b5e3-module__Abc7Ca__variable{--font-sm:"Space Mono","Space Mono Fallback"}
:root{--bg:#fdfcf9;--ink:#17181a;--muted:#63676e;--highlight:#2727a3;--border:#dcd8d0;--code-bg:rgba(0,0,0,.043);--font-display:var(--font-sg),sans-serif;--font-body:var(--font-dm),system-ui,sans-serif;--font-serif:var(--font-ips),serif;--font-mono:var(--font-sm),ui-monospace,monospace;--text-s:.875rem;--text-m:.9375rem;--text-base:1rem;--text-l:1.125rem;--text-xl:clamp(1.125rem,1.09rem + .18vw,1.25rem);--space-3xs:clamp(.25rem,.2443rem + .0284vw,.3125rem);--space-2xs:clamp(.5rem,.4943rem + .0284vw,.5625rem);--space-xs:clamp(.75rem,.7386rem + .0568vw,.875rem);--space-s:clamp(1rem,.9886rem + .0568vw,1.125rem);--space-m:clamp(1.5rem,1.483rem + .0852vw,1.6875rem);--space-l:clamp(2rem,1.9773rem + .1136vw,2.25rem);--space-xl:clamp(3rem,2.9659rem + .1705vw,3.375rem);--space-2xl:clamp(4rem,3.9545rem + .2273vw,4.5rem);--space-3xl:clamp(6rem,5.9318rem + .3409vw,6.75rem);--page-width:44rem;--radius:4px;--ease:cubic-bezier(.32,.72,0,1);--ease-out-expo:cubic-bezier(.16,1,.3,1);--ease-in-expo:cubic-bezier(.7,0,.84,0);--ease-out-back:cubic-bezier(.34,1.56,.64,1);--ease-in-out-expo:cubic-bezier(.87,0,.13,1);--duration-fast:.16s;--duration-base:.22s;--duration-theme:.5s;--duration-travel:.38s;--duration-travel-home:.7s;--duration-hop:.65s;--egg-on-accent:#fff;--egg-paper:#f4f2ed;--egg-glass-top:#44444c;--egg-glass-bottom:#28282e;--egg-tooltip:#28282c}@media (prefers-reduced-motion:reduce){:root{--duration-fast:.01ms;--duration-base:.01ms;--duration-theme:.01ms;--duration-travel:.01ms;--duration-travel-home:.01ms;--duration-hop:.01ms}}
*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-tap-highlight-color:transparent}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:background-color var(--duration-theme)var(--ease-out-expo),color var(--duration-theme)var(--ease-out-expo),border-color var(--duration-theme)var(--ease-out-expo),fill var(--duration-theme)var(--ease-out-expo),outline-color var(--duration-theme)var(--ease-out-expo)!important}em,i,.egg-reply,.spidey-wee,.egg-text-input{font-family:var(--font-serif);font-style:italic}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-variation-settings:"opsz" 32;font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.55}body:before{content:"";--wash-peak:24%;--wash-pool-a:26%;--wash-pool-b:21%;background-image:  radial-gradient(78% 52% at 4% -8%,color-mix(in oklab,var(--highlight)var(--wash-pool-a),var(--bg))0%,transparent 74%),radial-gradient(70% 46% at 98% -6%,color-mix(in oklab,var(--highlight)var(--wash-pool-b),var(--bg))0%,transparent 74%),linear-gradient(to bottom,color-mix(in oklab,var(--highlight)var(--wash-peak),var(--bg))0%,color-mix(in oklab,var(--highlight)14%,var(--bg))6%,color-mix(in oklab,var(--highlight)9%,var(--bg))18%,color-mix(in oklab,var(--highlight)5%,var(--bg))45%,transparent 100%);pointer-events:none;z-index:-1;height:min(80vh,52rem);position:absolute;top:0;left:0;right:0}body:has(.project-page):before{--wash-peak:13%;--wash-pool-a:13%;--wash-pool-b:11%}a{color:var(--ink);transition:color var(--duration-fast)var(--ease);text-decoration:none}a:hover{color:var(--highlight)}a,button{touch-action:manipulation}:focus-visible{outline:2px solid var(--highlight);outline-offset:3px}::selection{background:var(--highlight);color:var(--bg)}.page,.site-header-inner{max-width:var(--page-width);padding-inline:var(--space-s);margin-left:auto;margin-right:auto}.site-header{z-index:50;padding-block:var(--space-s);font-size:var(--text-s);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg)55%,transparent)0%,color-mix(in srgb,var(--bg)30%,transparent)55%,transparent);position:-webkit-sticky;position:sticky;top:0}.site-header-blur{z-index:-1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}.site-header-inner{justify-content:space-between;align-items:center;display:flex;position:relative}.site-header .wordmark{white-space:nowrap;align-items:center;gap:.6em;display:inline-flex}.wordmark-slot{width:.85em;height:.85em;display:inline-block}.site-header .wordmark:hover{color:var(--ink)}.site-header .wordmark{position:relative}.site-header .wordmark:after{content:attr(data-tip);color:color-mix(in oklab,var(--muted)78%,var(--ink));font-family:var(--font-mono);font-size:var(--text-s);letter-spacing:.02em;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast)var(--ease),transform var(--duration-fast)var(--ease);position:absolute;top:calc(100% + .3rem);left:1.45em;transform:translateY(-2px)}.site-header .wordmark:hover:after{opacity:1;transition-delay:.35s;transform:translateY(0)}.site-header .wordmark:focus-visible:after{opacity:1;transition-delay:.35s;transform:translateY(0)}.hover-marker{background:var(--highlight);pointer-events:none;opacity:0;z-index:10;border-radius:3px;width:.7rem;height:.7rem;position:absolute;top:0;left:0}.hover-marker.ready{opacity:1;transition:top var(--duration-travel)var(--ease-out-expo),left var(--duration-travel)var(--ease-out-expo),transform var(--duration-travel)var(--ease-out-expo)}.hover-marker.ready.homing{transition-duration:var(--duration-travel-home)}.hover-marker.ready.instant{transition:none}@keyframes marker-hop{0%{transform:translateY(0)rotate(0)scale(1)}35%{transform:translateY(-.8em)rotate(200deg)scale(1.15)}70%{transform:translateY(.1em)rotate(345deg)scale(.9,.8)}to{transform:translateY(0)rotate(360deg)scale(1)}}.site-header .wordmark:hover~.hover-marker.ready{animation:marker-hop var(--duration-hop)var(--ease-out-back)}@media (prefers-reduced-motion:reduce){.site-header .wordmark:hover~.hover-marker.ready{animation:none}}.site-header nav{align-items:center;gap:var(--space-m);display:flex}.site-header nav svg{display:block}h2.eyebrow[id],.post h2[id],#projects,#notes{scroll-margin-top:5.5rem}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.mobile-nav{display:none}.menu-btn{cursor:pointer;color:var(--muted);padding:var(--space-xs);margin:calc(var(--space-xs)*-1);transition:color var(--duration-fast)var(--ease);background:0 0;border:none;place-items:center;display:grid}.menu-btn:hover{color:var(--ink)}.hb{gap:4px;display:grid}.hb-line{width:18px;height:1.75px;transition:transform var(--duration-base)var(--ease-out-expo),opacity var(--duration-fast)var(--ease),scale var(--duration-fast)var(--ease);background:currentColor}.menu-btn[aria-expanded=true] .hb-line:first-child{transform:translateY(6px)rotate(45deg)}.menu-btn[aria-expanded=true] .hb-line:nth-child(2){opacity:0;scale:.4}.menu-btn[aria-expanded=true] .hb-line:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.menu-panel{gap:var(--space-2xs);padding:var(--space-s);background:var(--bg);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid;position:fixed;top:4rem;bottom:0;left:0;right:0}.menu-panel a{background:var(--bg);border:1px solid var(--border);font-family:var(--font-display);font-size:var(--text-l);color:var(--ink);transition:transform var(--duration-fast)var(--ease);animation:menu-block-in var(--duration-base)var(--ease-out-expo)both;border-radius:0;justify-content:center;align-items:center;gap:.5em;font-weight:600;display:flex}.menu-panel a:first-child{border-top-left-radius:.75rem}.menu-panel a:nth-child(2){border-top-right-radius:.75rem;animation-delay:40ms}.menu-panel a:nth-child(3){border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem;grid-column:1/-1;animation-delay:80ms}.menu-panel a:hover{color:var(--ink)}.menu-panel a:active{transform:scale(.96)}.menu-panel a[aria-current=page]{border-color:var(--highlight);background:color-mix(in srgb,var(--highlight)10%,transparent)}@keyframes menu-block-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.menu-panel.closing{pointer-events:none;background:0 0}.menu-panel.closing a{animation-name:menu-block-out}@keyframes menu-block-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.menu-panel a,.menu-panel.closing a{animation:none}.menu-panel.closing{display:none}}@media (max-width:40rem){.site-header nav>a{display:none}.mobile-nav{display:block}}.site-header nav>a{color:var(--muted);padding:var(--space-xs);margin:calc(var(--space-xs)*-1)}.site-header nav>a:hover,.site-header nav>a[aria-current=page]{color:var(--ink)}.theme-toggle{cursor:pointer;font-family:var(--font-body);font-size:var(--text-base);color:var(--muted);padding:var(--space-xs);margin:calc(var(--space-xs)*-1);transition:color var(--duration-fast)var(--ease),transform var(--duration-fast)var(--ease);background:0 0;border:none;place-items:center;line-height:1;display:inline-grid}.theme-toggle:hover{color:var(--ink)}.theme-toggle:active{transform:scale(.96)}.theme-toggle .glyph{transition:opacity var(--duration-theme)var(--ease-out-expo),scale var(--duration-theme)var(--ease-out-expo),filter var(--duration-theme)var(--ease-out-expo);grid-area:1/1}.theme-toggle .glyph-sun,:root[data-theme=dark] .theme-toggle .glyph-moon{opacity:0;filter:blur(4px);scale:.25}:root[data-theme=dark] .theme-toggle .glyph-sun{opacity:1;filter:blur();scale:1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .glyph-moon{opacity:0;filter:blur(4px);scale:.25}:root:not([data-theme=light]) .theme-toggle .glyph-sun{opacity:1;filter:blur();scale:1}}.page{padding-block:0 var(--space-3xl)}.intro{font-family:var(--font-display);font-size:var(--text-base);margin-block:calc(var(--space-3xl)*1.25)var(--space-2xs);text-wrap:balance;font-weight:600;line-height:1.2}.intro+.muted{max-width:38rem;font-size:var(--text-base);color:var(--muted);text-wrap:pretty;line-height:1.5}.hero-lede{margin-bottom:calc(var(--space-3xl)*1.25)}.muted{color:var(--muted);font-size:var(--text-base)}.muted a,.post a{color:var(--highlight);text-underline-position:from-font;text-underline-offset:.16em;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;text-decoration:underline;text-decoration-thickness:from-font}.copy-email{font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35em;padding:0;display:inline-flex}.copy-email-icon{transition:transform var(--duration-fast)var(--ease-out-back);display:inline-flex}.copy-email-icon.is-copied{transform:scale(1.15)}@media (prefers-reduced-motion:reduce){.copy-email-icon{transition:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2.eyebrow,h1.page-title{font-family:var(--font-mono);font-size:var(--text-s);color:var(--muted);margin-block:var(--space-2xl)var(--space-m);font-weight:400}.post-list{gap:var(--space-l);flex-direction:column;list-style:none;display:flex}.post-list li{transition:opacity var(--duration-fast)var(--ease-in-expo);flex-direction:column;gap:0;display:flex;position:relative}.post-list:has(li.is-marked,li:hover,a:focus-visible) li:not(.is-marked):not(:hover):not(:has(a:focus-visible)){opacity:.4}.post-list a{font-family:var(--font-display);font-size:var(--text-m);width:-moz-fit-content;width:fit-content;font-weight:500;position:relative}.post-list a:hover{color:var(--ink)}.post-list .muted{font-size:var(--text-m);text-wrap:pretty;max-width:39rem;transition:color var(--duration-fast)var(--ease-in-expo);line-height:1.35}.post-list li.is-marked .muted,.post-list li:hover .muted{color:var(--ink)}.post-list li:has(a:focus-visible) .muted{color:var(--ink)}.experience-list{gap:var(--space-m);flex-direction:column;list-style:none;display:flex}.experience-list li{grid-template-columns:5rem minmax(0,1fr);align-items:baseline;display:grid}.experience-list .row-title{font-family:var(--font-display);font-size:var(--text-base);width:-moz-fit-content;width:fit-content;font-weight:600}.experience-list .muted{font-size:var(--text-base);line-height:1.5}.project-list li{grid-template-columns:5rem minmax(0,1fr);align-items:baseline;display:grid}.project-year{font-family:var(--font-mono);font-size:var(--text-s);color:var(--muted);font-variant-numeric:tabular-nums}.project-row{flex-direction:column;gap:0;display:flex}@media (max-width:88rem){.project-list li,.experience-list li{grid-template-columns:minmax(0,1fr)}.project-year{margin-bottom:var(--space-2xs)}.project-year:empty{display:none}}.peek{left:calc(100% + var(--space-l));z-index:30;aspect-ratio:16/10;border:1px solid var(--border);opacity:0;pointer-events:none;width:min(26rem,50vw - 50% - 4.25rem);transition:opacity var(--duration-base)var(--ease-out-expo),translate var(--duration-base)var(--ease-out-expo);border-radius:.75rem;position:absolute;top:50%;overflow:hidden;translate:0 calc(12px - 50%)}.post-list li.is-marked .peek,.post-list li:hover .peek{opacity:1;translate:0 -50%}.post-list li:has(a:focus-visible) .peek{opacity:1;translate:0 -50%}.peek img{object-fit:cover;width:100%;height:100%;display:block}.peek-placeholder{width:100%;height:100%;padding:var(--space-m);background-color:color-mix(in srgb,var(--highlight)7%,var(--bg));background-image:radial-gradient(color-mix(in srgb,var(--highlight)30%,transparent)1px,transparent 1px);background-size:22px 22px;place-items:center;display:grid}.peek-placeholder span{font-family:var(--font-display);font-size:var(--text-l);color:var(--highlight);text-align:center;text-wrap:balance;font-weight:600}.peek-inline{display:none}@media (max-width:88rem){.peek{display:none}.peek-inline{aspect-ratio:16/10;border:1px solid var(--border);border-radius:.75rem;margin-bottom:var(--space-xs);display:block;overflow:hidden}.peek-inline img{object-fit:cover;width:100%;height:100%;display:block}}@media (prefers-reduced-motion:reduce){.peek{translate:0 -50%}}.inline-links{gap:var(--space-m);font-size:var(--text-s);list-style:none;display:flex}.inline-links a{color:var(--muted);padding:var(--space-xs);margin:calc(var(--space-xs)*-1)}.inline-links a:hover{color:var(--ink)}.project-page{--page-width:min(110rem,100vw - 8rem);padding-top:var(--space-3xl);padding-inline:var(--space-l)}.project-layout{gap:var(--space-xl);grid-template-columns:14rem minmax(0,1fr) 14rem;align-items:start;display:grid}.project-rail{top:var(--space-l);gap:var(--space-2xl);flex-direction:column;display:flex;position:-webkit-sticky;position:sticky}.project-back{width:-moz-fit-content;width:fit-content;font-family:var(--font-mono);font-size:var(--text-s);font-weight:400}.rail-arrow{vertical-align:-.12em;display:inline-block}.rail-arrow:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:.15em}.rail-arrow:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:.15em}.rail-arrow:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:.15em}.rail-arrow:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.15em}.rail-arrow:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.15em}.rail-arrow:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.15em}.toc{font-family:var(--font-mono);font-size:var(--text-s)}.toc ul{flex-direction:column;gap:0;list-style:none;display:flex;position:relative}.toc ul:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(var(--space-s)*-1)}.toc ul:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(var(--space-s)*-1)}.toc ul:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(var(--space-s)*-1)}.toc ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(var(--space-s)*-1)}.toc ul:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(var(--space-s)*-1)}.toc ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(var(--space-s)*-1)}.toc-pill{background:color-mix(in oklab,var(--highlight)9%,transparent);pointer-events:none;border-radius:.5rem;position:absolute;left:0;right:0}.toc-pill.animate{transition:top var(--duration-travel)var(--ease-in-out-expo),height var(--duration-travel)var(--ease-in-out-expo)}.toc a{color:var(--muted);padding:var(--space-3xs)var(--space-s);transition:color var(--duration-fast)var(--ease);border-radius:.5rem;display:block;position:relative}.toc a:hover,.toc a.active{color:var(--highlight)}@media (max-width:60rem){.project-layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}.project-rail{position:static}}.egg{z-index:80;background:var(--highlight);transition:top var(--duration-theme)var(--ease-out-expo),left var(--duration-theme)var(--ease-out-expo),width var(--duration-theme)var(--ease-out-expo),height var(--duration-theme)var(--ease-out-expo);border-radius:1.5px;position:fixed;overflow:hidden}.egg.show{width:100vw;height:100vh;height:100dvh;top:0;left:0}.egg :focus-visible{outline-color:var(--bg)}.egg ::selection{background:var(--bg);color:var(--highlight)}.egg-content{justify-content:center;align-items:center;gap:var(--space-m);max-width:38rem;height:100%;padding:var(--space-l);text-align:center;color:var(--bg);font-size:var(--text-s);opacity:0;transition:opacity var(--duration-base)var(--ease);flex-direction:column;margin-left:auto;margin-right:auto;display:flex}.egg.show .egg-content{opacity:1;transition-delay:.25s}.egg-eyebrow{font-family:var(--font-mono);font-size:var(--text-s);letter-spacing:.08em;opacity:.6}.egg-reply{font-size:var(--text-l);text-wrap:balance}.egg-hint{opacity:.7}.egg-esc{z-index:3;top:var(--space-s);right:var(--space-s);padding:var(--space-3xs)var(--space-2xs);border:1px solid color-mix(in srgb,var(--bg)35%,transparent);border-radius:var(--radius);color:var(--bg);font-family:var(--font-mono);font-size:var(--text-s);cursor:pointer;opacity:.7;transition:opacity var(--duration-fast)var(--ease);background:0 0;position:absolute}.egg-esc:hover{opacity:1}.credits{gap:var(--space-3xs)var(--space-m);margin-block:var(--space-m)var(--space-l);font-family:var(--font-mono);font-size:var(--text-s);grid-template-columns:6rem minmax(0,1fr);display:grid}@media (min-width:60rem){.project-page .credits{gap:var(--space-2xs)var(--space-l);margin-block:var(--space-l)var(--space-2xl);grid-template-rows:auto auto;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.credits dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.credits dd{color:var(--ink)}.case-hero{aspect-ratio:4/3;width:100%;margin-block:var(--space-l)0;border:1px solid var(--border);object-fit:cover;border-radius:.5rem;display:block;overflow:hidden}.post img{width:100%;height:auto;margin-block:var(--space-l);border:1px solid var(--border);border-radius:.5rem;display:block}@media (max-width:34rem){.credits{grid-template-columns:1fr;gap:0}.credits dd{margin-bottom:var(--space-2xs)}}.stat-row{gap:var(--space-l);flex-wrap:wrap;display:flex}.stat{gap:var(--space-3xs);flex-direction:column;display:flex}.stat-n{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:1}.stat-l{font-family:var(--font-mono);font-size:var(--text-s);color:var(--muted)}.stat-hint{font-family:var(--font-mono);font-size:var(--text-s)}.stat-list{gap:var(--space-2xs);flex-direction:column;max-width:28rem;list-style:none;display:flex}.stat-list li{justify-content:space-between;gap:var(--space-m);font-family:var(--font-mono);font-size:var(--text-s);display:flex}.copy-email{color:var(--highlight);text-underline-position:from-font;text-underline-offset:.16em;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;text-decoration:underline;text-decoration-thickness:from-font}.peek-note{border-bottom:1px dotted var(--muted);position:relative}.spidey-runner{z-index:90;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.spidey-runner svg{width:36px;filter:drop-shadow(0 5px 8px color-mix(in srgb,var(--ink)28%,transparent));display:block;overflow:visible}.spidey-runner rect{fill:var(--highlight)}.spidey-runner .leg{stroke:var(--highlight);stroke-width:2.4px;stroke-linecap:round;transform-box:fill-box;transform-origin:top}.spidey-runner.running .leg-a{animation:.12s linear infinite alternate leg-scurry}.spidey-runner.running .leg-b{animation:.12s linear infinite alternate-reverse leg-scurry}@keyframes leg-scurry{0%{transform:rotate(-24deg)}to{transform:rotate(24deg)}}.spidey-wee{font-size:var(--text-base);color:var(--ink);white-space:nowrap;position:absolute;top:-22px;left:50%;transform:translate(-50%)rotate(-6deg)}.kinetic-backdrop{z-index:-1;position:fixed;top:0;bottom:0;left:0;right:0}.not-found{position:relative}.scroll-top{left:var(--space-l);bottom:var(--space-l);z-index:50;padding:var(--space-2xs)var(--space-s);background:var(--bg);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-s);text-align:left;cursor:pointer;transition:color var(--duration-fast)var(--ease);border:0;border-radius:.5rem;display:block;position:fixed}.scroll-top:hover{color:var(--highlight)}.egg-content-studio{max-width:none;padding:0}.egg-eyebrow-top{z-index:2;pointer-events:none;position:absolute;top:1.15rem;left:1.75rem}.egg-studio{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.egg-paint-canvas{touch-action:none;cursor:crosshair;background:var(--egg-paper);border-radius:6px;width:calc(100% - 2rem);height:calc(100% - 4.5rem);position:absolute;top:3.5rem;bottom:1rem;left:1rem;right:1rem}.egg-rail,.egg-dock{background:linear-gradient(to bottom,color-mix(in srgb,var(--egg-glass-top)38%,transparent),color-mix(in srgb,var(--egg-glass-bottom)32%,transparent));border:1px solid color-mix(in srgb,var(--egg-on-accent)21%,transparent);-webkit-backdrop-filter:blur(32px)saturate(180%)brightness(.95);box-shadow:0 16px 48px -16px color-mix(in srgb,var(--ink)46%,transparent),inset 0 1px 0 color-mix(in srgb,var(--egg-on-accent)28%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--ink)14%,transparent);border-radius:16px;gap:.25rem;padding:.5rem;display:flex;position:absolute}.egg-rail{flex-direction:column;top:50%;left:1.75rem;transform:translateY(-50%)}.egg-rail-item{width:42px;height:42px;color:color-mix(in srgb,var(--egg-on-accent)72%,transparent);cursor:pointer;transition:background var(--duration-fast)var(--ease),color var(--duration-fast)var(--ease);background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:relative}.egg-rail-item:hover{color:var(--egg-on-accent);background:color-mix(in srgb,var(--egg-on-accent)12%,transparent)}.egg-rail-item.active{color:var(--egg-on-accent);background:color-mix(in srgb,var(--egg-on-accent)26%,transparent)}.egg-tip{background:color-mix(in srgb,var(--egg-tooltip)95%,transparent);color:color-mix(in srgb,var(--egg-on-accent)90%,transparent);font-family:var(--font-mono);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast)var(--ease);border-radius:8px;padding:.35rem .6rem;font-size:.65rem;position:absolute;top:50%;left:calc(100% + .75rem);transform:translateY(-50%)}.egg-rail-item:hover .egg-tip{opacity:1}.egg-dock{align-items:center;gap:2.25rem;padding:.75rem 1.5rem;bottom:1.75rem;left:50%;transform:translate(-50%)}.egg-dock-group{flex-direction:column;gap:.35rem;display:flex}.egg-dock-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--egg-on-accent)55%,transparent);font-size:.55rem}.egg-dock-row{align-items:center;gap:.5rem;display:flex}.egg-dock-actions{flex-direction:row;align-items:center;gap:.5rem}.egg-brush-well{flex:none;place-items:center;width:28px;height:28px;display:grid}.egg-brush-dot{transition:width var(--duration-fast)var(--ease),height var(--duration-fast)var(--ease);border-radius:50%;flex:none}.egg-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:0 0;width:130px;height:20px}.egg-slider::-webkit-slider-runnable-track{background:color-mix(in srgb,var(--egg-on-accent)28%,transparent);border-radius:2px;height:3px}.egg-slider::-moz-range-track{background:color-mix(in srgb,var(--egg-on-accent)28%,transparent);border-radius:2px;height:3px}.egg-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--egg-on-accent);width:13px;height:13px;box-shadow:0 2px 6px color-mix(in srgb,var(--ink)40%,transparent);border-radius:50%;margin-top:-5px}.egg-slider::-moz-range-thumb{background:var(--egg-on-accent);border:0;border-radius:50%;width:13px;height:13px}.egg-swatch{cursor:pointer;width:26px;height:26px;transition:transform var(--duration-fast)var(--ease),border-color var(--duration-fast)var(--ease);border:2px solid transparent;border-radius:50%}.egg-swatch:hover{transform:scale(1.12)}.egg-swatch.active{border-color:color-mix(in srgb,var(--egg-on-accent)95%,transparent)}.egg-swatch-custom{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:color-mix(in srgb,var(--egg-on-accent)14%,transparent);place-items:center;display:grid}.egg-swatch-custom:after{content:"+";color:color-mix(in srgb,var(--egg-on-accent)85%,transparent);font-family:var(--font-mono);font-size:14px;line-height:1}.egg-swatch-custom.active:after{content:none}.egg-swatch-wrap{display:inline-flex;position:relative}.egg-picker{background:linear-gradient(to bottom,color-mix(in srgb,var(--egg-glass-top)38%,transparent),color-mix(in srgb,var(--egg-glass-bottom)32%,transparent));border:1px solid color-mix(in srgb,var(--egg-on-accent)21%,transparent);-webkit-backdrop-filter:blur(32px)saturate(180%)brightness(.95);box-shadow:0 16px 48px -16px color-mix(in srgb,var(--ink)46%,transparent),inset 0 1px 0 color-mix(in srgb,var(--egg-on-accent)28%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--ink)14%,transparent);border-radius:16px;flex-direction:column;gap:.55rem;padding:.75rem .85rem;display:flex;position:absolute;bottom:calc(100% + 2.6rem);right:-.75rem}.egg-sv{cursor:crosshair;touch-action:none;border-radius:8px;width:168px;height:118px;position:relative}.egg-sv-thumb{border:2px solid var(--egg-on-accent);width:14px;height:14px;box-shadow:0 1px 4px color-mix(in srgb,var(--ink)50%,transparent);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.egg-hex{border:1px solid color-mix(in srgb,var(--egg-on-accent)20%,transparent);background:color-mix(in srgb,var(--egg-on-accent)10%,transparent);width:100%;color:color-mix(in srgb,var(--egg-on-accent)92%,transparent);font-family:var(--font-mono);border-radius:8px;outline:none;padding:.3em .6em;font-size:.7rem}.egg-hex:focus{border-color:color-mix(in srgb,var(--egg-on-accent)45%,transparent)}.egg-picker-slider{width:168px}.egg-picker-slider::-webkit-slider-runnable-track{background:var(--track);border-radius:4px;height:8px}.egg-picker-slider::-moz-range-track{background:var(--track);border-radius:4px;height:8px}.egg-picker-slider::-webkit-slider-thumb{border:1.5px solid color-mix(in srgb,var(--egg-on-accent)90%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--ink)50%,transparent);background:0 0;margin-top:-2.5px}.egg-picker-slider::-moz-range-thumb{border:1.5px solid color-mix(in srgb,var(--egg-on-accent)90%,transparent);background:0 0}.egg-btn{border:1px solid color-mix(in srgb,var(--egg-on-accent)20%,transparent);background:color-mix(in srgb,var(--egg-on-accent)12%,transparent);color:color-mix(in srgb,var(--egg-on-accent)90%,transparent);font-family:var(--font-mono);cursor:pointer;transition:background var(--duration-fast)var(--ease);border-radius:10px;padding:.5rem .9rem;font-size:.7rem}.egg-btn:hover{background:color-mix(in srgb,var(--egg-on-accent)22%,transparent);color:var(--egg-on-accent)}.egg-btn-send{background:color-mix(in srgb,var(--egg-on-accent)92%,transparent);color:var(--highlight);border-color:transparent}.egg-btn-send:hover{background:var(--egg-on-accent)}.egg-text-input{border:0;border-bottom:1px solid color-mix(in srgb,var(--highlight)40%,transparent);min-width:8rem;color:var(--highlight);font-size:calc(var(--text-xl)*1.15);background:0 0;outline:none;position:absolute;transform:translateY(-50%)}.egg-fridge{position:absolute;top:0;bottom:0;left:0;right:0}.egg-fridge-copy{top:50%;right:max(var(--space-3xl),8vw);z-index:2;text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;max-width:15rem;display:flex;position:absolute;transform:translateY(-50%)}@media (max-width:640px){.egg-fridge-copy{top:3rem;right:50%;transform:translate(50%)}}.egg-fridge-copy .egg-hint-btn{pointer-events:auto}.egg-fridge-mount canvas{cursor:grab}.egg-fridge-mount canvas:active{cursor:grabbing}.egg-hint-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.egg-fridge-hint{font-family:var(--font-mono);font-size:var(--text-s);letter-spacing:.08em;flex-direction:column;align-items:center;gap:.1rem;line-height:1.45;display:flex}.egg-fridge-hint span{white-space:nowrap}.egg-hint-btn:hover{opacity:1}.egg-fridge-mount{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}@media (max-width:640px){.egg-paint-canvas{width:calc(100% - 1rem);height:calc(100% - 12.5rem);top:3rem;bottom:9.5rem;left:.5rem;right:.5rem}.egg-rail{flex-direction:row;top:auto;bottom:6.25rem;left:50%;transform:translate(-50%)}.egg-tip{display:none}.egg-dock{flex-wrap:wrap;justify-content:center;gap:.6rem;width:calc(100% - 1.5rem);padding:.6rem;bottom:.75rem}}@media (prefers-reduced-motion:reduce){.egg,.egg-content{transition:none}}.post img,.about-photo{cursor:zoom-in}.lightbox{z-index:90;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox-backdrop{background:color-mix(in srgb,var(--ink)35%,var(--bg));position:absolute;top:0;bottom:0;left:0;right:0}.lightbox>img{touch-action:none;max-width:92vw;max-height:88vh;position:relative}.lightbox-controls{bottom:var(--space-2xl);border:1px solid var(--border);background:var(--bg);border-radius:1.5px;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.lightbox-controls button+button{border-left:1px solid var(--border)}.lightbox-esc{top:var(--space-s);right:var(--space-s);padding:var(--space-3xs)var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-s);cursor:pointer;transition:color var(--duration-fast)var(--ease);position:fixed}.lightbox-esc:hover{color:var(--ink)}.lightbox-controls button{min-width:2.25rem;padding:var(--space-2xs)var(--space-s);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-s);cursor:pointer;transition:color var(--duration-fast)var(--ease);background:0 0;border:0;border-radius:0}.lightbox-controls button:hover{color:var(--ink)}.about-photo{border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:44rem;height:auto;margin-top:var(--space-l);display:block}.crumbs{font-size:var(--text-s);color:var(--muted);margin-top:var(--space-2xl)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}.crumbs [aria-current]{color:var(--highlight)}.crumbs+.post h1{margin-top:var(--space-l)}.post{max-width:44rem}.project-page .post{max-width:none}.project-page .post>.muted,.project-page .post>.case-hero{max-width:48rem;margin-left:auto;margin-right:auto}.project-page .post>:-webkit-any(h1,p,ul,ol,blockquote,h2,h3,dl){max-width:48rem;margin-left:auto;margin-right:auto}.project-page .post>:-moz-any(h1,p,ul,ol,blockquote,h2,h3,dl){max-width:48rem;margin-left:auto;margin-right:auto}.project-page .post>:is(h1,p,ul,ol,blockquote,h2,h3,dl){max-width:48rem;margin-left:auto;margin-right:auto}.project-page .post>:-webkit-any(p:has(img),figure,.lightbox-figure){max-width:48rem;margin-left:auto;margin-right:auto}.project-page .post>:-moz-any(p:has(img),figure,.lightbox-figure){max-width:48rem;margin-left:auto;margin-right:auto}.project-page .post>:is(p:has(img),figure,.lightbox-figure){max-width:48rem;margin-left:auto;margin-right:auto}@media (min-width:60rem){.project-page .post>p:has(img.wide){max-width:none}.project-page .post>p:has(img.wide):not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:max(0px,50% - 24rem);margin-right:0}.project-page .post>p:has(img.wide):not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:max(0px,50% - 24rem);margin-right:0}.project-page .post>p:has(img.wide):not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:max(0px,50% - 24rem);margin-right:0}.project-page .post>p:has(img.wide):-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0;margin-right:max(0px,50% - 24rem)}.project-page .post>p:has(img.wide):-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0;margin-right:max(0px,50% - 24rem)}.project-page .post>p:has(img.wide):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0;margin-right:max(0px,50% - 24rem)}.project-page .post img.wide{width:min(94rem,calc(100% + var(--space-xl) + 14rem));max-width:none}}.project-page .post>.read-meta{font-family:var(--font-mono);font-size:var(--text-s);color:var(--muted);margin-block:0 var(--space-2xs)}.project-page .post h1{letter-spacing:-.01em;margin-top:0;font-weight:600}.project-page .credits dd{color:var(--muted)}.project-page .post>:-webkit-any(p:not(.read-meta):not(.muted),ul,ol,blockquote){font-size:var(--text-l);line-height:1.6}.project-page .post>:-moz-any(p:not(.read-meta):not(.muted),ul,ol,blockquote){font-size:var(--text-l);line-height:1.6}.project-page .post>:is(p:not(.read-meta):not(.muted),ul,ol,blockquote){font-size:var(--text-l);line-height:1.6}.project-page .post h2[id]{scroll-margin-top:var(--space-l)}.project-page .post h2{margin-top:var(--space-2xl)}.post h1{font-family:var(--font-display);font-size:var(--text-xl);margin-block:var(--space-2xl)0;text-wrap:balance;font-weight:500;line-height:1.25}.post>.muted{font-size:var(--text-base);text-wrap:pretty;max-width:38rem;margin-bottom:var(--space-xl);line-height:1.5;display:block}.post>.muted:has(+.collaborators){margin-bottom:var(--space-3xs)}.post>.collaborators{margin-bottom:var(--space-xl)}.post p,.post ul,.post ol,.post pre,.post blockquote{margin-block:var(--space-s)}.post ul:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.post ul:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.post ul:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.post ol:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.post ol:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.post ol:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.post ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.post ul:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.post ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.post ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.post ol:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.post ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.post h2,.post h3{font-family:var(--font-display);margin-block:var(--space-l)var(--space-3xs);font-weight:600}.post h2{font-size:var(--text-l)}.post blockquote{color:var(--muted)}.post blockquote:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-left:2px solid var(--border);padding-left:var(--space-s)}.post blockquote:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-left:2px solid var(--border);padding-left:var(--space-s)}.post blockquote:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-left:2px solid var(--border);padding-left:var(--space-s)}.post blockquote:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right:2px solid var(--border);padding-right:var(--space-s)}.post blockquote:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right:2px solid var(--border);padding-right:var(--space-s)}.post blockquote:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right:2px solid var(--border);padding-right:var(--space-s)}.post pre,.post code{font-family:var(--font-mono);font-size:var(--text-s);background:var(--code-bg);border-radius:var(--radius)}.post code{padding:.1em .35em}.post pre{padding:var(--space-s);overflow-x:auto}.post pre code{background:0 0;padding:0}
