@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-vietnamese-400-normal.DdKr49mV.woff2)format("woff2"),url(/_astro/newsreader-vietnamese-400-normal.BekUZro8.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-ext-400-normal.svq1FPys.woff2)format("woff2"),url(/_astro/newsreader-latin-ext-400-normal.DYA1XoQK.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-normal.BFBkh4jY.woff2)format("woff2"),url(/_astro/newsreader-latin-400-normal.gRTjlS2D.woff)format("woff");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:italic;font-display:swap;font-weight:400;src:url(/_astro/newsreader-vietnamese-400-italic.bZegYFuM.woff2)format("woff2"),url(/_astro/newsreader-vietnamese-400-italic.QbB8kb5s.woff)format("woff");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;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-ext-400-italic.BMTE_bNQ.woff2)format("woff2"),url(/_astro/newsreader-latin-ext-400-italic.qdgKLcPG.woff)format("woff");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;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-italic.CEihAR-f.woff2)format("woff2"),url(/_astro/newsreader-latin-400-italic.CNZoH1hn.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/newsreader-vietnamese-600-normal.CaH84vfx.woff2)format("woff2"),url(/_astro/newsreader-vietnamese-600-normal.CVAR0otO.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/newsreader-latin-ext-600-normal.BXv5iMHi.woff2)format("woff2"),url(/_astro/newsreader-latin-ext-600-normal.BrbfzHZ5.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/newsreader-latin-600-normal.30OJ_TG_.woff2)format("woff2"),url(/_astro/newsreader-latin-600-normal.DUnT2r2g.woff)format("woff");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-display:swap;font-weight:700;src:url(/_astro/newsreader-vietnamese-700-normal.DuQcgozP.woff2)format("woff2"),url(/_astro/newsreader-vietnamese-700-normal.DtcFBl0j.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/newsreader-latin-ext-700-normal.Ougc6Dr0.woff2)format("woff2"),url(/_astro/newsreader-latin-ext-700-normal.79d_He5Z.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/newsreader-latin-700-normal.rIgV_oaK.woff2)format("woff2"),url(/_astro/newsreader-latin-700-normal.CluIqIw6.woff)format("woff");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{--bg:#f6f7f9;--text:#161a2b;--muted:#5a6175;--line:#dde0e6;--accent:#2b45d1;--code-bg:#eceef3;--font-serif:"Newsreader", Charter, "Iowan Old Style", Cambria, Georgia, serif;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-reading:var(--font-serif);--size-reading:1.2rem;--measure:64ch;--col:42rem;--frame:60rem;--wide:66rem;--gutter:clamp(1rem, 5vw, 2rem);color-scheme:light}:root[data-theme=dark]{--bg:#0e1118;--text:#e6e8ee;--muted:#98a0ae;--line:#262b35;--accent:#8ea2ff;--code-bg:#181c24;color-scheme:dark}:root[data-size="1"]{--size-reading:1.05rem}:root[data-size="3"]{--size-reading:1.35rem}:root[data-size="4"]{--size-reading:1.5rem}:root[data-size="5"]{--size-reading:1.7rem}:root[data-width=narrow]{--measure:52ch}:root[data-width=wide]{--measure:78ch}:root[data-font=sans]{--font-reading:var(--font-sans)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:1.5rem}body{background:var(--bg);min-height:100dvh;color:var(--text);font:1rem/1.6 var(--font-sans);flex-direction:column;margin:0;display:flex}main{flex:1;width:100%}img,svg{max-width:100%;height:auto}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:.2em}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent)}button{font:inherit;color:inherit;cursor:pointer}.skip{left:var(--gutter);z-index:10;background:var(--text);color:var(--bg);border-radius:4px;padding:.5rem .9rem;position:absolute;top:-4rem}.skip:focus{top:.75rem}.frame{width:min(100% - 2 * var(--gutter), var(--frame));margin-inline:auto}.col{width:min(100% - 2 * var(--gutter), var(--col));margin-inline:auto}.wide{width:min(100% - 2 * var(--gutter), var(--wide));margin-inline:auto}.site-header{background:var(--bg)}.masthead{padding:1rem var(--gutter);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.mark-link{color:var(--text);justify-self:start;display:inline-grid}.mark{flex:none;width:2.1rem;height:1.7rem}.brand{font:700 clamp(1.2rem, 3.4vw, 1.6rem)/1 var(--font-sans);letter-spacing:-.01em;text-align:center;text-decoration:none}.tools{justify-self:end;gap:.25rem;display:flex}.site-nav{padding-inline:var(--gutter);border-bottom:1px solid var(--line);justify-content:center;gap:0 2rem;font-size:1rem;display:flex;overflow-x:auto}.site-nav a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:.85rem 0 .75rem;text-decoration:none}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--text);font-weight:600}.icon-btn{min-width:2.25rem;height:2.25rem;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0 .5rem;display:inline-grid}.icon-btn:hover{color:var(--text);border-color:var(--line)}.icon-btn svg{width:1.15rem;height:1.15rem}.theme-sun{display:none}:root[data-theme=dark] .theme-sun{display:block}:root[data-theme=dark] .theme-moon{display:none}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:5rem;padding-block:2rem 2.5rem;font-size:.9rem}.site-footer .frame{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-footer ul{gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.intro{padding-top:clamp(2.5rem,8vw,5rem)}.home{padding-top:clamp(1.5rem,4vw,2.25rem)}.home-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.home-top>.card-hero{border-right:1px solid var(--line);padding-right:1.5rem}.home-top.solo{grid-template-columns:minmax(0,1fr)}.home-top.solo>.card-hero{border-right:0;max-width:46rem;margin-inline:auto;padding-right:0}.home-side{flex-direction:column;padding-left:1.5rem;display:flex}.home-side>.card+.card{border-top:1px solid var(--line)}.card{position:relative}.card a{text-decoration:none}.card-title a:hover{color:var(--accent)}.card-img{background:var(--code-bg);border-radius:6px;display:block;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%;display:block}.card-img.placeholder{background:color-mix(in srgb, var(--accent) 9%, var(--code-bg));font:700 clamp(2.5rem, 6vw, 5rem)/1 var(--font-serif);color:color-mix(in srgb, var(--accent) 45%, transparent);place-items:center;display:grid;position:relative}.card-img.placeholder:after{content:"";background:var(--accent);width:60%;height:4px;position:absolute;bottom:0;left:0}.card-row .card-img.placeholder,.card-tile .card-img.placeholder{font-size:2.25rem}.card-title{font-family:var(--font-serif);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:700}.card-desc{color:var(--muted);margin:.4rem 0 0}.card-meta{font:500 .78rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-wrap:wrap;gap:0 .4rem;margin:.6rem 0 0;display:flex}.card-hero .card-img{aspect-ratio:1200/630}.card-hero .card-body{text-align:center;padding:1.75rem 1rem .5rem}.card-hero .card-title{font-size:clamp(1.75rem,3.6vw,2.5rem);line-height:1.12}.card-hero .card-desc{font:1.2rem/1.45 var(--font-serif);text-wrap:balance;margin-top:.75rem}.card-hero .card-meta{justify-content:center;margin-top:1rem}.card-row{grid-template-columns:minmax(0,1fr) 9.5rem;gap:1.25rem;padding-block:1.25rem;display:grid}.card-row:first-child{padding-top:0}.card-row .card-img{aspect-ratio:3/2;order:2;align-self:start}.card-row .card-title{font-size:1.3rem;line-height:1.25}.card-row .card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-more{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.home-more-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.home-more-head h2{font:700 1.4rem/1.2 var(--font-serif);margin:0}.home-more-head a{font:500 .8rem var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-decoration:none}.home-more-head a:hover{color:var(--text)}.tiles{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:2rem 1.5rem;display:grid}.card-tile .card-img{aspect-ratio:1200/630;margin-bottom:.9rem}.card-tile .card-title{font-size:1.2rem;line-height:1.25}.card-tile .card-desc{font-size:.95rem}@media (width<=52rem){.home-top{grid-template-columns:minmax(0,1fr)}.home-top>.card-hero{border-right:0;border-bottom:1px solid var(--line);padding:0 0 1.5rem}.home-side{padding:1.5rem 0 0}}@media (width<=30rem){.card-row{grid-template-columns:minmax(0,1fr) 6.5rem;gap:.9rem}.card-row .card-title{font-size:1.1rem}.card-row .card-desc{display:none}}.featured h1,.featured h2{font:700 clamp(2rem, 5.5vw, 3.1rem)/1.1 var(--font-serif);letter-spacing:-.02em;text-wrap:balance;margin:0 0 1rem}.meta{color:var(--muted);flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.875rem;display:flex}.more{margin-top:1.25rem;font-size:.95rem}.section-title{font:600 1rem/1.4 var(--font-sans);color:var(--muted);margin:3.5rem 0 .5rem}.page-title{font:700 clamp(1.9rem, 4.5vw, 2.5rem)/1.15 var(--font-serif);letter-spacing:-.02em;margin:clamp(2.5rem,7vw,4rem) 0 .5rem}.page-lede{color:var(--muted);margin:0 0 2rem;font-size:1.05rem}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line)}.list a{grid-template-columns:7.5rem 1fr;gap:.25rem 1.25rem;padding:.9rem 0;text-decoration:none;display:grid}.list time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.2rem;font-size:.875rem}.list .t{font:600 1.25rem/1.3 var(--font-serif)}.list a:hover .t{color:var(--accent)}@media (width<=34rem){.list a{grid-template-columns:1fr}}.year{font:700 1.5rem/1 var(--font-serif);margin:2.5rem 0 .25rem}.tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tags a{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:.2rem .7rem;font-size:.875rem;text-decoration:none;display:inline-block}.tags a:hover{color:var(--text);border-color:var(--muted)}.tags .n{opacity:.7;margin-left:.3rem}.article{width:min(100% - 2 * var(--gutter), var(--measure));font-size:var(--size-reading);margin-inline:auto;padding-top:clamp(2rem,6vw,3.5rem)}.article-head h1{font:700 clamp(2rem, 5vw, 2.9rem)/1.12 var(--font-serif);letter-spacing:-.02em;text-wrap:balance;margin:1rem 0 .75rem}.article-head .lede{font:1.15em/1.45 var(--font-reading);color:var(--muted);margin:0 0 1.25rem}.article-head .tags{margin-bottom:.25rem}.toc{border-block:1px solid var(--line);font:.9rem/1.5 var(--font-sans);margin:2rem 0}.toc summary{cursor:pointer;color:var(--muted);padding:.7rem 0}.toc ol{margin:0 0 1rem;padding-left:1.25rem}.toc ol ol{margin:.2rem 0}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}.prose{font-family:var(--font-reading);margin-top:2rem;line-height:1.65}.prose>*{margin-block:0 1.25em}.prose h2,.prose h3{font-family:var(--font-serif);letter-spacing:-.01em;text-wrap:balance;margin-top:2.2em;margin-bottom:.6em;line-height:1.25}.prose h2{font-size:1.55em}.prose h3{font-size:1.25em}.prose a{color:var(--accent)}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin-inline:0;padding-left:1.1em;font-style:italic}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.35em}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.5em}.prose img{border-radius:4px}.prose figure{margin-inline:0}.prose figcaption{font:.85em var(--font-sans);color:var(--muted);margin-top:.5em}.prose :not(pre)>code{font:.86em var(--font-mono);background:var(--code-bg);border-radius:4px;padding:.12em .35em}.prose pre{font:.85rem/1.6 var(--font-mono);border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;position:relative;overflow-x:auto}.prose pre code{font:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font:.9em var(--font-sans);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.5em .8em}.callout{border:1px solid var(--line);border-left:3px solid var(--accent);font-family:var(--font-sans);border-radius:4px;padding:.9em 1.1em;font-size:.95em}.astro-code,.astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.copy{font:.75rem var(--font-sans);background:var(--bg);border:1px solid var(--line);color:var(--muted);opacity:0;border-radius:4px;padding:.15rem .55rem;transition:opacity .15s;position:absolute;top:.4rem;right:.4rem}.prose pre:hover .copy,.copy:focus-visible{opacity:1}@media (hover:none){.copy{opacity:1}}.pager{border-top:1px solid var(--line);font:.95rem/1.4 var(--font-sans);grid-template-columns:1fr 1fr;gap:1rem;margin-top:4rem;padding-top:1.5rem;display:grid}.pager a{text-decoration:none;display:block}.pager small{color:var(--muted);margin-bottom:.2rem;display:block}.pager .next{text-align:right;grid-column:2}.pager a:hover span{color:var(--accent)}.updated{color:var(--muted);font:.875rem var(--font-sans);margin-top:2rem}.inkline{z-index:20;background:var(--accent);transform-origin:0;pointer-events:none;height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.inkline{animation-name:inkline-grow;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}@keyframes inkline-grow{to{transform:scaleX(1)}}}#reading-panel{inset:4.25rem auto auto;right:var(--gutter);border:1px solid var(--line);background:var(--bg);width:min(18rem,100vw - 2rem);color:var(--text);border-radius:8px;margin:0;padding:1rem;font-size:.9rem;position:fixed;box-shadow:0 8px 28px #00000024}.rp-row+.rp-row{margin-top:1rem}.rp-label{color:var(--muted);margin:0 0 .4rem;font-size:.85rem}.seg{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.seg button{background:0 0;border:0;flex:1;padding:.4rem .5rem}.seg button+button{border-left:1px solid var(--line)}.seg button:hover{background:var(--code-bg)}.seg button[aria-pressed=true]{background:var(--text);color:var(--bg)}.seg button:disabled{opacity:.4;cursor:default}.rp-reset{color:var(--muted);background:0 0;border:0;margin-top:1rem;padding:0;font-size:.85rem;text-decoration:underline}.search-input{width:100%;color:inherit;border:1px solid var(--line);background:0 0;border-radius:6px;padding:.75rem .9rem;font-size:1.05rem}.search-input:focus-visible{border-color:var(--accent);outline-offset:2px}.results{margin:1.5rem 0 0;padding:0;list-style:none}.results li{border-bottom:1px solid var(--line);padding:1rem 0}.results a{font:600 1.25rem/1.3 var(--font-serif)}.results p{color:var(--muted);margin:.3rem 0 0;font-size:.95rem}.results mark{background:color-mix(in srgb, var(--accent) 22%, transparent);color:inherit;border-radius:2px}.status{color:var(--muted);margin-top:1rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.site-header,.site-footer,.pager,.toc{display:none}body{color:#000;background:#fff}}.about{width:min(100% - 2 * var(--gutter), var(--measure));font-size:var(--size-reading)}.about .page-title{margin-top:.25rem;font-size:clamp(2rem,5vw,2.9rem);line-height:1.12}.about .job-points,.about .feature-text,.about .now{font-size:1.05rem}.about .job-roles{font-size:1rem}.about-section>p{font-size:1.05rem}.about-head{padding-top:clamp(2rem,6vw,3.5rem)}.about-head:after{content:"";clear:both;display:table}.about-photo{float:right;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);border-radius:12px;width:min(200px,30%);height:auto;margin:.25rem 0 1rem 1.5rem}@media (width<=34rem){.about-photo{float:none;width:200px;margin:0 0 1.25rem;display:block}}.about-lede{font:1.15em/1.5 var(--font-serif);margin:.75rem 0 1.25rem}.about-facts{color:var(--muted);flex-wrap:wrap;gap:.35rem 1.25rem;margin:0 0 1.25rem;padding:0;font-size:.95rem;list-style:none;display:flex}.about-links{flex-wrap:wrap;gap:.5rem;display:flex}.pill{border:1px solid var(--line);border-radius:99px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.9rem;text-decoration:none;display:inline-flex}.pill:hover{border-color:var(--text)}.pill svg{width:1rem;height:1rem}.now{margin-top:2rem;font-size:1rem;line-height:1.55}.about-section{margin-top:3rem}.about-section>h2{font:700 1.5rem/1.2 var(--font-serif);border-bottom:1px solid var(--line);margin:0 0 1.25rem;padding-bottom:.5rem}.feature{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--bg));border-radius:10px;gap:.5rem;padding:1.5rem;text-decoration:none;display:grid}.feature:hover{border-color:var(--accent)}.feature-tag{font:600 .75rem var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.feature-title{font:700 1.4rem/1.25 var(--font-serif);text-wrap:balance}.feature-text{color:var(--muted);line-height:1.6}.feature-more{color:var(--accent);font-size:.95rem;font-weight:600}.jobs{margin:0;padding:0;list-style:none}.job{grid-template-columns:3rem minmax(0,1fr);gap:1.1rem;padding-block:1.25rem;display:grid}.job+.job{border-top:1px solid var(--line)}.job-logo{background:color-mix(in srgb, var(--accent) 10%, var(--code-bg));border:1px solid var(--line);width:3rem;height:3rem;font:700 1rem var(--font-sans);color:var(--accent);border-radius:10px;place-items:center;text-decoration:none;display:grid;overflow:hidden}.job-logo img{object-fit:contain;background:#fff;width:100%;height:100%;padding:6px}.job h3{font:700 1.25rem/1.25 var(--font-serif);margin:0}.job h3 a{text-decoration:none}.job h3 a:hover{color:var(--accent)}.job-blurb{color:var(--muted);margin:.15rem 0 .6rem;font-size:.9rem}.job-roles{margin:0 0 .75rem;padding:0;font-size:.95rem;list-style:none}.job-roles li{flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;display:flex}.job-roles span{font-weight:600}.job-roles time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.subhead{font:600 .8rem var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.75rem 0 0}.job-points{margin:0;padding-left:1.1rem;line-height:1.55}.job-points li+li{margin-top:.35rem}.job-points li::marker{color:var(--accent)}.projects{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;display:grid}.project{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem;display:flex}.project h3{font:700 1.1rem var(--font-sans);margin:0}.project h3 a{align-items:center;gap:.45rem;text-decoration:none;display:inline-flex}.project h3 a:hover{color:var(--accent)}.project h3 svg{width:1rem;height:1rem}.project p{margin:0;font-size:.93rem;line-height:1.55}.project-stack{color:var(--muted);margin-top:auto!important;font-size:.82rem!important}.project-extra{color:var(--accent);font-size:.88rem;text-decoration:none}.skills{gap:1rem;margin:0;display:grid}.skills>div{grid-template-columns:8rem minmax(0,1fr);align-items:baseline;gap:.5rem 1rem;display:grid}.skills dt{font-size:.95rem;font-weight:600}.skills dd{margin:0}.skills .tags span{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:.2rem .7rem;font-size:.85rem;display:inline-block}@media (width<=34rem){.skills>div{grid-template-columns:1fr}}
