@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Roboto Mono Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/roboto-mono-cyrillic-ext-wght-normal.BUDPrIko.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:Roboto Mono Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/roboto-mono-cyrillic-wght-normal.HUlVHixE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto Mono Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/roboto-mono-greek-wght-normal.BJJTbwTT.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:Roboto Mono Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/roboto-mono-vietnamese-wght-normal.DlC-zuDL.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:Roboto Mono Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/roboto-mono-latin-ext-wght-normal.QAYlOegK.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:Roboto Mono Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/roboto-mono-latin-wght-normal.CZtBPCCa.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}section[data-astro-cid-me3nsmqc]{display:flex;flex-wrap:wrap;padding:16px 0;gap:16px;font-weight:500;font-size:.7em}section[data-astro-cid-me3nsmqc] a[data-astro-cid-me3nsmqc],section[data-astro-cid-me3nsmqc] span[data-astro-cid-me3nsmqc]{display:flex;align-items:center;color:var(--linksTextColor);transition:color .2s}section[data-astro-cid-me3nsmqc] span[data-astro-cid-me3nsmqc]{color:var(--linksSeparatorColor)}section[data-astro-cid-me3nsmqc] a[data-astro-cid-me3nsmqc]:hover{color:var(--linksTextHoverColor)}section[data-astro-cid-iyiiybp4]{border:.15rem solid var(--sectionHeaderUnderline);padding:var(--sectionPadding);font-size:1.25rem;gap:1rem}section[data-astro-cid-iyiiybp4] h1[data-astro-cid-iyiiybp4]{font-weight:700;font-size:1.5em}section[data-astro-cid-iyiiybp4] h2[data-astro-cid-iyiiybp4]{font-weight:500;font-size:.75em}section[data-astro-cid-iyiiybp4] h3[data-astro-cid-iyiiybp4]{font-weight:400;font-size:.75em}.bio[data-astro-cid-iyiiybp4]{display:flex;flex-direction:column;gap:2rem;align-items:center}@media only screen and (min-width:768px){.bio[data-astro-cid-iyiiybp4]{flex-direction:row}section[data-astro-cid-iyiiybp4] h1[data-astro-cid-iyiiybp4]{font-size:1.75em}section[data-astro-cid-iyiiybp4] h2[data-astro-cid-iyiiybp4]{font-size:1em}section[data-astro-cid-iyiiybp4] h3[data-astro-cid-iyiiybp4]{font-size:1em}}@media only screen and (min-width:992px){section[data-astro-cid-iyiiybp4] h1[data-astro-cid-iyiiybp4]{font-size:2em}}section[data-astro-cid-c4y5hvpg]{gap:1.5rem}.experience[data-astro-cid-fzsfl5s7]{border-left:.2rem solid var(--experienceSideColor);padding-left:1rem;font-size:1rem;font-weight:400}.experience[data-astro-cid-fzsfl5s7] h3[data-astro-cid-fzsfl5s7]{margin-bottom:1em}section[data-astro-cid-dynndwtz]{padding:1em;background-color:var(--skillItemBackgroundColor);border:.15rem solid var(--skillItemBorderColor);min-width:33%}section[data-astro-cid-dynndwtz] h1[data-astro-cid-dynndwtz]{letter-spacing:1px}div[data-astro-cid-y7y27gjk]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}section[data-astro-cid-ropzldsk]{border:2px dashed var(--projectItemBorderColor);padding:1rem}div[data-astro-cid-5pgn6keh]{background-color:var(--skillItemBackgroundColor);border:.1rem solid var(--skillItemBorderColor);padding:.75em}h4[data-astro-cid-5pgn6keh]{display:inline-block;margin:0;font-weight:600}div[data-astro-cid-ibbwidsn]{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem}#container[data-astro-cid-ivdev4kk]{color:var(--bodyTextColor);padding:0}@media only screen and (min-width:576px){#container[data-astro-cid-ivdev4kk]{padding:var(--containerPadding)}}:root{--backgroundColor: #f3f4f6;--backgroundGridColor: #e5e7eb;--backgroundGridSize: 20px;--spacingBase: 1rem;--sectionGap: min(calc(var(--spacingBase) * 1.5), 2rem);--sectionPadding: min(calc(var(--spacingBase) * 1.5), 2rem);--containerPadding: min(calc(var(--spacingBase) * 2), 4rem);--sectionHeaderUnderline: rgba(0, 0, 0, .9);--bodyTextColor: #222222;--surfaceBackgroundColor: #ffffff;--linksSeparatorColor: #9ca3af;--linksTextHoverColor: #111827;--linksTextColor: #374151;--experienceSideColor: #aaaaaa;--skillItemBackgroundColor: #f9f9f9;--skillItemBorderColor: rgba(0, 0, 0, .2);--projectItemBorderColor: #d1d5db}@media(prefers-color-scheme:dark){:root{--backgroundColor: #1b1e1f;--backgroundGridColor: #202224;--backgroundGridSize: 20px;--sectionHeaderUnderline: rgba(255, 255, 255, .4);--bodyTextColor: #e8e6e3;--surfaceBackgroundColor: #242628;--linksSeparatorColor: #afa99e;--linksTextHoverColor: #d6d3cd;--linksTextColor: #bdb7af;--experienceSideColor: #484e51;--skillItemBackgroundColor: #303236;--skillItemBorderColor: rgba(255, 255, 255, .1);--projectItemBorderColor: #4c5153}}@media only screen and (min-width:768px){:root{--spacingBase: 1.5rem}}@media only screen and (min-width:992px){:root{--spacingBase: 2rem}}*{box-sizing:border-box}@counter-style triangle{system:cyclic;symbols:"▸";suffix:" "}ul{list-style-type:triangle;padding-left:var(--sectionPadding)}body{margin:0;padding:0;background:linear-gradient(to right,var(--backgroundGridColor) 1px,transparent 1px),linear-gradient(to bottom,var(--backgroundGridColor) 1px,transparent 1px);background-size:var(--backgroundGridSize) var(--backgroundGridSize);background-color:var(--backgroundColor);background-attachment:fixed;font-family:Roboto Mono Variable,sans-serif;font-weight:400}main{display:flex;max-width:900px;margin:0 auto;justify-content:center;flex-direction:column;gap:var(--sectionGap)}main>section{display:flex;align-items:start;flex-direction:column;justify-content:center;padding:var(--sectionPadding);background:var(--surfaceBackgroundColor);border:.1rem solid var(--skillItemBorderColor)}main>section>*{width:100%}main>section:not(:first-child){gap:var(--sectionGap)}main>section:not(:first-child)>:first-child{margin:0;font-size:1.25rem;padding-bottom:.75rem;border-bottom:.2rem solid var(--sectionHeaderUnderline);letter-spacing:3px}main>section:not(:first-child) a[href]:not([href=""]){text-decoration:underline .15em;text-underline-offset:.2em;color:inherit}h1,h2,h3,h4,h5,h6{font-family:Inter Variable,sans-serif;color:var(--otherHeaderTextColor);margin-top:.25em;margin-bottom:.25em}h1{font-weight:700;font-size:1.25em;color:var(--primaryHeaderTextColor)}h2{font-weight:500;font-size:1.125em;color:var(--secondaryHeaderTextColor)}h3{font-weight:400;font-family:Roboto Mono Variable,monospace;font-size:1em;color:var(--tertiaryHeaderTextColor)}pre{font-weight:400}code{font-family:Roboto Mono Variable,monospace}p{color:var(--bodyTextColor);font-size:16px;line-height:24px;margin:0}html,body{margin:0;width:100%;height:100%}
