/* Additions to the recovered 2024 homepage; its original theme remains in main.css. */
html{scroll-behavior:smooth;scroll-padding-top:90px}
.masthead,#main{animation:none!important}
a:focus-visible,button:focus-visible{outline:3px solid #5d8ec7;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:12px;background:white;border:2px solid #224b8d;padding:8px 12px;z-index:100}
.skip-link:focus{top:8px}
.author__content .profile-real-name{margin:3px 0 12px;color:#69747f;font-size:.88em}
.author__urls{display:block;position:relative;border:0;box-shadow:none;margin:0;padding:0;background:transparent}
.author__urls::before,.author__urls::after{display:none}
.author__urls li{white-space:normal}
.author__urls-wrapper{cursor:default}
.sidebar{transform:none}
.sticky{top:6em}
.greedy-nav .visible-links{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}
.greedy-nav .visible-links li{display:block;flex:0 0 auto}
.greedy-nav a{margin:0 .75rem;font-size:.92em}
.greedy-nav .masthead__menu-home-item a{font-size:1.05em}
.greedy-nav .masthead__menu-home-item{display:block!important}
.greedy-nav>button{display:none}
.page__content .subsection-title{font-size:1.07em;font-weight:600;border:0;margin:1.4em 0 .9em;color:#495b70}
.publication-list{padding-left:1.25em}
.publication-list li{margin-bottom:1.25em}
.publication-list li p{margin:0 0 .35em}
.venue-label{display:table;color:#fff;background:#24529b;font-size:.73em;line-height:1.55;padding:2px 7px;border-radius:3px;margin-bottom:6px;vertical-align:middle}
.pub-title{font-weight:600;color:#354c67}
.pub-authors{font-size:.94em}
.pub-venue,.publication-note{color:#6b7785;font-size:.88em!important;line-height:1.6}
.award-note{font-size:.88em!important;color:#8c691f}
.resource-links{display:flex;gap:14px;flex-wrap:wrap;font-size:.9em!important;margin-top:.45em!important}
.resource-links a{font-weight:600}
.paper-box{scroll-margin-top:90px}
.paper-box-image>div{position:relative;width:100%;min-width:0}
.paper-box .badge{position:static;margin:0 0 .8em;display:table;max-width:100%;padding:4px 9px;line-height:1.5;font-size:.8em;white-space:normal}
.paper-box .paper-box-image img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.paper-box .paper-box-text p{line-height:1.65}
.additional-work{margin:1.5em 0;padding:1em 1.2em;border-left:3px solid #d0deef;background:#f7f9fc}
.additional-work h3{font-size:1em;margin:0 0 .5em;color:#435a78}
.additional-work p,.additional-work li{font-size:.94em}
.additional-work ul{margin-bottom:0;padding-left:1.2em}
.experience-list{list-style:none;padding:0;margin:0}
.experience-list li{display:grid;grid-template-columns:155px minmax(0,1fr);gap:18px;padding:12px 0 18px;border-bottom:1px solid #edf0f3;margin:0}
.entry-date{font-size:.85em;color:#6c7c90;white-space:nowrap;padding-top:2px}
.entry-note{color:#6a7888;font-size:.9em!important;line-height:1.65}
.experience-list .entry-note{display:inline-block;margin-top:4px}
.updated-footer{max-width:1280px;margin:40px auto 0;padding:20px 1em;border-top:1px solid #eee;font-size:.8em;color:#7a8288;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.updated-footer>a:last-child{margin-left:auto}
@media(max-width:1279px){.greedy-nav a{margin:0 .55rem;font-size:.88em}}
@media(max-width:924px){
  html{scroll-padding-top:78px}
  .masthead__inner-wrap{padding:.55em 1em}
  .greedy-nav{min-height:38px;min-width:0}
  .greedy-nav a{font-size:.93em;padding:.5em 0;margin:0 .55em}
  .greedy-nav .visible-links{display:block}
  .greedy-nav .visible-links li{display:block}
  .js .greedy-nav .visible-links li:not(:first-child){display:none}
  .js .greedy-nav.is-open .visible-links li{display:block}
  .js .greedy-nav>button{display:block;position:absolute;right:0;top:0;height:38px;width:43px;margin:0;background:#224b8d;border:0;border-radius:3px}
  .greedy-nav>button .navicon{background:#fff;width:22px;margin:auto}
  .greedy-nav>button .navicon::before,.greedy-nav>button .navicon::after{background:#fff;width:22px}
  .greedy-nav .visible-links li:first-child{padding-right:55px}
  .greedy-nav.is-open .visible-links{padding-bottom:8px}
  .sidebar.sticky{position:relative;top:0}
  .sidebar .author__urls{display:none}
  .sidebar .author__urls_sm{display:flex;flex-wrap:wrap;gap:5px;font-size:1.35em}
  .sidebar .author__urls_sm a{padding:5px}
  .author__content .profile-real-name{margin:4px 0 7px;font-size:.8em}
  .profile_box{flex-wrap:wrap;gap:8px}
  .author__urls-wrapper{margin-left:0}
}
@media(max-width:767px){
  .paper-box .paper-box-image{order:0;max-width:100%;min-width:0;justify-content:flex-start}
  .paper-box .paper-box-text{order:1;width:100%;padding-top:1.1em}
  .paper-box .paper-box-image img{max-width:100%;max-height:260px}
  .paper-box .badge{font-size:.84em}
  .paper-box{padding:1.5em 0}
  .page__content h1{font-size:1.35em;line-height:1.6;overflow-wrap:anywhere}
  .page__content h1 a{font-size:.7em;display:inline-block;margin-right:6px}
  .experience-list li{grid-template-columns:1fr;gap:6px}
  .entry-date{font-size:.82em}
}
@media(max-width:440px){
  #main{padding-left:16px;padding-right:16px}
  .profile_box{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px}
  .author__avatar,.author__avatar img{width:76px;min-width:76px}
  .author__content{padding-left:0;min-width:0}
  .author__urls-wrapper{grid-column:1/-1;display:block}
  .sidebar .author__urls_sm{font-size:1.35em;gap:9px;padding:0}
  .author__bio{font-size:.85em!important}
  .publication-list{padding-left:1.1em}
  .additional-work{padding:.8em .9em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.masthead,.sidebar,.updated-footer,.skip-link{display:none!important}#main{max-width:none;margin:0;padding:0}.page{width:100%;padding:0}.paper-box,.experience-list li{break-inside:avoid}}

/* 2026 content revision: retain the original compact publication list. */
.author__bio{line-height:1.55}
.appointment-detail{font-size:.96em}
.affiliation-line{display:inline-block;margin-top:.55em;color:#667787;font-size:.92em}
.publication-list{padding-left:2em}
.publication-list li{margin-bottom:1em;scroll-margin-top:110px}
.publication-list li>p:first-child{font-size:1em;line-height:1.6;margin-bottom:0}
.venue-label{display:inline-block;margin:0 .35em 0 0;padding:1px 6px;line-height:1.55;font-size:.7em;white-space:nowrap;vertical-align:baseline;background:#007ec6;border-radius:3px}
.publication-list .pub-venue{margin-top:.15em;font-size:.84em!important}
.publication-list .resource-links{font-size:.84em!important;margin-top:.1em!important;margin-bottom:0;gap:12px}
.publication-list .award-note{margin-top:.15em;margin-bottom:0}
.testbed-feature{padding:1.6em 0 1.5em;border-bottom:1px solid #eee;scroll-margin-top:110px}
.testbed-feature h2{font-size:1.25em;margin:0 0 .3em;border:0;color:#224b8d}
.testbed-feature figure{margin:1em 0}
.testbed-feature img{display:block;width:100%;height:auto}
.testbed-feature p{margin-bottom:.65em}
.mentored-students{padding-left:1.4em}
.mentored-students li{margin-bottom:.65em;line-height:1.7}
.student-links{font-size:.87em;white-space:nowrap}
.student-links a+a{margin-left:.55em}
@media(min-width:925px){.greedy-nav a{margin:0 .5rem;font-size:.86em}.greedy-nav .masthead__menu-home-item a{font-size:1em}}
@media(max-width:440px){.publication-list{padding-left:1.15em}.author__bio{font-size:.8em!important}.affiliation-line{margin-top:.3em}}

.page__content .intro-text{text-align:justify;text-align-last:left;hyphens:auto}
@media(min-width:925px){.masthead__menu,.greedy-nav{width:100%}.greedy-nav .visible-links{width:100%;justify-content:flex-end}.greedy-nav .visible-links .masthead__menu-home-item{margin-right:auto}}
/* Follow-up: equal-width venue badges, two-row citations, smaller project images. */
.venue-label{width:112px;box-sizing:border-box;text-align:center;padding:2px 4px;font-size:.72em;line-height:1.5;font-weight:700;color:#fff}
.publication-list .pub-title-row{margin:0;line-height:1.65}
.publication-list .pub-author-row{margin:0;line-height:1.65;font-size:1em}
.page__content .paper-title-link{color:inherit;text-decoration:none}
.page__content .paper-title-link:hover{text-decoration:underline;color:#224b8d}
.corresponding{font-size:.9em}
.paper-award{font-weight:700;color:#8c691f}
.paper-box{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:1.3em 0;align-items:center}
.paper-box .paper-box-image,.paper-box .paper-box-text{width:auto;max-width:none;min-width:0;padding:0;display:block;order:initial}
.paper-box .paper-box-image>div{width:100%;max-width:100%;aspect-ratio:3/2}
.paper-box .project-image-link{display:block;width:100%;height:100%;border-radius:4px;overflow:hidden;box-shadow:2px 2px 6px #0002}
.paper-box .project-image-link:focus-visible{outline:3px solid #224b8d;outline-offset:4px}
.paper-box .paper-box-image img{display:block;width:100%;height:100%;max-width:100%;max-height:none;aspect-ratio:3/2;object-fit:cover;box-shadow:none}
#project-roboec2 .paper-box-image>div,#project-roboec2 .paper-box-image img{aspect-ratio:var(--project-image-ratio)}
.paper-box .paper-box-text{font-size:.92em;min-height:160px;display:flex;flex-direction:column;justify-content:center}
.page__content .project-title{font-size:1.07em;line-height:1.45;color:#224b8d;margin:0 0 .45em;font-weight:700}
.paper-box .paper-box-text p{margin:0 0 .45em;line-height:1.5}
.paper-box .paper-box-text>:last-child{margin-bottom:0}
.paper-box .supplementary-project-image{margin-top:10px;max-height:115px}
.additional-robotics{margin:1.6em 0}
.testbed-feature figure{max-width:840px}
@media(min-width:768px) and (max-width:1100px){.paper-box{grid-template-columns:220px minmax(0,1fr);gap:18px}.paper-box .paper-box-text{min-height:146.667px}}
@media(max-width:767px){.paper-box{grid-template-columns:1fr;gap:14px}.paper-box .paper-box-image{width:100%;max-width:320px}.paper-box .paper-box-image img{max-height:none}.paper-box .paper-box-text{padding-top:0;min-height:0}.testbed-feature figure{max-width:100%}}

/* Compact supporting information on consolidated project cards. */
.project-details{margin-top:.35em;font-size:.94em}
.project-details summary{cursor:pointer;color:#495b70}
.project-details[open] summary{margin-bottom:.5em}
.project-details summary:focus-visible{outline:3px solid #5d8ec7;outline-offset:3px}
