/* Typography and compact layout adapted from nnanhuang.github.io. */
@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/lato-regular.woff2') format('woff2')}
@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/lato-bold.woff2') format('woff2')}
@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/lato-italic.woff2') format('woff2')}
:root{color-scheme:light;--ink:#111;--muted:#666;--blue:#1772d0;--line:#e9e9e9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Lato,Verdana,Helvetica,sans-serif;font-size:14px;line-height:1.45}
main{max-width:800px;margin:0 auto;padding:26px 16px 24px}
a{color:var(--blue);text-decoration:none;transition:color .15s}
a:hover{color:#f09228}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:2px}
p{margin:0 0 14px}
strong{font-weight:700}
h1{font-size:32px;font-weight:400;text-align:center;margin:0 0 18px;line-height:1.2}
h2{font-size:22px;font-weight:400;margin:0 0 14px;line-height:1.3}
h3{font-size:14px;font-weight:700;line-height:1.45;margin:0 0 3px}
section{margin-top:28px;scroll-margin-top:22px}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:30px;align-items:center;padding:12px 4px 8px}
.portrait-link{display:block;width:fit-content;justify-self:center;border-radius:50%;overflow:hidden}
.portrait{display:block;width:220px;height:220px;object-fit:cover;transform:scale(1.18);transform-origin:50% 18%}
.contact-links{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:17px;font-size:14px}
.contact-links span,.paper-links span{color:#777}
.school-icon{display:inline-block;width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:5px}
.news-list{list-style:none;padding:0;margin:0}
.news-list li{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;margin:7px 0}
.news-list time{font-weight:700}
.research-statement{margin-bottom:23px}
.section-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:25px 0 6px}
.section-caption h2{margin:0}
.pub-filters{font-size:14px}
.pub-filters button{border:0;padding:0;background:none;color:var(--blue);font:inherit;cursor:pointer}
.pub-filters button:hover{color:#f09228}
.pub-filters button[aria-pressed=true]{text-decoration:underline;text-underline-offset:3px}
.scholar-link{margin-left:auto;font-size:12px}
.publication{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;padding:19px 0}
.publication[hidden]{display:none}
.paper-image{display:flex;align-items:center;justify-content:center;min-height:128px;overflow:hidden}
.paper-image img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain}
.paper-image picture{display:block;width:100%}
.authors,.venue{font-size:14px;margin-bottom:2px}
.paper-links{display:flex;gap:6px;flex-wrap:wrap;font-size:14px;margin:3px 0 10px}
.summary{font-size:14px;line-height:1.45;margin:0}
.experience{margin-bottom:19px}
.experience p{margin-bottom:3px;font-size:14px}
.education-detail{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:3px 16px}
.education-detail .education-gpa{margin-left:auto;color:var(--muted);white-space:nowrap}
.experience-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:24px}
.experience-logo{display:flex;align-items:center;justify-content:center;width:80px}
.experience-logo img{display:block;width:auto;height:auto;max-width:72px;max-height:58px;object-fit:contain}
.ucdavis-logo{background:#022851;padding:11px 6px;border-radius:3px}
.ucdavis-logo img{max-width:68px}
.experience-content p{margin:3px 0 0}
.experience-entry + .experience-entry{margin-top:22px}
.experience-content .entry-heading h3{max-width:390px}
.entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.entry-heading h3{margin-bottom:3px}
.date{font-size:13px;color:var(--muted);white-space:nowrap}
.detail,.muted{color:var(--muted)}
.detail{font-size:14px}
.muted{font-weight:400}
.misc-details summary{font-size:22px;font-weight:400;line-height:1.3;cursor:pointer;width:fit-content}
.misc-details summary::marker{font-size:14px;color:var(--muted)}
.misc-details summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:2px}
.misc-details[open] summary{margin-bottom:14px}
.misc-quote{display:flex;align-items:center;gap:8px;padding:4px 0 4px 2ch;overflow-x:auto}
.quote-feather{width:25px;height:25px;flex-shrink:0;color:#75aaca}
.misc-quote p{margin:0;white-space:nowrap}
.misc-quote .quote-author{margin-left:6px;color:var(--muted);font-size:12px}
footer{margin-top:32px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
.skip-link{position:absolute;left:12px;top:-70px;padding:8px;background:#fff;z-index:5}
.skip-link:focus{top:12px}
@media(max-width:700px){main{padding:24px 20px}.intro{grid-template-columns:minmax(0,1fr) 185px;gap:22px}.portrait{width:185px;height:185px}.publication{grid-template-columns:170px minmax(0,1fr)}.date{white-space:normal;text-align:right;flex-shrink:0}}
@media(max-width:540px){main{padding:28px 20px 22px}.intro{display:flex;flex-direction:column-reverse;gap:23px;padding:0}.portrait{width:190px;height:190px}.bio h1{margin-bottom:17px}.contact-links{gap:8px}.publication{grid-template-columns:1fr;gap:13px;padding:22px 0;border-bottom:1px solid var(--line)}.publication:last-child{border:0}.paper-image{width:100%;max-width:350px;margin:auto;min-height:0}.paper-image img{max-height:205px}.scholar-link{margin-left:0;flex-basis:100%}.entry-heading{display:block}.date{display:block;text-align:left;margin-bottom:5px}.entry-heading p{margin-bottom:5px}footer{flex-direction:column;gap:4px}.news-list li{gap:8px}section{margin-top:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}
@media(max-width:540px){.experience-row{grid-template-columns:56px minmax(0,1fr);gap:14px}.experience-logo{width:56px}.experience-logo img{max-width:52px;max-height:48px}.ucdavis-logo img{max-width:44px}.experience-content .date{margin:3px 0 5px}}
