@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-ext-400-normal-DWiEslNC.woff2)format("woff2"),url(/assets/bebas-neue-latin-ext-400-normal-HFKRJXnW.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:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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}:root{--ink:#fff;--surface:#f3f6fd;--line:#dfe4f0;--text:#0e1525;--muted:#556079;--accent:#2f5bff;--display:"Bebas Neue", sans-serif;--body:"Geist Variable", system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, monospace;--maxw:1040px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:16px}body{background:var(--ink);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.display{font-family:var(--display);text-transform:uppercase;overflow-wrap:break-word;font-weight:400;line-height:.9}.h-section{font-size:88px}.h-project{font-size:56px}.nav-wrap{padding:20px 40px 0}.nav{background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:16px 24px;display:flex}.nav-name{font-weight:500}.nav-right{align-items:center;gap:28px;display:flex}.nav ul{color:var(--muted);gap:28px;font-size:14px;display:flex}.nav ul a:hover{color:var(--text)}.lang{border:1px solid var(--line);background:#fff;border-radius:8px;gap:2px;padding:2px;display:flex}.lang button{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 9px;font-size:11px}.lang button:hover{color:var(--text)}.lang button[aria-pressed=true]{background:var(--text);color:#fff}.actions{gap:12px;margin-top:28px;display:flex}.btn{border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500}.btn-primary{background:var(--text);color:#fff}.btn-secondary{border:1px solid var(--line);background:#fff}.chips{flex-wrap:wrap;gap:8px;margin-top:40px;display:flex}.chip{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:4px 8px;font-size:11px}.hero{padding:72px 0 96px;position:relative;overflow:hidden}.hero-glow{z-index:0;pointer-events:none;background:radial-gradient(closest-side,#2f5bff33,#0000);width:720px;height:560px;position:absolute;top:40px;right:0}.hero-inner{z-index:1;position:relative}.hero-row{align-items:center;gap:56px;display:flex}.hero-left{flex:1}.hero-right{flex-shrink:0;width:500px}.hero-title{margin:20px 0 24px;font-size:112px}.hero-intro{max-width:460px;color:var(--muted);font-size:15px}.code-card{background:var(--text);border-radius:16px;padding:24px 28px}.code-head{font-family:var(--mono);color:#8a94ad;border-bottom:1px solid #ffffff1f;padding-bottom:14px;font-size:13px}.code-body{font-family:var(--mono);color:#c3d5ff;margin-top:14px;font-size:16px;line-height:1.6;overflow-x:auto}.code-body .ok{color:#7ee787}.code-body .key{color:#9db7ff}.section-inner{border-top:1px solid var(--line);padding:56px 0 96px}.section-row{gap:40px;display:flex}.section-label{flex-shrink:0;width:240px}.section-content{flex:1;min-width:0}.row{border-top:1px solid var(--line);gap:32px;padding:18px 0;display:flex}.row:first-child{border-top:0;padding-top:0}.row-key{flex-shrink:0;width:200px}.row-val{color:var(--text);flex:1}.bullets{color:var(--muted);gap:6px;margin-top:10px;font-size:15px;display:grid}.job-role{font-size:18px;font-weight:500}.job-company{margin-top:4px}.panel-wrap{padding:0 40px}.panel{max-width:var(--maxw);background:var(--text);color:#fff;border-radius:28px;margin:0 auto;padding:72px 56px 88px}.panel .label{color:#ffffff8c}.panel p{color:#ffffffbf;max-width:560px;margin-top:18px}.project{border-top:1px solid var(--line);padding:28px 0}.project:first-child{border-top:0;padding-top:0}.project-meta{justify-content:space-between;gap:16px;margin-bottom:14px;display:flex}.project p{color:var(--muted);max-width:560px;margin-top:10px}.project-link{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid #0000;margin-top:18px;font-size:12px;display:inline-block}.project-link:hover{border-bottom-color:currentColor}.hero-intro,.panel p,.project p,.bullets li,.row-val{text-align:justify;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:7 3 3}.job-role,.job-company,.mini-title,.mini-meta{text-align:left;-webkit-hyphens:manual;hyphens:manual}.more{border-top:1px solid var(--line);margin-top:56px;padding-top:40px}.more-heading{margin-bottom:24px;font-weight:400}.mini-title{font-size:18px;font-weight:500}.mini-meta{margin-top:4px}.mini-summary{color:var(--muted);margin-top:10px;font-size:15px}.more .project-link{margin-top:14px}.section-title{margin-bottom:32px}.cert{border-top:1px solid var(--line);align-items:baseline;gap:24px;padding:16px 0;display:flex}.cert-area{flex-shrink:0;width:160px}.cert-title{flex:1;font-size:17px;font-weight:500}.cert-issuer{color:var(--muted);font-size:14px}.contact-title{font-size:170px}.contact-mail{font-family:var(--mono);color:var(--accent);overflow-wrap:anywhere;margin-top:28px;font-size:22px;display:inline-block}.footer{color:var(--muted);justify-content:space-between;gap:16px;margin-top:72px;font-size:13px;display:flex}.footer nav{gap:20px;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (width<=1100px){.hero-row{flex-direction:column;align-items:stretch;gap:40px}.hero-right{width:100%}.hero-title{font-size:110px}.section-row{flex-direction:column;gap:24px}.section-label{width:100%}.contact-title{font-size:120px}.hero-glow{width:700px;height:400px;top:300px}}@media (width<=600px){.wrap,.nav-wrap,.panel-wrap{padding-left:20px;padding-right:20px}.nav{flex-wrap:wrap;row-gap:10px;padding:14px 16px}.nav-right{display:contents}.lang{order:2}.nav ul{order:3;justify-content:space-between;gap:14px;width:100%;font-size:12px}.hero{padding:40px 0 64px}.hero-title{font-size:68px}.h-section{font-size:56px}.h-project{font-size:40px}.contact-title{font-size:64px}.contact-mail{font-size:17px}.panel{border-radius:20px;padding:40px 24px 48px}.row{flex-direction:column;gap:6px}.row-key{width:auto}.cert{flex-wrap:wrap;gap:4px 12px}.cert-area{width:100%}.footer{flex-direction:column}.hero-glow{width:420px;height:400px}.project-meta{flex-direction:column;gap:4px;margin-bottom:12px}}
