@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.container {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

a {
  color: #0066cc;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.2;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.2rem;
}

h4 {
  font-size: 1rem;
}

p {
  margin-bottom: 1rem;
}

ul, ol {
  margin-left: 2rem;
  margin-bottom: 1rem;
}

img {
  max-width: 100%;
  height: auto;
}

.site-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  padding: 1rem 0;
  margin-bottom: 2rem;
}
.site-header .site-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.site-header .site-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
}
.site-header .site-title:hover {
  text-decoration: none;
  color: #0066cc;
}
.site-header .nav-links {
  display: flex;
  gap: 1.5rem;
}
.site-header .nav-links a {
  color: #666;
  font-weight: 500;
  font-size: 0.87rem;
}
.site-header .nav-links a:hover {
  color: #0066cc;
  text-decoration: none;
}

main {
  padding: 2rem 0;
  flex: 1;
}

.site-footer {
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
  margin-top: 3rem;
  padding: 2rem 0;
}
.site-footer .footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.site-footer .footer-content p {
  margin: 0;
  color: #666;
}
.site-footer .social-links {
  display: flex;
  gap: 1rem;
}
.site-footer .social-links a {
  color: #666;
}
.site-footer .social-links a:hover {
  color: #0066cc;
}

@media (max-width: 768px) {
  .site-header .site-nav {
    flex-direction: column;
    gap: 1rem;
  }
  .site-header .nav-links {
    width: 100%;
    justify-content: center;
  }
  .site-footer .footer-content {
    flex-direction: column;
    text-align: center;
  }
}
.page .page-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e9ecef;
}
.page .page-header .page-title {
  margin-bottom: 0.5rem;
}
.page .page-content {
  line-height: 1.8;
}

.home {
  font-size: 0.91rem;
  line-height: 1.8;
}
.home .intro {
  margin-bottom: 5rem;
  font-size: 0.95rem;
}
.home .intro .profile-section {
  float: right;
  margin-left: 2rem;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.home .intro .profile-image {
  border-radius: 50%;
  width: 240px;
  height: 240px;
  object-fit: cover;
  object-position: center 10%;
  margin-bottom: 1rem;
}
.home .intro .social-icons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
.home .intro .social-icons a {
  display: inline-flex;
  transition: transform 0.2s;
}
.home .intro .social-icons a:hover {
  transform: scale(1.1);
}
.home .intro .social-icons a svg {
  width: 28px;
  height: 28px;
}
.home .intro .social-icons a.cv-link {
  font-weight: 600;
  color: #666;
  text-decoration: none;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem;
  border: 1.5px solid #666;
  border-radius: 4px;
  background-color: #f5f5f5;
  transition: all 0.2s;
}
.home .intro .social-icons a.cv-link:hover {
  background-color: #666;
  color: #fff;
  transform: scale(1.1);
}
.home .intro .subtitle {
  font-size: 1.1rem;
  font-weight: 400;
  color: #666;
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}
.home .intro h1 {
  margin-bottom: 0.5rem;
}
.home h2 {
  font-size: 1.27rem;
  margin-top: 2rem;
}

.news-list {
  margin-bottom: 3rem;
}
.news-list .news-item {
  display: flex;
  gap: 2rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.news-list .news-item:last-child .news-date::after {
  display: none;
}
.news-list .news-date {
  flex-shrink: 0;
  width: 100px;
  text-align: right;
  font-weight: 600;
  color: #666;
  font-size: 0.8rem;
  padding-right: 1.5rem;
  position: relative;
}
.news-list .news-date::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: -1.5rem;
  width: 2px;
  background-color: #ccc;
}
.news-list .news-date::before {
  content: "";
  position: absolute;
  right: -4px;
  top: 0.5rem;
  width: 10px;
  height: 10px;
  background-color: #0066cc;
  border-radius: 50%;
  z-index: 1;
}
.news-list .news-content {
  flex: 1;
  font-size: 0.84rem;
  line-height: 1.6;
  color: #333;
  padding-top: 0.1rem;
}
@media (max-width: 768px) {
  .news-list .news-item {
    flex-direction: column;
    gap: 0.5rem;
  }
  .news-list .news-date {
    text-align: left;
    padding-right: 0;
    width: auto;
  }
  .news-list .news-date::after, .news-list .news-date::before {
    display: none;
  }
}

.publications-list .publication-item {
  display: flex;
  gap: 2rem;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e9ecef;
}
.publications-list .publication-item:last-child {
  border-bottom: none;
}
.publications-list .publication-item .pub-image {
  flex-shrink: 0;
  width: 250px;
}
.publications-list .publication-item .pub-image img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  border: 1px solid #dee2e6;
}
.publications-list .publication-item .pub-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.publications-list .publication-item .pub-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333;
  line-height: 1.3;
}
.publications-list .publication-item .pub-authors {
  color: #666;
  margin-bottom: 0rem;
  font-size: 0.8rem;
  line-height: 1.2;
}
.publications-list .publication-item .pub-venue {
  color: #666;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-style: italic;
}
.publications-list .publication-item .pub-links {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.publications-list .publication-item .pub-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.75rem;
  background-color: #e3f2fd;
  color: #0066cc;
  font-size: 0.7rem;
  border-radius: 20px;
  text-decoration: none;
  transition: all 0.2s;
}
.publications-list .publication-item .pub-links a:hover {
  background-color: #bbdefb;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.publications-list .publication-item .pub-links a::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.publications-list .publication-item .pub-links a[href*="pubs/"]:not([href*=github])::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%230066cc'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E");
}
.publications-list .publication-item .pub-links a[href*=github]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%230066cc'%3E%3Cpath d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
}
.publications-list .publication-item .pub-links a:not([href*=github]):not([href*="pubs/"])::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%230066cc'%3E%3Cpath d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z'/%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  .publications-list .publication-item {
    flex-direction: column;
  }
  .publications-list .publication-item .pub-image {
    width: 100%;
    max-width: 300px;
  }
}

.cv-section {
  margin-bottom: 3rem;
}
.cv-section h2 {
  color: #333;
  border-bottom: 2px solid #0066cc;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}
.cv-section .cv-item {
  margin-bottom: 1.5rem;
}
.cv-section .cv-item .cv-item-title {
  font-weight: 600;
  color: #333;
}
.cv-section .cv-item .cv-item-subtitle {
  color: #666;
  font-style: italic;
}
.cv-section .cv-item .cv-item-date {
  color: #999;
  font-size: 0.7rem;
}

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