@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-tight-latin-wght-normal.woff2)format("woff2-variations");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-wght-normal.woff2)format("woff2-variations");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-wght-italic.woff2)format("woff2-variations");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--bg:oklch(99.2% .004 85);--bg-sunk:oklch(97.3% .005 85);--surface:oklch(100% 0 0);--text:oklch(24% .016 265);--text-muted:oklch(47% .015 265);--text-faint:oklch(62% .013 265);--hairline:oklch(91.5% .006 265);--hairline-hi:oklch(85% .008 265);--accent:oklch(50% .175 264);--accent-hi:oklch(41% .185 264);--accent-wash:oklch(96% .022 264);--selection:oklch(89% .075 264);--shadow:0 1px 2px oklch(24% .016 265/.04), 0 4px 16px -6px oklch(24% .016 265/.08);--measure:68ch;--gutter:clamp(1.25rem, 5vw, 2rem);--font-display:"Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--step--2:clamp(.75rem, .73rem + .1vw, .8rem);--step--1:clamp(.86rem, .83rem + .14vw, .93rem);--step-0:clamp(1.08rem, 1.04rem + .2vw, 1.19rem);--step-1:clamp(1.26rem, 1.18rem + .38vw, 1.47rem);--step-2:clamp(1.52rem, 1.37rem + .72vw, 1.92rem);--step-3:clamp(1.95rem, 1.66rem + 1.42vw, 2.72rem);--step-4:clamp(2.45rem, 1.95rem + 2.45vw, 3.75rem)}@media (prefers-color-scheme:dark){:root{--bg:oklch(15.5% .012 265);--bg-sunk:oklch(13% .011 265);--surface:oklch(19.5% .014 265);--text:oklch(92.5% .008 265);--text-muted:oklch(71% .013 265);--text-faint:oklch(57% .014 265);--hairline:oklch(26.5% .014 265);--hairline-hi:oklch(34% .016 265);--accent:oklch(76% .135 264);--accent-hi:oklch(85% .1 264);--accent-wash:oklch(25% .045 264);--selection:oklch(36% .1 264);--shadow:0 1px 2px oklch(0% 0 0/.3), 0 4px 18px -6px oklch(0% 0 0/.45)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100dvh;margin:0;line-height:1.72;display:flex}::selection{background:var(--selection)}img,svg,video{max-width:100%;height:auto}.wrap{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}main{flex:1 0 auto}.rule{border:0;border-top:1px solid var(--hairline);margin:0}a{color:var(--accent);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in oklab, var(--accent) 35%, transparent);text-underline-offset:.19em;transition:color 90ms,text-decoration-color 90ms}a:hover{color:var(--accent-hi);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{z-index:20;background:var(--surface);border:1px solid var(--hairline);font-family:var(--font-display);font-size:var(--step--1);border-radius:0 0 8px;padding:.7rem 1.1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.site-header{z-index:10;border-bottom:1px solid var(--hairline);background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);position:sticky;top:0}@supports not (backdrop-filter:blur(1px)){.site-header{background:var(--bg)}}.site-header .wrap{min-height:3.75rem;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand{letter-spacing:-.017em;color:var(--text);font-size:1rem;font-weight:620;text-decoration:none}.brand:hover{color:var(--accent)}.site-nav{font-size:var(--step--1);align-items:center;gap:clamp(1rem,3vw,1.6rem);font-weight:460;display:flex}.site-nav a{color:var(--text-muted);padding-block:.35rem;text-decoration:none;position:relative}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--text);font-weight:560}.site-nav a[aria-current=page]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-.15rem;left:0;right:0}.site-footer{border-top:1px solid var(--hairline);font-family:var(--font-display);font-size:var(--step--1);color:var(--text-muted);margin-top:clamp(4rem,10vw,7rem);padding-block:2.5rem 3rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.85rem 2rem;display:flex}.site-footer p{margin:0}.site-footer nav{flex-wrap:wrap;gap:1.35rem;display:flex}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.026em;text-wrap:balance;margin:0;font-weight:620;line-height:1.16}.eyebrow{font-family:var(--font-display);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin:0;font-weight:620;display:block}.meta{font-family:var(--font-display);font-size:var(--step--1);color:var(--text-faint);font-variant-numeric:tabular-nums;margin:0;font-weight:450}.meta .sep{opacity:.5;margin-inline:.55em}.hero{padding-block:clamp(3.5rem,9vw,6rem) clamp(2.5rem,6vw,4rem)}.hero h1{font-size:var(--step-4);letter-spacing:-.035em;font-weight:640}.hero .lede{font-size:var(--step-1);color:var(--text-muted);text-wrap:pretty;max-width:34ch;margin:1.15rem 0 0;line-height:1.55}.hero .links{font-family:var(--font-display);font-size:var(--step--1);flex-wrap:wrap;gap:.55rem 1.4rem;margin-top:1.85rem;display:flex}.hero .links a{text-decoration:none}.hero .links a:hover{text-underline-offset:.2em;text-decoration:underline}.index-head{justify-content:space-between;align-items:baseline;gap:1rem;padding-block:2.5rem .35rem;display:flex}.index-head a{font-family:var(--font-display);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:560;text-decoration:none}.index-head a:hover{color:var(--accent)}.post-index{margin:0;padding:0;list-style:none}.post-index>li{border-top:1px solid var(--hairline)}.post-index a.row{color:inherit;grid-template-columns:1fr;gap:.3rem;padding-block:1.6rem;text-decoration:none;display:grid}@media (width>=46rem){.post-index a.row{grid-template-columns:7.5rem 1fr;align-items:baseline;gap:0 1.75rem}}.post-index .row-date{font-family:var(--font-display);font-size:var(--step--1);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:450;transition:color 90ms}.post-index h2{font-size:var(--step-1);letter-spacing:-.021em;transition:color 90ms}.post-index .row-desc{color:var(--text-muted);font-size:calc(var(--step-0) * .96);text-wrap:pretty;margin:.4rem 0 0;line-height:1.6;display:block}.post-index a.row:hover h2{color:var(--accent)}.post-index a.row:hover .row-date{color:var(--text-muted)}.empty{border-top:1px solid var(--hairline);color:var(--text-muted);padding-block:2rem}.post-header{padding-block:clamp(3rem,7vw,4.5rem) 0}.post-header h1{font-size:var(--step-3);margin-block:.9rem 0}.post-header .lede{font-size:var(--step-1);color:var(--text-muted);text-wrap:pretty;margin:1rem 0 0;line-height:1.52}.post-header .rule{margin-top:2.25rem}.prose{padding-block:2.25rem 0}.prose>*+*{margin-block-start:1.4em}.prose h2{font-size:var(--step-2);margin-block:2.6em -.3em}.prose h3{font-size:var(--step-1);margin-block:2.1em -.45em}.prose p{text-wrap:pretty}.prose ul,.prose ol{padding-inline-start:1.35em}.prose li+li{margin-block-start:.55em}.prose li::marker{color:var(--text-faint)}.prose ul>li::marker{font-size:.9em}.prose blockquote{border-inline-start:2px solid var(--accent);color:var(--text-muted);margin-inline:0;padding:.15rem 0 .15rem 1.4rem;font-style:italic}.prose blockquote p{margin:0}.prose blockquote>*+*{margin-block-start:.9em}.prose hr{border:0;border-top:1px solid var(--hairline);margin-block:3em}.prose img,.prose video{border:1px solid var(--hairline);border-radius:8px}.prose :is(h2,h3,h4):target{scroll-margin-top:6rem}.prose table{border-collapse:collapse;width:max-content;min-width:60%;max-width:100%;font-family:var(--font-display);font-size:var(--step--1);display:block;overflow-x:auto}.prose :is(th,td){text-align:left;border-bottom:1px solid var(--hairline);vertical-align:top;padding:.6rem .9rem .6rem 0}.prose th{color:var(--text);border-bottom-color:var(--hairline-hi);white-space:nowrap;font-weight:600}.prose td{color:var(--text-muted)}code,kbd,samp,pre{font-family:var(--font-mono);font-variant-ligatures:none}:not(pre)>code{background:var(--bg-sunk);border:1px solid var(--hairline);overflow-wrap:break-word;border-radius:5px;padding:.13em .36em;font-size:.855em}.prose :is(h1,h2,h3)>code{font-size:.9em}.code-block{margin-inline:calc(var(--gutter) * -1);margin-block:1.9em;position:relative}@media (width>=46rem){.code-block{margin-inline:-1.75rem}}.code-block pre.astro-code{border:1px solid var(--hairline);tab-size:2;box-shadow:var(--shadow);border-radius:10px;margin:0;padding:1.15rem 1.25rem;font-size:.855rem;line-height:1.65;overflow-x:auto}@media (width<=46rem){.code-block pre.astro-code{border-inline:0;border-radius:0}}pre.astro-code code{font-size:inherit;background:0 0;border:0;padding:0}.code-block pre.astro-code[data-language]:not([data-language=plaintext]):before{content:attr(data-language);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);pointer-events:none;user-select:none;font-size:.66rem;font-weight:600;position:absolute;top:.55rem;right:.85rem}pre.astro-code,pre.astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}@media (prefers-color-scheme:dark){pre.astro-code,pre.astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}}.subscribe{background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow);border-radius:14px;margin-top:clamp(3.5rem,8vw,5rem);padding:clamp(1.5rem,4vw,2.1rem);position:relative;overflow:hidden}.subscribe:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in oklab, var(--accent) 30%, transparent));height:3px;position:absolute;inset:0 0 auto}.subscribe h2{font-size:var(--step-1);letter-spacing:-.021em;margin-bottom:.45rem}.subscribe p{color:var(--text-muted);font-size:calc(var(--step-0) * .94);max-width:50ch;margin:0;line-height:1.6}.subscribe iframe{color-scheme:light dark;border:0;border-radius:8px;width:100%;margin-top:1.15rem;display:block}.subscribe .fallback{margin-top:1rem}.about-head{align-items:center;gap:clamp(1.1rem,4vw,1.75rem);padding-block:clamp(3rem,7vw,4.5rem) 0;display:flex}.about-head h1{font-size:var(--step-3)}.about-head .eyebrow{margin-bottom:.5rem}.headshot{aspect-ratio:1;object-fit:cover;border:1px solid var(--hairline);width:clamp(78px,20vw,104px);box-shadow:var(--shadow);border-radius:50%;flex:none}.page{padding-block:clamp(3rem,7vw,4.5rem) 0}.page h1{font-size:var(--step-3)}
