/*******************************************************************************
 * Variables used throughout the theme.
 * To adjust anything, simply edit the variables below and rebuild the theme.
 ******************************************************************************/
/*******************************************************************************
 * Themes
 ******************************************************************************/
:root {
  --global-bg-color: #ffffff;
  --global-code-bg-color: rgb(255, 247.8061674009, 232);
  --global-text-color: rgb(0, 25.6047297297, 71.5);
  --global-text-color-light: #003594;
  --global-theme-color: #FFB81C;
  --global-hover-color: rgb(155.5, 106.8634361233, 0);
  --global-footer-bg-color: #003594;
  --global-footer-text-color: #FFB81C;
  --global-footer-link-color: rgb(155.5, 106.8634361233, 0);
  --global-distill-app-color: #828282;
}
:root .fa-sun {
  display: none;
}
:root .fa-moon {
  padding-left: 10px;
  padding-top: 12px;
  display: block;
}

html[data-theme=dark] {
  --global-bg-color: rgb(0, 25.6047297297, 71.5);
  --global-code-bg-color: rgb(0, 34.7364864865, 97);
  --global-text-color: rgb(255, 247.8061674009, 232);
  --global-text-color-light: #FFB81C;
  --global-theme-color: #FFB81C;
  --global-hover-color: rgb(155.5, 106.8634361233, 0);
  --global-footer-bg-color: #003594;
  --global-footer-text-color: #FFB81C;
  --global-footer-link-color: rgb(155.5, 106.8634361233, 0);
  --global-distill-app-color: #e8e8e8;
}
html[data-theme=dark] .fa-sun {
  padding-left: 10px;
  padding-top: 12px;
  display: block;
}
html[data-theme=dark] .fa-moon {
  display: none;
}

/******************************************************************************
 * Content
 ******************************************************************************/
body {
  padding-bottom: 70px;
  color: var(--global-text-color);
  background-color: var(--global-bg-color);
}

body.fixed-top-nav {
  padding-top: 56px;
}

body.sticky-bottom-footer {
  padding-bottom: 0;
}

.container {
  max-width: 900px;
}

.profile img {
  width: 100%;
}

/******************************************************************************
 * Publications
 ******************************************************************************/
/*****************************************************************************
* Projects
*****************************************************************************/
/*******************************************************************************
 * Styles for the base elements of the theme.
 ******************************************************************************/
.research-projects .experiment-item h3, figure.highlight, .projects h2.category, .equation {
  margin-bottom: 1rem;
}

p, h1, h2, h3, h4, h5, h6, em, div, li, span, strong {
  color: var(--global-text-color);
}

a, table.table a {
  color: var(--global-theme-color);
}
a:hover, table.table a:hover {
  color: var(--global-hover-color);
  text-decoration: underline;
}
a:hover:after :not(.nav-item.dropdown), table.table a:hover:after :not(.nav-item.dropdown) {
  width: 100%;
}

blockquote {
  background: var(--global-bg-color);
  border-left: 2px solid var(--global-theme-color);
  margin: 1.5em 10px;
  padding: 0.5em 10px;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  blockquote {
    font-size: 1.08rem;
  }
}

.equation {
  text-align: center;
}

.caption {
  font-size: 0.875rem;
  margin-top: 0.75rem;
  margin-bottom: 1.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .caption {
    font-size: 0.7875rem;
  }
}

.citation, .citation-number {
  color: var(--global-theme-color);
}

.profile {
  margin-left: 1rem;
  width: 100%;
}
.profile .address {
  margin-bottom: 20px;
  margin-top: 20px;
  font-size: 1rem;
  line-height: 1.6;
  width: 100%;
}
@media (max-width: 768px) {
  .profile .address {
    font-size: 0.9rem;
  }
}
.profile .address p {
  display: inline-block;
  margin: 0;
}
.profile .address .email {
  font-family: courier;
  display: inline-block;
  margin: 0;
  color: var(--global-theme-color);
  font-size: 1rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .profile .address .email {
    font-size: 0.9rem;
  }
}

.profile-img {
  height: 250px;
  width: 250px;
  object-fit: cover;
}

@media (min-width: 576px) {
  .profile {
    width: 40%;
  }
  .profile .address p {
    display: block;
  }
  .project {
    width: 15%;
  }
}
.post-description {
  margin-bottom: 2rem;
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  .post-description {
    font-size: 0.7875rem;
  }
}
.post-description a {
  color: inherit;
}
.post-description a:hover {
  color: var(--global-theme-color);
  text-decoration: none;
}

.navbar {
  box-shadow: none;
  border-bottom: 1px solid #e8e8e8;
  background-color: var(--global-footer-bg-color);
  opacity: 0.85;
}

.navbar .dropdown-menu {
  background-color: var(--global-bg-color);
}
.navbar .dropdown-menu a:not(.active) {
  color: var(--global-text-color);
}
.navbar .dropdown-menu a:hover {
  color: var(--global-text-color);
}

.dropdown-item {
  color: var(--global-text-color);
}
.dropdown-item:hover {
  color: var(--global-hover-color);
  background-color: var(--global-bg-color);
}

.navbar.navbar-light a:hover {
  text-decoration: none;
}
.navbar.navbar-light .navbar-brand {
  color: var(--global-theme-color);
}
.navbar.navbar-light .navbar-nav .nav-item .nav-link {
  color: var(--global-theme-color);
}
.navbar.navbar-light .navbar-nav .nav-item .nav-link:hover {
  color: var(--global-hover-color);
}
.navbar.navbar-light .navbar-nav .nav-item.active > .nav-link {
  background-color: inherit;
  font-weight: bolder;
  color: var(--global-theme-color);
}
.navbar.navbar-light .navbar-nav .nav-item.active > .nav-link:hover {
  color: var(--global-hover-color);
}
.navbar.navbar-light .navbar-brand.social {
  padding-bottom: 0;
  padding-top: 0;
  font-size: 1.7rem;
}
.navbar.navbar-light .navbar-brand.social a i::before {
  color: var(--global-text-color-light);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.navbar.navbar-light .navbar-brand.social a:hover i::before {
  color: var(--global-theme-color);
}

.navbar-toggler .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  background-color: var(--global-text-color);
  border-radius: 1px;
  margin-bottom: 4px;
  transition: all 0.2s;
}
.navbar-toggler .top-bar {
  transform: rotate(45deg);
  transform-origin: 10% 10%;
}
.navbar-toggler .middle-bar {
  opacity: 0;
}
.navbar-toggler .bottom-bar {
  transform: rotate(-45deg);
  transform-origin: 10% 90%;
}

.navbar-toggler.collapsed .top-bar {
  transform: rotate(0);
}
.navbar-toggler.collapsed .middle-bar {
  opacity: 1;
}
.navbar-toggler.collapsed .bottom-bar {
  transform: rotate(0);
}

.news {
  background-color: var(--global-code-bg-color);
  font-size: 1rem;
  line-height: 1.6;
  padding: 2rem 1rem 1rem 2rem;
  border-radius: 15px;
}
@media (max-width: 768px) {
  .news {
    font-size: 0.9rem;
  }
}
.news table td {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--global-text-color);
}
@media (max-width: 768px) {
  .news table td {
    font-size: 0.9rem;
  }
}
.news table th {
  color: var(--global-text-color);
}
.news h2 {
  padding-top: 2rem;
}

.social {
  text-align: center;
}
.social .contact-icons {
  font-size: 4rem;
}
.social .contact-icons a i::before {
  color: var(--global-text-color-light);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.social .contact-icons a:hover i::before {
  color: var(--global-theme-color);
}
.social .contact-note {
  font-size: 0.8rem;
}
@media (max-width: 768px) {
  .social .contact-note {
    font-size: 0.72rem;
  }
}
.social p {
  font-size: 0.75rem;
  line-height: 1em;
  padding: 5px;
}

footer.fixed-bottom {
  background-color: var(--global-footer-bg-color);
  font-size: 0.75rem;
}
@media (max-width: 768px) {
  footer.fixed-bottom {
    font-size: 0.675rem;
  }
}
footer.fixed-bottom .container {
  color: var(--global-footer-text-color);
  padding-top: 9px;
  padding-bottom: 8px;
}
footer.fixed-bottom a {
  color: var(--global-footer-link-color);
}
footer.fixed-bottom a:hover {
  color: var(--global-theme-color);
  text-decoration: none;
}

footer.sticky-bottom {
  border-top: 1px solid #e8e8e8;
  padding-top: 40px;
  padding-bottom: 40px;
  font-size: 0.9rem;
}
@media (max-width: 768px) {
  footer.sticky-bottom {
    font-size: 0.81rem;
  }
}

.header-bar {
  border-bottom: 1px solid #e8e8e8;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 5rem;
}
.header-bar h1 {
  color: var(--global-theme-color);
  font-size: 2.5rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .header-bar h1 {
    font-size: 2.25rem;
  }
}
@media (max-width: 768px) {
  .header-bar h1 {
    font-size: 3.5rem;
  }
}

.post-list {
  margin: 0;
  margin-bottom: 40px;
  padding: 0;
}
.post-list li {
  border-bottom: 1px solid #e8e8e8;
  list-style: none;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.post-list li .post-meta {
  color: var(--global-text-color-light);
  font-size: 0.875rem;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .post-list li .post-meta {
    font-size: 0.7875rem;
  }
}
.post-list li a {
  color: var(--global-text-color);
  text-decoration: none;
}
.post-list li a:hover {
  color: var(--global-theme-color);
}

.pagination .page-item .page-link {
  color: var(--global-text-color);
}
.pagination .page-item .page-link:hover {
  color: #000000;
}
.pagination .page-item.active .page-link {
  color: #ffffff;
  background-color: var(--global-theme-color);
}
.pagination .page-item.active .page-link:hover {
  background-color: var(--global-theme-color);
}

.distill a:hover {
  border-bottom-color: var(--global-theme-color);
  text-decoration: none;
}

.projects a {
  text-decoration: none;
}
.projects a:hover img {
  height: 4cm;
  opacity: 1;
}
.projects a:hover .card-title {
  color: rgb(66.25, 66.25, 66.25);
  opacity: 1;
}
.projects a:hover .card-text {
  font-size: 0.9rem;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .projects a:hover .card-text {
    font-size: 0.81rem;
  }
}
.projects .card {
  color: rgb(66.25, 66.25, 66.25);
  height: 5cm;
}
.projects .card img {
  width: 100%;
  opacity: 0.9;
  height: 4cm;
  margin-top: 0.5cm;
  object-fit: contain;
  align-items: center;
  background: var(--global-bg-color);
  border: 1px solid var(--global-divider-color);
  border-radius: 6px;
  padding: 0.3rem;
  transition: all 0.3s ease;
}
.projects .card img:hover {
  border-color: var(--global-theme-color);
  opacity: 1;
}
.projects .card .card-title {
  color: rgb(66.25, 66.25, 66.25);
  margin-left: 0.5rem;
  opacity: 0.5;
}
.projects .card .card-text {
  margin-left: 1rem;
  margin-top: 1rem;
  margin-right: 1rem;
  opacity: 1;
  color: rgb(66.25, 66.25, 66.25);
  font-size: 0.9rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .projects .card .card-text {
    font-size: 0.81rem;
  }
}
.projects .card-item {
  width: auto;
  margin-bottom: 10px;
}
.projects .card-item .row {
  display: flex;
  align-items: center;
  justify-content: center;
}
.projects .grid-item {
  width: 250px;
  margin-bottom: 10px;
}
.projects h2.category {
  color: var(--global-theme-color);
  border-bottom: 1px solid #828282;
  padding-top: 0.5rem;
  margin-top: 2rem;
  text-align: right;
}

.publications, .select_publications {
  margin-top: 2rem;
}
.publications h1, .select_publications h1 {
  color: var(--global-theme-color);
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin: 1em 0;
}
@media (max-width: 768px) {
  .publications h1, .select_publications h1 {
    font-size: 1.8rem;
  }
}
.publications h2, .select_publications h2 {
  margin-bottom: 1rem;
}
.publications h2 span, .select_publications h2 span {
  font-size: 1.4rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .publications h2 span, .select_publications h2 span {
    font-size: 1.26rem;
  }
}
.publications h2.year, .select_publications h2.year {
  color: var(--global-theme-color);
  border-top: 1px solid #828282;
  padding-top: 2rem;
  margin: 2rem 0 -2rem 0;
  text-align: right;
}
.publications ol.bibliography, .select_publications ol.bibliography {
  list-style: none;
  padding: 0;
  margin-top: 0;
}
.publications ol.bibliography li, .select_publications ol.bibliography li {
  margin-bottom: 1rem;
}
.publications ol.bibliography li .abbr, .select_publications ol.bibliography li .abbr {
  height: 2rem;
  margin-bottom: 0.5rem;
}
.publications ol.bibliography li .abbr abbr, .select_publications ol.bibliography li .abbr abbr {
  display: inline-block;
  background-color: var(--global-theme-color);
  padding: 0 1rem;
}
.publications ol.bibliography li .abbr abbr a, .select_publications ol.bibliography li .abbr abbr a {
  color: white;
}
.publications ol.bibliography li .abbr abbr a:hover, .select_publications ol.bibliography li .abbr abbr a:hover {
  text-decoration: none;
}
.publications ol.bibliography li .abbr .award, .select_publications ol.bibliography li .abbr .award {
  color: var(--global-theme-color) !important;
  border: 1px solid var(--global-theme-color);
}
.publications ol.bibliography li .title, .select_publications ol.bibliography li .title {
  font-weight: bolder;
  color: var(--global-text-color-light);
}
.publications ol.bibliography li .author a, .select_publications ol.bibliography li .author a {
  border-bottom: 1px dashed var(--global-theme-color);
}
.publications ol.bibliography li .author a:hover, .select_publications ol.bibliography li .author a:hover {
  border-bottom-style: solid;
  text-decoration: none;
}
.publications ol.bibliography li .author > em, .select_publications ol.bibliography li .author > em {
  border-bottom: 1px solid;
  font-style: normal;
}
.publications ol.bibliography li .links a.btn, .select_publications ol.bibliography li .links a.btn {
  color: var(--global-text-color);
  border: 1px solid var(--global-theme-color);
  padding: 0.25rem 1rem;
}
.publications ol.bibliography li .links a.btn:hover, .select_publications ol.bibliography li .links a.btn:hover {
  color: var(--global-text-color-light);
  border-color: var(--global-theme-color);
}
.publications ol.bibliography li .hidden, .select_publications ol.bibliography li .hidden {
  font-size: 0.875rem;
  max-height: 0px;
  overflow: hidden;
  text-align: justify;
  transition: all 0.15s ease;
}
.publications ol.bibliography li .hidden p, .select_publications ol.bibliography li .hidden p {
  line-height: 1.4em;
  margin: 10px;
}
.publications ol.bibliography li .hidden pre, .select_publications ol.bibliography li .hidden pre {
  font-size: 1em;
  line-height: 1.4em;
  padding: 10px;
}
.publications ol.bibliography li .hidden.open, .select_publications ol.bibliography li .hidden.open {
  max-height: 100em;
}
.publications ol.bibliography li div.abstract p, .select_publications ol.bibliography li div.abstract p {
  font-size: 0.9em;
  color: var(--global-text-color-light);
  opacity: 1;
}
.publications ol.bibliography li div.abstract.hidden, .select_publications ol.bibliography li div.abstract.hidden {
  border: dashed 1px var(--global-bg-color);
}
.publications ol.bibliography li div.abstract.hidden.open, .select_publications ol.bibliography li div.abstract.hidden.open {
  border-color: var(--global-text-color);
}
.publications .btn, .select_publications .btn {
  margin: 0;
  color: var(--global-text-color);
  border: 1px solid var(--global-text-color);
  padding: 0.25rem 1rem;
}
.publications .btn:hover, .select_publications .btn:hover {
  color: var(--global-theme-color);
  border-color: var(--global-theme-color);
}
.publications p, .select_publications p {
  font-size: 1em;
  color: var(--global-theme-color);
}

figure.highlight {
  margin-top: 0;
}

pre {
  color: var(--global-theme-color);
  background-color: var(--global-code-bg-color);
  border-radius: 6px;
  padding: 6px 12px;
}
pre pre, pre code {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}

code {
  color: var(--global-theme-color);
  background-color: var(--global-code-bg-color);
  border-radius: 3px;
  padding: 3px 3px;
}

html.transition,
html.transition *,
html.transition *:before,
html.transition *:after {
  transition: all 750ms !important;
  transition-delay: 0 !important;
}

/******************************************************************************
 * Slideshow
 ******************************************************************************/
/* Modern Slideshow Container */
.slideshow-container {
  position: relative;
  max-width: 100%;
  margin: 2rem auto;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  background: #f8f9fa;
  height: 600px;
}

/* Loading placeholder for images */
.mySlides::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 3px solid var(--global-theme-color);
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mySlides img:not([data-loaded=true])::before {
  opacity: 1;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* Slide Styling */
.mySlides {
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mySlides.active {
  opacity: 1;
}
.mySlides img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  /* Optimize image rendering */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  will-change: transform;
}
.mySlides:hover img {
  transform: scale(1.02);
}

/* Modern Caption Styling */
.slide-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.3));
  padding: 60px 30px 30px;
  color: white;
}

.caption-content {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.4;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  max-width: 800px;
}
@media (max-width: 768px) {
  .caption-content {
    font-size: 1rem;
  }
}
@media (max-width: 480px) {
  .caption-content {
    font-size: 0.9rem;
  }
}

/* Modern Navigation Buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  color: #333;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(10px);
  z-index: 10;
  opacity: 0.7;
}
.prev:hover, .next:hover {
  opacity: 1;
  background: rgb(255, 255, 255);
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.prev {
  left: 20px;
}

.next {
  right: 20px;
}

/* Modern Dots/Indicators */
.slideshow-dots {
  text-align: center;
  margin-top: 25px;
  margin-bottom: 2rem;
}

.dot {
  cursor: pointer;
  height: 12px;
  width: 12px;
  margin: 0 6px;
  background: var(--global-footer-bg-color);
  border-radius: 50%;
  display: inline-block;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2px solid transparent;
}
.dot:hover {
  background: var(--global-footer-bg-color);
  transform: scale(1.2);
}
.dot.active {
  background: var(--global-theme-color);
  transform: scale(1.3);
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
}

/* Responsive Design */
@media (max-width: 768px) {
  .slideshow-container {
    height: 400px;
    margin: 1rem auto;
    border-radius: 12px;
  }
  .caption-content {
    font-size: 16px;
  }
  .slide-caption {
    padding: 40px 20px 20px;
  }
  .prev, .next {
    width: 40px;
    height: 40px;
  }
  .prev {
    left: 15px;
  }
  .next {
    right: 15px;
  }
}
@media (max-width: 480px) {
  .slideshow-container {
    height: 300px;
  }
  .caption-content {
    font-size: 14px;
  }
}
/* Smooth entrance animation */
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.slideshow-container {
  animation: slideIn 0.6s ease-out;
}

/******************************************************************************
 * Research Projects
 ******************************************************************************/
.research-intro {
  background: var(--global-code-bg-color);
  border-radius: 12px;
  padding: 2rem;
  margin-bottom: 3rem;
  border-left: 4px solid var(--global-theme-color);
}

@media (max-width: 768px) {
  .research-content {
    padding: 0 0.5rem;
  }
}

.research-category {
  margin-bottom: 4rem;
}
.research-category:last-child {
  margin-bottom: 2rem;
}
.research-category h2.category {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--global-theme-color);
  border: none;
  text-align: left;
  padding-top: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-align: left;
}
@media (max-width: 768px) {
  .research-category h2.category {
    font-size: 1.44rem;
  }
}
@media (max-width: 768px) {
  .research-category h2.category {
    font-size: 1.26rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
  }
}

.project-item {
  margin-bottom: 2rem;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

/******************************************************************************
 * About Page
 ******************************************************************************/
.about-content {
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 3rem;
}
.about-content p {
  margin-bottom: 1.5rem;
  text-align: justify;
}

.slideshow-section {
  margin: 3rem 0;
}
.slideshow-section .slideshow-container {
  margin-bottom: 1rem;
}

.news-section,
.publications-section {
  margin: 2rem 0;
}
.news-section .section-header, .news-section .publications-content .publication-category .category-header, .publications-content .publication-category .news-section .category-header, .news-section .talks-content .talk-category .category-header, .talks-content .talk-category .news-section .category-header,
.publications-section .section-header,
.publications-section .publications-content .publication-category .category-header,
.publications-content .publication-category .publications-section .category-header,
.publications-section .talks-content .talk-category .category-header,
.talks-content .talk-category .publications-section .category-header {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--global-theme-color);
  border: none;
  text-align: left;
  padding-top: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}
@media (max-width: 768px) {
  .news-section .section-header, .news-section .publications-content .publication-category .category-header, .publications-content .publication-category .news-section .category-header, .news-section .talks-content .talk-category .category-header, .talks-content .talk-category .news-section .category-header,
  .publications-section .section-header,
  .publications-section .publications-content .publication-category .category-header,
  .publications-content .publication-category .publications-section .category-header,
  .publications-section .talks-content .talk-category .category-header,
  .talks-content .talk-category .publications-section .category-header {
    font-size: 1.44rem;
  }
}
.news-section .section-header:hover, .news-section .publications-content .publication-category .category-header:hover, .publications-content .publication-category .news-section .category-header:hover, .news-section .talks-content .talk-category .category-header:hover, .talks-content .talk-category .news-section .category-header:hover,
.publications-section .section-header:hover,
.publications-section .publications-content .publication-category .category-header:hover,
.publications-content .publication-category .publications-section .category-header:hover,
.publications-section .talks-content .talk-category .category-header:hover,
.talks-content .talk-category .publications-section .category-header:hover {
  color: var(--global-hover-color);
}
.news-section .news,
.publications-section .news {
  background: var(--global-bg-color);
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--global-divider-color);
}
.news-section .news .table-responsive,
.publications-section .news .table-responsive {
  max-height: none;
}
.news-section .news .table-responsive table.table,
.publications-section .news .table-responsive table.table {
  margin-bottom: 0;
  width: 100%;
}
.news-section .news .table-responsive table.table tr,
.publications-section .news .table-responsive table.table tr {
  border-bottom: 1px solid var(--global-divider-color);
  transition: all 0.3s ease;
}
.news-section .news .table-responsive table.table tr:last-child,
.publications-section .news .table-responsive table.table tr:last-child {
  border-bottom: none;
}
.news-section .news .table-responsive table.table tr:hover,
.publications-section .news .table-responsive table.table tr:hover {
  background: var(--global-code-bg-color);
  transform: translateX(3px);
}
.news-section .news .table-responsive table.table tr th,
.publications-section .news .table-responsive table.table tr th {
  font-weight: 500;
  color: var(--global-theme-color);
  white-space: nowrap;
  width: 120px;
  padding: 0.6rem 0.4rem;
  vertical-align: top;
  border-top: none;
  font-size: 0.9rem;
}
@media (max-width: 768px) {
  .news-section .news .table-responsive table.table tr th,
  .publications-section .news .table-responsive table.table tr th {
    font-size: 0.81rem;
  }
}
@media (max-width: 768px) {
  .news-section .news .table-responsive table.table tr th,
  .publications-section .news .table-responsive table.table tr th {
    width: 100px;
    padding: 0.5rem 0.3rem;
  }
}
.news-section .news .table-responsive table.table tr td,
.publications-section .news .table-responsive table.table tr td {
  color: var(--global-text-color);
  line-height: 1.4;
  padding: 0.6rem 0.4rem;
  vertical-align: top;
  border-top: none;
  font-size: 0.9rem;
}
@media (max-width: 768px) {
  .news-section .news .table-responsive table.table tr td,
  .publications-section .news .table-responsive table.table tr td {
    font-size: 0.81rem;
  }
}
@media (max-width: 768px) {
  .news-section .news .table-responsive table.table tr td,
  .publications-section .news .table-responsive table.table tr td {
    padding: 0.5rem 0.3rem;
  }
}
.news-section .news .table-responsive table.table tr td .news-title,
.publications-section .news .table-responsive table.table tr td .news-title {
  color: var(--global-theme-color);
  text-decoration: none;
  font-weight: normal;
}
.news-section .news .table-responsive table.table tr td .news-title:hover,
.publications-section .news .table-responsive table.table tr td .news-title:hover {
  color: var(--global-hover-color);
  text-decoration: underline;
}
.news-section .select_publications,
.publications-section .select_publications {
  background: var(--global-bg-color);
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--global-divider-color);
}
.news-section .select_publications ol.bibliography,
.publications-section .select_publications ol.bibliography {
  list-style: none;
  padding: 0;
  margin: 0;
}
.news-section .select_publications ol.bibliography li,
.publications-section .select_publications ol.bibliography li {
  margin-bottom: 0.75rem;
  padding: 0.75rem;
  background: var(--global-bg-color);
  border-radius: 6px;
  border-left: 2px solid var(--global-theme-color);
  transition: all 0.3s ease;
}
.news-section .select_publications ol.bibliography li:last-child,
.publications-section .select_publications ol.bibliography li:last-child {
  margin-bottom: 0;
}
.news-section .select_publications ol.bibliography li:hover,
.publications-section .select_publications ol.bibliography li:hover {
  background: var(--global-code-bg-color);
  transform: translateX(2px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  border-left-color: var(--global-hover-color);
}
.news-section .select_publications ol.bibliography li .title,
.publications-section .select_publications ol.bibliography li .title {
  font-weight: 500;
  color: var(--global-text-color-light);
  margin-bottom: 0.3rem;
  line-height: 1.3;
  font-size: 0.9rem;
}
@media (max-width: 768px) {
  .news-section .select_publications ol.bibliography li .title,
  .publications-section .select_publications ol.bibliography li .title {
    font-size: 0.81rem;
  }
}
.news-section .select_publications ol.bibliography li .author,
.publications-section .select_publications ol.bibliography li .author {
  color: var(--global-text-color);
  margin-bottom: 0.3rem;
  font-size: 0.9rem;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .news-section .select_publications ol.bibliography li .author,
  .publications-section .select_publications ol.bibliography li .author {
    font-size: 0.81rem;
  }
}
.news-section .select_publications ol.bibliography li .author a,
.publications-section .select_publications ol.bibliography li .author a {
  color: var(--global-theme-color);
  border-bottom: 1px dashed var(--global-theme-color);
  text-decoration: none;
}
.news-section .select_publications ol.bibliography li .author a:hover,
.publications-section .select_publications ol.bibliography li .author a:hover {
  border-bottom-style: solid;
  color: var(--global-hover-color);
}
.news-section .select_publications ol.bibliography li .author > em,
.publications-section .select_publications ol.bibliography li .author > em {
  border-bottom: 1px solid;
  font-style: normal;
  color: var(--global-theme-color);
}
.news-section .select_publications ol.bibliography li .links,
.publications-section .select_publications ol.bibliography li .links {
  margin-top: 0.4rem;
}
.news-section .select_publications ol.bibliography li .links a.btn,
.publications-section .select_publications ol.bibliography li .links a.btn {
  color: var(--global-text-color);
  border: 1px solid var(--global-theme-color);
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  margin-right: 0.4rem;
  margin-bottom: 0.2rem;
  font-size: 0.8rem;
}
.news-section .select_publications ol.bibliography li .links a.btn:hover,
.publications-section .select_publications ol.bibliography li .links a.btn:hover {
  background: var(--global-theme-color);
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .news-section .select_publications ol.bibliography li .links a.btn,
  .publications-section .select_publications ol.bibliography li .links a.btn {
    font-size: 0.72rem;
  }
}
.news-section .select_publications ol.bibliography li .abbr,
.publications-section .select_publications ol.bibliography li .abbr {
  margin-bottom: 0.3rem;
}
.news-section .select_publications ol.bibliography li .abbr abbr,
.publications-section .select_publications ol.bibliography li .abbr abbr {
  background-color: var(--global-theme-color);
  color: white;
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
  font-size: 0.75rem;
  text-decoration: none;
}
@media (max-width: 768px) {
  .news-section .select_publications ol.bibliography li .abbr abbr,
  .publications-section .select_publications ol.bibliography li .abbr abbr {
    font-size: 0.675rem;
  }
}
.news-section .select_publications ol.bibliography li .abbr abbr a,
.publications-section .select_publications ol.bibliography li .abbr abbr a {
  color: white;
  text-decoration: none;
}
.news-section .select_publications ol.bibliography li .abbr abbr a:hover,
.publications-section .select_publications ol.bibliography li .abbr abbr a:hover {
  text-decoration: none;
}
.news-section .select_publications ol.bibliography li .abbr .award,
.publications-section .select_publications ol.bibliography li .abbr .award {
  color: var(--global-theme-color) !important;
  background: transparent !important;
  border: 1px solid var(--global-theme-color);
}
@media (max-width: 768px) {
  .news-section .select_publications,
  .publications-section .select_publications {
    padding: 0.8rem;
  }
  .news-section .select_publications ol.bibliography li,
  .publications-section .select_publications ol.bibliography li {
    padding: 0.6rem;
    margin-bottom: 0.6rem;
  }
  .news-section .select_publications ol.bibliography li .title,
  .publications-section .select_publications ol.bibliography li .title {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }
  .news-section .select_publications ol.bibliography li .author,
  .publications-section .select_publications ol.bibliography li .author {
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
  }
  .news-section .select_publications ol.bibliography li .links,
  .publications-section .select_publications ol.bibliography li .links {
    margin-top: 0.3rem;
  }
  .news-section .select_publications ol.bibliography li .links a.btn,
  .publications-section .select_publications ol.bibliography li .links a.btn {
    font-size: 0.75rem;
    padding: 0.15rem 0.4rem;
    margin-right: 0.3rem;
    margin-bottom: 0.15rem;
  }
  .news-section .select_publications ol.bibliography li .abbr,
  .publications-section .select_publications ol.bibliography li .abbr {
    margin-bottom: 0.25rem;
  }
  .news-section .select_publications ol.bibliography li .abbr abbr,
  .publications-section .select_publications ol.bibliography li .abbr abbr {
    font-size: 0.7rem;
    padding: 0.1rem 0.3rem;
  }
}

.social-section {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid var(--global-divider-color);
}
.social-section .social .contact-icons {
  margin-bottom: 1rem;
}
.social-section .social .contact-icons a {
  margin: 0 0.5rem;
  transition: transform 0.3s ease;
}
.social-section .social .contact-icons a:hover {
  transform: translateY(-2px);
}
.social-section .social .contact-note {
  font-size: 0.9rem;
  color: var(--global-text-color-light);
  font-style: italic;
}

/******************************************************************************
 * Page Intro Sections (consolidated)
 ******************************************************************************/
.publications-intro, .news-intro, .talks-intro {
  background: var(--global-code-bg-color);
  border-radius: 12px;
  border-left: 4px solid var(--global-theme-color);
  margin-bottom: 2rem;
}
.publications-intro h3, .news-intro h3, .talks-intro h3 {
  margin-bottom: 0.8rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.publications-intro p, .news-intro p, .talks-intro p {
  color: var(--global-text-color);
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .publications-intro, .news-intro, .talks-intro {
    padding: 1.2rem;
    margin-bottom: 1.5rem;
  }
  .publications-intro h3, .news-intro h3, .talks-intro h3 {
    font-size: 1.3rem;
  }
  .publications-intro p, .news-intro p, .talks-intro p {
    font-size: 1rem;
  }
}

.publications-intro .publication-counts, .talks-intro .talk-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.publications-intro .publication-counts .badge, .publications-intro .publication-counts .publication-type-badge, .talks-intro .talk-counts .badge, .talks-intro .talk-counts .talk-type-badge {
  background: var(--global-theme-color);
  color: white;
  padding: 0.4rem 0.8rem;
  border-radius: 18px;
  font-size: 0.85rem;
  display: inline-block;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  text-decoration: none;
  cursor: pointer;
}
.publications-intro .publication-counts .badge:hover, .publications-intro .publication-counts .publication-type-badge:hover, .talks-intro .talk-counts .badge:hover, .talks-intro .talk-counts .talk-type-badge:hover {
  background: var(--global-hover-color);
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  color: white;
  text-decoration: none;
}
.publications-intro .publication-counts .badge:focus, .publications-intro .publication-counts .publication-type-badge:focus, .talks-intro .talk-counts .badge:focus, .talks-intro .talk-counts .talk-type-badge:focus {
  outline: 2px solid var(--global-theme-color);
  outline-offset: 2px;
}
.publications-intro .publication-counts .badge strong, .publications-intro .publication-counts .publication-type-badge strong, .talks-intro .talk-counts .badge strong, .talks-intro .talk-counts .talk-type-badge strong {
  font-weight: 600;
}
@media (max-width: 768px) {
  .publications-intro .publication-counts, .talks-intro .talk-counts {
    gap: 0.6rem;
  }
  .publications-intro .publication-counts .badge, .publications-intro .publication-counts .publication-type-badge, .talks-intro .talk-counts .badge, .talks-intro .talk-counts .talk-type-badge {
    font-size: 0.8rem;
    padding: 0.35rem 0.7rem;
  }
}

.talks-intro {
  padding: 1.5rem;
}
.news-intro {
  padding: 2rem;
  margin-bottom: 3rem;
}

.publications-intro {
  padding: 1.5rem;
}
.talks-content .talk-category {
  margin-bottom: 2.5rem;
}
.talks-content .talk-category:last-child {
  margin-bottom: 1rem;
}
.talks-content .talk-category .category-header {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
  color: var(--global-theme-color);
  border: none;
  text-align: left;
  padding-top: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.talks-content .talk-category .talk-list .bibliography li {
  margin-bottom: 1rem;
  padding: 1rem;
  background: var(--global-bg-color);
  border-radius: 8px;
  border-left: 3px solid var(--global-theme-color);
  transition: all 0.3s ease;
}
.talks-content .talk-category .talk-list .bibliography li:hover {
  background: var(--global-code-bg-color);
  transform: translateX(3px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

/******************************************************************************
 * Page Content Sections (consolidated)
 ******************************************************************************/
.publications-content .section-header, .publications-content .publication-category .category-header, .news-content .section-header, .talks-content .section-header, .talks-content .talk-category .category-header {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--global-theme-color);
  border: none;
  text-align: left;
  padding-top: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  .publications-content .section-header, .publications-content .publication-category .category-header, .news-content .section-header, .talks-content .section-header, .talks-content .talk-category .category-header {
    font-size: 1.5rem;
  }
}

.publications-content .publication-category .publication-list, .news-content .news-list, .talks-content .talk-category .talk-list {
  background: var(--global-bg-color);
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.publications-content .publication-category .publication-list .bibliography li, .news-content .news-list .bibliography li, .talks-content .talk-category .talk-list .bibliography li {
  margin-bottom: 1rem;
  padding: 1rem;
  background: var(--global-bg-color);
  border-radius: 8px;
  border-left: 3px solid var(--global-theme-color);
  transition: all 0.3s ease;
}
.publications-content .publication-category .publication-list .bibliography li:hover, .news-content .news-list .bibliography li:hover, .talks-content .talk-category .talk-list .bibliography li:hover {
  background: var(--global-code-bg-color);
  transform: translateX(3px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .publications-content .publication-category .publication-list, .news-content .news-list, .talks-content .talk-category .talk-list {
    padding: 1rem;
  }
  .publications-content .publication-category .publication-list .bibliography li, .news-content .news-list .bibliography li, .talks-content .talk-category .talk-list .bibliography li {
    padding: 0.8rem;
    margin-bottom: 0.8rem;
  }
}

.talks-content .talk-category {
  margin-bottom: 2.5rem;
}
.talks-content .talk-category:last-child {
  margin-bottom: 1rem;
}
.talks-content .talk-category .category-header {
  font-size: 1.6rem;
  margin-bottom: 0.3rem;
}
@media (max-width: 768px) {
  .talks-content .talk-category .category-header {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .talks-content .talk-category {
    margin-bottom: 2rem;
  }
}

.news-content .news-list .news {
  background: transparent;
  padding: 0;
  border-radius: 0;
}
.news-content .news-list .news table {
  width: 100%;
}
.news-content .news-list .news table tr {
  border-bottom: 1px solid var(--global-divider-color);
  transition: all 0.3s ease;
}
.news-content .news-list .news table tr:last-child {
  border-bottom: none;
}
.news-content .news-list .news table tr:hover {
  background: var(--global-code-bg-color);
  transform: translateX(5px);
}
.news-content .news-list .news table tr td {
  padding: 1rem 0.5rem;
  vertical-align: top;
}
.news-content .news-list .news table tr td:first-child {
  font-weight: 600;
  color: var(--global-theme-color);
  white-space: nowrap;
  width: 120px;
}
.news-content .news-list .news table tr td:last-child {
  color: var(--global-text-color);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .news-content .news-list .news table tr td {
    padding: 0.8rem 0.3rem;
  }
  .news-content .news-list .news table tr td:first-child {
    width: 100px;
    font-size: 0.9rem;
  }
  .news-content .news-list .news table tr td:last-child {
    font-size: 0.95rem;
  }
}

.publications-content .publication-category {
  margin-bottom: 2.5rem;
}
.publications-content .publication-category:last-child {
  margin-bottom: 1rem;
}
.publications-content .publication-category .category-header {
  font-size: 1.6rem;
  margin-bottom: 0.3rem;
}
@media (max-width: 768px) {
  .publications-content .publication-category .category-header {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .publications-content .publication-category {
    margin-bottom: 2rem;
  }
}

html {
  scroll-behavior: smooth;
}

.publication-category:target .category-header, .talk-category:target .category-header {
  animation: highlight-flash 2s ease-in-out;
}

@keyframes highlight-flash {
  0% {
    background-color: var(--global-theme-color);
    color: white;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
  }
  50% {
    background-color: var(--global-theme-color);
    color: white;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
  }
  100% {
    background-color: transparent;
    color: var(--global-theme-color);
    padding: 0;
    border-radius: 0;
  }
}
.project-link {
  text-decoration: none;
  color: inherit;
  display: block;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.project-link:hover {
  text-decoration: none;
  color: inherit;
  transform: none;
}

.project-card {
  background: var(--global-bg-color);
  border: 1px solid var(--global-divider-color);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
}
.project-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  border-color: var(--global-theme-color);
}
.project-card.hoverable:hover {
  transform: none;
}

.project-card-content {
  padding: 1.5rem;
}
@media (max-width: 768px) {
  .project-card-content {
    padding: 1rem;
  }
}

.project-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--global-theme-color);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .project-title {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
}

.project-description {
  color: var(--global-text-color);
  line-height: 1.6;
  margin-bottom: 1rem;
  font-size: 1rem;
}
@media (max-width: 768px) {
  .project-description {
    font-size: 0.95rem;
    line-height: 1.5;
  }
}

.project-image-container {
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
}
@media (max-width: 768px) {
  .project-image-container {
    margin-bottom: 0.75rem;
  }
}

.project-image {
  max-width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: contain;
  border-radius: 8px;
  transition: border-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: var(--global-bg-color);
  border: 1px solid var(--global-divider-color);
  padding: 0.5rem;
}
.project-image:hover {
  border-color: var(--global-theme-color);
}
@media (max-width: 768px) {
  .project-image {
    max-height: 150px;
    padding: 0.3rem;
  }
}

.project-images-dual {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .project-images-dual {
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
  }
}
.project-images-dual .project-image-container {
  flex: 1;
  margin-bottom: 0;
}
.project-images-dual .project-image-container .project-image {
  background: var(--global-bg-color);
  border: 1px solid var(--global-divider-color);
  padding: 0.5rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.project-images-dual .project-image-container .project-image:hover {
  border-color: var(--global-theme-color);
}
@media (max-width: 768px) {
  .project-images-dual .project-image-container .project-image {
    padding: 0.3rem;
  }
}

.project-links {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--global-divider-color);
}
@media (max-width: 768px) {
  .project-links {
    gap: 0.75rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
}

.github-link, .github-stars {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--global-text-color-light);
  font-size: 0.9rem;
  transition: color 0.2s ease;
}
.github-link:hover, .github-stars:hover {
  color: var(--global-theme-color);
}
.github-link i, .github-stars i {
  font-size: 1rem;
}
@media (max-width: 768px) {
  .github-link, .github-stars {
    font-size: 0.85rem;
    gap: 0.4rem;
  }
  .github-link i, .github-stars i {
    font-size: 0.9rem;
  }
}

.project-text {
  flex: 1;
}

.project-item {
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .project-item {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 768px) {
  .card {
    height: auto;
    min-height: auto;
  }
  .card img {
    height: 3cm;
    margin-top: 0.3cm;
  }
  .card .card-text {
    margin: 0.5rem;
    font-size: 0.9rem;
  }
}

@media (max-width: 768px) {
  .card-item {
    margin-bottom: 1rem;
  }
}

.project-card.horizontal .project-card-horizontal-content {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .project-card.horizontal .project-card-horizontal-content {
    flex-direction: column;
    gap: 1rem;
  }
}
.project-card.horizontal .project-image-container.horizontal {
  flex: 0 0 200px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .project-card.horizontal .project-image-container.horizontal {
    flex: none;
    text-align: center;
  }
}
.project-card.horizontal .project-image-container.horizontal .project-image {
  width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: contain;
}
@media (max-width: 768px) {
  .project-card.horizontal .project-image-container.horizontal .project-image {
    max-height: 120px;
  }
}
.project-card.horizontal .project-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.project-card.horizontal .project-description {
  margin-bottom: auto;
}
.project-card.horizontal .project-links {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--global-divider-color);
}
@media (max-width: 768px) {
  .project-card.horizontal .project-links {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
}

.project-image, .project-images-dual .project-image {
  filter: contrast(1.05) brightness(1.02) saturate(1.02);
}
.project-image:hover, .project-images-dual .project-image:hover {
  filter: contrast(1.08) brightness(1.04) saturate(1.04);
}

html[data-theme=dark] .project-image,
html[data-theme=dark] .project-images-dual .project-image,
body.dark .project-image,
body.dark .project-images-dual .project-image,
.dark-theme .project-image,
.dark-theme .project-images-dual .project-image,
.dark-mode .project-image,
.dark-mode .project-images-dual .project-image,
.theme-dark .project-image,
.theme-dark .project-images-dual .project-image,
body[data-theme=dark] .project-image,
body[data-theme=dark] .project-images-dual .project-image,
.dark .project-image,
.dark .project-images-dual .project-image {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
  filter: contrast(1.3) brightness(1) saturate(1.2) !important;
  padding: 0.8rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: border-color background box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
html[data-theme=dark] .project-image:hover,
html[data-theme=dark] .project-images-dual .project-image:hover,
body.dark .project-image:hover,
body.dark .project-images-dual .project-image:hover,
.dark-theme .project-image:hover,
.dark-theme .project-images-dual .project-image:hover,
.dark-mode .project-image:hover,
.dark-mode .project-images-dual .project-image:hover,
.theme-dark .project-image:hover,
.theme-dark .project-images-dual .project-image:hover,
body[data-theme=dark] .project-image:hover,
body[data-theme=dark] .project-images-dual .project-image:hover,
.dark .project-image:hover,
.dark .project-images-dual .project-image:hover {
  background: rgb(255, 255, 255) !important;
  border-color: var(--global-theme-color) !important;
  filter: contrast(1.35) brightness(1.05) saturate(1.25) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}
html[data-theme=dark] .card img,
body.dark .card img,
.dark-theme .card img,
.dark-mode .card img,
.theme-dark .card img,
body[data-theme=dark] .card img,
.dark .card img {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
  filter: contrast(1.3) brightness(1) saturate(1.2) !important;
  padding: 0.8rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: border-color background box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  padding: 0.5rem !important;
  filter: contrast(1.3) brightness(1) !important;
}
html[data-theme=dark] .card img:hover,
body.dark .card img:hover,
.dark-theme .card img:hover,
.dark-mode .card img:hover,
.theme-dark .card img:hover,
body[data-theme=dark] .card img:hover,
.dark .card img:hover {
  background: rgb(255, 255, 255) !important;
  border-color: var(--global-theme-color) !important;
  filter: contrast(1.35) brightness(1.05) saturate(1.25) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}
html[data-theme=dark] .card img:hover,
body.dark .card img:hover,
.dark-theme .card img:hover,
.dark-mode .card img:hover,
.theme-dark .card img:hover,
body[data-theme=dark] .card img:hover,
.dark .card img:hover {
  filter: contrast(1.35) brightness(1.05) !important;
}

@media (prefers-color-scheme: dark) {
  .project-image,
  .project-images-dual .project-image {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    filter: contrast(1.3) brightness(1) saturate(1.2) !important;
    padding: 0.8rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    transition: border-color background box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .project-image:hover,
  .project-images-dual .project-image:hover {
    background: rgb(255, 255, 255) !important;
    border-color: var(--global-theme-color) !important;
    filter: contrast(1.35) brightness(1.05) saturate(1.25) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  }
  .card img {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    filter: contrast(1.3) brightness(1) saturate(1.2) !important;
    padding: 0.8rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    transition: border-color background box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    padding: 0.5rem !important;
    filter: contrast(1.3) brightness(1) !important;
  }
  .card img:hover {
    background: rgb(255, 255, 255) !important;
    border-color: var(--global-theme-color) !important;
    filter: contrast(1.35) brightness(1.05) saturate(1.25) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  }
  .card img:hover {
    filter: contrast(1.35) brightness(1.05) !important;
  }
}
/******************************************************************************
 * About Page Modern Styles
 ******************************************************************************/
.about-intro {
  margin-bottom: 3rem;
}
.about-intro p {
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: justify;
  margin-bottom: 2rem;
  font-weight: 300;
  color: var(--global-text-color);
}
@media (max-width: 768px) {
  .about-intro p {
    font-size: 1.08rem;
  }
}
@media (max-width: 768px) {
  .about-intro p {
    line-height: 1.6;
    margin-bottom: 1.5rem;
  }
}

.research-focus {
  margin-bottom: 3rem;
}
.research-focus h2.section-header, .research-focus .talks-content .talk-category h2.category-header, .talks-content .talk-category .research-focus h2.category-header, .research-focus .publications-content .publication-category h2.category-header, .publications-content .publication-category .research-focus h2.category-header {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--global-theme-color);
  border: none;
  text-align: left;
  padding-top: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: var(--global-text-color);
}
@media (max-width: 768px) {
  .research-focus h2.section-header, .research-focus .talks-content .talk-category h2.category-header, .talks-content .talk-category .research-focus h2.category-header, .research-focus .publications-content .publication-category h2.category-header, .publications-content .publication-category .research-focus h2.category-header {
    font-size: 1.44rem;
  }
}
.research-focus p {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
  margin-bottom: 1.5rem;
  color: var(--global-text-color);
}
@media (max-width: 768px) {
  .research-focus p {
    font-size: 0.99rem;
  }
}
@media (max-width: 768px) {
  .research-focus p {
    line-height: 1.5;
  }
}

.research-projects {
  margin-bottom: 3rem;
}
.research-projects h2.section-header, .research-projects .talks-content .talk-category h2.category-header, .talks-content .talk-category .research-projects h2.category-header, .research-projects .publications-content .publication-category h2.category-header, .publications-content .publication-category .research-projects h2.category-header {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--global-text-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.research-projects .experiment-grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .research-projects .experiment-grid {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  }
}
.research-projects .experiment-item {
  padding: 1.5rem;
  border: 1px solid var(--global-divider-color);
  border-radius: 12px;
  background: var(--global-card-bg-color);
  transition: all 0.3s ease;
}
.research-projects .experiment-item:hover {
  border-color: var(--global-theme-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
[data-theme=dark] .research-projects .experiment-item:hover {
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05);
}
.research-projects .experiment-item h3 {
  color: var(--global-theme-color);
  font-size: 1.4rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .research-projects .experiment-item h3 {
    font-size: 1.26rem;
  }
}
.research-projects .experiment-item h3 a {
  color: inherit;
  text-decoration: none;
}
.research-projects .experiment-item h3 a:hover {
  text-decoration: underline;
}
.research-projects .experiment-item p {
  font-size: 1rem;
  line-height: 1.6;
  text-align: justify;
  color: var(--global-text-color);
  margin: 0;
}
@media (max-width: 768px) {
  .research-projects .experiment-item p {
    font-size: 0.9rem;
  }
}
@media (max-width: 768px) {
  .research-projects .experiment-item {
    padding: 1.2rem;
  }
  .research-projects .experiment-item p {
    font-size: 0.9rem;
  }
}

.about-content .section-header + div[style*=gradient], .about-content .talks-content .talk-category .category-header + div[style*=gradient], .talks-content .talk-category .about-content .category-header + div[style*=gradient], .about-content .publications-content .publication-category .category-header + div[style*=gradient], .publications-content .publication-category .about-content .category-header + div[style*=gradient] {
  background: linear-gradient(135deg, var(--global-theme-color) 0%, var(--global-bg-color) 100%) !important;
  height: 3px;
  width: 100%;
  margin: 10px 0 30px 0;
  border-radius: 2px;
}

[data-theme=dark] .experiment-item {
  background: var(--global-card-bg-color);
  border-color: var(--global-divider-color);
}
[data-theme=dark] .experiment-item:hover {
  border-color: var(--global-theme-color);
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05);
}

/*******************************************************************************
 * Style overrides for distill blog posts.
 ******************************************************************************/
d-byline {
  border-top-color: #e8e8e8 !important;
}

d-byline h3 {
  color: var(--global-text-color) !important;
}

d-byline a, d-article d-byline a {
  color: var(--global-text-color) !important;
}
d-byline a:hover, d-article d-byline a:hover {
  color: var(--global-hover-color) !important;
}

d-article {
  border-top-color: #e8e8e8 !important;
}
d-article a, d-article p, d-article h1, d-article h2, d-article h3, d-article h4, d-article h5, d-article h6, d-article li, d-article table {
  color: var(--global-text-color) !important;
}
d-article a, d-article h1, d-article h2, d-article hr {
  border-bottom-color: #e8e8e8 !important;
}
d-article a:hover {
  border-bottom-color: var(--global-hover-color) !important;
}

d-appendix {
  border-top-color: #e8e8e8 !important;
  color: var(--global-distill-app-color) !important;
}
d-appendix h3, d-appendix li, d-appendix span {
  color: var(--global-distill-app-color) !important;
}
d-appendix a, d-appendix a.footnote-backlink {
  color: var(--global-distill-app-color) !important;
}
d-appendix a:hover, d-appendix a.footnote-backlink:hover {
  color: var(--global-hover-color) !important;
}

/*# sourceMappingURL=main.css.map */