@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/newsreader-vietnamese-wght-normal.5c203539.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(/_next/static/media/newsreader-latin-ext-wght-normal.52ecd825.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(/_next/static/media/newsreader-latin-wght-normal.257fdc63.woff2) format("woff2-variations");unicode-range:u+00??,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(/_next/static/media/newsreader-vietnamese-wght-italic.bb13b455.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(/_next/static/media/newsreader-latin-ext-wght-italic.f7591bfe.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(/_next/static/media/newsreader-latin-wght-italic.79cb1c5a.woff2) format("woff2-variations");unicode-range:u+00??,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(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.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(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.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(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.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(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.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(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,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(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.60bbe6c8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.994c9659.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(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.2a0db536.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.d2ac083e.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(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.cd8df815.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.e53d79b9.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(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.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(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff");unicode-range:u+00??,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:#f3ede1;--paper-2:#ebe3d1;--ink:#1b1a17;--muted:#6a6457;--rule:#cdc3ad;--accent:#8f2d1f;--ok:#2f5d3a;--warn:#8a6a1d;--serif:"Newsreader Variable","Iowan Old Style",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--measure:38rem}@media (prefers-color-scheme:dark){:root{--paper:#15140f;--paper-2:#1d1b15;--ink:#ece5d4;--muted:#9a9382;--rule:#38352b;--accent:#e0826d;--ok:#86b894;--warn:#d1ae5a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.1875rem;line-height:1.6;font-optical-sizing:auto;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.01em;margin:0}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.5rem .8rem;z-index:10}.skip:focus{left:0}.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.mono.plain{text-transform:none}.frame{max-width:74rem;margin:0 auto;padding:0 1.25rem}.topbar{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;padding:1.4rem 0 1.1rem;border-bottom:1px solid var(--rule)}.brand{font-size:1.05rem;text-decoration:none;font-weight:500}.brand span{color:var(--accent)}.nav{display:flex;gap:1.1rem;flex-wrap:wrap;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.nav a{text-decoration:none;color:var(--muted);padding:.15rem 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.row{display:grid;grid-template-columns:1fr;grid-gap:.4rem 2.5rem;gap:.4rem 2.5rem;padding:2.4rem 0;border-bottom:1px solid var(--rule)}.row:last-of-type{border-bottom:0}@media (min-width:52rem){.row{grid-template-columns:12.5rem minmax(0,1fr)}}.margin{padding-top:.35rem}.margin .mono{display:block;margin-bottom:.3rem}.margin .mono.k{color:var(--ink)}.body{max-width:var(--measure);min-width:0}.body.wide{max-width:52rem}.hero{padding:4.5rem 0 3rem;border-bottom:1px solid var(--rule)}.hero h1{font-size:clamp(2.3rem,6.4vw,4.6rem);line-height:1.04;letter-spacing:-.02em;max-width:17ch;font-weight:400}.hero h1 em{font-style:italic;color:var(--accent)}.lead{font-size:clamp(1.15rem,2.2vw,1.4rem);max-width:34rem;margin-top:1.8rem;line-height:1.5}.avail{display:inline-block;margin-top:1.6rem;padding:.45rem .75rem;border:1px solid var(--rule);border-left:3px solid var(--ok);font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink)}.ledger{width:100%;border-collapse:collapse;font-size:1rem}.ledger th{text-align:left;font-family:var(--mono);font-weight:400;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.5rem .8rem .5rem 0;border-bottom:1px solid var(--ink)}.ledger td{vertical-align:top;padding:.85rem .8rem .85rem 0;border-bottom:1px solid var(--rule);line-height:1.4}.ledger td.claim{max-width:22rem}.pills{display:flex;flex-wrap:wrap;gap:.25rem .6rem;font-size:.8rem}.pills,.status{font-family:var(--mono)}.status{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.45rem;background:var(--ok)}.status.self:before{background:transparent;border:1.5px solid var(--warn)}@media (max-width:40rem){.ledger thead{display:none}.ledger,.ledger tbody,.ledger td,.ledger tr{display:block;width:100%}.ledger tr{padding:.8rem 0;border-bottom:1px solid var(--rule)}.ledger td{border:0;padding:.15rem 0}}.index a.item{display:grid;grid-template-columns:2.4rem 1fr;grid-gap:.2rem 1rem;gap:.2rem 1rem;padding:1.15rem 0;border-bottom:1px solid var(--rule);text-decoration:none}.index a.item:first-child{border-top:1px solid var(--ink)}.index .num{font-family:var(--mono);font-size:.8rem;color:var(--muted);padding-top:.35rem}.index .t{font-size:1.45rem;line-height:1.2}.index a.item:hover .t{color:var(--accent)}.index .q{color:var(--muted);font-size:1rem;line-height:1.45;max-width:36rem;margin-top:.25rem}.index .meta{grid-column:2;margin-top:.4rem}.arrow{display:inline-block;transition:transform .15s}a.item:hover .arrow{transform:translateX(4px)}.cs-head{padding:3.5rem 0 2.2rem;border-bottom:1px solid var(--rule)}.cs-head h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:400;max-width:20ch}.cs-q{font-size:clamp(1.2rem,2.4vw,1.55rem);font-style:italic;max-width:36rem;margin-top:1.4rem;line-height:1.4;color:var(--ink)}.row h2{font-size:1.5rem;margin-bottom:1rem}.plainlist li{position:relative;padding-left:1.2rem;margin-bottom:.75rem}.plainlist li:before{content:"";position:absolute;left:0;top:.75em;width:.55rem;border-top:1px solid var(--accent)}.flow{counter-reset:s;border-left:1px solid var(--ink);margin-left:.35rem}.flow li{position:relative;padding:0 0 1.1rem 1.4rem}.flow li:before{counter-increment:s;content:counter(s);position:absolute;left:-.72rem;top:.1rem;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--paper);border:1px solid var(--ink);font-family:var(--mono);font-size:.65rem;display:grid;place-items:center}.flow strong{font-weight:500;display:block}.flow span{color:var(--muted);font-size:.95rem;line-height:1.4;display:block}.decision{padding:1rem 0;border-top:1px solid var(--rule)}.decision:first-of-type{border-top:1px solid var(--ink)}.decision .c{font-size:1.15rem}.decision .o{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;color:var(--accent);margin:.2rem 0 .4rem;letter-spacing:.03em}.decision p{margin:0;font-size:1.02rem}.broke h3{font-size:1.2rem;margin-bottom:.5rem;font-style:italic}.note-box{border-left:3px solid var(--warn);background:var(--paper-2);padding:.9rem 1.1rem;font-size:1.02rem}.tags{display:flex;flex-wrap:wrap;gap:.35rem .5rem}.tag{font-family:var(--mono);font-size:.74rem;padding:.15rem .5rem;border:1px solid var(--rule);color:var(--ink)}.linklist li{margin-bottom:.35rem}.linklist a{font-family:var(--mono);font-size:.82rem}.pager{display:flex;justify-content:space-between;gap:1rem;padding:2rem 0 4rem;flex-wrap:wrap}.pager a{font-size:1.1rem}.item-block{padding:1.1rem 0;border-top:1px solid var(--rule)}.item-block:first-of-type{border-top:1px solid var(--ink)}.item-block h3{font-size:1.2rem;font-weight:500}.item-block p{margin:.35rem 0 0;font-size:1.02rem}.item-block .mono{display:block;margin-top:.25rem}.skilltable{width:100%;border-collapse:collapse;font-size:1rem}.skilltable td{padding:.9rem 1rem .9rem 0;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.45}.skilltable tr:first-child td{border-top:1px solid var(--ink)}.skilltable td:first-child{width:28%;font-weight:500}.skilltable .it{display:block;font-family:var(--mono);font-size:.76rem;color:var(--muted);font-weight:400;margin-top:.2rem}@media (max-width:40rem){.skilltable td{display:block;width:100%!important;padding:.15rem 0;border:0}.skilltable tr{display:block;padding:.8rem 0;border-bottom:1px solid var(--rule)}.skilltable tr:first-child{border-top:1px solid var(--ink)}}.footer{border-top:1px solid var(--ink);padding:2.4rem 0 3.5rem;margin-top:2rem;display:grid;grid-gap:1.2rem;gap:1.2rem}.footer .big{font-size:clamp(1.5rem,3.5vw,2.2rem);line-height:1.2;max-width:26ch}.footer .links{display:flex;gap:1.2rem;flex-wrap:wrap;font-family:var(--mono);font-size:.82rem}.post p{font-size:1.2rem;line-height:1.65}.post-list a{display:block;padding:1.1rem 0;border-bottom:1px solid var(--rule);text-decoration:none}.post-list a:first-child{border-top:1px solid var(--ink)}.post-list .t{font-size:1.4rem}.post-list a:hover .t{color:var(--accent)}.resume h2{font-size:.8rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-weight:400;border-bottom:1px solid var(--ink);padding-bottom:.3rem;margin:1.6rem 0 .7rem}.resume .rrow{display:flex;justify-content:space-between;gap:1rem;font-weight:600;flex-wrap:wrap}.resume ul li{margin:.3rem 0;padding-left:1rem;position:relative;font-size:1rem;line-height:1.45}.resume ul li:before{content:"–";position:absolute;left:0}.btn{display:inline-block;padding:.55rem .95rem;border:1px solid var(--ink);text-decoration:none;font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.btn:hover{background:var(--ink);color:var(--paper)}@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{:root{--paper:#fff;--ink:#000;--muted:#444;--rule:#bbb;--accent:#000}.footer,.noprint,.topbar{display:none!important}body{font-size:10pt;line-height:1.3}.frame{max-width:none;padding:0}}