/* Personalization of the upstream Minimal Light static theme. */
:root { color-scheme: light dark; --ink: #343c45; --muted: #626e79; --accent: #043361; --link: #136d9b; --line: #e6ebef; --surface: #fff; --badge: #f0f5f8; }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
* { box-sizing: border-box; }
body { background: var(--surface); color: var(--ink); font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 16px; line-height: 1.7; padding: 0; }
a { color: var(--link); text-underline-offset: 3px; }
a:hover { color: var(--accent); text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; border-radius: 2px; }
h1, h2, h3, strong { color: var(--accent); }
strong { font-weight: 700; }
h2 { font-size: 25px; line-height: 1.3; font-weight: 500; margin: 0 0 20px; }
div.wrapper { width: min(1060px, calc(100% - 64px)); display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 74px; margin: 0 auto; padding: 64px 0 30px; }
header.profile { position: sticky; top: 32px; align-self: start; width: auto; float: none; padding: 0; text-align: center; }
.image.avatar img { width: 150px; height: 150px; padding: 0; object-fit: cover; object-position: center 30%; border-radius: 50%; margin-bottom: 21px; }
.profile h1 { font-size: 29px; margin: 0 0 13px; line-height: 1.3; }
.profile h1 span { display: block; margin-top: 4px; font-size: 21px; font-weight: 400; font-family: "PingFang SC", "Microsoft YaHei", sans-serif; }
.profile .position { font-size: 15px; margin-bottom: 14px; color: var(--ink); }
.affiliation { font-size: 15px; line-height: 1.75; margin-bottom: 13px; }
.affiliation a { color: var(--ink); }
.email { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; overflow-wrap: anywhere; }
.profile-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; font-size: 14px; margin: 18px 0 26px; }
.section-nav { padding-top: 18px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 7px; font-size: 14px; }
.section-nav a { color: var(--muted); }
main { min-width: 0; }
main > section { float: none; width: auto; border: 0; padding: 0; margin: 0 0 44px; }
p { margin: 0 0 16px; }
.subheading { font-size: 17px; margin: 26px 0 13px; line-height: 1.5; }
.research-list, .service-list { padding-left: 19px; margin: 0; }
.research-list li, .service-list li { margin: 0 0 9px; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.section-heading h2 { margin-bottom: 6px; }
.scholar-note { font-size: 13px; }
.publication-note { color: var(--muted); font-size: 13px; margin: 0 0 17px; }
.publications .year { color: var(--muted); font-size: 15px; font-weight: 400; border-bottom: 1px solid var(--line); padding: 0 0 7px; margin: 26px 0 19px; }
.bibliography { list-style: none; margin: 0; padding: 0; }
.publication { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 19px; margin: 0 0 26px; }
.venue-label { align-self: start; text-align: center; background: var(--badge); color: var(--accent); font-size: 12px; line-height: 1.4; border-radius: 3px; padding: 7px 4px; margin-top: 3px; font-family: Arial, sans-serif; font-weight: 600; }
.paper-body { min-width: 0; }
.paper-body h3 { font-size: 16px; line-height: 1.5; font-weight: 700; margin: 0 0 5px; }
.paper-body h3 a { color: var(--accent); }
.authors, .venue { font-size: 14px; line-height: 1.6; margin: 0 0 5px; }
.authors { color: var(--muted); }
.authors strong { color: var(--ink); }
.venue { font-style: italic; }
.accepted { font-style: normal; color: var(--link); font-size: 12px; margin-left: 5px; }
sup { font-size: 10px; }
.paper-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.paper-link { display: inline-block; color: var(--link); border: 1px solid var(--line); border-radius: 3px; padding: 1px 8px; font-family: Arial, sans-serif; font-size: 12px; line-height: 1.7; }
.paper-link:hover { border-color: var(--link); text-decoration: none; }
.cv-list { list-style: none; padding: 0; margin: 0; }
.cv-list li { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 18px; margin: 0 0 23px; }
.entry-date { font-size: 14px; color: var(--muted); padding-top: 1px; }
.cv-list h3 { font-size: 16px; line-height: 1.6; margin: 0 0 3px; color: var(--ink); }
.cv-list p { font-size: 14px; line-height: 1.65; margin: 0; color: var(--muted); }
.awards-list { list-style: none; padding: 0; margin: 0; }
.awards-list li { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 15px; margin-bottom: 13px; font-size: 15px; }
.award-date { color: var(--muted); font-size: 14px; }
footer.site-footer { position: static; float: none; width: auto; border-top: 1px solid var(--line); padding-top: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; text-align: left; font-size: 12px; color: var(--muted); }
.skip-link { position: absolute; left: 15px; top: -60px; padding: 8px 12px; background: var(--surface); z-index: 10; }
.skip-link:focus { top: 10px; }
@media (prefers-color-scheme: dark) { :root { --ink: #dddfe5; --muted: #abb5c3; --accent: #88c5ec; --link: #82c7ee; --line: #383e48; --surface: #20212b; --badge: #293442; } }
@media (max-width: 900px) { div.wrapper { width: min(700px, calc(100% - 40px)); display: block; padding: 34px 0; } header.profile { position: static; margin-bottom: 38px; } .profile-links { margin-bottom: 19px; } .section-nav { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px 17px; } .image.avatar img { width: 128px; height: 128px; margin-bottom: 16px; } }
@media (max-width: 480px) { div.wrapper { width: calc(100% - 36px); padding-top: 28px; } .section-heading { display: block; } .scholar-note { display: block; margin-bottom: 8px; } .publication { grid-template-columns: 1fr; gap: 7px; margin-bottom: 30px; } .venue-label { justify-self: start; padding: 4px 8px; } .cv-list li { grid-template-columns: 1fr; gap: 4px; } .entry-date { font-size: 13px; } h2 { font-size: 24px; } footer.site-footer { display: block; } footer.site-footer span { display: block; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { :root { --surface: #fff; --ink: #222; --accent: #222; --muted: #555; --line: #ddd; --link: #222; --badge: #fff; } body { font-size: 11pt; } div.wrapper { display: block; width: auto; padding: 0; } header.profile { position: static; margin: 0 0 25px; } .image.avatar img { width: 90px; height: 90px; } .section-nav, .skip-link { display: none; } .publication, .cv-list li { break-inside: avoid; } }
