*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;transition:background .3s,color .3s}body.dark{--bg:#0c0c0e;--bg2:#141417;--bg3:#1c1c21;--border:#ffffff12;--text:#e8e8e8;--text2:#888;--text3:#555;--accent:#4f8ef7;--accent2:#4f8ef71f;--tag-bg:#1c1c21;--tag-text:#aaa;--nav-bg:#0c0c0ed9;--dot:#4f8ef7}body.light{--bg:#fafafa;--bg2:#f3f3f5;--bg3:#ebebed;--border:#00000012;--text:#111;--text2:#666;--text3:#aaa;--accent:#2563eb;--accent2:#2563eb14;--tag-bg:#ebebed;--tag-text:#444;--nav-bg:#fafafad9;--dot:#2563eb}body.slate{--bg:#0d1117;--bg2:#161b22;--bg3:#21262d;--border:#ffffff0f;--text:#e6edf3;--text2:#7d8590;--text3:#484f58;--accent:#f0883e;--accent2:#f0883e1f;--tag-bg:#21262d;--tag-text:#8b949e;--nav-bg:#0d1117d9;--dot:#f0883e}body{background:var(--bg);color:var(--text)}nav{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px)saturate(1.4);backdrop-filter:blur(12px)saturate(1.4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 40px;display:flex;position:fixed;top:0;left:0;right:0}.nav-name{color:var(--text2);letter-spacing:.04em;font-family:DM Mono,monospace;font-size:13px;font-weight:400}.nav-name span{color:var(--text)}.nav-right{align-items:center;gap:28px;display:flex}.nav-links{gap:24px;display:flex}.nav-links a{color:var(--text2);font-size:13px;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.lang-switcher{background:var(--bg3);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex}.lang-btn{cursor:pointer;color:var(--text2);background:0 0;border:none;border-radius:4px;padding:4px 10px;font-family:DM Mono,monospace;font-size:11px;transition:all .15s}.lang-btn.active{background:var(--accent);color:#fff}.container{max-width:800px;margin:0 auto;padding:0 32px}.hero{border-bottom:1px solid var(--border);padding-top:120px;padding-bottom:80px}.hero-label{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:20px;font-family:DM Mono,monospace;font-size:11px}.hero-row{align-items:flex-start;gap:40px;display:flex}.hero-content{flex:1}.hero-name{letter-spacing:-.02em;margin-bottom:4px;font-family:Syne,sans-serif;font-size:clamp(36px,6vw,56px);font-weight:700;line-height:1.05}.hero-sub{color:var(--accent);margin-bottom:20px;font-family:DM Mono,monospace;font-size:15px}.hero-bio{color:var(--text2);text-wrap:pretty;max-width:560px;font-size:16px;line-height:1.7}.hero-meta{flex-wrap:wrap;gap:20px;margin-top:28px;display:flex}.hero-meta-item{color:var(--text2);align-items:center;gap:7px;font-size:13px;display:flex}.hero-meta-item svg{opacity:.5}.avatar-wrap{background:var(--bg3);border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:110px;height:110px;overflow:hidden}.avatar-wrap img{object-fit:cover;width:100%;height:100%;display:block}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:10px 22px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-ghost{background:var(--bg3);color:var(--text2);border:1px solid var(--border);cursor:pointer;border-radius:7px;padding:10px 22px;font-size:14px;font-weight:400;text-decoration:none;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--text);border-color:var(--text3)}section{border-bottom:1px solid var(--border);padding:72px 0}.section-label{letter-spacing:.12em;color:var(--text3);text-transform:uppercase;margin-bottom:8px;font-family:DM Mono,monospace;font-size:11px}.section-title{letter-spacing:-.01em;margin-bottom:40px;font-family:Syne,sans-serif;font-size:28px;font-weight:700}.timeline{position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:6px;bottom:6px;left:0}.tl-item{margin-bottom:48px;padding-left:28px;position:relative}.tl-item:last-child{margin-bottom:0}.tl-dot{background:var(--dot);border:2px solid var(--bg);width:9px;height:9px;box-shadow:0 0 0 3px var(--accent2);border-radius:50%;position:absolute;top:7px;left:-4px}.tl-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.tl-role{font-size:16px;font-weight:600}.tl-period{color:var(--text3);white-space:nowrap;font-family:DM Mono,monospace;font-size:11px}.tl-company{color:var(--accent);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.tl-tag-industry{color:var(--text3);font-family:DM Mono,monospace;font-size:11px}.tl-bullets{list-style:none}.tl-bullets li{color:var(--text2);margin-bottom:4px;padding-left:16px;font-size:14px;line-height:1.65;position:relative}.tl-bullets li:before{content:"—";color:var(--text3);position:absolute;left:0}.tl-stack{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tag{background:var(--tag-bg);color:var(--tag-text);white-space:nowrap;border-radius:4px;padding:3px 9px;font-family:DM Mono,monospace;font-size:11px}.tag.accent{background:var(--accent2);color:var(--accent)}.stack-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.stack-group-title{letter-spacing:.1em;color:var(--text3);text-transform:uppercase;margin-bottom:10px;font-family:DM Mono,monospace;font-size:11px}.stack-tags{flex-wrap:wrap;gap:6px;display:flex}.projects-grid{grid-template-columns:1fr;gap:16px;display:grid}.project-card{border:1px solid var(--border);background:var(--bg2);border-radius:10px;padding:24px;transition:border-color .2s}.project-card:hover{border-color:var(--accent)}.project-card.placeholder{opacity:.5}.project-icon{background:var(--accent2);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:14px;font-size:16px;display:flex}.project-name{margin-bottom:6px;font-size:15px;font-weight:600}.project-desc{color:var(--text2);margin-bottom:14px;font-size:13px;line-height:1.6}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-link{color:var(--accent);align-items:center;gap:5px;margin-top:12px;font-family:DM Mono,monospace;font-size:12px;text-decoration:none;display:inline-flex}.project-link:hover{text-decoration:underline}.edu-grid{flex-direction:column;gap:20px;display:flex}.edu-item{background:var(--bg2);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:20px;padding:20px;display:flex}.edu-year{color:var(--text3);min-width:36px;padding-top:2px;font-family:DM Mono,monospace;font-size:11px}.edu-title{margin-bottom:3px;font-size:14px;font-weight:600}.edu-sub{color:var(--text2);font-size:13px}.edu-issuer{color:var(--text3);margin-top:3px;font-family:DM Mono,monospace;font-size:12px}.courses-list{flex-direction:column;gap:10px;display:flex}.course-item{border:1px solid var(--border);background:var(--bg2);border-radius:8px;align-items:center;gap:16px;padding:12px 16px;font-size:13px;display:flex}.course-year{color:var(--text3);flex-shrink:0;min-width:30px;font-family:DM Mono,monospace;font-size:11px}.course-name{color:var(--text);flex:1}.course-source{color:var(--text3);font-family:DM Mono,monospace;font-size:11px}.contact-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.contact-card{border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:10px;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.contact-card:hover{border-color:var(--accent);background:var(--accent2)}.contact-icon{background:var(--bg3);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.contact-label{color:var(--text3);font-size:12px}.contact-value{font-size:13px;font-weight:500}.lang-list{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.lang-item{border:1px solid var(--border);background:var(--bg2);border-radius:10px;flex-direction:column;padding:14px 20px;display:flex}.lang-name{margin-bottom:4px;font-size:14px;font-weight:500}.lang-level{color:var(--accent);font-family:DM Mono,monospace;font-size:11px}footer{text-align:center;padding:40px 0}footer p{color:var(--text3);font-family:DM Mono,monospace;font-size:11px}@media (width<=640px){nav{padding:0 20px}.nav-links{display:none}.container{padding:0 20px}.hero-row{flex-direction:column-reverse}.avatar-wrap{width:72px;height:72px}.stack-grid{grid-template-columns:1fr 1fr}}
