@charset "UTF-8";:root{--accent: #22e07a;--accent-glow: rgba(34, 224, 122, .55);--accent-soft: rgba(34, 224, 122, .12);--accent-deep: #0a1c12;--bg: #07090a;--bg-2: #0c0f11;--panel: #0e1214;--fg: #e7ece9;--muted: #8a958f;--faint: #5b645f;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--body: #c4ccc8;--surface: rgba(255, 255, 255, .02);--surface-2: rgba(255, 255, 255, .035);--nav-bg: rgba(8, 10, 11, .55);--cap-bg: rgba(0, 0, 0, .4);--accent-text: var(--accent);--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--nav-w: 232px;--maxw: 880px}:root[data-theme=light]{--bg: #f2f5f1;--bg-2: #e8ece7;--panel: #ffffff;--fg: #14201a;--muted: #586259;--faint: #939d94;--line: rgba(18, 40, 28, .1);--line-strong: rgba(18, 40, 28, .17);--body: #3a443d;--surface: rgba(18, 40, 28, .025);--surface-2: rgba(18, 40, 28, .05);--nav-bg: rgba(242, 245, 241, .72);--cap-bg: rgba(255, 255, 255, .66);--accent-glow: transparent;--accent-text: #0c9b51}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--display);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}:root.no-transition,:root.no-transition *,:root.no-transition *:before,:root.no-transition *:after{transition:none!important}::selection{background:var(--accent);color:#04140b}a{color:inherit;text-decoration:none}.bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 78% -5%,var(--accent-soft),transparent 60%),radial-gradient(700px 500px at 0% 105%,rgba(255,255,255,.03),transparent 55%)}:root[data-bg=grid] .bg-layer:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 60% 20%,#000 0%,transparent 80%);mask-image:radial-gradient(circle at 60% 20%,#000 0%,transparent 80%);opacity:.5}:root[data-bg=dots] .bg-layer:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--line-strong) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(circle at 60% 20%,#000 0%,transparent 80%);mask-image:radial-gradient(circle at 60% 20%,#000 0%,transparent 80%);opacity:.6}.page{position:relative;z-index:1}.sidenav{position:fixed;top:0;left:0;width:var(--nav-w);height:100vh;padding:38px 26px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--nav-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40}.sidenav-brand{display:flex;align-items:center;gap:4px;cursor:pointer;margin-bottom:54px}.brand-mark{font-family:var(--mono);font-weight:700;font-size:22px;letter-spacing:1px;color:var(--fg);border:1.5px solid var(--accent);padding:4px 9px;border-radius:7px;box-shadow:0 0 0 0 var(--accent-glow),0 0 18px -4px var(--accent-glow)}.brand-cursor{width:10px;height:19px;background:var(--accent);display:inline-block;animation:blink 1.1s steps(1) infinite;box-shadow:0 0 12px var(--accent-glow)}@keyframes blink{50%{opacity:0}}.sidenav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1}.nav-link{display:flex;align-items:baseline;gap:11px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:14px;color:var(--muted);padding:9px 10px;border-radius:7px;text-align:left;transition:color .18s,background .18s,transform .18s}.nav-idx{font-size:11px;color:var(--faint)}.nav-label{letter-spacing:.3px}.nav-link:hover{color:var(--fg);background:var(--surface-2)}.nav-link.is-active{color:var(--accent-text);background:var(--accent-soft)}.nav-link.is-active .nav-idx{color:var(--accent-text)}.nav-link.is-active .nav-label:before{content:"\25b8  "}.lang-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;width:max-content;margin-top:18px}.lang-btn{font-family:var(--mono);font-size:12px;letter-spacing:1px;padding:7px 13px;background:none;border:none;cursor:pointer;color:var(--muted);transition:.18s}.lang-btn.is-on{background:var(--accent);color:#04140b}.lang-btn:not(.is-on):hover{color:var(--fg)}.topbar{display:none;position:sticky;top:0;z-index:50;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-brand{cursor:pointer}.content{margin-left:var(--nav-w);padding:0 8vw;max-width:calc(var(--maxw) + 16vw)}.prompt{font-family:var(--mono);font-size:13.5px;letter-spacing:.5px;display:inline-flex;align-items:center;gap:7px;color:var(--muted);margin-bottom:16px}.prompt-sign{color:var(--accent-text)}.prompt-cursor{width:8px;height:15px;background:var(--accent);display:inline-block;animation:blink 1.1s steps(1) infinite;box-shadow:0 0 10px var(--accent-glow)}.section{padding:70px 0;border-top:1px solid var(--line)}.sec-head{margin-bottom:44px}.sec-title{font-family:var(--display);font-weight:600;font-size:clamp(34px,5vw,52px);letter-spacing:-1.5px;margin:0;display:flex;align-items:baseline;gap:16px}.sec-num{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--accent-text);letter-spacing:0;position:relative;top:-6px}.hero{padding:11vh 0 64px;min-height:92vh;display:flex;flex-direction:column;justify-content:center;position:relative}.hero-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:center}.hero-name{font-family:var(--display);font-weight:600;font-size:clamp(48px,8.5vw,92px);line-height:.98;letter-spacing:-3px;margin:4px 0 14px}.hero-role{font-family:var(--mono);font-size:clamp(15px,2.4vw,20px);color:var(--accent-text);letter-spacing:.5px;margin-bottom:22px;text-shadow:0 0 22px var(--accent-glow)}:root[data-glow=off] .hero-role{text-shadow:none}.hero-meta{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px 0;font-family:var(--mono);font-size:13.5px;color:var(--muted)}.hero-meta li{padding:0 14px;border-left:1px solid var(--line-strong)}.hero-meta li:first-child{padding-left:0;border-left:none}.hero-status{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:13px;color:var(--fg);padding:7px 14px;border:1px solid var(--accent-soft);border-radius:100px;background:var(--accent-soft);margin-bottom:34px}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.82)}}.hero-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:26px;max-width:520px}.linkchip{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:12px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface);transition:border-color .2s,transform .2s,background .2s;color:var(--muted)}.linkchip svg{grid-row:1/3;color:var(--fg)}.lc-label{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--faint)}.lc-val{font-family:var(--mono);font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linkchip:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.linkchip:hover svg{color:var(--accent-text)}.linkchip-cv{border-color:var(--accent-soft)}.btn-cv{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:14px;font-weight:500;padding:13px 22px;background:var(--accent);color:#04140b;border-radius:10px;width:max-content;box-shadow:0 0 0 0 var(--accent-glow),0 8px 30px -10px var(--accent-glow);transition:transform .2s,box-shadow .2s}.btn-cv:hover{transform:translateY(-2px);box-shadow:0 0 24px -2px var(--accent-glow),0 12px 34px -10px var(--accent-glow)}.hero-aside{display:flex;justify-content:center}.photo-frame{position:relative;margin:0;width:100%;max-width:300px;border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:0 24px 60px -24px #000,0 0 40px -18px var(--accent-glow)}.photo-frame img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 22%;filter:grayscale(.55) contrast(1.05) brightness(.92);mix-blend-mode:luminosity}.photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--accent-deep) 140%);mix-blend-mode:color;opacity:.55;pointer-events:none}.photo-cap{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--muted);padding:9px 13px;border-top:1px solid var(--line);background:var(--cap-bg);position:relative;z-index:2}.photo-live{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text)}.photo-live .dot{width:6px;height:6px}.scanline{position:absolute;left:0;right:0;height:90px;top:-90px;z-index:1;background:linear-gradient(180deg,transparent,var(--accent-soft),transparent);animation:scan 4.5s linear infinite;pointer-events:none}:root[data-glow=off] .scanline{display:none}@keyframes scan{0%{top:-90px}to{top:100%}}.scroll-hint{position:absolute;bottom:26px;left:0;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--faint)}.scroll-hint svg{animation:bob 1.8s ease-in-out infinite}@keyframes bob{50%{transform:translateY(5px)}}.about-body{max-width:720px}.about-body p{color:var(--body);margin:0 0 20px;text-wrap:pretty}.about-body p:first-child{font-size:1.12em;color:var(--fg)}.about-body p:first-child:first-letter{font-family:var(--mono);color:var(--accent)}.timeline{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:grid;grid-template-columns:200px 1fr;gap:32px;padding:0 0 44px 28px;border-left:1px solid var(--line-strong)}.tl-item:last-child{padding-bottom:0}.tl-node{position:absolute;left:-6.5px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--faint)}.tl-current .tl-node{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 16px var(--accent-glow)}.tl-period{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding-top:3px;letter-spacing:.3px}.tl-role{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.4px;margin:0 0 4px}.tl-company{font-family:var(--mono);font-size:13.5px;color:var(--accent-text);margin-bottom:14px}.tl-summary{color:var(--body);margin:0 0 16px;font-size:15.5px;text-wrap:pretty}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{font-family:var(--mono);font-size:12px;color:var(--muted);padding:4px 11px;border:1px solid var(--line);border-radius:100px;background:var(--surface);transition:.18s}.tag:hover{color:var(--accent-text);border-color:var(--accent)}.tag-lg{font-size:13px;padding:7px 14px}.edu-list{list-style:none;margin:0;padding:0}.edu-row{display:grid;grid-template-columns:80px 1.3fr 1fr;gap:24px;align-items:baseline;padding:18px 14px;border-radius:10px;border-bottom:1px solid var(--line);transition:background .18s}.edu-row:hover{background:var(--surface-2)}.edu-year{font-family:var(--mono);font-size:15px;color:var(--accent-text)}.edu-name{font-family:var(--display);font-weight:500;font-size:17px;color:var(--fg)}.edu-school{font-family:var(--mono);font-size:13px;color:var(--muted);text-align:right}.skills-grid{display:flex;flex-direction:column;gap:34px}.skill-label{font-family:var(--mono);font-size:13px;color:var(--faint);margin-bottom:16px;letter-spacing:.5px}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.interest-card{border:1px solid var(--line);border-radius:14px;padding:26px 24px;background:linear-gradient(160deg,var(--surface-2),transparent);transition:border-color .2s,transform .2s}.interest-card:hover{border-color:var(--accent);transform:translateY(-3px)}.interest-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.interest-glyph{font-size:22px;color:var(--accent-text);text-shadow:0 0 14px var(--accent-glow)}:root[data-glow=off] .interest-glyph{text-shadow:none}.interest-tag{font-family:var(--mono);font-size:12px;color:var(--faint)}.interest-title{font-family:var(--display);font-weight:600;font-size:19px;margin:0 0 10px;letter-spacing:-.3px}.interest-body{font-size:14.5px;color:var(--body);margin:0;text-wrap:pretty}.footer{padding:64px 0 80px;border-top:1px solid var(--line);text-align:left}.footer-line{font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:22px}.footer-up{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;color:var(--accent-text);background:none;border:1px solid var(--accent-soft);border-radius:8px;padding:9px 16px;cursor:pointer;transition:.18s;margin-bottom:26px}.footer-up:hover{background:var(--accent-soft)}.footer-copy{font-family:var(--mono);font-size:11.5px;color:var(--faint)}.sidenav-controls{display:flex;align-items:center;gap:10px;margin-top:18px}.sidenav-controls .lang-toggle{margin-top:0}.topbar-controls{display:flex;align-items:center;gap:10px}.topbar-controls .lang-toggle{margin-top:0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:33px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--fg);cursor:pointer;transition:color .18s,border-color .18s,background .18s}.theme-toggle:hover{color:var(--accent-text);border-color:var(--accent);background:var(--accent-soft)}:root[data-theme=light] .photo-frame img{filter:grayscale(.12) contrast(1.02);mix-blend-mode:normal}:root[data-theme=light] .photo-frame:after{opacity:0}:root[data-theme=light] .photo-frame{box-shadow:0 24px 60px -30px #12281c66}:root[data-theme=light] .hero-role{text-shadow:none}:root[data-theme=light] .brand-mark{box-shadow:none}@media(max-width:1080px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-aside{justify-content:flex-start;order:-1}.photo-frame{max-width:220px}}@media(max-width:860px){.sidenav{display:none}.topbar{display:flex}.content{margin-left:0;padding:0 24px}.hero{min-height:auto;padding:7vh 0 48px}.hero-links{grid-template-columns:1fr}.tl-item{grid-template-columns:1fr;gap:8px}.edu-row{grid-template-columns:64px 1fr}.edu-school{grid-column:2;text-align:left}.interest-grid{grid-template-columns:1fr}.scroll-hint{display:none}}@media(max-width:480px){body{font-size:16px}.edu-row{grid-template-columns:56px 1fr;gap:14px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}
