:root{--bg:#0b0f14;--surface:#10161d;--surface-soft:#131a22;--line:#202a33;--line-soft:#182029;--text:#e7edf1;--muted:#9caab3;--quiet:#6d7b84;--quality:#34e2b0;--quality-soft:#34e2b01f;--security:#ba8ef2;--security-soft:#ba8ef21f;--paper:#0d131a;--paper-elevated:#121922;--ink:#e7edf1;--ink-muted:#9caab3;--paper-line:#1c2731;--paper-quality:#34e2b0;--paper-security:#ba8ef2;--max-width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-size:72px 72px;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;overflow-x:clip}a{color:inherit;text-decoration:none}::selection{background:var(--quality);color:#071210}.skip-link{z-index:100;background:var(--text);color:var(--bg);padding:10px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);background:#0b0f14d1;width:100%;height:76px;position:sticky;top:0}.site-header-inner{width:min(calc(100% - 40px), var(--max-width));grid-template-columns:1fr auto 1fr;align-items:center;height:100%;margin-inline:auto;display:grid}.brand{align-items:center;gap:12px;width:fit-content;font-weight:650;display:inline-flex}.brand-mark{border:1px solid var(--line);width:34px;height:34px;color:var(--quality);place-items:center;font:700 12px/1 ui-monospace,monospace;display:grid}.site-header nav{color:var(--muted);gap:30px;font-size:14px;display:flex}.site-header nav a,.header-contact{transition:color .2s}.site-header nav a:hover,.site-header nav a:focus-visible,.header-contact:hover,.header-contact:focus-visible{color:var(--quality)}.header-actions{justify-self:end;align-items:center;gap:18px;display:flex}.language-switch{width:34px;height:34px;color:var(--muted);border:1px solid var(--line);place-items:center;font:650 11px/1 ui-monospace,monospace;transition:color .2s,border-color .2s;display:grid}.language-switch:hover,.language-switch:focus-visible{color:var(--quality);border-color:var(--quality)}.header-contact{border-bottom:1px solid var(--text);justify-self:end;font-size:14px;font-weight:650}main,footer{width:min(calc(100% - 40px), var(--max-width));margin-inline:auto}.hero{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:center;gap:clamp(56px,9vw,132px);min-height:680px;padding:110px 0 96px;display:grid}.hero-copy{min-width:0}.availability{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 34px;font:500 12px/1.2 ui-monospace,monospace;display:flex}.availability span,.candidate-status span{background:var(--quality);width:7px;height:7px;box-shadow:0 0 0 5px var(--quality-soft);border-radius:50%}.hero h1{letter-spacing:-.055em;max-width:840px;margin:0;font-size:clamp(48px,6.5vw,88px);font-weight:630;line-height:.98}html[lang=vi] .hero h1{letter-spacing:-.045em;font-size:clamp(44px,5.8vw,78px)}.hero h1 em{color:var(--muted);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-role{color:var(--quality);letter-spacing:.08em;text-transform:uppercase;margin:38px 0 10px;font:600 13px/1.4 ui-monospace,monospace}.hero-summary{max-width:670px;color:var(--muted);margin:0;font-size:clamp(18px,2vw,22px);font-weight:500;line-height:1.55}.hero-actions,.contact-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:38px;display:flex}.button{border:1px solid var(--line);justify-content:center;align-items:center;gap:22px;min-height:50px;padding:0 20px;font-size:14px;font-weight:650;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{color:#071513;background:var(--quality);border-color:var(--quality);font-weight:650}.button-primary:hover,.button-primary:focus-visible{color:#fff;background:#085e5a;border-color:#085e5a}.button-secondary{background:#ffffff0a}.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--quality)}.hero-panel{border:1px solid var(--line);background:#ffffff06;padding:22px}.panel-topline,.project-topline,.credential-topline{color:var(--quiet);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font:500 10px/1.3 ui-monospace,monospace;display:flex}.focus-item{border:1px solid var(--line-soft);background:var(--surface-soft);grid-template-columns:38px 1fr;gap:14px;margin-top:28px;padding:22px;display:grid}.focus-index{color:var(--quiet);font:500 11px/1.4 ui-monospace,monospace}.focus-item div{gap:5px;display:grid}.focus-item strong{font-size:16px}.focus-item div span{color:var(--muted);font-size:13px;font-weight:500}.focus-quality{border-left:2px solid var(--quality)}.focus-security{border-left:2px solid var(--security);margin-top:0}.focus-connector{height:44px;color:var(--quiet);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.focus-connector span{background:var(--line-soft);height:1px}.focus-connector i{letter-spacing:.08em;text-transform:uppercase;font:9px/1 ui-monospace,monospace}.panel-note{color:var(--muted);margin:26px 0 2px;font-size:14px;font-weight:450;line-height:1.7}.proof-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.proof-item{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:150px;padding:28px;display:flex}.proof-item:last-child{border-right:0}.proof-item strong{letter-spacing:-.05em;font:500 clamp(30px,3vw,42px)/1 ui-monospace,monospace}.proof-item span{max-width:190px;color:var(--muted);font-size:14px;font-weight:500;line-height:1.45}.proof-item{position:relative}.proof-item:before{content:"";background:var(--quality);opacity:0;width:100%;height:2px;transition:opacity .2s;position:absolute;top:0;left:0}.proof-item:hover:before{opacity:.7}.bento-intro{padding:36px 0 0}.skills-panel{border:1px solid var(--line);background:var(--surface-soft);padding:26px 28px 30px}.skills-groups{gap:24px;margin-top:22px;display:grid}.skills-group-label{color:var(--quiet);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font:600 11px/1.2 ui-monospace,monospace}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:8px;display:grid}.skill-chip{border:1px solid var(--line);background:#ffffff04;flex-direction:column;gap:2px;padding:7px 10px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.skill-chip strong{color:var(--text);font-size:12px;font-weight:650}.skill-chip i{color:var(--quiet);letter-spacing:.05em;text-transform:uppercase;font:500 9px/1.2 ui-monospace,monospace}.skill-chip:hover{border-color:var(--quality);box-shadow:0 0 0 1px var(--quality-soft), 0 0 24px -8px var(--quality);transform:translateY(-2px)}.dashboard-kicker{color:var(--quiet);letter-spacing:.08em;margin:32px 0 0;font:500 11px/1.4 ui-monospace,monospace}.section{border-bottom:1px solid var(--line);padding:112px 0}.theme-light{color:var(--ink);background:var(--paper);border-color:var(--paper-line);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);position:relative}.theme-light .section-kicker{color:var(--paper-quality)}.theme-light .section-kicker span:first-child{color:var(--quiet)}.theme-light .section-heading p{color:var(--ink-muted)}.experience-list{border-top:1px solid var(--paper-line)}.experience-item{border-bottom:1px solid var(--paper-line);grid-template-columns:72px .7fr 1.3fr;gap:32px;padding:38px 0;display:grid}.experience-item.is-compact{align-items:center;padding-block:26px}.experience-item.is-compact .experience-detail>p{margin:0}.experience-rail{color:var(--quiet);flex-direction:column;align-items:center;gap:13px;font:600 10px/1 ui-monospace,monospace;display:flex}.experience-rail i{background:var(--quiet);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #ffffff08}.experience-rail i.is-current{background:var(--paper-quality);box-shadow:0 0 0 5px #34e2b026}.experience-identity p{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font:600 11px/1.4 ui-monospace,monospace}.experience-identity h3{letter-spacing:-.03em;margin:0;font-size:30px;line-height:1.1}.experience-identity strong{color:var(--paper-quality);margin-top:10px;font-size:13px;font-weight:650;display:block}.experience-detail>p{max-width:700px;color:var(--ink-muted);margin:0 0 22px;font-size:16px;font-weight:500}.experience-detail ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.experience-detail li{color:#c5d1d9;padding-left:18px;font-size:14px;font-weight:450;line-height:1.6;position:relative}.experience-detail li:before{content:"";background:var(--paper-quality);width:6px;height:1px;position:absolute;top:.75em;left:0}.experience-detail .tag-list{grid-column:auto;margin-top:24px}.section-heading{grid-template-columns:minmax(180px,.38fr) 1fr;gap:40px;margin-bottom:68px;display:grid}.section-kicker{color:var(--quality);letter-spacing:.12em;text-transform:uppercase;gap:18px;font:600 11px/1.4 ui-monospace,monospace;display:flex}.section-kicker span:first-child{color:var(--quiet)}.section-heading h2,.contact-section h2{letter-spacing:-.04em;max-width:780px;margin:0;font-size:clamp(38px,5vw,64px);font-weight:580;line-height:1.05}.section-heading p{max-width:690px;color:var(--muted);margin:24px 0 0;font-size:18px;font-weight:500}.theme-light .tag-list span{color:var(--muted);border-color:var(--paper-line);background:#ffffff0a}.project-card h3,.credential-card h3{letter-spacing:-.025em;margin:0;font-size:21px;line-height:1.25}.project-card>p,.credential-card>p{color:var(--muted);margin:14px 0 0;font-size:14px;font-weight:450}.tag-list{flex-wrap:wrap;grid-column:2/-1;gap:6px;display:flex}.tag-list span{border:1px solid var(--line);color:var(--quiet);padding:4px 7px;font:500 9px/1.2 ui-monospace,monospace}.practice-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.practice-grid article{background:var(--surface-soft);min-height:205px;padding:30px}.practice-grid strong{color:var(--quality);font:500 38px/1 ui-monospace,monospace;display:block}.practice-grid h3{margin:34px 0 5px;font-size:16px}.practice-grid p{color:var(--muted);margin:0;font-size:14px;font-weight:450}.theme-light .practice-grid{background:var(--paper-line);border-color:var(--paper-line)}.theme-light .practice-grid article{background:var(--paper-elevated)}.theme-light .practice-grid strong{color:var(--paper-quality)}.theme-light .practice-grid p{color:var(--ink-muted)}.practice-profile-links{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.practice-profile-link{border:1px solid var(--paper-line);color:var(--paper-quality);background:var(--paper-elevated);align-items:center;gap:10px;padding:11px 14px;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.practice-profile-link.is-primary{color:#071513;background:var(--paper-quality);border-color:var(--paper-quality);font-weight:650}.practice-profile-link:hover,.practice-profile-link:focus-visible{color:#085e5a;border-color:#78a4a1}.practice-profile-link.is-primary:hover,.practice-profile-link.is-primary:focus-visible{color:#fff;background:#085e5a;border-color:#085e5a}.credentials-section{padding-top:110px}.project-grid{grid-template-columns:repeat(6,1fr);align-items:start;gap:14px;display:grid}.credential-grid{grid-template-columns:repeat(6,1fr);align-items:stretch;gap:14px;display:grid}.credential-card{grid-column:span 2}.credential-grid .credential-card:nth-child(4){grid-column:2/span 2}.credential-grid .credential-card:nth-child(5){grid-column:4/span 2}.project-card,.credential-card{border:1px solid var(--line);background:var(--surface-soft);flex-direction:column;min-height:320px;padding:28px;transition:transform .2s,border-color .2s;display:flex}.project-card.quality,.credential-card.quality{border-top:2px solid var(--quality)}.project-card.security,.credential-card.security{border-top:2px solid var(--security)}.project-card.security .project-topline span:last-child,.project-card.security>a,.credential-card.security .credential-topline span:last-child,.credential-card.security>a{color:var(--security)}.project-card:hover,.credential-card:hover{border-color:#46535f;transform:translateY(-3px)}.project-card{grid-column:span 2}.project-card h3,.credential-card h3{margin-top:28px}.project-card .tag-list,.credential-card .tag-list{grid-column:auto;align-items:center;margin-top:auto;padding-top:24px}.project-card>a,.credential-card>a{border-top:1px solid var(--line-soft);color:var(--quality);justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;font-size:13px;display:flex}.terminal-card{min-height:auto;padding:0}.terminal-chrome{border-bottom:1px solid var(--line);background:#ffffff06;align-items:center;gap:7px;padding:10px 14px;display:flex}.terminal-dot{border-radius:50%;width:9px;height:9px}.terminal-dot-red{background:#ff5f56}.terminal-dot-yellow{background:#ffbd2e}.terminal-dot-green{background:#27c93f}.terminal-filename{color:var(--quiet);margin-left:6px;font:500 11px/1 ui-monospace,monospace}.terminal-body{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.terminal-line{color:var(--muted);margin:0 0 6px;font:500 12px/1.5 ui-monospace,monospace}.terminal-line .prompt{color:var(--quality);margin-right:8px}.terminal-card.security .terminal-line .prompt{color:var(--security)}.terminal-comment{color:var(--quiet)}.terminal-cursor-line{margin-bottom:0}.terminal-cursor{background:var(--quality);vertical-align:-2px;width:7px;height:13px;margin-left:2px;animation:1.1s step-end infinite terminal-blink;display:inline-block}.terminal-card.security .terminal-cursor{background:var(--security)}@keyframes terminal-blink{50%{opacity:0}}.terminal-body h3{margin-top:12px}.terminal-description{color:var(--muted);margin:12px 0 0;font-size:14px;font-weight:450;line-height:1.5}.terminal-body>a{border-top:1px solid var(--line-soft);color:var(--quality);justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;font-size:13px;display:flex}.terminal-card.security .terminal-body>a{color:var(--security)}.credential-card{min-height:auto;padding:20px}.credential-card .tag-list{padding-top:14px}.credential-card>a,.credential-anchor-meta{margin-top:14px;padding-top:12px}.credential-anchor-meta{border-top:1px solid var(--line-soft);color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font:500 11px/1.4 ui-monospace,monospace;display:flex}.credential-badge{justify-content:center;margin-bottom:6px;display:flex}.credential-badge img{width:60px;height:auto;display:block}.credential-card h3{margin-top:10px;font-size:17px}.credential-card>p{margin-top:8px;font-size:13px}.contact-section{border:1px solid var(--line);background:linear-gradient(135deg,#34e2b024,#ba8ef214 62%,#0000);margin-top:96px;padding:clamp(48px,8vw,96px)}.contact-section h2{max-width:880px;margin-top:44px;font-size:clamp(42px,6vw,72px)}.contact-section>p:not(.section-kicker){max-width:710px;color:var(--muted);margin:24px 0 0;font-size:18px;font-weight:500}.contact-email{width:fit-content;color:var(--quality);overflow-wrap:anywhere;border-bottom:1px solid;margin-top:16px;font-size:16px;font-weight:650;display:block}.contact-email:hover,.contact-email:focus-visible{color:#085e5a}.social-links{align-items:center;gap:10px;display:flex}.social-links a{width:48px;height:48px;color:var(--muted);border:1px solid var(--line);background:#ffffff08;place-items:center;transition:color .2s,border-color .2s,background-color .2s,transform .2s;display:grid}.social-links a:hover,.social-links a:focus-visible{color:var(--quality);border-color:var(--quality);background:#34e2b01a;transform:translateY(-2px)}.social-links .social-github:hover,.social-links .social-github:focus-visible{background:#e7edf114;border-color:#e7edf1}.social-links .social-linkedin:hover,.social-links .social-linkedin:focus-visible{background:#0a66c224;border-color:#0a66c2}.social-links .social-htb:hover,.social-links .social-htb:focus-visible{background:#9fef0024;border-color:#9fef00}.social-links .social-tryhackme:hover,.social-links .social-tryhackme:focus-visible{background:#7c8bd624;border-color:#7c8bd6}.social-links svg{width:21px;height:21px}footer{min-height:110px;color:var(--quiet);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:20px;font:500 11px/1.4 ui-monospace,monospace;display:flex}footer a:hover,footer a:focus-visible{color:var(--quality)}:focus-visible{outline:2px solid var(--quality);outline-offset:4px}@media (max-width:980px){.site-header-inner{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:80px}.hero-panel{max-width:620px}.proof-grid{grid-template-columns:1fr 1fr}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.practice-grid{grid-template-columns:1fr 1fr}.project-card{grid-column:span 3}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credential-card,.credential-grid .credential-card:nth-child(4){grid-column:span 1}.credential-grid .credential-card:nth-child(5){grid-column:1/-1;justify-self:center;width:calc(50% - 7px)}.experience-item{grid-template-columns:48px 1fr}.experience-detail{grid-column:2}}@media (max-width:680px){body{background-size:44px 44px}.site-header-inner,main,footer{width:min(calc(100% - 28px), var(--max-width))}.site-header{height:66px}.header-actions{gap:12px}.header-contact,.brand-name{display:none}.hero{gap:54px;min-height:auto;padding:72px 0}.hero h1{font-size:clamp(41px,11.8vw,50px)}.hero h1 em{display:block}.hero h1 em span{white-space:nowrap}.hero h1 em span:last-child{display:block}.hero-role{font-size:11px}.hero-summary{font-size:17px}.hero-actions .button{width:100%}.proof-grid{grid-template-columns:1fr}.proof-item,.proof-item:nth-child(2){border-right:0;border-bottom:1px solid var(--line);min-height:118px}.proof-item:last-child{border-bottom:0}.section{padding:76px 0}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:44px}.section-heading h2{font-size:40px}.section-heading p{font-size:16px}.experience-item{grid-template-columns:28px 1fr;gap:14px;padding:30px 0}.experience-identity h3{font-size:26px}.experience-detail{grid-column:2}.practice-grid{grid-template-columns:1fr}.practice-grid article{min-height:180px}.practice-profile-links{justify-content:stretch}.practice-profile-link{flex:1;justify-content:space-between}.project-grid,.credential-grid{grid-template-columns:1fr}.project-card{grid-column:1}.credential-card,.credential-grid .credential-card:nth-child(4),.credential-grid .credential-card:nth-child(5){grid-column:1;width:100%}.contact-section{margin-top:56px;padding:38px 26px}.contact-section h2{margin-top:34px;font-size:42px}.contact-actions .button{width:100%}footer{flex-direction:column;align-items:flex-start;padding:34px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
