/* Academic Pages-inspired layout; retain the original site's font stack. */
:root {
  color-scheme: light;
  --text: #515151;
  --muted: #707373;
  --link: #2b6297;
  --line: #e9eaeb;
  --font: 'Trebuchet MS', 'Lucida Grande', 'Optima', 'Cardo', 'HelveticaNeue', 'Helvetica Neue', 'Arial', sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); background: #fff; font-family: var(--font); font-size: 16px; line-height: 1.5; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
.masthead { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--line); }
.masthead-inner { max-width: 1200px; min-height: 80px; padding: 16px 32px; margin: auto; display: flex; align-items: center; gap: 64px; }
.site-title { color: var(--muted); font-size: 20px; font-weight: 300; white-space: nowrap; }
nav { display: flex; gap: 32px; flex-wrap: wrap; }
nav a { color: var(--muted); padding: 8px 0; position: relative; }
nav a:hover { color: var(--text); text-decoration: none; }
nav a[aria-current] { color: var(--text); }
nav a[aria-current]::after { content: ''; position: absolute; height: 3px; background: #7a8288; left: 0; right: 0; bottom: 0; }
.page-layout { max-width: 1200px; margin: 42px auto 72px; padding: 0 32px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; min-height: calc(100vh - 280px); }
.author-profile { font-size: 14px; line-height: 1.5; align-self: start; }
.author-photo { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; object-position: center 30%; padding: 5px; border: 1px solid var(--line); }
.author-profile h2 { color: var(--muted); font-size: 19px; font-weight: 300; line-height: 1.5; margin: 16px 0 6px; }
.chinese-name { font-family: Georgia, serif; font-weight: normal; white-space: nowrap; }
.author-profile p { margin: 0 0 14px; }
.author-role { font-weight: 400; }
.profile-links { list-style: none; padding: 0; margin: 22px 0 0; }
.profile-links li { margin: 8px 0; }
.profile-links a { color: var(--text); display: inline-flex; align-items: center; gap: 8px; }
main { min-width: 0; overflow-wrap: break-word; }
h1 { font-size: 30px; font-weight: 400; line-height: 1.5; margin: 0 0 24px; letter-spacing: 0; }
h2 { font-size: 23px; font-weight: 400; line-height: 1.5; margin: 0 0 20px; letter-spacing: 0; }
#publications h1, main h2 { border-bottom: 1px solid var(--line); padding-bottom: 10px; }
main section + section { margin-top: 30px; }
main p { margin: 0; }
/* Consistent line spacing across all pages. */
.paragraph_style, .paragraph_style_4, .paragraph_style_6,
.paragraph_style_6_right, .paragraph_style_7 { line-height: 1.5; }
.paragraph_style_1 { line-height: 1.5; }
.paragraph_style_3, .paragraph_style_5, .paragraph_style_8 { line-height: 1.5; }
.style_2 { line-height: 1.5; }
.style_3, .style_4 { line-height: 1.5; }
main ul { padding-left: 21px; margin: 18px 0; }
/* Bullet lists use 1.5 line spacing. */
main li { line-height: 1.5; padding: 0 0 0 3px; margin: 0; }
.style_2, .paragraph_style_3, .paragraph_style_8 { font-weight: bold; }
.style_3 { font-style: italic; }
.style_4 { font-size: 12px; font-style: italic; }
.paragraph_style_5 { color: #a1263c; padding: 16px 20px; border-left: 3px solid #c7cdd1; background: #f7f8f9; }
#publications h1 a { display: inline-block; font-size: 14px; font-weight: normal; letter-spacing: 0; }
#publications .paragraph_style_3, #poster-and-preprints .paragraph_style_3 { font-size: inherit; line-height: 1.5; }
#publications p.paragraph_style_4, #poster-and-preprints p.paragraph_style_4 { color: var(--text); font-size: inherit; }
.site-footer { background: #f2f3f3; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.site-footer div { max-width: 1200px; margin: auto; padding: 28px 32px; }
.skip-link { position: absolute; top: -100px; left: 16px; padding: 10px 16px; background: white; z-index: 2; }
.skip-link:focus { top: 8px; }
@media (max-width: 800px) {
  .masthead-inner { gap: 24px; padding: 14px 24px; flex-wrap: wrap; }
  nav { gap: 24px; }
  .page-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 30px; padding: 0 24px; }
  .author-photo { width: 150px; height: 150px; }
}
@media (max-width: 600px) {
  .masthead-inner { gap: 8px; }
  .site-title { width: 100%; }
  nav { gap: 22px; font-size: 14px; }
  .page-layout { display: block; margin-top: 26px; }
  .author-profile { margin-bottom: 32px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
  .author-photo { float: left; width: 95px; height: 95px; margin-right: 18px; }
  .author-profile h2 { padding-top: 8px; }
  .profile-links { clear: both; padding-top: 12px; display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 10px; }
  .profile-links li { margin: 0; }
  h1 { font-size: 27px; }
  body { font-size: 15px; }
}
@media print {
  .masthead, .site-footer, .skip-link { display: none; }
  .page-layout { margin: 0; padding: 0; grid-template-columns: 180px 1fr; gap: 24px; }
}

#group .student-category + .student-category { margin-top: 26px; }
#group .student-category h2 { font-size: 20px; font-weight: bold; padding-bottom: 8px; margin-bottom: 12px; }
#group .student-list { list-style: disc outside; padding-left: 21px; margin: 0; }
#group .student-list li { line-height: 1.5; margin: 0; padding: 0 0 0 3px; }

/* Pages without a profile sidebar use the full content column. */
.page-layout.page-layout-wide { grid-template-columns: minmax(0, 1fr); }


/* Override paragraph and inline line heights within bullet items. */
main li p, main li span, main li a { line-height: 1.5; }

/* Keep Teaching and Talks bullet content at 1.5, including inline text. */
#teaching li, #teaching li p, #teaching li span, #teaching li a,
#talks li, #talks li p, #talks li span, #talks li a { line-height: 1.5; }

/* Prospective Students: readable sections using the shared site layout. */
.prospective-content { max-width: 900px; }
.prospective-content .prospective-intro { color: var(--muted); margin-bottom: 20px; }
.prospective-content .language-link { margin-top: 14px; }
.prospective-content section > p + p { margin-top: 16px; }

/* Paper impact and awards are bold text without a callout box. */
#publications .paragraph_style_5, #poster-and-preprints .paragraph_style_5 { color: rgb(210, 4, 45); font-weight: bold; padding: 0; border: 0; background: none; }

#publications .tech-report-link { font-weight: 400; }


.publication-entry { margin-top: 24px; }
.publication-details { min-width: 0; }


html { scroll-padding-top: 110px; }
.skip-link { z-index: 101; }
.nav-toggle { display: none; }
@media screen and (max-width: 1000px) {
  .nav-ready .masthead-inner { min-height: 68px; position: relative; flex-wrap: nowrap; justify-content: space-between; gap: 16px; padding: 12px 24px; }
  .nav-ready .site-title { width: auto; }
  .nav-ready .nav-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--text); font: inherit; cursor: pointer; }
  .nav-toggle:focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }
  .nav-toggle[aria-expanded="true"] { background: #f2f3f3; }
  .nav-ready #site-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 8px 24px 16px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 8px 12px #0000000d; max-height: calc(100dvh - 68px); overflow-y: auto; }
  .nav-ready #site-navigation.is-open { display: flex; flex-direction: column; gap: 0; }
  .nav-ready #site-navigation a { padding: 10px 12px; min-height: 44px; }
  .nav-ready #site-navigation a[aria-current] { background: #f2f3f3; }
  .nav-ready #site-navigation a[aria-current]::after { display: none; }
}

@media (max-width: 600px) {
  .author-profile h2,
  .author-profile > p:not(.author-role),
  .author-profile .profile-links li:not(.profile-email) { display: none; }
  .author-profile .author-role { margin-bottom: 6px; }
  .author-profile .profile-links { display: block; margin: 0; padding: 0; }
}

@media (max-width: 600px) {
  .author-profile { display: grid; grid-template-columns: 95px minmax(0, 1fr); column-gap: 18px; row-gap: 6px; align-items: center; }
  .author-profile .author-photo { display: block; float: none; grid-row: 1 / 3; width: 95px; height: 95px; margin: 0; }
  .author-profile .author-role { margin: 0; align-self: end; }
  .author-profile .profile-links { min-width: 0; align-self: start; }
  .author-profile .profile-email a { display: inline; overflow-wrap: anywhere; }
}

#teaching .teaching-university h2 { font-size: 1em; font-weight: bold; }

.application-deadlines { list-style: disc; }
.deadline-table { width: 100%; border-collapse: collapse; margin: 16px 0 8px; text-align: left; }
.deadline-table caption { text-align: left; font-weight: bold; margin-bottom: 10px; }
.deadline-table caption span { display: block; font-weight: normal; color: var(--muted); font-size: 14px; }
.deadline-table th, .deadline-table td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.deadline-table thead { background: #f2f3f3; }
.deadline-table th { font-weight: bold; }
.deadline-source { font-size: 13px; color: var(--muted); margin-bottom: 16px; }
@media (max-width: 600px) {
  .deadline-table { font-size: 13px; table-layout: fixed; }
  .deadline-table th, .deadline-table td { padding: 8px 6px; overflow-wrap: break-word; }
}
