@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.2d01495e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.e7e6e1bd.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.3a78e940.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.fe506881.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.f3132e1c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.1c5b5801.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.524b6472.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.08722c54.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.731ebdad.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.dbd7ff28.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.64217604.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.92060fac.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.edd6e4d6.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.3d78cc69.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.cbd3ab50.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.a2161370.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.9de4f482.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.68b3211e.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.8b504b98.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.c85c67e8.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:700;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-700-normal.6432b8bf.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-700-normal.15fd904f.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:700;src:url(/_next/static/media/ibm-plex-mono-cyrillic-700-normal.cea782c2.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-700-normal.d187d438.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:700;src:url(/_next/static/media/ibm-plex-mono-vietnamese-700-normal.3f90c03b.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-700-normal.313be67a.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:700;src:url(/_next/static/media/ibm-plex-mono-latin-ext-700-normal.c5a520b4.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-700-normal.2f70be98.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:700;src:url(/_next/static/media/ibm-plex-mono-latin-700-normal.69378d40.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-700-normal.9918cb63.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}
/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */.flex{display:flex}.table{display:table}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.text-center{text-align:center}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg-primary:#1e1e1e;--bg-secondary:#252526;--bg-tertiary:#2d2d30;--text-primary:#d4d4d4;--text-secondary:#6a9955;--text-accent:#6a9955;--text-comment:#6a9955;--text-string:#ce9178;--text-keyword:#c586c0;--text-number:#b5cea8;--border-color:#3e3e42;--glow-color:#61afef33}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:IBM Plex Mono,monospace;line-height:1.6}::selection{background-color:var(--text-accent);color:var(--bg-primary)}*{cursor:default}a,button{cursor:pointer}a:focus,button:focus{box-shadow:0 0 0 2px var(--glow-color);outline:none}a{color:inherit;text-decoration:none}.code-block{background-color:var(--bg-secondary);border-left:3px solid var(--text-accent);border-radius:6px;margin:1rem 0;padding:1rem;position:relative;overflow-x:auto;box-shadow:0 4px 8px #0003}.code-block:before{content:"";background-color:var(--bg-tertiary);border-top-left-radius:4px;border-top-right-radius:4px;height:24px;position:absolute;top:0;left:0;right:0}.terminal{color:#0f0;text-shadow:0 0 5px #00ff0080;background-color:#000}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{background-color:var(--text-primary);vertical-align:text-bottom;width:.6em;height:1em;margin-left:2px;animation:blink 1s step-end infinite;display:inline-block}.aspect-square{aspect-ratio:1;width:100%;height:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-accent)}.main-container{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:IBM Plex Mono,monospace}.content-wrapper{max-width:1100px;margin:0 auto;padding:40px 24px}.terminal-header{margin-bottom:2.5rem;font-size:1rem}.terminal-container h1{font-size:.875rem}@media (min-width:900px){.terminal-container h1{font-size:1.4rem}}.profile-section{flex-direction:column;align-items:center;gap:2.5rem;margin-bottom:2.5rem;display:flex}@media (min-width:900px){.profile-section{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:3.5rem}}.profile-image{border:3px solid var(--text-accent);background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;width:128px;height:128px;overflow:hidden}.profile-image,.profile-info{align-items:center;display:flex}.profile-info{flex-direction:column;gap:.5rem}@media (min-width:900px){.profile-info{align-items:flex-start}}.profile-name{margin:0;font-size:1.25rem;font-weight:700}@media (min-width:900px){.profile-name{font-size:2rem}}.profile-title{color:var(--text-secondary);text-align:center;margin:0;font-size:1.2rem}@media (min-width:900px){.profile-title{text-align:left;font-size:1.2rem}}.profile-meta{flex-direction:column;align-items:center;gap:1rem;margin-top:1rem;display:flex}@media (min-width:900px){.profile-meta{align-items:flex-end}}.profile-social{gap:1.5rem;display:flex}.profile-social a{color:var(--text-accent);transition:color .2s}.profile-social a:hover{color:var(--text-secondary)}.profile-tags{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.profile-tags span{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:.5em;padding:.3em .9em;font-size:.95em}.profile-resume{background:var(--text-accent);color:var(--bg-primary);border-radius:.5em;align-items:center;padding:.5em 1.2em;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.profile-resume:hover{background:#4176a6}.resume-icon{margin-right:.5em}.main-content{flex-direction:column;gap:2.5rem;display:flex}@media (min-width:900px){.main-content{flex-direction:row;gap:2.5rem}}.sidebar{width:100%;max-width:320px}@media (min-width:900px){.sidebar{width:33%}}.tech-stack{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:.7em;padding:2em 1.5em}.tech-stack-title{color:var(--text-accent);align-items:center;margin-bottom:1.5em;font-size:1.2em;font-weight:700;display:flex}.tech-stack-icon{margin-right:.5em}.tech-stack-grid{grid-template-columns:repeat(3,1fr);gap:2em 1.2em;display:grid}.tech-item{align-items:center;gap:.5em;font-size:1em}.main-tabs,.tech-item{flex-direction:column;display:flex}.main-tabs{flex:1;min-width:0}.tab-buttons{border:1.5px solid var(--border-color);border-bottom:none;border-radius:.7em .7em 0 0;align-items:center;display:flex;overflow:hidden}.tab-buttons .mr-3{margin-right:.75rem}.tab-buttons .active-tab{background-color:var(--bg-tertiary);color:var(--text-accent)}.tab-content{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-top:none;border-radius:0 0 .7em .7em;min-height:350px;padding:2em 2em 2.5em}.tab-title{color:var(--text-accent);margin-bottom:1.2em;font-size:1.3em;font-weight:700}.knowledge-section{flex-direction:column;gap:2em;display:flex}@media (min-width:700px){.knowledge-section{flex-direction:row;gap:2em}}.knowledge-block{background:0 0;flex:1}.knowledge-block h3{color:var(--text-secondary);margin-bottom:.5em;font-size:1.1em;font-weight:700;display:inline-block}.knowledge-block ul{margin:.5em 0 0 1.2em;padding:0;font-size:.98em;list-style:outside}.knowledge-block li{margin-bottom:.3em}.experience-block{border-left:3px solid var(--text-accent);margin-bottom:2em;padding-left:1.2em}.experience-block:last-child{margin-bottom:0}.exp-meta{color:var(--text-comment);margin-bottom:.5em;font-size:.98em}.highlight-keyword{color:var(--text-keyword)}.highlight-string{color:var(--text-string)}.highlight-number{color:var(--text-number)}.footer,.highlight-comment{color:var(--text-comment)}.footer{text-align:center;margin-top:3em;font-size:1em}.footer-code{background:var(--bg-tertiary);border-radius:.5em;margin-top:.5em;padding:.3em .9em;display:inline-block}