*{box-sizing:border-box}:root{--bg: #000;--text: #e7e9ea;--text-muted: #71767b;--text-secondary: #a7abb0;--border: #2f3336;--surface: #000;--footer: #536471;--title-dot: #a1a1aa;--title-line-start: #52525b;--title-line-end: #71767b;--theme-reveal-duration: .5s}[data-theme=light]{--bg: #fff;--text: #0f1419;--text-muted: #536471;--text-secondary: #536471;--border: #eff3f4;--surface: #f7f9f9;--footer: #71767b;--title-dot: #71767b;--title-line-start: #cfd9de;--title-line-end: #aab8c2}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:background-color var(--theme-reveal-duration) ease,color var(--theme-reveal-duration) ease}html.theme-animating,html.theme-animating body{transition:none}body{padding-top:25px;opacity:0;transition:opacity 1.5s ease-in-out}body.is-visible{opacity:1}@media(prefers-reduced-motion:reduce){body{transition:none;opacity:1}:root{--theme-reveal-duration: 0ms}}@property --theme-reveal-r{syntax: "<length>"; inherits: false; initial-value: 0px;}.theme-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;--theme-reveal-r: 0px;-webkit-mask-image:radial-gradient(circle at var(--theme-reveal-x) var(--theme-reveal-y),transparent var(--theme-reveal-r),#000 var(--theme-reveal-r));mask-image:radial-gradient(circle at var(--theme-reveal-x) var(--theme-reveal-y),transparent var(--theme-reveal-r),#000 var(--theme-reveal-r))}a{color:#1d9bf0;text-decoration:none}a:hover{color:#8ecdf8;text-decoration:none}.link-icon{width:16px;height:16px;fill:currentColor;flex-shrink:0}.link-chip,.meta-item{display:inline-flex;align-items:center;gap:6px;font-size:clamp(13px,1.5vw,15px)}.link-chip{color:#1d9bf0}.meta-item{color:var(--text-muted)}.meta-location{color:#c4b5fd}.link-chip:hover{color:#8ecdf8}.banner-wrap,.container{max-width:900px;margin:0 auto;padding-left:clamp(16px,5vw,48px);padding-right:clamp(16px,5vw,48px)}.banner{width:100%;height:200px;display:flex;justify-content:center;align-items:center;background:var(--bg);overflow:hidden}.theme-toggle{position:relative;z-index:10;display:block;margin-top:8px;margin-left:auto;padding:0;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-toggle-track{display:block;width:52px;height:26px;border-radius:999px;border:1px solid var(--border);background:var(--border);position:relative}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--text);box-shadow:0 1px 3px #00000059;transition:transform var(--theme-reveal-duration) ease}[data-theme=light] .theme-toggle-thumb,.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translate(26px)}@media(prefers-reduced-motion:reduce){.theme-toggle-thumb{transition:none}}.banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.avatar-wrap{display:flex;justify-content:center;margin-top:clamp(-70px,-9vw,-50px);position:relative;z-index:2}.avatar{width:clamp(90px,16vw,160px);height:clamp(90px,16vw,160px);border-radius:50%;border:4px solid var(--bg);overflow:hidden;background:var(--bg);flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.header-content{padding:clamp(12px,2vw,24px) clamp(16px,5vw,48px) 8px;text-align:center;max-width:760px;margin:0 auto}.name{font-size:clamp(35px,3vw,28px);font-weight:800}.handle{color:var(--text-muted);font-size:clamp(14px,1.6vw,16px);margin-top:4px}.bio{margin-top:16px;font-size:clamp(14px,1.7vw,17px);line-height:1.5}.meta{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.stats{margin-top:16px;display:flex;justify-content:center;gap:28px;font-size:clamp(13px,1.6vw,15px)}.stats b{color:var(--text)}.stats span{color:var(--text-muted)}.container{padding-top:24px;padding-bottom:64px;text-align:center}.about-card{display:block;text-align:center}.about-text{text-align:left}.about-text h2,h2.section-title{font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(20px,2.4vw,24px);font-weight:800;margin:0 0 36px;text-align:center;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:14px;width:100%}.about-text h2:before,.about-text h2:after,h2.section-title:before,h2.section-title:after{content:"";flex:0 1 clamp(40px,14vw,90px);height:1px;background:radial-gradient(circle at 100% 50%,var(--title-dot) 2px,transparent 2.5px),linear-gradient(90deg,transparent,var(--title-line-start) 70%,var(--title-line-end) 100%);background-repeat:no-repeat;background-size:100% 1px,100% 1px;opacity:.9}.about-text h2:after,h2.section-title:after{transform:scaleX(-1)}.about-text p{margin:0;color:var(--text-secondary);font-size:clamp(13.5px,1.6vw,15.5px);line-height:1.6}.divider{border:none;border-top:1px solid var(--border);margin:32px 0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.skill-card{padding:0;text-align:left}.skill-card h3{margin:0 0 6px;font-size:15px;font-weight:700}.skill-card p{margin:0;color:var(--text-secondary);font-size:13.5px;line-height:1.5}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.project-card{padding:0;text-align:left}.project-img-wrap{display:flex;justify-content:center;align-items:center;height:180px;background:var(--surface);border-radius:8px;margin:10px 0;overflow:hidden}.project-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.project-name{font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px}.project-lang{font-size:11px;color:var(--text-muted);padding:1px 0;margin-left:auto}.project-desc{color:var(--text-secondary);font-size:13.5px;line-height:1.5;margin-top:6px}.research-list{display:flex;flex-direction:column;gap:16px}.research-item{padding:0;text-align:left}.research-item .r-title{font-weight:700;font-size:14.5px}.research-item .r-desc{color:var(--text-secondary);font-size:13px;margin-top:4px;line-height:1.5}.edu-item{font-size:14.5px;line-height:1.6;text-align:left}.edu-item .school{font-weight:700}.edu-item .detail{color:var(--text-secondary)}.exp-item{margin-bottom:16px;text-align:left}.exp-item .exp-role{font-weight:700;font-size:14.5px}.exp-item .exp-meta{color:var(--text-muted);font-size:13px;margin-top:2px}.exp-item .exp-desc{color:var(--text-secondary);font-size:13.5px;margin-top:4px;line-height:1.5}.contact-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}footer{text-align:center;color:var(--footer);font-size:12.5px;padding:24px 0 40px}
