/* Traditional academic homepage: one continuous reading column. */
:root {
  color-scheme: light;
  font-family: "Times New Roman", Times, serif;
  color: #000000;
  background: #ffffff;
}

* { box-sizing: border-box; }
html { background: #ffffff; scroll-padding-top: 18px; }
body {
  margin: 0;
  color: #000000;
  background: #ffffff;
  font-family: "Times New Roman", Times, serif;
  font-size: 17px;
  line-height: 1.45;
  overflow-wrap: break-word;
}

::selection { color: #ffffff; background: #000000; }
a, a:visited, a:hover, a:active {
  color: #0000ee;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 3px;
}
button, input, textarea, select { font: inherit; }
img { max-width: 100%; }
p { margin: 0 0 0.55em; }
h1, h2, h3 {
  color: #000000;
  font-family: inherit;
  font-weight: bold;
  line-height: 1.2;
}
h1 { font-size: 34px; }
h2 { margin: 0 0 10px; font-size: 24px; }
h3 { margin: 16px 0 6px; font-size: 19px; }
strong { font-weight: bold; }
ul, ol { margin: 8px 0 12px; padding-left: 28px; }
li { padding-left: 1px; }
hr {
  clear: both;
  height: 0;
  margin: 10px 0 14px;
  border: 0;
  border-top: 1px solid #000000;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  padding: 7px 12px;
  border: 1px solid #000000;
  color: #0000ee;
  background: #ffffff;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }

.page {
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 20px auto;
  padding: 0 24px;
}
.profile-header {
  display: flow-root;
  margin: 0;
  padding: 0;
}
.portrait {
  float: right;
  display: block;
  width: 180px;
  height: 180px;
  object-fit: cover;
  object-position: center;
  filter: none;
  margin: 2px 0 10px 26px;
  border: 0;
  border-radius: 0;
  background: #ffffff;
}
.name { margin: 0 0 10px; font-size: 34px; }
.position { margin-bottom: 13px; }
.contact { margin-bottom: 10px; line-height: 1.5; }
.site-nav { margin: 0 0 18px; }
.math-expression { display: inline-block; max-width: 100%; padding: 0.3em 0; overflow-x: auto; overflow-y: hidden; vertical-align: middle; line-height: 1.8; }
.math-expression math { color: #000000; }

main, section, nav, footer { min-width: 0; }
main { display: block; width: 100%; }
section {
  display: block;
  margin: 0 0 17px;
  padding: 13px 0 0;
  border-top: 1px solid #000000;
  scroll-margin-top: 18px;
}
#about { margin-bottom: 12px; padding-top: 0; border-top: 0; }
.job-market { margin-top: 8px; color: #c00000; }
.research-video { margin: 6px 0 0; }
.research-video video { display: block; width: 480px; max-width: 100%; height: auto; margin: 8px 0 0; }
.page-contents {
  display: block;
  margin: 20px 0 0;
  padding: 13px 0 14px;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
.page-contents p { margin: 0 0 5px; }
.contents-list { margin: 0; padding-left: 28px; }
.contents-list li { display: list-item; margin: 1px 0; }
.page-contents + section { border-top: 0; }

.section-heading { display: block; margin: 0 0 10px; }
.section-heading h2 { margin: 0; }
.subsection-title {
  margin: 16px 0 6px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.publication-list { display: block; list-style: none; margin: 0 0 14px; padding: 0; }
.publication {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 22px;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid #000000;
}
.publication-meta {
  padding-top: 3px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
}
.pub-year { display: block; margin-bottom: 4px; font-weight: 400; }
.pub-type { display: block; font-size: 13px; }
.publication-body {
  min-width: 0;
  font-family: inherit;
  font-size: 17px;
  line-height: 1.5;
}
.publication-body h3 {
  margin: 0 0 5px;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}
.publication-body h3 a,
.publication-body h3 a:visited,
.publication-body h3 a:hover,
.publication-body h3 a:active { color: #000000; text-decoration: none; }
.publication-body h3 a:hover { text-decoration: underline; }
.citation { display: block; margin: 0; }
.authors, .venue { display: block; margin: 0 0 4px; }
.year { display: inline; }
.publication-links { display: flex; flex-wrap: wrap; gap: 5px 16px; margin: 0; white-space: normal; }
.publication-links a { color: #0000ee; text-decoration: underline; text-decoration-color: currentColor; }
.publication-abstract { display: block; margin: 6px 0 0; font-size: 15px; font-weight: 400; }
.publication-abstract summary { display: list-item; width: fit-content; max-width: 100%; cursor: pointer; font-weight: 400; text-decoration: none; list-style: disclosure-closed inside; }
.publication-abstract[open] > summary { list-style-type: disclosure-open; }
.publication-abstract p { margin: 6px 0 0; font-size: 14px; font-weight: 400; line-height: 1.5; }
.activity-list { display: block; margin: 0 0 14px; padding: 0; list-style: none; }
.activity { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 22px; margin: 0; padding: 11px 0; border-bottom: 1px solid #000000; }
.activity-meta { padding-top: 3px; font-family: inherit; font-size: 15px; line-height: 1.5; }
.activity-meta time { display: block; margin-bottom: 4px; }
.activity-meta span { display: block; font-size: 13px; }
.activity-body { min-width: 0; font-family: inherit; font-size: 17px; line-height: 1.5; }
.activity-body h3 { margin: 0 0 5px; font-family: inherit; font-size: 18px; line-height: 1.3; }
.activity-body p { margin: 0 0 4px; }
.activity-body ul { margin: 6px 0 0; padding-left: 21px; }
.activity-body li { margin: 0 0 3px; }

.talk-list, .experience-list, .project-list, #empirical-research ul {
  display: block;
  list-style: disc outside;
  margin: 8px 0 0;
  padding-left: 28px;
}
.talk-list li, .experience-list li, .project-list li, #empirical-research li {
  display: list-item;
  margin: 0 0 10px;
  padding-left: 2px;
}
.talk-list time { display: inline; font: inherit; white-space: normal; }
.experience-list p, .project-list p { margin: 4px 0 0; }
.closing-quote {
  margin: 16px 0 12px;
  padding: 0;
  border: 0;
  color: #000000;
  background: #ffffff;
  font-family: inherit;
  font-size: inherit;
  font-style: italic;
  line-height: 1.45;
  white-space: pre-line;
  overflow-wrap: break-word;
}
.closing-quote p { margin: 0; }
.site-footer {
  display: block;
  margin: 20px 0 0;
  padding: 10px 0 4px;
  border-top: 1px solid #000000;
  color: #000000;
  font-size: 15px;
}
.site-footer p { margin: 0 0 5px; }

@media (max-width: 600px) {
  .page { margin: 18px auto; padding: 0 24px; }
  .portrait { width: 100px; height: 100px; margin: 2px 0 12px 18px; }
  .name { margin-bottom: 11px; font-size: 30px; }
  .position { margin-bottom: 11px; }
  .contact { margin-bottom: 8px; }
  h2 { font-size: 23px; }
  h3 { font-size: 19px; }
  ul, ol, .contents-list, .talk-list, .experience-list, .project-list, #empirical-research ul { padding-left: 24px; }
  .publication-list { padding: 0; }
  .publication { grid-template-columns: 60px minmax(0, 1fr); gap: 14px; padding: 11px 0; }
  .publication-meta { font-size: 14px; }
  .pub-type { font-size: 12px; }
  .publication-body, .publication-body h3 { font-size: 16px; }
  .publication-abstract { font-size: 15px; }
  .publication-abstract p { font-size: 14px; }
  .activity-list { padding: 0; }
  .activity { grid-template-columns: 60px minmax(0, 1fr); gap: 14px; }
  .activity-meta { font-size: 14px; }
  .activity-meta span { font-size: 12px; }
  .activity-body, .activity-body h3 { font-size: 16px; }
  .publication-body h3 { line-height: 1.45; }
  .subsection-title { font-size: 13px; }
  section { padding-top: 12px; margin-bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media (forced-colors: active) {
  a { text-decoration: underline; }
}

@media print {
  :root, html, body { color: #000000; background: #ffffff; }
  body { font-size: 11pt; line-height: 1.35; }
  .page { max-width: none; width: 100%; margin: 0; padding: 0; }
  .skip-link, .page-contents { display: none; }
  .profile-header { display: flow-root; }
  .portrait { float: right; width: 100px; height: 100px; margin: 0 0 10px 24px; filter: none; }
  .name { font-size: 25pt; }
  h2 { font-size: 17pt; }
  h3 { font-size: 13pt; }
  h1, h2, h3 { break-after: avoid; }
  section { margin-bottom: 17px; padding-top: 13px; border-color: #000000; }
  #about { padding-top: 0; border-top: 0; }
  .publication, .talk-list li, .experience-list li, .project-list li, #empirical-research li, .closing-quote { break-inside: avoid; }
  .publication { grid-template-columns: 62px minmax(0, 1fr); gap: 18px; margin: 0; padding: 13px 0; }
  .publication-body, .publication-abstract { font-size: 11pt; }
  .publication-abstract p { font-size: 10pt; }
  .activity { grid-template-columns: 62px minmax(0, 1fr); gap: 18px; padding: 13px 0; break-inside: avoid; }
  .activity-body { font-size: 11pt; }
  .activity-body h3 { font-size: 12pt; }
  .activity-meta { font-size: 10pt; }
  .publication-body h3 { font-size: 12pt; }
  .publication-meta { font-size: 10pt; }
  .pub-type { font-size: 9pt; }
  .site-footer { color: #000000; border-color: #000000; font-size: 10pt; }
  a, a:visited, a:hover, a:active { color: #0000ee; text-decoration-color: currentColor; }
}
