:root{color:#222;background:#fff;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;font-size:14px;line-height:1.35}*,:before,:after{box-sizing:border-box}body{color:inherit;background:inherit;margin:0}button{font:inherit}#app{padding:.75rem}main{margin:0}section,article,header,nav{margin:0 0 .65rem}h1,h2,h3,p,ul{margin-top:0;margin-bottom:.45rem}h1{margin-bottom:.25rem;font-size:1.75rem;line-height:1.15}h2{border-bottom:1px solid #ddd;margin-bottom:.35rem;font-size:1.12rem;line-height:1.25}h3{margin-bottom:.2rem;font-size:.98rem;line-height:1.25}ul{padding-left:1.2rem}button{color:#222;cursor:pointer;background:#fff;border:1px solid #999;border-radius:0;padding:.4rem .8rem}.resume-link{color:#222;background:#fff;border:1px solid #999;justify-content:center;align-items:center;padding:.4rem .8rem;text-decoration:none;display:inline-flex}.resume-actions{flex-wrap:wrap;gap:.45rem;display:flex}.resume-print-button{justify-content:center;align-items:center;display:inline-flex}.home-page,.detail-page{max-width:1080px;margin:0 auto}.hero{border-bottom:2px solid #222;padding-bottom:.65rem}.hero-copy{color:#555}.resume-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.65rem;display:grid}.resume-card{border:1px solid #ddd;padding:.75rem}.resume-header{border-bottom:2px solid #222;grid-template-columns:minmax(13rem,1fr) minmax(20rem,1.35fr);gap:1rem;padding-bottom:.65rem;display:grid}.contact-list{grid-template-columns:repeat(2,minmax(10rem,1fr));gap:.22rem .9rem;padding-left:0;list-style:none;display:grid}.contact-list li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.35rem;display:grid}.contact-list span{color:#666;white-space:nowrap}.contact-list strong{overflow-wrap:anywhere;min-width:0;line-height:1.35}.resume-section{margin-bottom:.65rem}.intent-line,.education-block{flex-wrap:wrap;gap:.35rem 1.15rem;display:flex}.intent-line{grid-template-columns:minmax(13rem,1.1fr) minmax(18rem,1.4fr) minmax(6rem,.6fr);align-items:start;display:grid}.intent-line span{overflow-wrap:anywhere;min-width:0}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.4rem .75rem;display:grid}.skill-card{border-left:3px solid #222;padding-left:.5rem}.project-heading{border-bottom:1px solid #eee;justify-content:space-between;gap:.75rem;display:flex}.project-heading span{white-space:nowrap}.honor-list{list-style:outside}.card-kicker,.eyebrow,.resume-direction,.resume-title,.project-role,.project-desc{color:#555}.text-list li,.honor-list li{margin-bottom:.12rem}.project-item{margin-bottom:.75rem}.project-role,.project-desc,.resume-title,.hero-copy{margin-bottom:.3rem}@media (width<=720px){.resume-header,.intent-line,.contact-list{grid-template-columns:1fr}}
