@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-cyrillic-ext-400-normal-BHxv52bw.woff2)format("woff2"),url(/assets/roboto-mono-cyrillic-ext-400-normal-W26xs1TL.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-cyrillic-400-normal-C-_K-ZCn.woff2)format("woff2"),url(/assets/roboto-mono-cyrillic-400-normal-B3hIXASd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-greek-400-normal-CH_u3Aru.woff2)format("woff2"),url(/assets/roboto-mono-greek-400-normal-P8xe1gs1.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-vietnamese-400-normal-yYTFiTTs.woff2)format("woff2"),url(/assets/roboto-mono-vietnamese-400-normal-CzWHQABp.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-ext-400-normal-DLAV9S_w.woff2)format("woff2"),url(/assets/roboto-mono-latin-ext-400-normal-BwLXVYNz.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-400-normal-GekRknry.woff2)format("woff2"),url(/assets/roboto-mono-latin-400-normal-DBZPkcnn.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-mono-cyrillic-ext-700-normal-QbUcNKL2.woff2)format("woff2"),url(/assets/roboto-mono-cyrillic-ext-700-normal-BwPMcjzm.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-mono-cyrillic-700-normal-W223d9Po.woff2)format("woff2"),url(/assets/roboto-mono-cyrillic-700-normal-DeAhOgsV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-mono-greek-700-normal-yjQVQa5h.woff2)format("woff2"),url(/assets/roboto-mono-greek-700-normal-BzcFAND_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-mono-vietnamese-700-normal-BaE27ikz.woff2)format("woff2"),url(/assets/roboto-mono-vietnamese-700-normal-CPkDCjLi.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-mono-latin-ext-700-normal-B3oRrrRC.woff2)format("woff2"),url(/assets/roboto-mono-latin-ext-700-normal-Bq2Pp7ui.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:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-mono-latin-700-normal-foxDnrFi.woff2)format("woff2"),url(/assets/roboto-mono-latin-700-normal-CHYrj1DZ.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:#fff;--text:#000000de;--link:#6d5d2e;--primary-light:#ff9d3f;--primary-contrast:#000;--secondary-light:#718792;--secondary-contrast:#fff;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#000f1a;--text:#fff;--link:#dbc58c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Roboto Mono,ui-monospace,Menlo,Consolas,monospace,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:1rem;line-height:1.5}a{color:var(--link)}:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:2px}.app{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.container{width:100%;max-width:900px;margin:0 auto;padding:0 16px}@media (width>=600px){.container{padding:0 24px}}.header{justify-content:flex-end;padding-top:16px;display:flex}.theme-toggle{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.theme-toggle-icon{width:2.6em;height:2.6em}.version{justify-content:flex-end;min-height:32px;display:flex}.version span{opacity:.2}.home{padding:64px 32px 0;font-size:12pt}@media (width>=600px){.home{padding:64px 48px 0}}@media (width>=900px){.home{font-size:16pt}}.label{opacity:.6}.contact{white-space:nowrap;display:inline-block}.contact-soon{opacity:.4;cursor:default}.icon{vertical-align:middle;width:1.15em;height:1.15em;margin-right:.15em}.skills{line-height:1.8}.skill{border-radius:var(--radius);white-space:nowrap;padding:0 8px}.skill-core{background-color:var(--primary-light);color:var(--primary-contrast)}.skill-ai{box-shadow:inset 0 0 0 1px var(--primary-light)}.skill-soft{background-color:var(--secondary-light);color:var(--secondary-contrast);opacity:.6}.inline-button{color:var(--link);cursor:pointer;font:inherit;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.nowrap,.about-item{white-space:nowrap}
