@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--leaf:#88b038;--moss:#3f6a22;--forest:#142c1e;--fern:#9fd36a;--ground:#faf8f3;--paper:#fff;--ink:#202020;--muted:#5f5b53;--rule:#ddd6c6;--mark:#e9f3d6;--font-serif:"Source Serif 4 Variable", Georgia, "Iowan Old Style", serif;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--measure:40rem;--container:68rem;--radius:6px}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:1.0625rem;line-height:1.6}img,svg,object{max-width:100%;height:auto}img{display:block}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.005em;margin:0 0 .75rem;font-weight:400;line-height:1.2}h1{margin-top:0;font-size:2.25rem}h2{margin-top:2.5rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.125rem}p,ul,ol{margin:0 0 1rem}a{color:var(--moss);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.site-footer :focus-visible,.hero :focus-visible{outline-color:var(--leaf)}mark{background:var(--mark);color:inherit;padding:0 .1em}strong{font-weight:600}.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}.prose{max-width:var(--measure)}.prose ul{padding-left:1.25rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--leaf)}.kicker{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--moss);margin:0 0 .5rem;font-size:.8125rem;font-weight:600}.meta{font-family:var(--font-sans);color:var(--muted);font-size:.875rem}.meta b{color:var(--moss);font-weight:600}.button{background:var(--moss);color:var(--paper);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;border:0;padding:.625rem 1.125rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--forest)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{padding:2.5rem 0 4rem}main:has(>.hero){padding-top:0}.skip-link{z-index:100;background:var(--moss);color:var(--paper);font-family:var(--font-sans);border-radius:var(--radius);padding:.5rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{background:var(--paper);border-bottom:3px solid var(--leaf)}.site-header--home{border-bottom:0}.site-header__row{justify-content:space-between;align-items:center;gap:1rem;min-height:5.5rem;display:flex}.site-logo{color:var(--ink);text-decoration:none;display:inline-flex}.logo{display:inline-flex}.logo--white{color:var(--paper);--logo-stripe:var(--forest)}.logo__svg{display:block}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{font-family:var(--font-sans);color:var(--ink);border-bottom:2px solid #0000;padding:.25rem 0;font-size:.9375rem;text-decoration:none}.site-nav a:hover{border-bottom-color:var(--rule)}.site-nav a[aria-current=page]{border-bottom-color:var(--leaf);font-weight:600}.site-menu{display:none}.site-menu__summary{cursor:pointer;font-family:var(--font-sans);padding:.5rem 0;font-weight:600;list-style:none}.site-menu__summary::-webkit-details-marker{display:none}.site-menu[open] .site-menu__summary{color:var(--moss)}.site-menu .site-nav{background:var(--paper);border-top:1px solid var(--rule);border-bottom:3px solid var(--leaf);z-index:10;padding:.75rem 1.25rem 1rem;position:absolute;left:0;right:0}.site-menu .site-nav ul{flex-direction:column;gap:.5rem}@media (width<=64rem){.site-header__row{position:relative}.site-nav-wide{display:none}.site-menu{display:block}}@media (width<=40rem){.site-header .logo__svg{width:155px;height:48px}.site-footer .logo__svg{width:206px;height:64px}}.site-footer{background:var(--forest);color:var(--paper);padding:2.5rem 0 1.5rem}.site-footer__row{grid-template-columns:auto 1fr;align-items:start;gap:2rem 4rem;display:grid}.site-footer__brand{justify-items:start;gap:.75rem;display:grid}.site-footer .site-logo{color:var(--paper)}.site-footer .site-nav ul{grid-template-rows:repeat(3,auto);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.5rem 2rem;display:grid}.site-footer .site-nav a{color:var(--fern)}.site-footer .site-nav a[aria-current=page]{border-bottom-color:var(--fern)}.site-footer__base{border-top:1px solid #9fd36a40;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:.5rem 2rem;padding-top:1.25rem;display:flex}.site-footer__copy,.site-footer__credit{font-family:var(--font-sans);color:var(--fern);margin:0;font-size:.875rem}.site-footer__credit a{color:var(--fern)}@media (width<=52rem){.site-footer .site-nav ul{grid-template-rows:repeat(4,auto);gap:.5rem 2rem}}@media (width<=40rem){.site-footer__row{text-align:center;grid-template-columns:1fr;gap:1.5rem}.site-footer__brand{justify-items:center}.site-footer .site-nav ul{grid-template-rows:none;grid-template-columns:repeat(2,auto);grid-auto-columns:auto;grid-auto-flow:row;justify-content:center;gap:.5rem 2rem}.site-footer .site-nav li{text-align:left}.site-footer__base{flex-direction:column;align-items:center}}.pub-rows{margin:0;padding:0;list-style:none}.pub-row{border-bottom:1px solid var(--rule);grid-template-columns:5.5rem 1fr auto;align-items:center;gap:0 1.25rem;padding:1rem 0;display:grid}.pub-row__thumb{background:var(--paper);border:1px solid var(--rule);border-radius:3px;width:5.5rem;height:auto;box-shadow:0 1px 3px #20202014}.pub-row__thumb--none{aspect-ratio:220/284;display:block}.pub-row__title{font-family:var(--font-serif);color:var(--ink);font-size:1.25rem;line-height:1.25;text-decoration:none}.pub-row__title:hover{color:var(--moss);text-decoration:underline}.pub-row .meta{margin:.25rem 0 0}.pub-row__excerpt{font-family:var(--font-sans);color:var(--muted);margin:.5rem 0 0;font-size:.875rem}.pub-row__facts{font-family:var(--font-sans);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0 0;font-size:.8125rem;display:flex}.tag{letter-spacing:.06em;text-transform:uppercase;color:var(--moss);background:var(--mark);border-radius:3px;padding:.1rem .375rem;font-size:.6875rem;font-weight:600}.pub-details{font-family:var(--font-sans);white-space:nowrap;color:var(--moss);background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:.2rem .75rem;font-size:.8125rem;text-decoration:none}.pub-details:hover{background:var(--mark);border-color:var(--moss)}@media (width<=40rem){.pub-row{grid-template-columns:4.5rem 1fr;gap:0 1rem}.pub-row__thumb{width:4.5rem}.pub-row__title{font-size:1.125rem}.pub-details{grid-column:2;justify-self:start;margin-top:.5rem}}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font-family:var(--font-sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);cursor:pointer;user-select:none;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .4rem .25rem .75rem;font-size:.875rem;line-height:1.4;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.chip:hover{border-color:var(--moss);background:var(--mark)}.chip:has(:focus-visible){outline:2px solid var(--moss);outline-offset:2px}.chip:has(:checked){background:var(--moss);color:var(--paper);border-color:var(--moss)}.chip__count{font-variant-numeric:tabular-nums;color:var(--muted);background:var(--ground);text-align:center;border-radius:999px;min-width:1.65rem;padding:0 .4rem;font-size:.75rem}.chip:has(:checked) .chip__count{color:var(--paper);background:var(--forest)}.chip--empty:not(:has(:checked)){color:var(--muted);border-style:dashed;border-color:var(--rule)}.card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:1.25rem 1.5rem}.contact-form,.publish-form{max-width:32rem}.contact-form label,.publish-form label{font-family:var(--font-sans);margin-bottom:1rem;font-size:.9375rem;font-weight:600;display:block}.contact-form input,.contact-form textarea,.publish-form input,.publish-form select{width:100%;font:inherit;background:var(--paper);border:1px solid var(--muted);border-radius:var(--radius);margin-top:.25rem;padding:.5rem .75rem;font-weight:400;display:block}.contact-form input:focus,.contact-form textarea:focus,.publish-form input:focus,.publish-form select:focus{border-color:var(--moss)}.publish-form [hidden]{display:none}.publish-form__source{border:0;margin:0;padding:0}.publish-form__source legend{font-family:var(--font-sans);color:var(--muted);margin-bottom:.75rem;padding:0;font-size:.9375rem}.publish-form input[type=file]{padding:.375rem}.publish-form .button:disabled{opacity:.6;cursor:progress}.publish-form__note{font-family:var(--font-sans);color:var(--muted);margin:.75rem 0 0;font-size:.875rem}.publish-form__hint{font-family:var(--font-sans);color:var(--muted);margin:-.5rem 0 1rem;font-size:.875rem}.publish-status{max-width:32rem;font-family:var(--font-sans);margin-top:1.5rem}.publish-status h2{margin-top:0;font-size:1.1875rem}.publish-status__url{overflow-wrap:anywhere;font-weight:600}.admin-signout{text-align:right;font-family:var(--font-sans);margin:0 0 .75rem;font-size:.9375rem}.admin-signout a{color:var(--moss)}.stats-card{border-left:4px solid var(--leaf);align-items:center;gap:1.25rem;max-width:40rem;margin:0 0 2rem;display:flex}.stats-icon{flex:none;width:4.5rem;height:4.5rem}.stats-icon__ground{fill:var(--mark)}.stats-icon__bar{fill:var(--leaf)}.stats-icon__bar--top{fill:var(--moss)}.stats-card__text{flex:1}.stats-card__text p{color:var(--muted);margin:0}.stats-card__text .stats-card__title{font-family:var(--font-serif);color:var(--ink);margin:0 0 .25rem;font-size:1.375rem;line-height:1.2}.stats-card__button{white-space:nowrap}@media (width<=40rem){.stats-card{flex-wrap:wrap}.stats-card__button{text-align:center;width:100%}}.hero{background:var(--forest);color:var(--paper);border-bottom:3px solid var(--leaf);margin-bottom:3rem;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(75% 130% at 12% 0,#3f6a2299,#0000 68%);position:absolute;inset:0}.hero__row{justify-content:space-between;align-items:center;gap:3rem;width:100%;padding-top:4.5rem;padding-bottom:4.5rem;display:flex;position:relative}.hero__kicker{color:var(--fern)}.hero__title{color:var(--paper);max-width:40rem;margin-bottom:0;font-size:1.875rem;line-height:1.3}.hero__title a{color:var(--fern)}.hero__portrait{object-fit:cover;object-position:top;border:3px solid var(--fern);border-radius:50%;flex-shrink:0;width:10rem;height:10rem}@media (width<=48rem){.hero__row{flex-direction:column-reverse;align-items:flex-start;gap:1.75rem;padding-top:2.5rem;padding-bottom:3rem}.hero__title{font-size:1.4375rem}.hero__portrait{width:7rem;height:7rem}}.home-grid{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1rem 3.5rem;display:grid}.home-recent h2{border-bottom:2px solid var(--leaf);margin-top:0;padding-bottom:.625rem;font-size:1.25rem}.home-recent__all{font-family:var(--font-sans);margin:1rem 0 0;font-size:.9375rem;font-weight:600}.pub-rail{margin:0;padding:0;list-style:none}.rail-item{border-bottom:1px solid var(--rule);grid-template-columns:3rem 1fr;gap:.875rem;padding:.875rem 0;display:grid}.rail-item__thumb{background:var(--paper);border:1px solid var(--rule);border-radius:3px;width:3rem;height:auto}.rail-item__title{font-family:var(--font-serif);color:var(--ink);font-size:1.0625rem;line-height:1.25;text-decoration:none}.rail-item__title:hover{color:var(--moss);text-decoration:underline}.rail-item .meta{margin:.25rem 0 0;font-size:.8125rem}@media (width<=64rem){.home-grid{grid-template-columns:1fr;gap:2.5rem}.home-recent{max-width:var(--measure)}}.pub-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.pub-card__link{color:var(--ink);text-decoration:none;display:block}.pub-card__thumb{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);width:100%;height:auto}.pub-card__title{font-family:var(--font-serif);margin-top:.75rem;font-size:1.125rem;line-height:1.25;display:block}.pub-card__link:hover .pub-card__title{color:var(--moss)}.pub-card .meta{margin:.25rem 0 0}.pub-grid__all{font-family:var(--font-sans);font-weight:600}.pub-grid--page{margin-top:1.5rem}.pub-card__thumb--none{aspect-ratio:480/620;display:block}@media (width<=64rem){.pub-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=48rem){.pub-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.library-lede{margin-top:-.25rem}.library-controls{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);gap:1.25rem;margin:1.5rem 0 .5rem;padding:1.25rem 1.5rem 1rem;display:grid}.library-search label{font-family:var(--font-sans);margin-bottom:.375rem;font-size:.875rem;font-weight:600;display:block}.library-search input{width:100%;font:inherit;background:var(--ground);border:1px solid var(--muted);border-radius:var(--radius);padding:.625rem .875rem;font-size:1.0625rem}.library-search input:focus{background:var(--paper);border-color:var(--moss)}.library-filters{gap:1rem;display:grid}.library-filter{border:0;margin:0;padding:0}.library-filter__legend{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;padding:0;font-size:.75rem;font-weight:600}.library-bar{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-top:.875rem;display:flex}#library-status{font-family:var(--font-sans);color:var(--muted);margin:0;font-size:.9375rem}.library-clear{font-family:var(--font-sans);color:var(--moss);cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;padding:0;font-size:.875rem;text-decoration:underline}.library-year{border-top:1px solid var(--rule);margin-top:2rem;padding-top:1rem}.library-list--collapsed .pub-row--extra,.library-list--collapsed section:not(:has(.pub-row:not(.pub-row--extra))){display:none}.library-more{margin:1.5rem 0 0}.button--quiet{color:var(--moss);border:1px solid var(--rule);background:0 0}.button--quiet:hover{background:var(--mark);color:var(--forest);border-color:var(--moss)}.experience{grid-template-columns:1fr auto;align-items:start;gap:2.5rem;display:grid}.experience__collage{border:1px solid var(--rule);border-radius:var(--radius)}@media (width<=48rem){.experience{grid-template-columns:1fr}.experience__collage{display:none}}.contact-lede{margin-bottom:2rem}.contact-form{max-width:32rem}.doc .meta{margin-bottom:1.25rem}.doc .kicker a{color:var(--moss);text-decoration:none}.doc .kicker a:hover{text-decoration:underline}.doc-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.doc-actions__facts{font-family:var(--font-sans);color:var(--muted);font-size:.875rem}.doc-share{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--font-sans);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.875rem;display:flex}.doc-share__label{color:var(--muted);margin-right:.25rem;font-weight:600}.doc-share__link{font:inherit;color:var(--moss);background:var(--paper);border:1px solid var(--rule);cursor:pointer;border-radius:999px;padding:.2rem .75rem;text-decoration:none}.doc-share__link:hover{background:var(--mark);border-color:var(--moss)}.doc-embed{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);width:100%;height:80vh;margin:1.5rem 0;display:block}@media (width<=40rem){.doc-embed{display:none}}.doc-cite{font-family:var(--font-sans);overflow-wrap:anywhere;font-size:.9375rem}.video-section h2{margin-top:2.5rem}.video-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.video-card__link{color:var(--ink);text-decoration:none;display:block}.video-card__thumb{aspect-ratio:16/9;object-fit:cover;background:var(--forest);border:1px solid var(--rule);border-radius:var(--radius);width:100%;height:auto}.video-card__title{font-family:var(--font-serif);margin-top:.625rem;font-size:1.125rem;line-height:1.25;display:block}.video-card__link:hover .video-card__title{color:var(--moss)}.video-card__aside{margin:.25rem 0 0}@media (width<=64rem){.video-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=40rem){.video-grid{grid-template-columns:1fr;gap:1.25rem}}
