:root {
  color-scheme: light;
  --background: #fff;
  --academic-ink: #171717;
  --ink: #20252c;
  --muted: #58616d;
  --link: #245a91;
  --rule: #e1e5e9;
  --link-hover: #153b63;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --background: #181b20;
  --ink: #e7e9ed;
  --academic-ink: #e7e9ed;
  --muted: #b0b8c4;
  --link: #92c4f5;
  --link-hover: #c1dfff;
  --rule: #39414b;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 1.5rem; }
body {
  margin: 0;
  background: var(--background);
  color: var(--ink);
  font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.site-shell { position: relative; width: min(900px, calc(100% - 3rem)); margin-inline: auto; }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--link-hover); text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--link); outline-offset: 5px; border-radius: 2px; }
.skip-link { position: absolute; top: -5rem; left: 1rem; padding: .5rem 1rem; background: var(--background); z-index: 2; }
.skip-link:focus { top: .5rem; }
.site-nav { display: flex; flex-wrap: wrap; gap: .45rem 1.55rem; padding: 1.5rem 0 1.15rem; margin-bottom: 2.3rem; border-bottom: 1px solid var(--rule); font-size: .88rem; }
.site-nav a { text-decoration: none; color: var(--muted); }
.site-nav a { display: inline-block; min-height: 24px; }
.site-nav a:hover, .site-nav a[aria-current] { color: var(--link); }
.site-nav a[aria-current] { text-decoration: underline; text-underline-offset: 6px; }
.theme-toggle { position: absolute; top: .85rem; right: 0; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.theme-toggle[hidden], .theme-sun { display: none; }
.theme-toggle:hover { color: var(--ink); }
:root[data-theme="dark"] .theme-moon { display: none; }
:root[data-theme="dark"] .theme-sun { display: block; }
h1, h2, h3 { line-height: 1.3; font-weight: 600; color: var(--ink); }
h1 { font-size: 2.1rem; letter-spacing: -.045em; margin: 0 0 .65rem; }
h2 { font-size: 1.32rem; letter-spacing: -.02em; margin: 2.2rem 0 .7rem; }
h3 { font-size: 1rem; margin: 0 0 .3rem; }
p { margin: 0 0 1rem; }
ul, ol { padding-left: 1.3rem; margin: .5rem 0 1.2rem; }
li { padding-left: .1rem; margin-bottom: .65rem; }
strong { font-weight: 600; }
sup { font-size: .72em; line-height: 0; }
img { max-width: 100%; height: auto; }
.page-heading { margin-bottom: 1.7rem; }
.site-nav .site-name { margin-right: auto; color: var(--ink); font: 500 20px/1 Hind, Helvetica, Arial, sans-serif; }
.page-content { overflow-wrap: anywhere; }
.page-content > h2 { border-top: 1px solid var(--rule); padding-top: 1.3rem; }
.news { list-style: none; padding: 0; margin: 0 0 2.5rem; font-size: 1rem; line-height: 1.55; }
.news li { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1.5rem; align-items: baseline; padding: .4rem 0; margin: 0; break-inside: avoid; }
.news li:first-child { padding-top: .25rem; }
.news time { color: var(--muted); font-size: .875rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.news p { margin: 0; }
.academic-page .news a { text-decoration: underline; text-decoration-color: var(--rule); }
.academic-page .news a:hover { text-decoration-color: currentColor; }
.academic-page { font: 18px/1.333333 Lato, Helvetica, Arial, sans-serif; color: var(--academic-ink); }
.academic-page .site-shell { width: min(1000px, calc(100% - 3rem)); }
.academic-page .site-nav { justify-content: flex-end; gap: .35rem 1.3rem; padding: 1.4rem 0 1rem; margin-bottom: 2rem; font-size: 1.0625rem; }
.academic-page h1 { font: 500 42px/1.2 Hind, Helvetica, Arial, sans-serif; letter-spacing: -2px; margin-bottom: 1rem; }
.academic-page strong { font-weight: 700; }
.profile { margin-bottom: 1.2rem; }
.profile-email { margin-bottom: 0; }
.academic-page .profile h1 { margin-bottom: -0.5rem; }
.profile-tagline { margin: 0 0 .65rem; color: var(--muted); font-size: 1.25rem; line-height: 1.4; }
.profile-contact { margin: 0; font-size: 1rem; line-height: 1.5; }
.portrait { float: right; width: 220px; height: 220px; object-fit: cover; margin: 0 0 1rem 2rem; }
.academic-content > p { margin-bottom: 1rem; }
.academic-page a { text-decoration: none; }
.academic-page a:hover { text-decoration: underline; }
.academic-content > ul { margin: -.5rem 0 1.25rem; padding-left: 1.1rem; }
.academic-content > ul li { margin-bottom: .4rem; padding-left: 0; }
.home-content > ul:first-of-type strong { font-weight: 400; text-decoration: underline; text-underline-offset: 3px; }
.academic-content > h2 { clear: both; font: 500 24px/1.3 Hind, Helvetica, Arial, sans-serif; margin: 1.8rem 0 .65rem; padding: 0 0 .35rem; border-top: 0; border-bottom: 1px solid var(--rule); letter-spacing: 0; }
.academic-content > h2 ~ ul { margin: 0; }
.academic-content > h2 ~ ul > li { margin-bottom: 1.2rem; }
.academic-content > h2 ~ ul p { margin: 0; }
.academic-content > h2 ~ ul p:nth-child(2) { margin: .1rem 0; }
.academic-content > h2 ~ ul p:last-child { color: var(--muted); }
.academic-content > h2 ~ ul p:last-child a { display: inline-block; min-height: 24px; margin-left: .4rem; }
.academic-content > h2 ~ ul strong a { color: var(--ink); }
.site-nav, .academic-page .site-nav { padding-right: 3.75rem; }
@media (max-width: 900px) {
  .site-nav--named .site-name { flex-basis: 100%; margin-bottom: .65rem; }
  .academic-page .site-nav--named { justify-content: flex-start; }
}
.research-pillar {
  --pillar-accent: #2c63a5;
  display: grid;
  grid-template-columns: minmax(0, 235px) minmax(0, 1fr);
  gap: 2rem;
  border-top: 1px solid var(--rule);
  padding: 1.5rem 0;
  line-height: 1.65;
  break-inside: avoid;
}
.research-pillar--optimization { --pillar-accent: #147d79; }
.research-pillar--model-design { --pillar-accent: #72558e; }
:root[data-theme="dark"] .research-pillar { --pillar-accent: #92c4f5; }
:root[data-theme="dark"] .research-pillar--optimization { --pillar-accent: #78d3cb; }
:root[data-theme="dark"] .research-pillar--model-design { --pillar-accent: #c5a8e3; }
.research-pillar-index { display: block; margin-bottom: .5rem; color: var(--pillar-accent); font-size: .6875rem; font-weight: 700; letter-spacing: .14em; }
.research-pillar-heading h2 { margin: 0; font: 500 24px/1.3 Hind, Helvetica, Arial, sans-serif; letter-spacing: 0; }
.research-pillar-body > p { margin: 0 0 .75rem; }
.research-pillar-body > p:first-child { line-height: 1.5; }
.research-pillar-work { color: var(--muted); font-size: .875rem; }
.research-pillar-work p { margin: 0; }
.research-pillar-work a { color: var(--pillar-accent); text-decoration: underline; text-decoration-color: var(--rule); }
.research-pillar-work a:hover { text-decoration-color: currentColor; }
.academic-content > .research-pillar + h2 { margin-top: 0; padding-top: 1.5rem; border-top: 1px solid var(--rule); border-bottom: 0; }
@media (max-width: 780px) {
  .research-pillar { grid-template-columns: minmax(0, 190px) minmax(0, 1fr); gap: 1.5rem; }
}
@media (max-width: 680px) {
  .research-pillar { grid-template-columns: minmax(0, 1fr); gap: .85rem; }
  .research-pillar-heading { display: flex; align-items: baseline; gap: .75rem; }
  .research-pillar-index { margin-bottom: 0; }
}
@media (max-width: 600px) {
  .site-shell { width: calc(100% - 2rem); }
  .site-nav { gap: .5rem 1.1rem; padding-top: 1rem; margin-bottom: 1.8rem; }
  h1 { font-size: 1.8rem; }
  .academic-page .site-shell { width: calc(100% - 2rem); }
  .academic-page .site-nav { justify-content: flex-start; gap: .35rem 1rem; margin-bottom: 1.35rem; font-size: 1rem; }
  .academic-page h1 { font-size: 2rem; padding-top: .1rem; }
  .portrait { width: 90px; height: 90px; margin-left: .8rem; }
  .profile-contact { clear: both; }
  .news li { grid-template-columns: 1fr; gap: .15rem; padding: .4rem 0; }
}
@media print {
  :root, :root[data-theme="dark"] { color-scheme: light; --background: #fff; --ink: #20252c; --academic-ink: #171717; --muted: #58616d; --link: #245a91; --rule: #e1e5e9; }
  .site-nav, .skip-link, .statcounter, .theme-toggle { display: none; }
  .site-shell { width: 100%; }
  body { font-size: 11pt; }
  .academic-content > h2 ~ ul > li { break-inside: avoid; }
}
