/* ============================================================
   Dr. Qi Zhu (朱旗教授) — Personal Academic Homepage
   Blue theme adapted from the reference template.
   ============================================================ */

* { box-sizing: border-box; }

body {
  background-color: #E8F4FD;
  text-align: center;
  margin: 0;
  padding: 0;
  font-family: "Times New Roman", Times, serif;
  color: #1E293B;
}

a:link   { text-decoration: none; color: #1D4ED8; }
a:visited{ text-decoration: none; color: #1D4ED8; }
a:hover  { text-decoration: underline; color: #1E40AF; }
a:active { text-decoration: none; color: #1D4ED8; }

/* ---------- Layout container ---------- */
.container {
  max-width: 1104px;
  margin: 0.6cm auto 0 auto;
  background-color: #ffffff;
  box-shadow: 0px 0px 4px 4px rgba(0,0,0,0.3);
  text-align: left;
  padding-bottom: 20px;
}
.inner { padding: 0 26px; }

/* ---------- Top header ---------- */
.top-header {
  background-color: #2563EB;
  padding: 14px 26px;
}
.top-header .name {
  font-family: "Times New Roman", Times, serif;
  font-size: 30px;
  font-weight: bold;
  color: #ffffff;
  margin: 0;
}
.top-header .name .cn {
  font-family: "黑体", "SimHei", sans-serif;
}

/* ---------- Contact block ---------- */
.contact-table {
  width: 100%;
  border-collapse: collapse;
}
.contact-table td { vertical-align: middle; padding: 14px 8px; }
.contact-info {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #1E293B;
}
.contact-info a { color: #1D4ED8; font-weight: bold; }
.profile-photo { width: 242px; max-width: 100%; height: auto; border: 2px solid #BFDBFE; }
.org-logo     { width: 170px; max-width: 100%; height: auto; }
.org-logo-sm  { width: 200px; max-width: 100%; height: auto; }

.link-row {
  margin-top: 8px;
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif;
}
.link-row a { color: #1D4ED8; }

.placeholder { color: #6B7280; font-style: italic; }

/* ---------- Navigation ---------- */
.nav-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #3B82F6;
  margin-top: 6px;
}
.nav-table td {
  text-align: center;
  font-family: Verdana, sans-serif;
  font-weight: bold;
  padding: 6px 4px;
  border: 1px solid #fff;
}
.nav-table a { color: #ffffff; }
.nav-table a:hover { color: #E0F2FE; }

hr { border: none; border-top: 1px solid #BFDBFE; margin: 12px 0; }

/* ---------- Section header ---------- */
.section-header {
  background-color: #2563EB;
  padding: 8px 12px;
  margin: 14px 0 8px 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.section-header .title {
  font-family: "Times New Roman", Times, serif;
  font-size: 22px;
  font-weight: bold;
  color: #ffffff;
}
.section-header .title a {
  color: #ffffff;
}
.section-header .top-link {
  font-size: 14px;
  font-family: "Times New Roman", serif;
}
.section-header .top-link a { color: #E0F2FE; }
.section-header .top-link a:hover { color: #ffffff; }

/* ---------- Short bio ---------- */
.profile-text {
  font-family: "Times New Roman", Times, serif;
  color: #1E293B;
  text-align: justify;
  font-size: 16px;
  line-height: 1.6;
}
.email-link { color: #1D4ED8; font-weight: bold; }

/* ---------- News ---------- */
.news-title { vertical-align: middle; }
.news-list {
  font-family: "Times New Roman", Times, serif;
  line-height: 1.7;
}
.news-list li { margin-bottom: 4px; }
.red { color: #2563EB; }

/* ---------- Publications ---------- */
.pub-stats {
  font-family: "Times New Roman", Times, serif;
  font-size: 15px;
  line-height: 1.6;
  margin: 8px 0;
}
.venue { font-weight: bold; }
.award { color: #2563EB; font-weight: bold; }

.pub-note {
  font-family: "Times New Roman", Times, serif;
  font-size: 14px;
  font-style: italic;
  color: #475569;
  margin: 6px 0 14px 0;
}

.pub-year {
  font-family: "Times New Roman", Times, serif;
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
  background-color: #3B82F6;
  display: inline-block;
  padding: 3px 14px;
  margin: 18px 0 10px 0;
  border-radius: 3px;
}

.pub-item {
  display: flex;
  gap: 12px;
  align-items: baseline;
  margin: 12px 0;
}
.pub-no {
  flex: 0 0 auto;
  min-width: 40px;
  font-family: "Times New Roman", Times, serif;
  font-weight: bold;
  font-size: 16px;
  color: #1D4ED8;
  text-align: right;
}
.pub-detail {
  flex: 1;
  font-family: "Times New Roman", Times, serif;
  color: #1E293B;
  text-align: justify;
}
.pub-detail p { margin: 3px 0; }
.pub-title   { font-weight: bold; font-size: 16px; }
.pub-authors { font-size: 15px; line-height: 1.5; }
.pub-meta    { font-weight: bold; font-size: 15px; }
.pub-meta i  { color: #334155; font-weight: normal; }
.pub-links   { font-size: 14px; }
.pub-links a { color: #1D4ED8; font-weight: bold; }

/* highlight the professor (corresponding author) in author lists */
.me { color: #1D4ED8; font-weight: bold; }

.link-btn.clicked { color: #1E293B; }

/* ---------- Education ---------- */
.edu-list {
  list-style: none;
  margin: 6px 0 0 0;
  padding: 0;
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.7;
}
.edu-list li {
  margin: 8px 0;
  padding: 4px 0 4px 12px;
  border-left: 3px solid #BFDBFE;
}
.edu-period {
  display: inline-block;
  min-width: 150px;
  font-weight: bold;
  color: #1D4ED8;
}
.edu-school { font-weight: bold; color: #1E293B; }

/* ---------- Sub-section heading (Honors / Professionals) ---------- */
.sub-head {
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
  font-weight: bold;
  color: #1D4ED8;
  margin: 16px 0 6px 0;
  border-bottom: 1px solid #BFDBFE;
  padding-bottom: 3px;
}

/* ---------- Honors / Professionals / Fund ---------- */
.honors-list, .pro-list {
  font-family: "Times New Roman", Times, serif;
  font-size: 17px;
  line-height: 1.5;
}
.keyword { font-weight: bold; color: #1D4ED8; }
.project-period, .project-fund, .project-status { font-style: italic; }

/* ---------- Footer ---------- */
.copyright {
  text-align: right;
  font-family: "Times New Roman", Times, serif;
  color: #1E293B;
  padding: 10px 0;
}

/* ---------- Research (thematic directions) ---------- */
.research-intro {
  font-family: "Times New Roman", Times, serif;
  font-size: 15px;
  font-style: italic;
  color: #475569;
  margin: 6px 0 12px 0;
}
.research-direction { margin: 20px 0 6px 0; }
.research-dir-title {
  font-family: "Times New Roman", Times, serif;
  font-size: 19px;
  font-weight: bold;
  color: #ffffff;
  background-color: #1D4ED8;
  display: inline-block;
  padding: 4px 14px;
  border-radius: 3px;
}
.research-dir-title .cn {
  font-family: "黑体", "SimHei", sans-serif;
  font-size: 15px;
  font-weight: normal;
  margin-left: 8px;
}
.work-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 14px 0;
  border: 1px solid #BFDBFE;
  border-radius: 6px;
  padding: 12px;
  background: #F8FBFF;
}
.work-fig {
  width: 220px;
  max-width: 38%;
  height: auto;
  border: 1px solid #BFDBFE;
  background: #ffffff;
}
.work-body { flex: 1; }
.work-body p {
  margin: 4px 0;
  text-align: justify;
  font-family: "Times New Roman", Times, serif;
}
.work-title { font-weight: bold; font-size: 16px; color: #1E293B; }
.work-authors { font-size: 14px; color: #334155; }
.work-desc { font-size: 15px; color: #475569; }
.work-meta { font-weight: bold; font-size: 15px; }
.work-meta i { color: #334155; font-weight: normal; }
.work-links { font-size: 14px; margin-top: 2px; }
.work-links a { color: #1D4ED8; font-weight: bold; }
.research-list { margin: 8px 0 0 0; }
.research-list .pub-item { margin: 9px 0; }
.research-list .pub-links a { color: #1D4ED8; font-weight: bold; }

/* ---------- Responsive ---------- */
@media (max-width: 760px) {
  .contact-table, .contact-table tbody, .contact-table tr, .contact-table td {
    display: block; width: 100%; text-align: center;
  }
  .pub-entry { flex-direction: column; }
  .pub-thumb { max-width: 100%; width: 100%; }
}

/* ---------- Lightbox: click framework figure to enlarge / zoom / pan ---------- */
.work-fig { cursor: zoom-in; transition: opacity .15s ease; }
.work-fig:hover { opacity: .92; }
#lightbox {
  position: fixed; inset: 0; z-index: 9999;
  display: none; align-items: center; justify-content: center;
  background: rgba(15, 23, 42, .88);
}
#lightbox.open { display: flex; }
#lightbox .lb-stage {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; cursor: zoom-out;
}
#lightbox .lb-stage.grabbing { cursor: grabbing; }
#lightbox img {
  max-width: 90vw; max-height: 90vh; width: auto; height: auto;
  transform: scale(1); transform-origin: center center;
  box-shadow: 0 10px 50px rgba(0, 0, 0, .55);
  background: #fff; border-radius: 6px;
  user-select: none; -webkit-user-drag: none;
}
#lightbox .lb-bar {
  position: absolute; top: 16px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 6px; z-index: 2;
  background: rgba(15, 23, 42, .55); padding: 6px 12px; border-radius: 999px;
}
#lightbox .lb-bar button {
  border: 0; background: #fff; color: #0f172a; font-weight: 700;
  width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
  font-size: 18px; line-height: 1; display: flex; align-items: center; justify-content: center;
}
#lightbox .lb-bar button:hover { background: #e2e8f0; }
#lightbox .lb-bar .lb-scale { color: #fff; min-width: 50px; text-align: center; font-size: 13px; }
#lightbox .lb-close {
  position: absolute; top: 16px; right: 22px; z-index: 2;
  color: #fff; font-size: 30px; line-height: 1; cursor: pointer;
  background: transparent; border: 0; font-family: sans-serif; user-select: none;
}
#lightbox .lb-hint {
  position: absolute; bottom: 14px; left: 0; right: 0; text-align: center;
  color: #cbd5e1; font-size: 13px; z-index: 2; pointer-events: none;
}
