@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-wght-normal.C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-wght-normal.CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-wght-italic.xAqemagA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-wght-italic.DFS986qL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-wght-italic.Bxi8ein9.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 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");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f6f8fa;--paper-2: #edf0f3;--paper-3: #e2e6ea;--ink: #1c1e21;--ink-2: #424a52;--muted: #656d76;--rule: rgba(28, 30, 33, .13);--rule-strong: rgba(28, 30, 33, .28);--accent: oklch(.5 .13 33);--accent-deep: oklch(.42 .13 33);--accent-wash: oklch(.5 .13 33 / .06);--on-accent: #fafaf9;--ok: oklch(.5 .06 150);--serif: "Newsreader Variable", Georgia, "Times New Roman", serif;--sans: "IBM Plex Sans Variable", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-folio: clamp(.7rem, .66rem + .2vw, .78rem);--t-meta: clamp(.78rem, .74rem + .2vw, .86rem);--t-body: clamp(1rem, .97rem + .18vw, 1.075rem);--t-lead: clamp(1.18rem, 1.08rem + .5vw, 1.4rem);--t-h3: clamp(1.25rem, 1.1rem + .8vw, 1.6rem);--t-h2: clamp(1.7rem, 1.35rem + 1.8vw, 2.5rem);--t-h1: clamp(2.4rem, 1.6rem + 4vw, 4.4rem);--t-display: clamp(3rem, 1.6rem + 6.4vw, 6.5rem);--measure: 66ch;--page: 1180px;--gap: clamp(1.5rem, 1rem + 2vw, 2.75rem);--bleed: clamp(1.25rem, .5rem + 3vw, 3rem);--margin-col: 10.5rem;--header-h: 56px;--ease: cubic-bezier(.2, .5, .15, 1);--radius: 5px;--radius-sm: 3px}[data-theme=dark]{--paper: oklch(.205 .01 60);--paper-2: oklch(.245 .011 60);--paper-3: oklch(.285 .012 60);--ink: oklch(.93 .01 84);--ink-2: oklch(.78 .01 84);--muted: oklch(.64 .01 84);--rule: oklch(.93 .01 84 / .16);--rule-strong: oklch(.93 .01 84 / .32);--accent: oklch(.72 .13 38);--accent-deep: oklch(.78 .12 40);--accent-wash: oklch(.72 .13 38 / .12);--on-accent: oklch(.18 .01 60);--ok: oklch(.74 .1 150)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--sans);font-size:var(--t-body);font-weight:400;line-height:1.6;background:var(--paper);color:var(--ink);-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","liga","calt";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img,picture,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}ul,ol{list-style:none}::selection{background:var(--accent-wash)}.tnum,.mono{font-variant-numeric:tabular-nums}:where(a,button,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.page{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:var(--bleed)}.spread{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem var(--gap)}@media(min-width:860px){.spread{grid-template-columns:var(--margin-col) minmax(0,1fr)}}.rule{border:0;border-top:1px solid var(--rule);margin:0}.folio{font-family:var(--mono);display:flex;flex-direction:row;align-items:baseline;gap:.75rem;color:var(--muted)}@media(min-width:860px){.folio{flex-direction:column;gap:.4rem;position:sticky;top:calc(var(--header-h) + 1.75rem);align-self:start}}.folio__no{font-size:clamp(1.4rem,1rem + 1.6vw,2.1rem);font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.folio__label{font-size:var(--t-folio);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.serif{font-family:var(--serif)}.kicker{font-family:var(--mono);font-size:var(--t-folio);text-transform:uppercase;letter-spacing:.16em;color:var(--accent-deep)}.h1{font-family:var(--serif);font-weight:500;font-size:var(--t-h1);line-height:1.02;letter-spacing:-.018em}.h2{font-family:var(--serif);font-weight:500;font-size:var(--t-h2);line-height:1.05;letter-spacing:-.018em;text-wrap:balance}.h3{font-family:var(--serif);font-weight:500;font-size:var(--t-h3);line-height:1.15;letter-spacing:-.01em}.lead{font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:var(--measure)}em,.italic{font-style:italic}.measure{max-width:var(--measure)}.prose{max-width:var(--measure);color:var(--ink-2)}.prose>*+*{margin-top:1.1rem}.prose h2,.prose h3{color:var(--ink);margin-top:2.25rem}.prose h2{font-family:var(--serif);font-weight:500;font-size:var(--t-h3)}.prose h3{font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep)}.prose a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;text-decoration-color:var(--rule-strong)}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--ink);font-weight:600}.prose code{font-family:var(--mono);font-size:.88em;background:var(--paper-2);padding:.1em .35em;border:1px solid var(--rule);border-radius:var(--radius-sm)}.prose ul,.prose ol{padding-left:1.2rem}.prose ul{list-style:none}.prose ul li{position:relative}.prose ul li:before{content:"—";position:absolute;left:-1.2rem;color:var(--accent)}.prose ol{list-style:decimal}.prose blockquote{font-family:var(--serif);font-style:italic;font-size:var(--t-lead);line-height:1.4;color:var(--ink);border-left:2px solid var(--accent);padding-left:1.1rem}.xlink{font-family:var(--mono);font-size:var(--t-meta);color:var(--accent-deep);display:inline-flex;align-items:center;gap:.4rem;border-bottom:1px solid var(--rule-strong);padding-bottom:1px;transition:border-color .2s var(--ease),gap .2s var(--ease)}.xlink:hover{border-color:var(--accent);gap:.6rem}.xlink__arrow{transition:transform .2s var(--ease)}.xlink:hover .xlink__arrow{transform:translate(2px)}.ledger{width:100%;border-collapse:collapse;font-size:var(--t-meta)}.ledger th,.ledger td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--rule);vertical-align:baseline}.ledger th{font-family:var(--mono);font-weight:500;font-size:var(--t-folio);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.ledger .num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.deflist{display:grid;gap:0}.deflist__row{display:grid;grid-template-columns:1fr;gap:.2rem 1.5rem;padding:.85rem 0;border-top:1px solid var(--rule)}.deflist__row:last-child{border-bottom:1px solid var(--rule)}@media(min-width:620px){.deflist__row{grid-template-columns:12rem minmax(0,1fr);align-items:baseline}}.deflist__term{font-family:var(--mono);font-size:var(--t-folio);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep)}.deflist__def{color:var(--ink-2)}.status{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:var(--t-folio);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}html.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}html.js [data-reveal].in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--rule-strong)}*::-webkit-scrollbar-track{background:transparent}
