:root { color-scheme: light; --text: #202124; --muted: #666; --link: #1772b5; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); background: white; font-family: Lato, Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.5; }
a { color: var(--link); text-decoration: none; }
a:hover { color: #a65309; text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
p { margin: 0 0 .875rem; }
strong { font-weight: 600; }
.page { width: min(100% - 3rem, 800px); margin-inline: auto; }
.skip-link { position: absolute; left: -10000px; top: .5rem; padding: .5rem 1rem; background: white; z-index: 1; }
.skip-link:focus { left: .5rem; }
.profile { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 2.5rem; align-items: center; padding: 2.25rem 0 2.5rem; }
h1 { margin: 0 0 1.125rem; font-size: 2rem; font-weight: 400; line-height: 1.3; text-align: center; }
h1 [lang] { white-space: nowrap; }
.profile-copy { min-width: 0; }
.profile-photo { display: block; border-radius: 50%; }
.profile-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; object-position: center; background: #fff; border-radius: 50%; }
.profile-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .25rem .5rem; margin-top: 1rem; }
.profile-links a { padding-block: .25rem; }
.profile-links span { color: #777; }
section { margin-bottom: 2.5rem; }
h2 { margin: 0 0 1rem; font-size: 1.5rem; font-weight: 400; line-height: 1.35; }
h3 { margin: 0 0 .3rem; font-size: 1rem; line-height: 1.45; font-weight: 600; }
.news-list { padding-left: 1.5rem; margin: 0; }
.news-list li { margin-bottom: .5rem; }
.highlight-text { color: #bb2626; }
#publications { border-top: 1px solid #eee; padding-top: 1.75rem; }
.section-intro { margin-bottom: 1.5rem; }
.publication { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1.75rem; align-items: center; padding: 1.25rem; margin-inline: -1.25rem; }
.highlighted { background: #fff8df; }
.satellite-publication { grid-template-columns: 260px minmax(0, 1fr); }
.paper-media { position: relative; overflow: hidden; }
.paper-figure { display: block; width: 100%; height: auto; transition: opacity .2s ease; }
.paper-hover-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.paper-media.is-playing .paper-figure { opacity: 0; }
.paper-media.is-playing .paper-hover-video { opacity: 1; }
.paper-copy { min-width: 0; }
.paper-copy h3 { color: var(--link); }
.paper-copy p { margin-bottom: .35rem; }
.paper-copy .paper-description { margin-top: .7rem; margin-bottom: 0; }
.paper-status { font-style: italic; }
.authors { font-size: .9375rem; }
.experience-list { display: grid; gap: 1.5rem; }
.experience-entry { display: grid; grid-template-columns: 56px 175px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.institution-mark { width: 52px; height: 52px; display: block; object-fit: contain; }
.experience-entry p { margin-bottom: .3rem; }
.entry-date { color: var(--muted); font-size: .875rem; padding-top: .2rem; }
.entry-description { color: #4c4c4c; }
.honors-list { padding-left: 1.25rem; margin: 0 0 1.5rem; }
.honors-list li { margin-bottom: .4rem; }
.dated-list { margin: 0; }
.dated-list > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 1rem; margin-bottom: .55rem; }
.dated-list dt { color: var(--muted); }
.dated-list dd { margin: 0; }
footer { padding: .5rem 0 2rem; text-align: right; font-size: .8125rem; color: var(--muted); }
footer p { margin-bottom: .4rem; }
.statistics > span { margin-left: .75rem; }
#busuanzi_container_page_pv, #busuanzi_container_site_pv { display: none; }
@media (max-width: 680px) {
 .profile { grid-template-columns: minmax(0, 1fr) 180px; gap: 1.5rem; }
 h1 { font-size: 1.75rem; }
 .publication { grid-template-columns: 180px minmax(0, 1fr); gap: 1.25rem; }
 .experience-entry { grid-template-columns: 48px 135px minmax(0, 1fr); gap: 1.25rem; }
 .institution-mark { width: 46px; height: 46px; }
}
@media (max-width: 520px) {
 .page { width: calc(100% - 2.5rem); }
 .profile { grid-template-columns: minmax(0, 1fr); padding-top: 1.75rem; gap: 1.5rem; }
 .profile-photo { grid-row: 1; width: 130px; justify-self: center; }
 h1 { font-size: 1.875rem; }
 .publication, .satellite-publication { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.25rem .75rem; margin-inline: -.75rem; }
 .paper-figure { max-width: 360px; margin-inline: auto; }
 .experience-entry { grid-template-columns: 44px minmax(0, 1fr); gap: .75rem; }
 .experience-entry .entry-date { grid-column: 2; }
 .experience-entry > div:last-child { grid-column: 2; }
 .experience-entry .institution-mark { grid-row: 1 / span 2; width: 42px; height: 42px; }
 .dated-list > div { grid-template-columns: 85px minmax(0, 1fr); gap: .75rem; }
 footer { text-align: left; }
}
@media print {
 .page { width: 100%; }
 .profile { padding-top: 0; }
 .publication, .experience-entry, .dated-list > div { break-inside: avoid; }
 .statistics, .skip-link { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .paper-figure, .paper-hover-video { transition: none; }
}
