@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-italic-400-600.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:Newsreader;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/newsreader-normal-300-700.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexmono-normal-400.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-normal-500.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}:root{--font-serif:"Newsreader", ui-serif, Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--paper:#f4f4f0;--ink:#17181a;--muted:#5c5f63;--accent:#24479b;--rule:#dedad8;--code-bg:#ebebe5;--mark:#e8e4c9;--measure:34rem;--outdent:3.5rem;--extra:9rem;--pad:1.5rem;--step--1:.8125rem;--step-0:1.1875rem;--step-1:1.45rem;--step-2:1.85rem;--step-3:2.4rem;--step-4:clamp(2.6rem, 1.9rem + 3vw, 3.9rem);color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14161a;--ink:#e3e5e8;--muted:#9ba0a8;--accent:#9cb4f2;--rule:#262a31;--code-bg:#1b1e24;--mark:#33351f}}:root[data-theme=dark]{--paper:#14161a;--ink:#e3e5e8;--muted:#9ba0a8;--accent:#9cb4f2;--rule:#262a31;--code-bg:#1b1e24;--mark:#33351f}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:var(--step-0);font-optical-sizing:auto;font-synthesis-weight:none;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;line-height:1.65;display:flex}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:1px}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{background:var(--paper);color:var(--accent);font-family:var(--font-mono);font-size:var(--step--1);border:1px solid var(--accent);z-index:10;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.shell{grid-template-columns:[full-start] minmax(var(--pad), 1fr) [wide-start] var(--outdent) [text-start] minmax(0, var(--measure)) [text-end] minmax(0, var(--extra)) [wide-end] minmax(var(--pad), 1fr) [full-end];column-gap:0;display:grid}.shell>*{grid-column:text;min-width:0}.shell>.wide{grid-column:wide}@media (width<=45rem){:root{--outdent:0rem;--extra:0rem;--pad:1.25rem;--step-0:1.125rem}}.site-header{font-family:var(--font-mono);font-size:var(--step--1);border-bottom:1px solid var(--rule);margin-bottom:3.5rem}.site-header>.bar{flex-wrap:wrap;grid-column:wide;align-items:baseline;gap:.5rem 1.5rem;padding:1.25rem 0;display:flex}.site-header a{color:inherit;text-decoration:none}.brand{letter-spacing:.01em;margin-right:auto;font-weight:500}.brand:hover{color:var(--accent)}.site-nav{align-items:baseline;gap:1.25rem;display:flex}.site-nav a{color:var(--muted)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a[aria-current=page]{text-underline-offset:4px;text-decoration:underline}#theme-toggle{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:0;padding:0}#theme-toggle:hover{color:var(--ink)}.site-footer{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);border-top:1px solid var(--rule);margin-top:5rem;padding:2rem 0 3rem}.site-footer>.bar{flex-wrap:wrap;grid-column:wide;gap:.5rem 1.5rem;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--accent)}.site-footer .spacer{margin-right:auto}main{flex:1}.meta{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);letter-spacing:.01em}.lede{font-size:var(--step-1);color:var(--muted);line-height:1.5}.page-title{font-size:var(--step-4);letter-spacing:-.018em;text-wrap:balance;font-weight:400;line-height:1.08}.page-kicker{margin-bottom:1rem}.page-intro{margin-top:1.5rem}.page-links{flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:1.5rem;display:flex}.page-section{margin-top:3.5rem}.section-copy{margin-top:1.4rem}.section-copy p+p{margin-top:1.25rem}.author-portrait{border-radius:50%;width:160px;height:160px;margin-top:2rem}.career-list{margin-top:1.5rem;padding:0;list-style:none}.career-list li+li{margin-top:2rem}.career-list h3{font-size:var(--step-1);font-weight:500}.career-list .meta{margin:.25rem 0 .5rem}.writing-selection{margin-top:1.5rem;padding:0;list-style:none}.writing-selection li+li{margin-top:1.25rem}.writing-selection h3{font-size:var(--step-0);font-weight:400}.post-header{grid-column:wide}.post-header .page-title{max-width:22ch;font-size:clamp(2.1rem,1.5rem + 2.4vw,3rem)}.post-list{padding:0;list-style:none}.post-list>li+li{margin-top:2.75rem}.post-list h2{font-size:var(--step-2);letter-spacing:-.012em;text-wrap:balance;margin:.35rem 0;font-weight:400;line-height:1.2}.post-list h2 a{color:inherit;text-decoration:none}.post-list h2 a:hover{color:var(--accent)}.post-list p{color:var(--muted)}.banner{font-family:var(--font-mono);font-size:var(--step--1);border-left:2px solid var(--accent);background:var(--code-bg);margin:2rem 0;padding:.9rem 1.1rem;line-height:1.6}.banner a{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.prose .section-head,.section-head{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);padding-bottom:.6rem;font-weight:500}.post-list h3{font-size:var(--step-2);letter-spacing:-.012em;text-wrap:balance;margin:.35rem 0;font-weight:400;line-height:1.2}.post-list h3 a{color:inherit;text-decoration:none}.post-list h3 a:hover{color:var(--accent)}
