@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.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}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.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}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-cyrillic-wght-normal.CjwCQKo9.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-ext-wght-normal.BDUtSsKd.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:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-wght-normal.ObQm3Zd1.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}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}:root{--paper:#f4f2ec;--ink:#25262a;--ink-muted:#5e5f63;--line:#25262a29;--accent:#2447a8;--diagram-ink:#2a2823;--diagram-muted:#2a28238c;--diagram-plate:#eae7df;--diagram-accent:var(--accent);--diagram-alert:#b42318;--lightbox-paper:#111110;--lightbox-ink:#ecebe6;--lightbox-muted:#ecebe69e;--font-body:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--font-label:"Jost Variable", "Futura", "Century Gothic", sans-serif;--font-diagram:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace;--measure:42rem;--gutter:20rem;--gutter-gap:2.5rem;--page-pad:1.5rem;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-variant-numeric:oldstyle-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.7;overflow-x:clip}::selection{background:color-mix(in srgb, var(--accent) 20%, transparent)}a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-color .2s}a:hover{color:var(--accent);border-bottom-color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3{text-wrap:balance;margin:0;font-weight:500;line-height:1.2}.site-header,.site-footer,main{grid-template-columns:minmax(var(--page-pad), 1fr) minmax(0, var(--measure)) minmax(var(--page-pad), 1fr);display:grid}.site-header>*,.site-footer>*,main>*{grid-column:2;justify-self:start}main>*{justify-self:stretch}@media (width>=1100px){.has-gutter :is(.site-header,.site-footer,main){grid-template-columns:minmax(var(--page-pad), 1fr) minmax(0, var(--measure)) minmax(calc(var(--gutter-gap) + var(--gutter) + var(--page-pad)), 1fr)}}.site-header{padding-top:1.5rem;padding-bottom:2rem}@media (width>=960px){:root{--page-top:2.5rem}main{padding-top:var(--page-top)}.site-header{padding:calc(var(--page-top) - .12rem) 0 0 var(--page-pad);display:block;position:absolute;top:0;left:0}}@media (width>=1100px) and (width<=1199.98px){.has-gutter main{padding-top:0}.has-gutter .site-header{padding:1.5rem 0 2rem;display:grid;position:static}}.site-header__name{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;font-size:.85rem;font-weight:500}.site-footer{color:var(--ink-muted);font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;margin-top:6rem;padding-bottom:2.5rem;font-size:.75rem}.site-footer>*{grid-row:1}.site-footer>.license__trigger{justify-self:end}.home__name{letter-spacing:-.01em;font-size:3rem}.home__description{color:var(--ink-muted);margin:1.25rem 0 0;font-size:1.25rem;line-height:1.6}.post-list{border-top:1px solid var(--line);margin:4.5rem 0 0;padding:0;list-style:none}.post-list__link{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:2rem;padding:.9rem 0;display:flex}.post-list__link:hover{border-bottom-color:var(--line)}.post-list__title{font-size:1.35rem;line-height:1.35}.post-list__date{color:var(--ink-muted);white-space:nowrap;font-size:1.05rem}.post__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;display:flex}.post__date{color:var(--ink-muted);font-family:var(--font-label);font-variant-numeric:lining-nums;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;display:block}@media (width<=640px){:root{--page-pad:1.25rem}.site-header{padding-top:1.25rem;padding-bottom:1.75rem}.home__name{font-size:2.4rem}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
