@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.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(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,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(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,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(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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{--font-mono:"IBM Plex Mono", "SF Mono", ui-monospace, monospace;--font-sans:"IBM Plex Sans Variable", "IBM Plex Sans", system-ui, sans-serif;--font-heading:var(--font-sans);--font-body:var(--font-sans);--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:3.5rem;--space-xl:5.5rem;--space-2xl:8rem;--max-text:42rem;--max-layout:76rem;--radius:3px;--radius-pixel:2px;--border-hairline:1px;--header-pad-y:1.125rem;--texture-opacity:.04}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#141413;--color-bg-elevated:#1b1b1a;--color-text:#ededea;--color-text-subtle:#b9b7b1;--color-text-muted:#8a8880;--color-syntax-comment:#8a918c;--color-border:#ededea1a;--color-hairline:#ededea0f;--color-overlay-scrim:#141413eb;--color-header-bg:#141413;--color-header-border:#ededea14;--color-code-bg:#ffffff0f;--color-tag-bg:#ffffff0d;--color-accent:#e5a723;--color-accent-dim:#f2c14e;--color-syntax-key:#f0be5c;--color-accent-soft:color-mix(in srgb, var(--color-accent) 12%, transparent);--color-accent-soft-hover:color-mix(in srgb, var(--color-accent) 20%, transparent);--color-accent-btn-border:color-mix(in srgb, var(--color-accent) 38%, transparent);--color-callout-bg:color-mix(in srgb, var(--color-accent) 10%, #ffffff08)}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f2f2ef;--color-bg-elevated:#e9e9e6;--color-text:#1c1b18;--color-text-subtle:#3a3935;--color-text-muted:#55544d;--color-syntax-comment:#4f5860;--color-border:#1c1b1824;--color-hairline:#1c1b181c;--color-overlay-scrim:#f2f2efeb;--color-header-bg:#f2f2ef;--color-header-border:#1c1b181c;--color-code-bg:#1c1b180e;--color-tag-bg:#1c1b180b;--color-accent:#6d360d;--color-accent-dim:#522809;--color-syntax-key:#7f4011;--color-accent-soft:color-mix(in srgb, var(--color-accent) 18%, transparent);--color-accent-soft-hover:color-mix(in srgb, var(--color-accent) 26%, transparent);--color-accent-btn-border:color-mix(in srgb, var(--color-accent) 42%, transparent);--color-callout-bg:color-mix(in srgb, var(--color-accent) 10%, #1c1b1809)}html[data-theme=light] .site-nav__link--active{color:var(--color-text);font-weight:600}html[data-theme=light] .page-sidebar__link--active{color:var(--color-text)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.72}#root{min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color .15s,opacity .15s}a:hover{color:var(--color-accent-dim)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}button{font:inherit}.skip-link{top:-100px;left:var(--space-sm);z-index:1000;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);color:var(--color-accent);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;position:absolute}.skip-link:focus{top:var(--space-sm)}.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}.layout{z-index:1;max-width:var(--max-layout);padding:var(--space-md) var(--space-md) var(--space-2xl);margin:0 auto;position:relative}.layout:before{content:"";pointer-events:none;z-index:0;opacity:var(--texture-opacity);background-image:repeating-radial-gradient(circle at 20% 30%,#0000 0 2px,#785a280f 2px 3px,#0000 3px 5px);background-size:7px 7px;position:fixed;inset:0}html[data-theme=dark] .layout:before{background-image:repeating-radial-gradient(circle at 20% 30%,#0000 0 2px,#ffdca00b 2px 3px,#0000 3px 5px)}.layout>*{z-index:1;position:relative}@media (width>=768px){.layout{padding:var(--space-lg) var(--space-xl) var(--space-2xl)}}.home-page.layout{padding-bottom:var(--space-lg)}@media (width>=768px){.home-page.layout{padding-bottom:var(--space-xl)}}.site-header{z-index:50;margin:calc(var(--space-md) * -.5) calc(var(--space-md) * -1) var(--space-lg);padding:0 var(--space-md);background:var(--color-header-bg);border-bottom:var(--border-hairline) solid var(--color-header-border);position:sticky;top:0}@media (width>=768px){.site-header{margin-left:calc(var(--space-xl) * -1);margin-right:calc(var(--space-xl) * -1);padding-left:var(--space-xl);padding-right:var(--space-xl)}}.site-header__inner{align-items:center;gap:var(--space-sm) var(--space-md);max-width:var(--max-layout);padding:var(--header-pad-y) 0;flex-wrap:wrap;margin:0 auto;display:flex}.site-header__brand{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-text);margin-right:auto;font-size:1rem;font-weight:600;text-decoration:none;transition:color .15s}.site-header__brand:hover{color:var(--color-accent)}.site-header__brand:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-nav{flex-wrap:wrap;align-items:center;gap:.35rem 1.25rem;display:flex}.site-nav__link{color:var(--color-text-muted);border-bottom:1px solid #0000;padding:.2rem 0;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.site-nav__link:hover{color:var(--color-text)}.site-nav__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-nav__link--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.site-header__end{align-items:center;margin-left:auto;display:flex}.site-content{gap:var(--space-lg);align-items:start;min-height:min(65vh,44rem);padding:0;display:grid}@media (width>=768px){.site-content{gap:var(--space-xl)}.site-content--with-sidebar{grid-template-columns:12rem minmax(0,1fr)}}.app--with-sidebar .site-content--with-sidebar .page-sidebar{margin-top:0}.site-main{min-width:0}.theme-text-toggle{border-radius:var(--radius-pixel);min-height:2.25rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.35rem .5rem;transition:color .15s,background .15s;display:inline-flex}.theme-text-toggle__label{min-width:4.25rem;font-family:var(--font-mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:600;display:inline-block}.theme-text-toggle:hover{color:var(--color-accent);background:var(--color-accent-soft)}.theme-text-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.mono-label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:none;color:var(--color-text-muted);font-size:.75rem;font-weight:500}.ui-icon{line-height:1;display:inline-block}.content-surface{margin:0}.content-surface__eyebrow{margin:0 0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:var(--border-hairline) solid var(--color-hairline)}.content-surface__body{padding:0}.content-surface--hero .content-surface__body{padding:var(--space-md) 0 var(--space-lg)}@media (width>=768px){.content-surface--hero .content-surface__body{padding:var(--space-lg) 0 var(--space-xl)}}.content-surface--prose{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-hairline) solid var(--color-hairline)}.resume-block{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:var(--border-hairline) solid var(--color-hairline);max-width:48rem}.resume-block__label{margin-bottom:var(--space-sm)}.resume-page .resume-block{padding-top:var(--space-sm);border-top:none;margin-top:0}.resume-page .resume-block__label{margin-bottom:var(--space-xs)}.resume-page .resume-inline--surface{padding-top:var(--space-md);margin-top:0}.resume-page .resume-inline__header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.resume-inline--surface{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:var(--border-hairline) solid var(--color-hairline);max-width:52rem}.resume-inline__header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--border-hairline) solid var(--color-hairline)}.resume-inline__doc-name{margin:0 0 var(--space-xs);letter-spacing:-.02em;color:var(--color-text);font-size:clamp(1.35rem,2.5vw,1.6rem);font-weight:700}.resume-inline__section{margin-bottom:var(--space-lg)}.resume-inline__section:last-of-type{margin-bottom:0}.resume-inline__h2{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:var(--border-hairline) solid var(--color-text);color:var(--color-text);font-size:.7rem;font-weight:700}.resume-inline__p{margin:0 0 var(--space-sm);max-width:var(--max-text);color:var(--color-text);font-size:1rem;line-height:1.55}.resume-inline__p strong,.resume-inline__strong{font-weight:700}.resume-inline__job{margin-bottom:var(--space-lg)}.resume-inline__job:last-child{margin-bottom:0}.resume-inline__job-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm) var(--space-md);margin:var(--space-md) 0 var(--space-xs);flex-wrap:wrap;display:flex}.resume-inline__job:first-of-type .resume-inline__job-head{margin-top:0}.resume-inline__job-title{font-size:1.02rem;font-weight:700}.resume-inline__job-dates{color:var(--color-text-muted);white-space:nowrap;font-size:.9375rem}.resume-inline__job-co{color:var(--color-text-muted);margin:0 0 var(--space-xs);font-size:.9375rem;font-style:italic}.resume-inline__list{margin:var(--space-xs) 0 var(--space-sm);padding-left:1.25rem}.resume-inline__list li{margin-bottom:var(--space-xs);color:var(--color-text);line-height:1.5}.resume-inline__tech{color:var(--color-text-subtle);margin:0;font-size:.875rem;font-style:italic}.resume-inline__tech-label{font-style:normal;font-weight:700}.resume-inline__project{margin-bottom:var(--space-md)}.resume-inline__project:last-child{margin-bottom:0}.resume-inline__project-name{font-weight:700}.resume-inline__project-title{margin:0 0 var(--space-xs);color:var(--color-text);line-height:1.55}.resume-inline__project-title a{color:var(--color-accent);font-weight:500;text-decoration:none}.resume-inline__project-title a:hover{color:var(--color-accent-dim);text-decoration:underline}.resume-inline__skills{gap:var(--space-sm) var(--space-md);grid-template-columns:minmax(10.5rem,15rem) minmax(0,1fr);margin:0;display:grid}@media (width<=520px){.resume-inline__skills{gap:var(--space-xs) 0;grid-template-columns:1fr}}.resume-inline__skill-term{color:var(--color-text);margin:0;font-size:.98rem;font-weight:700;line-height:1.5}.resume-inline__skill-term:after{content:":";font-weight:700}.resume-inline__skill-def{color:var(--color-text);margin:0;font-size:.98rem;line-height:1.5}@media print{.resume-block{display:none}.resume-inline--surface{border-top:none;max-width:none;padding-top:0}}.hobbies-hero-surface{margin-bottom:var(--space-lg);max-width:none}.hobbies-sub-surface{margin-bottom:var(--space-lg);max-width:48rem}.hobbies-page .hobbies-sub-surface{margin-bottom:0}.hobbies-page .hobbies-stack-item.section{margin-bottom:var(--space-lg)}.hobbies-page .hobbies-stack-item.section:last-child{margin-bottom:var(--space-2xl)}.about-surface{max-width:52rem}.not-found-surface{max-width:36rem;margin:0 auto}.content-well{max-width:var(--max-text);padding:var(--space-md) 0 var(--space-lg);margin:0 auto}.content-well.mdx-prose{padding-top:var(--space-lg)}.hero-accent{max-width:var(--max-text);margin:var(--space-md) 0 0;color:var(--color-text-subtle);font-size:1rem;line-height:1.6}.hero-actions{align-items:flex-start;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:var(--border-hairline) solid var(--color-hairline);flex-direction:column;display:flex}@media (width>=520px){.hero-actions{flex-flow:wrap;align-items:center}}.hero-secondary-nav{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.9375rem;display:flex}.hero-secondary-nav a{color:var(--color-text-subtle);font-weight:500;text-decoration:none;transition:color .15s}.hero-secondary-nav a:hover{color:var(--color-accent)}.hero-secondary-nav__sep{color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.section{margin-bottom:var(--space-2xl)}.home-page .site-main main .section{margin-bottom:var(--space-md);opacity:0;animation:.7s ease-out forwards section-in}.home-page .site-main main .section:first-child{animation-delay:50ms}@keyframes section-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-page .site-main main .section{opacity:1!important;animation:none!important;transform:none!important}}.route-shell{animation:.42s cubic-bezier(.22,1,.36,1) route-in}@keyframes route-in{0%{opacity:0;transform:translateY(14px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}.route-shell--stagger-children>*{animation:.5s cubic-bezier(.22,1,.36,1) both route-child-in}.route-shell--stagger-children>:first-child{animation-delay:30ms}.route-shell--stagger-children>:nth-child(2){animation-delay:80ms}.route-shell--stagger-children>:nth-child(3){animation-delay:.13s}.route-shell--stagger-children>:nth-child(4){animation-delay:.18s}.route-shell--stagger-children>:nth-child(5){animation-delay:.23s}@keyframes route-child-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.route-shell{animation:.22s ease-out route-in-reduced}@keyframes route-in-reduced{0%{opacity:0}to{opacity:1}}.route-shell--stagger-children>*{opacity:1!important;animation:none!important;transform:none!important}}.hero-name{font-family:var(--font-heading);letter-spacing:-.028em;margin:0 0 var(--space-sm);font-size:clamp(2.25rem,6vw,3.75rem);font-weight:600;line-height:1.12}.hero-role{color:var(--color-accent);margin:0 0 var(--space-md);font-size:1.05rem;font-weight:500}.hero-one-liner{max-width:var(--max-text);margin:0 0 var(--space-lg);color:var(--color-text-subtle);font-size:1.125rem;line-height:1.65}.btn{font-family:var(--font-sans);border-radius:var(--radius-pixel);border:var(--border-hairline) solid var(--color-border);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.9375rem;font-weight:500;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.btn:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--color-accent) 16%, transparent);transform:translateY(-2px)}.btn--ghost:hover{box-shadow:0 8px 22px color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn:active{opacity:.92}@media (prefers-reduced-motion:reduce){.btn:active{opacity:1}.btn:hover,.btn:focus-visible{box-shadow:none;transform:none}}.btn--primary{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent-btn-border)}.btn--primary:hover{background:var(--color-accent-soft-hover);border-color:var(--color-accent-dim);color:var(--color-accent)}.btn--ghost{background:var(--color-bg);color:var(--color-text-muted)}.btn--ghost:hover{color:var(--color-text);border-color:var(--color-accent-btn-border)}.section-title{font-family:var(--font-heading);letter-spacing:-.018em;margin:0 0 var(--space-sm);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:500;line-height:1.25}.section-lead{max-width:var(--max-text);margin:0 0 var(--space-lg);color:var(--color-text-subtle);font-size:1rem}.section-lead--tight{margin-top:calc(var(--space-md) * -1);font-size:.9375rem}.section-title--hero{font-size:clamp(1.5rem,4vw,2rem)}.work-teasers{gap:var(--space-md);margin-bottom:var(--space-md);flex-direction:column;display:flex}.card-title a{color:inherit;text-decoration:none;transition:color .15s}.card-title a:hover{color:var(--color-accent)}.work-index__list{gap:var(--space-lg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.work-index__list--flat{margin-top:var(--space-lg);gap:0}.work-row{padding:var(--space-lg) 0;border-bottom:var(--border-hairline) solid var(--color-hairline)}.work-row:first-child{padding-top:var(--space-sm)}.work-row:last-child{border-bottom:none}.work-row__grid{gap:var(--space-md);align-items:start;display:grid}@media (width>=960px){.work-row__grid{gap:var(--space-xl);grid-template-columns:minmax(12rem,16rem) minmax(0,1fr)}}.work-row__year{margin:0 0 var(--space-xs)}.work-row__title{font-family:var(--font-heading);margin:0 0 var(--space-md);letter-spacing:-.018em;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:500;line-height:1.2}.work-row__title a{color:inherit;text-decoration:none;transition:color .15s}.work-row__title a:hover{color:var(--color-accent)}.work-row__lead{margin:0 0 var(--space-md);color:var(--color-text-subtle);max-width:var(--max-text);font-size:1.0625rem;line-height:1.65}.work-row__tags,.work-row__actions{margin:0}.case-study{max-width:52rem;margin:0 auto}.case-study--article{max-width:52rem}.case-study__kicker{margin:0 0 var(--space-sm);padding-bottom:var(--space-sm);border-bottom:var(--border-hairline) solid var(--color-hairline)}.case-study__header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.case-study__title{font-family:var(--font-heading);letter-spacing:-.028em;margin:0 0 var(--space-sm);font-size:clamp(1.75rem,4vw,2.35rem);font-weight:500;line-height:1.15}.case-study__subtitle{margin:0 0 var(--space-md);color:var(--color-text-subtle);max-width:var(--max-text);font-size:1.125rem}.case-study__facts{gap:var(--space-sm) var(--space-lg);margin:0 0 var(--space-md);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));font-size:.9375rem;display:grid}.case-study__facts dt{font-family:var(--font-mono);letter-spacing:.02em;text-transform:none;color:var(--color-text-muted);margin:0 0 .2rem;font-size:.75rem}.case-study__facts dd{color:var(--color-text);margin:0}.case-study__actions{margin-bottom:var(--space-md)}.case-study__stack{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.not-found .section-lead a{font-weight:500}.mdx-prose{color:var(--color-text);font-size:1.05rem;line-height:1.7}.mdx-prose h2{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--color-text);margin:var(--space-xl) 0 var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);font-size:1.2rem;font-weight:500}.mdx-prose h2:first-child{border-top:none;margin-top:0;padding-top:0}.mdx-prose p{margin:0 0 var(--space-md);max-width:var(--max-text)}.mdx-prose ol{margin:0 0 var(--space-md);max-width:var(--max-text);color:var(--color-text);padding-left:1.35rem}.mdx-prose li{margin-bottom:var(--space-xs)}.mdx-prose strong{color:var(--color-text)}.mdx-prose a{font-weight:500}.callout{margin:var(--space-md) 0;padding:var(--space-md);border-left:3px solid var(--color-accent);background:var(--color-callout-bg);border-radius:0 var(--radius) var(--radius) 0;font-size:.98rem}.callout p:last-child{margin-bottom:0}.code-inline{font-family:var(--font-mono);border:1px solid var(--color-border);background:var(--color-code-bg);color:var(--color-syntax-key);border-radius:4px;padding:.12em .35em;font-size:.9em}.card{background:var(--color-bg-elevated);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pixel);padding:var(--space-lg);max-width:48rem}.card-eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:none;color:var(--color-accent);margin:0 0 var(--space-xs);font-size:.75rem;font-weight:500}.card-lead{margin:0 0 var(--space-md);color:var(--color-text-subtle)}.card ul{margin:0 0 var(--space-md);color:var(--color-text-subtle);padding-left:1.25rem}.card li{margin-bottom:var(--space-xs)}.card-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.about h2{font-family:var(--font-heading);margin:0 0 var(--space-md);letter-spacing:-.018em;font-size:1.5rem;font-weight:500}.about p{max-width:var(--max-text);margin:0 0 var(--space-md);color:var(--color-text)}.about p:last-of-type{margin-bottom:var(--space-lg)}.tags{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius-pixel);color:var(--color-text-muted);background:var(--color-tag-bg);padding:.35rem .6rem;font-size:.72rem}.page-sidebar-page,.page-sidebar-layout{min-width:0}.page-sidebar-layout--with-sidebar{gap:var(--space-lg);align-items:start;display:grid}@media (width>=768px){.page-sidebar-layout--with-sidebar{gap:var(--space-xl);grid-template-columns:11.75rem minmax(0,1fr)}}.page-sidebar{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pixel);border:var(--border-hairline) solid var(--color-border);background:var(--color-bg-elevated)}@media (width>=768px){.page-sidebar{top:var(--space-md);padding:var(--space-md);position:sticky}}.page-sidebar__label{margin:0 0 var(--space-sm)}.page-sidebar__nav{flex-direction:column;gap:.125rem;display:flex}.page-sidebar__link{margin:0 calc(var(--space-md) * -1);border-radius:var(--radius-pixel);font-family:var(--font-sans);color:var(--color-text-muted);border-left:1px solid #0000;padding:.45rem .65rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:block}.page-sidebar__link:hover{color:var(--color-text);background:var(--color-accent-soft)}.page-sidebar__link--active{border-left-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft);font-weight:600}.page-sidebar-main{min-width:0}.page-sidebar-section{scroll-margin-top:5.5rem}.about-tags{margin-top:var(--space-md)}.resume-panel__actions{margin-bottom:var(--space-sm)}.resume-panel__note{max-width:var(--max-text);margin-bottom:0}
