@charset "UTF-8";
:root{color-scheme:dark;--bg:#111513;--surface:#1a211c;--text:#f0f2eb;--muted:#a5afa6;--line:#343c35;--accent:#d4fa74;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:42px;font-weight:800;letter-spacing:-3px;line-height:1}.brand span{color:var(--accent)}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a{padding:12px 0}nav span{margin-left:8px}.skip{position:absolute;top:-80px;left:20px;z-index:10;background:var(--accent);color:var(--bg);padding:12px}.skip:focus{top:12px;color:var(--bg)}
.hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);column-gap:8%;padding-top:83px}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:12px;margin:0 0 26px}.tiny-line{height:2px;width:24px;background:var(--accent)}.greeting{font-size:20px;margin:0 0 20px;color:#cbd3cb}.greeting strong{color:var(--text);font-weight:500}.hero h1{font-size:clamp(38px,4.4vw,62px);font-weight:650;line-height:1.35;letter-spacing:-2px;margin:0 0 24px;white-space:nowrap}.accent{color:var(--accent)}.period{color:var(--text)}.hero-description{color:var(--muted);margin:0 0 32px;line-height:1.9}.button{display:inline-flex;gap:36px;align-items:center;background:var(--accent);color:#17200d;border:1px solid var(--accent);border-radius:3px;padding:13px 20px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#e1ffa1;color:#17200d;transform:translateY(-2px)}.button span{font-size:20px}.profile{background:var(--surface);border:1px solid #414d3e;border-radius:4px;transform:rotate(2deg);margin-top:15px;padding:24px 28px;align-self:start;box-shadow:12px 14px 0 #161b16}.profile-top{font:12px/1.5 var(--mono);letter-spacing:1px;color:#a5b0a1;display:flex;justify-content:space-between;gap:8px}.monogram{font-family:var(--mono);font-size:100px;line-height:1.15;letter-spacing:-8px;margin:22px 0;color:#e3e8df;font-weight:700}.monogram span{color:var(--accent)}.profile-name{font-size:24px;font-weight:600;line-height:1.5}.profile-name span{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:2px}.profile-details{margin:26px 0 0;font-size:14px}.profile-details div{display:flex;gap:12px;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;text-align:right}.profile-bottom{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:4px}.profile-bottom span:last-child{font:22px var(--mono);color:var(--accent)}.hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:76px;padding:25px 0;border-bottom:1px solid var(--line);gap:20px}.hero-footer>span{font:12px/1.6 var(--mono);letter-spacing:1px;color:var(--muted)}.hero-footer a{font-size:14px;color:var(--muted)}.hero-footer a span{margin-left:15px;color:var(--accent)}
.section{padding:65px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.section-label{display:flex;gap:18px;align-items:center;margin-bottom:38px}.number{font:13px var(--mono);color:var(--accent)}.section-label h2{font-size:20px;font-weight:500;margin:0}.label-en{margin-left:auto;font:12px var(--mono);letter-spacing:1.5px;color:var(--muted)}.about-content{display:grid;grid-template-columns:1fr 1.45fr;gap:80px}.about-content h3{font-size:30px;font-weight:500;line-height:1.6;margin:0;letter-spacing:-.5px}.about-text p{margin:0 0 18px;color:var(--muted);line-height:1.95}.about-text p:last-child{margin-bottom:0}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.expertise-card+.expertise-card{border-left:1px solid var(--line);padding-left:40px}.code-symbol{font:24px var(--mono);color:var(--accent);height:36px;display:block}.expertise-card h3{font-size:22px;margin:22px 0 12px;font-weight:500}.expertise-card p{color:var(--muted);margin:0 0 22px}.tags{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0}.tags li{font-size:12px;line-height:1.8;color:#bac5b7;border:1px solid #3d473b;border-radius:3px;padding:3px 10px}.project-row{display:grid;grid-template-columns:90px 1fr auto;align-items:start;gap:24px;padding:35px 0}.project-row+.project-row{border-top:1px solid var(--line)}.project-index{font:14px var(--mono);color:var(--muted);padding-top:4px}.project-category{font:12px/1.6 var(--mono);letter-spacing:1px;color:var(--muted)}.project-info h3{font-size:30px;font-weight:500;margin:12px 0}.project-info p{color:var(--muted);margin:0 0 22px;max-width:620px}.project-status{font-size:12px;color:#c8d8bb;border:1px solid #485a3a;border-radius:24px;padding:4px 14px;margin-top:4px;white-space:nowrap}.closing{position:relative;padding:70px 70px 70px 0}.closing .eyebrow{margin-bottom:18px;color:var(--accent)}.closing p{font-size:clamp(24px,3vw,38px);line-height:1.6;font-weight:500;margin:0;letter-spacing:-.8px}.closing p span{color:var(--muted)}.closing a{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;font-size:22px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 0 35px;font-size:12px;color:var(--muted)}.footer strong{font-weight:500;color:var(--text)}
@media(min-width:1500px){.hero{padding-top:100px}.hero h1{font-size:64px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);padding-top:60px}.hero h1{font-size:40px;letter-spacing:-1px}.profile{padding:20px}.monogram{font-size:80px}.about-content{gap:40px}.expertise-grid{gap:25px}.expertise-card+.expertise-card{padding-left:25px}.hero-footer{margin-top:45px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:82px}nav{gap:20px;font-size:14px}nav span{display:none}.hero{grid-template-columns:1fr;padding-top:46px;gap:0}.hero h1{font-size:clamp(32px,6.7vw,48px);letter-spacing:-1px;white-space:normal}.greeting{font-size:18px}.hero-description{font-size:16px}.profile{margin:48px 6px 0;transform:rotate(1deg);padding:24px}.monogram{font-size:84px;margin:16px 0}.profile-details{margin-top:22px}.profile-top{font-size:12px}.profile-name{font-size:24px}.hero-footer{margin-top:45px;padding:20px 0;align-items:flex-start}.hero-footer>span{max-width:200px;font-size:12px;line-height:1.8}.section{padding:44px 0}.section-label{gap:12px;margin-bottom:28px}.label-en{font-size:12px;letter-spacing:.7px}.about-content{grid-template-columns:1fr;gap:22px}.about-content h3{font-size:27px}.expertise-grid{grid-template-columns:1fr;gap:28px}.expertise-card+.expertise-card{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:28px}.expertise-card h3{margin-top:14px}.expertise-card p{margin-bottom:18px}.project-row{grid-template-columns:1fr auto;gap:12px;padding:26px 0}.project-index{grid-column:1}.project-info{grid-row:2;grid-column:1/-1}.project-status{grid-row:1;grid-column:2;margin:0}.project-info h3{font-size:26px}.project-category{font-size:12px}.closing{padding-top:50px;padding-bottom:50px}.closing p span{display:block}.footer{flex-direction:column;gap:6px;padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Resume content */
.profile-name small{font:12px var(--mono);letter-spacing:1px;color:var(--muted);margin-left:8px}.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:44px;border-top:1px solid var(--line);padding-top:32px}.highlights>div{display:flex;flex-direction:column;gap:10px}.highlights strong{font:500 clamp(28px,3.3vw,46px)/1.25 var(--mono);color:var(--accent)}.highlights strong small{font-size:26px;margin-left:8px}.highlights span{font-size:14px;color:var(--muted)}.experience-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;padding:18px 0 38px}.experience-row+.experience-row{border-top:1px solid var(--line);padding-top:38px}.experience-row:last-child{padding-bottom:0}.experience-date{font:14px/1.8 var(--mono);color:var(--muted);padding-top:6px}.experience-info h3{font-size:25px;line-height:1.5;margin:0 0 7px;font-weight:550}.experience-info h3 span{font-size:20px}.experience-info .role{color:var(--accent);font-size:15px;margin:0 0 19px}.experience-info p{color:var(--muted);margin:0 0 16px}.detail-list{padding-left:20px;color:var(--muted);margin:0 0 24px}.detail-list li{padding-left:4px;margin-bottom:10px}.detail-list li::marker{color:#779565}.tags li{font-size:14px}.project-status{font-size:13px}.background-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:80px}.subheading{font-size:25px;font-weight:500;margin:0 0 24px}.education-item{margin:22px 0}.education-item>span,.internship>span{font:13px/1.8 var(--mono);color:var(--muted)}.education-item strong{display:block;font-weight:500;font-size:20px;margin-top:5px}.education-item p{color:var(--muted);margin:4px 0}.honors{font-size:14px;color:var(--muted);line-height:2;margin-top:30px}.internship+.internship{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.internship h4{font-size:18px;font-weight:500;margin:5px 0 8px}.internship p{color:var(--muted);margin:0}.contact-content{display:grid;grid-template-columns:1fr 1.45fr;gap:80px}.contact h3{font-size:30px;line-height:1.6;font-weight:500;margin:0}.contact-links a{display:grid;grid-template-columns:90px minmax(0,1fr) 20px;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.contact-links a:first-child{padding-top:0}.contact-links a>span:first-child{font-size:14px;color:var(--muted)}.contact-links strong{font-size:20px;font-weight:500;overflow-wrap:anywhere}.contact-links a>span:last-child{color:var(--accent)}
@media(max-width:1000px){.experience-row{grid-template-columns:170px minmax(0,1fr);gap:25px}.background-grid,.contact-content{gap:40px}.hero h1{white-space:normal}.profile{transform:none}}
@media(max-width:760px){nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.header{height:auto;min-height:82px;gap:20px;padding-block:14px}.highlights{grid-template-columns:1fr;gap:20px;margin-top:32px;padding-top:24px}.highlights>div{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px}.highlights strong{font-size:29px}.highlights span{font-size:14px}.experience-row{grid-template-columns:1fr;gap:9px;padding-top:0}.experience-info h3{font-size:23px}.experience-info h3 span{font-size:18px}.experience-row+.experience-row{padding-top:28px}.background-grid,.contact-content{grid-template-columns:1fr;gap:32px}.contact-links strong{font-size:18px}.contact-links a{grid-template-columns:76px minmax(0,1fr) 16px;gap:8px}.contact h3{font-size:27px}.hero h1{letter-spacing:0}.profile{margin-inline:0;box-shadow:none}.label-en{letter-spacing:.3px}}
@media(max-width:380px){nav{gap:10px;max-width:230px}.highlights>div{grid-template-columns:125px 1fr}.highlights strong{font-size:25px}.contact-links a{grid-template-columns:1fr 18px}.contact-links a>span:first-child{grid-column:1/-1}.hero-footer{gap:10px}.hero-footer>a{white-space:nowrap}}
