:root{--page-bg: #0e1114;--hero-ink: #f5f6f7;--hero-secondary: #c3c8cc;--hero-muted: #969ea5;--hero-line: #30363c;--header-fill: rgba(14, 17, 20, .96);--hero-accent: #d8ff52;color:#f7f8ff;background:var(--page-bg);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:var(--page-bg)}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0}.resume-shell{position:relative;isolation:isolate;width:min(100%,1440px);min-height:100vh;margin:0 auto;overflow:hidden;padding:28px clamp(18px,4vw,64px) 56px}.ambient{position:fixed;z-index:-2;width:42vw;max-width:620px;aspect-ratio:1;border-radius:999px;filter:blur(80px);opacity:.08;pointer-events:none}.ambient-one{top:16%;left:-14%;background:#21d0ff;animation:ambient-one-shift 8s ease-in-out infinite alternate}.ambient-two{right:-16%;bottom:8%;background:#ceff4f;animation:ambient-two-shift 8s ease-in-out infinite alternate}@keyframes ambient-one-shift{0%{background:#21d0ff}48%{background:#3fffd7}to{background:#7a5cff}}@keyframes ambient-two-shift{0%{background:#ceff4f}52%{background:#56f0a6}to{background:#36d8ff}}.site-header{position:fixed;top:0;left:50%;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:min(calc(100% - clamp(36px,8vw,128px)),1312px);min-height:80px;border-bottom:1px solid var(--hero-line);background:var(--header-fill);transform:translate(-50%)}.brand{justify-self:start;display:inline-flex;align-items:center;gap:10px;color:var(--hero-ink);font-size:14px;font-weight:650;white-space:nowrap}.brand-mark{display:grid;width:30px;height:30px;place-items:center;color:var(--hero-accent)}.nav-pill{display:flex;align-items:center;gap:8px}.nav-pill a{padding:10px 12px;border-radius:8px;color:var(--hero-muted);font-size:14px;white-space:nowrap;transition:color .15s ease,background .15s ease}.nav-pill a:hover{color:var(--hero-ink);background:color-mix(in srgb,var(--hero-ink) 6%,transparent)}.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}.theme-toggle,.contact-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid var(--hero-line);border-radius:8px;padding:0 13px;color:var(--hero-secondary);background:transparent;font-size:13px;font-weight:550;white-space:nowrap;cursor:pointer}.theme-toggle:hover,.contact-link:hover{color:var(--hero-ink);border-color:var(--hero-muted)}:where(a,button):focus-visible{outline:2px solid var(--hero-accent);outline-offset:5px}section[id]{scroll-margin-top:104px}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);align-items:center;gap:clamp(40px,7vw,100px);padding:96px 0 72px;border-bottom:1px solid var(--hero-line)}.hero-copy{min-width:0}.hero-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 24px;margin:0;color:var(--hero-ink);font-size:clamp(42px,4.5vw,64px);font-weight:650;letter-spacing:-.035em;line-height:1.25}.hero-title span{color:var(--hero-secondary);font-size:clamp(20px,2vw,26px);font-weight:500;letter-spacing:0}.hero-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 0;font-size:14px;line-height:1.7}.hero-facts div{display:flex;gap:8px}.hero-facts dt{color:var(--hero-muted)}.hero-facts dd{margin:0;color:var(--hero-secondary)}.hero-facts dd strong{font-weight:700}.hero-description{max-width:33em;margin:24px 0 0;color:var(--hero-secondary);font-size:16px;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-focus{padding-left:clamp(28px,4vw,54px);border-left:1px solid var(--hero-line)}.hero-focus h2{margin:0 0 24px;color:var(--hero-muted);font-size:14px;font-weight:500}.hero-focus dl{display:grid;gap:22px;margin:0}.hero-focus dt{color:var(--hero-ink);font-size:16px;font-weight:600;line-height:1.5}.hero-focus dd{margin:6px 0 0;color:var(--hero-muted);font-size:14px;line-height:1.7}.primary-button,.ghost-button,.footer-panel a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:999px;padding:0 20px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hero-actions .primary-button,.hero-actions .ghost-button{border-radius:8px;min-height:48px;white-space:nowrap;font-size:14px}.primary-button{color:#061015;background:#d8ff52;font-weight:650;box-shadow:none}.ghost-button{border:1px solid rgba(255,255,255,.14);color:#fff;background:#ffffff0f}.primary-button:hover,.ghost-button:hover,.footer-panel a:hover{transform:translateY(-2px)}.profile-stage{position:relative;min-height:520px}.profile-card,.panel,.footer-panel,.orbit-card{border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,#ffffff16,#ffffff06),#030507d1;box-shadow:inset 0 1px #ffffff1a,0 32px 100px #00000094;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.reveal-section{transform:translateY(26px);transition:transform .52s cubic-bezier(.2,.8,.2,1)}.reveal-section.is-visible{transform:translateY(0)}.reveal-section:target{transform:none;transition:none}.profile-card{position:absolute;right:5%;bottom:26px;width:min(420px,100%);overflow:hidden;border-radius:28px;padding:32px;transform:rotate(-2deg)}.profile-glow{position:absolute;right:-36%;bottom:-44%;width:92%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(37,218,255,.62),transparent 63%);filter:blur(8px)}.profile-card img{position:relative;display:block;width:180px;height:180px;margin-bottom:28px;border:1px solid rgba(255,255,255,.18);border-radius:50%;object-fit:cover;box-shadow:0 24px 70px #0000007a}.profile-role{margin:0 0 8px;color:#d8ff52;font-size:13px;font-weight:780}.profile-card h2{position:relative;margin:0;color:#fff;font-size:54px;line-height:1}.profile-meta{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.profile-meta span,.tag-row span{border-radius:999px;padding:8px 11px;color:#ffffffc7;background:#ffffff14;font-size:13px}.orbit-card{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 14px;color:#fff;font-size:13px}.orbit-left{top:24%;left:3%;color:#9ee8ff;transform:rotate(-8deg)}.orbit-right{top:7%;right:9%;color:#d8ff52;transform:rotate(7deg)}.section-title span,.footer-panel span{color:#ffffff75;font-size:13px;font-weight:720;text-transform:uppercase}.panel{border-radius:28px;padding:clamp(24px,4vw,38px)}.section-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:28px}.section-title>svg{flex:0 0 auto;margin-top:4px;color:#d8ff52}.section-title h2{margin:5px 0 0;color:#fff;font-size:clamp(24px,2.6vw,36px);line-height:1.08}.about-section{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);grid-template-rows:auto 1fr;column-gap:clamp(34px,7vw,92px);align-items:start;margin-top:18px;padding:clamp(10px,2vw,22px) 0 0}.about-section .section-title{grid-column:1}.about-copy{grid-column:1;display:grid;gap:20px;max-width:860px}.about-copy p{margin:0;color:#fff;font-size:clamp(14px,1.18vw,16px);line-height:1.9}.about-stat-row{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0}.about-stat-card{--mouse-x: 50%;--mouse-y: 50%;position:relative;display:flex;min-height:124px;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:24px;background:linear-gradient(145deg,#ffffff0e,#ffffff05),#06070aad;box-shadow:inset 0 1px #ffffff14}.about-stat-card:before{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;content:"";pointer-events:none;background:radial-gradient(260px circle at var(--mouse-x) var(--mouse-y),rgba(216,255,82,.92),rgba(0,229,255,.52) 28%,rgba(255,255,255,.18) 46%,transparent 68%);opacity:0;transition:opacity .18s ease;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}.about-stat-row:hover .about-stat-card:before,.about-stat-card:focus-within:before{opacity:1}.about-stat-icon{position:absolute;top:24px;right:24px;width:34px;height:34px;opacity:.72;object-fit:contain}.about-stat-card strong{position:relative;display:block;color:#ffffffdb;font-size:clamp(26px,3vw,34px);line-height:1}.about-stat-card span{position:relative;display:block;margin-top:14px;color:#ffffff75;font-size:13px;line-height:1.2}.timeline-section{margin-top:56px;padding:8px 0 12px}.experience-list{--timeline-x: clamp(10px, 2.8vw, 30px);--timeline-padding: clamp(42px, 7vw, 96px);position:relative;display:grid;gap:clamp(70px,8vw,112px);margin-top:34px;padding-left:var(--timeline-padding)}.experience-list:before{position:absolute;top:14px;bottom:14px;left:var(--timeline-x);width:1px;content:"";background:repeating-linear-gradient(180deg,rgba(255,255,255,.78) 0 8px,transparent 8px 18px);-webkit-mask-image:linear-gradient(180deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(180deg,transparent,black 8%,black 92%,transparent);opacity:.72}.experience-list:after{position:absolute;top:0;bottom:0;left:calc(var(--timeline-x) - 1px);width:3px;content:"";background:linear-gradient(180deg,transparent,rgba(0,229,255,.82) 18%,rgba(216,255,82,.48) 50%,rgba(0,229,255,.72) 82%,transparent);filter:blur(10px);opacity:.32}.experience-item{position:relative}.experience-marker{position:absolute;top:8px;left:calc(var(--timeline-x) - var(--timeline-padding) - 11px);z-index:1;display:grid;width:22px;height:22px;place-items:center}.experience-marker span{width:16px;height:16px;border-radius:50%;background:#00e5ff;box-shadow:0 0 #00e5ff61,0 0 30px #00e5ffcc;animation:marker-breathe 2.2s ease-in-out infinite}.experience-content{min-width:0}.experience-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:clamp(20px,5vw,72px);align-items:start}.experience-heading h3{margin:0;color:#fff;font-size:clamp(22px,2.1vw,30px);line-height:1.14}.experience-heading strong{display:block;margin-top:14px;color:#00e5ff;font-size:clamp(16px,1.45vw,21px);line-height:1.2}.experience-heading time{justify-self:end;padding-top:4px;color:#ffffffe0;font-size:clamp(15px,1.55vw,22px);line-height:1.2;white-space:nowrap}.experience-points{display:grid;gap:14px;max-width:840px;margin:26px 0 0;padding:0;color:#fff;font-size:clamp(13px,1.04vw,15px);line-height:1.68;list-style:none}.experience-points li{position:relative;padding-left:22px}.experience-points li:before{position:absolute;top:.72em;left:0;width:7px;height:7px;border-radius:50%;content:"";background:#00e5ff;box-shadow:0 0 18px #00e5ffa3}@keyframes marker-breathe{0%,to{transform:scale(.92);box-shadow:0 0 #00e5ff47,0 0 24px #00e5ffb8}50%{transform:scale(1.08);box-shadow:0 0 0 12px #00e5ff00,0 0 42px #00e5fff2}}.school-card h3{margin:0;color:#fff;font-size:clamp(20px,2vw,27px);line-height:1.2}.school-card p{margin:9px 0 0;color:#ffffffa3;line-height:1.72}@keyframes detail-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.project-showcase{margin-top:34px;padding:8px 0 24px;overflow:visible}.project-card-row{position:relative;min-height:clamp(390px,34vw,500px);margin-top:14px;perspective:1400px}.project-card{position:absolute;bottom:0;left:50%;z-index:var(--layer);display:flex;width:clamp(230px,21vw,340px);height:clamp(320px,29vw,430px);flex-direction:column;justify-content:space-between;overflow:hidden;border:0;border-radius:26px;padding:26px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 32%),#ffffff0b;box-shadow:inset 0 1px #ffffff1f;filter:brightness(var(--brightness)) saturate(.96);transform:translate(calc(-50% + var(--x))) translateY(var(--y)) scale(var(--card-scale)) rotate(var(--rotate));transform-origin:50% 100%;transition:transform .42s cubic-bezier(.2,.8,.2,1),border-color .32s ease,box-shadow .32s ease,filter .32s ease,opacity .32s ease}.project-card:nth-child(1){--x: clamp(-430px, -27vw, -300px);--hover-x: clamp(-360px, -23vw, -250px);--y: 28px;--card-scale: .74;--hover-scale: .92;--rest-scale: .58;--rotate: -5deg;--brightness: .64;--layer: 1}.project-card:nth-child(2){--x: clamp(-245px, -15vw, -170px);--hover-x: clamp(-205px, -12vw, -140px);--y: 12px;--card-scale: .86;--hover-scale: 1;--rest-scale: .7;--rotate: -2.5deg;--brightness: .82;--layer: 2}.project-card:nth-child(3){--x: 0px;--hover-x: 0px;--y: 0px;--card-scale: 1;--hover-scale: 1.12;--rest-scale: .82;--rotate: 0deg;--brightness: 1;--layer: 5}.project-card:nth-child(4){--x: clamp(170px, 15vw, 245px);--hover-x: clamp(140px, 12vw, 205px);--y: 12px;--card-scale: .86;--hover-scale: 1;--rest-scale: .7;--rotate: 2.5deg;--brightness: .82;--layer: 2}.project-card:nth-child(5){--x: clamp(300px, 27vw, 430px);--hover-x: clamp(250px, 23vw, 360px);--y: 28px;--card-scale: .74;--hover-scale: .92;--rest-scale: .58;--rotate: 5deg;--brightness: .64;--layer: 1}.project-card:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 28%),linear-gradient(180deg,transparent 58%,rgba(0,0,0,.18));opacity:.9;transition:opacity .32s ease}.project-card picture,.project-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.project-card picture{display:block}.project-card img{object-fit:cover}.project-card:hover,.project-card:focus-visible{z-index:8;box-shadow:inset 0 1px #ffffff2e,0 36px 90px #00000070;filter:brightness(1.04) saturate(1.08);outline:none;transform:translate(calc(-50% + var(--hover-x))) translateY(calc(var(--y) - 24px)) scale(var(--hover-scale)) rotate(0)}.project-card-row:has(.project-card:hover) .project-card:not(:hover),.project-card-row:has(.project-card:focus-visible) .project-card:not(:focus-visible){filter:brightness(.62) saturate(.78);opacity:.72;transform:translate(calc(-50% + var(--x))) translateY(calc(var(--y) + 18px)) scale(var(--rest-scale)) rotate(var(--rotate))}.project-card:hover:before,.project-card:focus-visible:before{opacity:1}.project-card-cyan{background:linear-gradient(155deg,#0ba7c7,#0c6f7d 48%,#052027)}.project-card-lime{background:linear-gradient(155deg,#a9f548,#4f7e32 48%,#111d13)}.project-card-rose{background:linear-gradient(155deg,#ff6b78,#9e394c 48%,#251015)}.project-card-violet{background:linear-gradient(155deg,#705dff,#342e86 48%,#10102a)}.project-card-amber{background:linear-gradient(155deg,#ffc14d,#9a6228 48%,#25170b)}.project-detail-shell{position:relative;isolation:isolate;width:100%;min-height:100vh;margin:0;overflow:visible;padding:0;background:radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),radial-gradient(circle at 15% 18%,rgba(0,229,255,.08),transparent 28rem),radial-gradient(circle at 86% 42%,rgba(216,255,82,.06),transparent 30rem),#000;background-attachment:fixed;background-position:0 0,0 0,0 0,center,center,center;background-size:24px 24px,96px 96px,96px 96px,auto,auto,auto;user-select:none;-webkit-user-select:none}.project-detail-header{position:fixed;top:clamp(52px,5vw,72px);left:clamp(14px,2vw,28px);right:clamp(14px,2vw,28px);z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}.project-marquee{position:fixed;top:0;left:0;right:0;z-index:11;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1);background:#0000009e;box-shadow:0 12px 46px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-marquee-track{display:flex;width:max-content;animation:project-marquee-scroll 24s linear infinite}.project-marquee-track span{flex:0 0 auto;padding:11px 34px;color:#ffffffc2;font-size:13px;font-weight:720;letter-spacing:0;white-space:nowrap}@keyframes project-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-detail-header span,.back-link{border:1px solid rgba(255,255,255,.1);background:#101115b8;box-shadow:0 18px 70px #00000059;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.back-link{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:11px 16px;color:#fff;font-size:13px;font-weight:760;transition:transform .18s ease,border-color .18s ease,background .18s ease}.back-link:hover,.back-link:focus-visible{border-color:#d8ff5261;background:#ffffff1a;outline:none;transform:translateY(-1px)}.project-detail-header span{border-radius:999px;padding:11px 16px;color:#ffffff9e;font-size:13px;font-weight:720}.project-image-stack{display:grid;gap:0;width:100%;padding:0 200px}.project-image-stack img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}.project-empty-state{display:grid;min-height:320px;place-items:center;border:1px dashed rgba(255,255,255,.18);border-radius:24px;background:#ffffff0b}.project-empty-state p{margin:0;color:#ffffff8f;font-size:15px}.peer-review-section{margin-top:42px;padding:clamp(28px,5vw,58px) 0 16px}.peer-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.review-arrow-group{display:inline-flex;gap:12px;padding-top:8px}.review-arrow-group button{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#ffffffd1;background:#ffffff0e;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.review-arrow-group button:hover,.review-arrow-group button:focus-visible{border-color:#d8ff5261;background:#ffffff1f;outline:none;transform:translateY(-1px)}.peer-review-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:clamp(24px,3vw,36px);align-items:center;max-width:1120px;min-height:260px;margin:6px auto 0;padding:clamp(18px,4vw,36px) clamp(8px,3vw,24px);animation:review-enter .32s ease both}.peer-avatar{width:118px;height:118px;border:2px solid rgba(255,255,255,.86);border-radius:50%;object-fit:cover;box-shadow:0 18px 46px #00000057}.peer-review-content{min-width:0}.peer-review-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.peer-review-name-row h3{margin:0;color:#fff;font-size:clamp(24px,2.4vw,32px);line-height:1.15}.peer-role{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 12px;color:#fff;font-size:13px;font-weight:820;line-height:1}.peer-role-pm{background:linear-gradient(135deg,#28b6ff,#5d8cff)}.peer-role-ui{background:linear-gradient(135deg,#5ade74,#09c196)}.peer-role-fe{background:linear-gradient(135deg,#a16cff,#6a5cff)}.peer-meta{margin:12px 0 0;color:#ffffffb8;font-size:clamp(14px,1.08vw,16px);line-height:1.55}.peer-quote{margin:18px 0 0;color:#ffffffe0;font-size:clamp(16px,1.22vw,19px);line-height:1.8}.review-dot-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}.review-dot-row button{display:grid;width:auto;min-width:10px;height:16px;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.review-dot-row span{width:10px;height:10px;border-radius:999px;background:#ffffff38;transition:width .18s ease,background .18s ease}.review-dot-row .is-active span{width:22px;background:#fff}@keyframes review-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.footer-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px;border-radius:28px;padding:28px}.footer-panel>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 34px}.footer-panel>div:first-child span{flex:0 0 auto;font-size:18px}.footer-panel p{display:inline-block;margin:0;color:#ffffffb8;font-size:18px}.footer-panel a{flex:0 0 auto;color:#061015;background:#fff;font-weight:820}.wechat-popover-wrap{position:relative;display:inline-flex;flex:0 0 auto}.wechat-popover{position:absolute;right:0;bottom:calc(100% + 14px);z-index:12;width:204px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#fffffff5;box-shadow:0 22px 70px #00000061;opacity:0;pointer-events:none;transform:translateY(8px) scale(.98);transform-origin:88% 100%;transition:opacity .18s ease,transform .18s ease}.wechat-popover:after{position:absolute;right:28px;bottom:-7px;width:14px;height:14px;content:"";background:#fffffff5;transform:rotate(45deg)}.wechat-popover img{position:relative;z-index:1;display:block;width:176px;height:176px;border-radius:10px}.wechat-popover p{position:relative;z-index:1;display:block;margin:10px 0 0;color:#111318;font-size:13px;font-weight:760;line-height:1.35;text-align:center}.wechat-popover-wrap:hover .wechat-popover,.wechat-popover-wrap:focus-within .wechat-popover{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.header-contact-wrap .wechat-popover{top:calc(100% + 14px);right:0;bottom:auto;transform:translateY(-8px) scale(.98);transform-origin:88% 0}.header-contact-wrap .wechat-popover:after{top:-7px;right:28px;bottom:auto}.header-contact-wrap:hover .wechat-popover,.header-contact-wrap:focus-within .wechat-popover{transform:translateY(0) scale(1)}@media(max-width:900px){.resume-shell{padding-inline:16px}.site-header{width:calc(100% - 32px);gap:12px;grid-template-columns:1fr auto;min-height:64px;padding:10px 0 0}.nav-pill{grid-column:1 / -1;grid-row:2;justify-content:space-between;gap:0;padding-bottom:6px}.hero{gap:32px;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);padding:120px 0 52px}.hero-focus{padding-left:24px}section[id]{scroll-margin-top:132px}.about-section{grid-template-columns:1fr;grid-template-rows:auto}.about-section .section-title,.about-copy,.about-stat-row{grid-column:1;grid-row:auto}.about-stat-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}.experience-list{--timeline-x: 10px;--timeline-padding: 42px;gap:56px;padding-left:var(--timeline-padding)}.experience-item{display:block}.experience-heading{gap:14px;grid-template-columns:1fr}.experience-heading time{justify-self:start;font-size:17px}.project-card-row{display:grid;gap:18px;min-height:0;overflow:visible;scroll-snap-type:none;padding-bottom:0;perspective:none}.project-card,.project-card:hover,.project-card:focus-visible{position:relative;left:auto;bottom:auto;width:100%;height:auto;aspect-ratio:1000 / 563;scroll-snap-align:none;border-radius:20px;filter:brightness(1) saturate(1);transform:none}.project-card-row:has(.project-card:hover) .project-card:not(:hover),.project-card-row:has(.project-card:focus-visible) .project-card:not(:focus-visible){opacity:1;filter:brightness(1) saturate(1);transform:none}.project-image-stack{padding-inline:24px}.peer-review-card{min-height:auto}}@media(max-width:560px){.resume-shell{padding-bottom:34px}.brand span:last-child{display:none}.contact-link{padding-inline:13px}.hero{grid-template-columns:1fr;gap:36px;padding-top:116px;padding-bottom:36px}.hero-title{gap:10px 18px;font-size:42px}.hero-title span{font-size:20px}.hero-facts{gap:8px 20px;margin-top:20px;font-size:13px}.hero-description{margin-top:20px;font-size:15px;line-height:1.8}.hero-actions{flex-wrap:nowrap;margin-top:24px}.hero-actions a{flex:1;padding-inline:12px}.hero-focus{padding:28px 0 0;border-left:0;border-top:1px solid var(--hero-line)}.hero-focus h2{margin-bottom:18px;font-size:13px}.hero-focus dl{gap:16px}.hero-focus dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.hero-focus dt{font-size:14px}.hero-focus dd{margin:0;font-size:13px}.profile-stage{min-height:390px}.profile-card{padding:24px}.profile-card img{width:142px;height:142px}.profile-card h2{font-size:42px}.orbit-card{display:none}.about-stat-row{grid-template-columns:1fr}.about-stat-card{min-height:116px}.about-stat-icon{width:30px;height:30px}.project-showcase{padding-inline:18px}.project-card-row{gap:14px;min-height:0}.project-card{border-radius:16px;padding:0}.project-image-stack{padding-inline:16px}.peer-review-header{display:grid}.review-arrow-group{padding-top:0}.peer-review-card{grid-template-columns:1fr;gap:16px;padding:20px;text-align:left}.peer-avatar{width:78px;height:78px}.peer-meta{font-size:13px}.peer-quote{margin-top:14px}.panel{border-radius:22px}.footer-panel{display:grid}.wechat-popover{right:50%;transform:translate(50%,8px) scale(.98);transform-origin:50% 100%}.wechat-popover:after{right:calc(50% - 7px)}.wechat-popover-wrap:hover .wechat-popover,.wechat-popover-wrap:focus-within .wechat-popover{transform:translate(50%) scale(1)}.header-contact-wrap .wechat-popover{right:0;transform:translateY(-8px) scale(.98);transform-origin:88% 0}.header-contact-wrap .wechat-popover:after{right:28px}.header-contact-wrap:hover .wechat-popover,.header-contact-wrap:focus-within .wechat-popover{transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-section{opacity:1;filter:none;transform:none}}html[data-theme=light]{--page-bg: #f7f8fa;--hero-ink: #17202b;--hero-secondary: #434e59;--hero-muted: #626e79;--hero-line: #d8dee4;--header-fill: rgba(247, 248, 250, .97);--hero-accent: #17191c;--action-bg: #17191c;--action-fg: #d8ff52;color-scheme:light;color:#17202b;background:var(--page-bg)}html[data-theme=light] body{color:#17202b;background:var(--page-bg)}html[data-theme=light] .section-title h2,html[data-theme=light] .profile-card h2,html[data-theme=light] .experience-heading h3,html[data-theme=light] .school-card h3,html[data-theme=light] .peer-review-name-row h3{color:#17202b}html[data-theme=light] .about-copy p,html[data-theme=light] .peer-meta,html[data-theme=light] .school-card p{color:var(--hero-secondary)}html[data-theme=light] .primary-button{border-color:var(--action-bg);color:var(--action-fg);background:var(--action-bg);box-shadow:none}html[data-theme=light] .primary-button:hover{border-color:#30343a;background:#30343a}html[data-theme=light] .ghost-button{border-color:#192d4229;color:#17202b;background:#ffffff9e}html[data-theme=light] .footer-panel a{border:1px solid var(--hero-line)}html[data-theme=light] .section-title>svg{color:var(--hero-accent)}html[data-theme=light] .profile-card,html[data-theme=light] .panel,html[data-theme=light] .footer-panel,html[data-theme=light] .orbit-card{border-color:#192d421f;background:linear-gradient(145deg,#ffffffe0,#ffffffa3),#f1f6fadb;box-shadow:inset 0 1px #ffffffeb,0 32px 100px #354b6629}html[data-theme=light] .profile-meta span,html[data-theme=light] .tag-row span{color:#17202bbd;background:#192d4212}html[data-theme=light] .orbit-card{color:#273646}html[data-theme=light] .orbit-left{color:#087d9e}html[data-theme=light] .section-title span,html[data-theme=light] .footer-panel span{color:var(--hero-muted)}html[data-theme=light] .about-stat-card{border-color:#192d421f;background:linear-gradient(145deg,#ffffffe0,#fff9),#e7eef5c7;box-shadow:inset 0 1px #ffffffeb}html[data-theme=light] .about-stat-card strong{color:#17202be0}html[data-theme=light] .about-stat-icon{filter:brightness(0);opacity:.85}html[data-theme=light] .about-stat-card:before{background:radial-gradient(260px circle at var(--mouse-x) var(--mouse-y),rgba(23,25,28,.45),transparent 68%)}html[data-theme=light] .about-stat-card span{color:var(--hero-muted)}html[data-theme=light] .experience-points{color:#000}html[data-theme=light] .experience-list:before{background:#78818b;-webkit-mask-image:none;mask-image:none;opacity:1}html[data-theme=light] .experience-list:after{display:none}html[data-theme=light] .experience-marker span{background:#30363c;box-shadow:0 0 0 5px var(--page-bg);animation:marker-breathe-light 2.2s ease-in-out infinite}@keyframes marker-breathe-light{0%,to{transform:scale(.92);box-shadow:0 0 0 5px var(--page-bg),0 0 0 5px #30363c3d}50%{transform:scale(1.08);box-shadow:0 0 0 5px var(--page-bg),0 0 0 14px #30363c00}}html[data-theme=light] .experience-heading strong{color:#30363c}html[data-theme=light] .experience-points li:before{background:#5b6570;box-shadow:none}html[data-theme=light] .experience-heading time{color:#17202bcc}html[data-theme=light] .review-arrow-group button{border-color:#192d4229;color:#17202bc2;background:#ffffff9e}html[data-theme=light] .review-arrow-group button:hover,html[data-theme=light] .review-arrow-group button:focus-visible{border-color:var(--hero-muted);background:#192d4214}html[data-theme=light] .peer-review-name-row h3{color:#17202b}html[data-theme=light] .peer-quote{color:#17202bd1}html[data-theme=light] .review-dot-row span{background:#17202b38}html[data-theme=light] .review-dot-row .is-active span{background:#17202b}html[data-theme=light] .footer-panel p{color:#17202bb8}@media(max-width:560px){.theme-toggle{min-width:42px;padding:0 12px}.theme-toggle span{display:none}}
