.hero-home{margin-top:4px}
.hero-archive{margin-top:4px}
.single-header .entry-meta{display:flex;flex-wrap:wrap;gap:12px}
.page-header-shell{min-height:220px}

.timeline-list{display:grid;gap:12px}
.timeline-item a{
  display:block;
  padding:14px 16px;
  border-radius:16px;
  background:var(--bg-soft);
  border:1px solid var(--line)
}

.not-found{
  margin-top:4px;
  min-height:max(62vh,560px);
  align-items:stretch
}
.not-found-shell{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}
.not-found-copy{display:flex;flex-direction:column;justify-content:center;gap:18px}
.not-found-copy h1{
  margin:0;
  font-size:clamp(2.3rem,4.8vw,5rem);
  line-height:1.02;
  letter-spacing:-.05em
}
.not-found-copy p{margin:0;max-width:58ch;color:var(--text-2)}

.not-found-path{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:14px 16px;
  border-radius:20px;
  background:var(--bg-soft);
  border:1px solid var(--line)
}
.not-found-path span{color:var(--text-3);font-size:.92rem}
.not-found-path code{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.56);
  border:1px solid var(--line);
  overflow-wrap:anywhere
}
html[data-theme="dark"] .not-found-path code{background:rgba(255,255,255,.08)}

.not-found-search{display:flex;gap:12px;flex-wrap:wrap}
.not-found-search input{
  flex:1 1 260px;
  min-width:0;
  height:50px;
  padding:0 16px;
  border-radius:var(--radius-pill);
  border:1px solid var(--line);
  background:var(--bg-soft);
  outline:none
}

.not-found-panel{display:grid;gap:18px;padding:22px;overflow:hidden}
.nf-visual{
  position:relative;
  min-height:360px;
  border-radius:28px;
  overflow:hidden;
  isolation:isolate;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(135deg, rgba(10,132,255,.18), rgba(94,92,230,.18) 52%, rgba(255,255,255,.12))
}
.nf-number{
  position:relative;
  z-index:2;
  margin:0;
  font-size:clamp(5.8rem,17vw,9rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.12em;
  color:rgba(255,255,255,.88);
  text-shadow:0 18px 42px rgba(11,11,15,.16)
}
.nf-ring,.nf-glow,.nf-dot{position:absolute;border-radius:50%}
.nf-ring{
  border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px)
}
.nf-ring-a{width:240px;height:240px;top:26px;right:18px}
.nf-ring-b{width:180px;height:180px;bottom:18px;left:20px}
.nf-glow{filter:blur(28px);opacity:.9}
.nf-glow-a{width:160px;height:160px;left:12%;top:16%;background:rgba(255,255,255,.42)}
.nf-glow-b{width:180px;height:180px;right:8%;bottom:10%;background:rgba(48,209,88,.2)}
.nf-dot{box-shadow:0 0 0 8px rgba(255,255,255,.12)}
.nf-dot-a{width:14px;height:14px;left:18%;bottom:23%;background:#fff}
.nf-dot-b{width:20px;height:20px;right:22%;top:20%;background:rgba(255,255,255,.85)}
.nf-dot-c{width:12px;height:12px;right:34%;bottom:16%;background:rgba(255,255,255,.72)}

.not-found-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nf-mini-card{
  padding:18px;
  border-radius:22px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)
}
.nf-mini-card strong{display:block;font-size:1rem}
.nf-mini-card p{margin:8px 0 0;color:var(--text-2)}

.links-body .entry-content>*:first-child{margin-top:0}
.links-body .entry-content>*:last-child{margin-bottom:0}

/* =========================================================
   Professor Homepage
   ========================================================= */
.hero-professor{align-items:stretch}
.hero-professor .hero-copy{gap:18px}
.hero-professor .hero-subtitle{
  max-width:720px;
  line-height:1.85;
  white-space:pre-line
}
.hero-professor .hero-actions{margin-top:4px}

.professor-panel{
  display:grid;
  gap:0;
}
.professor-panel .hero-stat{
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center
}

.academic-card{
  position:relative;
  overflow:hidden;
  padding:28px 30px;
}
.professor-panel > .academic-card{margin-top:0}
.academic-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top right, rgba(10,132,255,.12), transparent 30%),
    radial-gradient(circle at bottom left, rgba(94,92,230,.10), transparent 28%);
}
html[data-theme="dark"] .academic-card::before{
  background:
    radial-gradient(circle at top right, rgba(41,151,255,.18), transparent 34%),
    radial-gradient(circle at bottom left, rgba(94,92,230,.14), transparent 30%);
}
.academic-card .weather-card-head{margin-bottom:18px}
.academic-card .weather-location{
  display:block;
  margin-top:6px;
  font-size:2rem;
  line-height:1.2
}
.academic-card .weather-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.academic-card .weather-metric{
  min-height:132px;
  padding:24px 28px;
  border-radius:28px
}
.academic-card .weather-metric span{
  display:block;
  font-size:.98rem;
  line-height:1.5
}
.academic-card .weather-metric strong{
  display:block;
  margin-top:18px;
  font-size:2rem;
  line-height:1.1
}

.home-feature-grid,
.featured-papers,
.admission-shell{margin-top:24px}

.home-feature-grid{padding:22px}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:18px
}
.feature-card{
  padding:24px;
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease
}
.feature-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-float);
  border-color:var(--line-strong)
}
.feature-card h3{
  margin:0 0 12px;
  font-size:1.08rem;
  line-height:1.35;
  letter-spacing:-.01em
}
.feature-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.82;
  font-size:.96rem
}

.feature-link-card{
  text-decoration:none;
  color:inherit;
}
.feature-link-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-float);
  border-color:var(--line-strong)
}

.compact-feature-card{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px
}
.compact-feature-card h3{
  margin:0;
  font-size:1.15rem;
  line-height:1.5;
  font-weight:700
}

.featured-papers{padding:22px}
.featured-papers .paper-list{
  display:grid;
  gap:2px;
  margin-top:18px
}
.featured-papers .paper-item{
  padding:22px 0;
  border-bottom:1px solid var(--line)
}
.featured-papers .paper-item:last-child{
  border-bottom:none;
  padding-bottom:4px
}
.featured-papers .paper-item:first-child{padding-top:4px}
.featured-papers .paper-item h3{
  margin:0 0 10px;
  font-size:1.1rem;
  line-height:1.5;
  letter-spacing:-.01em
}
.featured-papers .paper-item h3 a{transition:color .2s ease}
.featured-papers .paper-item h3 a:hover{color:var(--brand)}
.featured-papers .paper-item p{
  margin:0 0 12px;
  color:var(--text-2);
  line-height:1.82
}

.paper-meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:var(--text-3);
  font-size:.9rem
}

.news-head{margin-bottom:18px}
.news-head h2{letter-spacing:-.02em}

.admission-shell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:26px
}
.admission-copy{
  display:flex;
  flex-direction:column;
  gap:10px
}
.admission-copy h2{
  margin:0;
  font-size:clamp(1.5rem,3vw,2.3rem);
  letter-spacing:-.03em;
  line-height:1.15
}
.admission-copy p{
  margin:0;
  max-width:760px;
  color:var(--text-2);
  line-height:1.85;
  white-space:pre-line
}
.admission-shell .hero-actions{
  flex-shrink:0;
  align-self:center
}

.category-strip .section-head span,
.news-head span,
.featured-papers .section-head span,
.home-feature-grid .section-head span{max-width:60ch}

/* professor homepage news cards refinement */
.hero-professor + .home-feature-grid + .category-strip + .featured-papers + .content-grid .post-card h2,
.hero-professor + .home-feature-grid + .featured-papers + .content-grid .post-card h2,
.hero-professor + .home-feature-grid + .category-strip + .content-grid .post-card h2{
  line-height:1.26
}

/* Professor sidebar */
.professor-sidebar .sidebar-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.82
}
.sidebar-contact-links{display:grid;gap:10px}
.sidebar-contact-links .social-link{
  width:100%;
  justify-content:flex-start
}
.professor-sidebar .hero-actions{margin-top:14px}
.professor-sidebar .btn{width:100%}

/* =========================
   Research Team Page
   ========================= */
.team-page{gap:24px}
.team-section{padding:22px}

.team-pi-card{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:24px;
  align-items:start
}

.team-pi-avatar,
.team-member-avatar{
  display:grid;
  place-items:center;
  border-radius:24px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  font-weight:800;
  color:var(--brand);
  overflow:hidden
}
.team-pi-avatar{
  width:140px;
  height:140px;
  font-size:1.6rem
}
.team-pi-content h3{
  margin:0 0 8px;
  font-size:1.6rem
}
.team-pi-role{
  margin:0 0 14px;
  color:var(--text-3);
  font-weight:600
}
.team-pi-bio{
  color:var(--text-2);
  line-height:1.85
}

.team-pi-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px
}
.team-pi-top h3{
  margin:0 0 8px;
  font-size:1.6rem
}
.team-pi-link{flex-shrink:0}

.team-member-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.team-member-card{padding:22px}
.team-member-avatar{
  width:96px;
  height:96px;
  margin-bottom:16px;
  border-radius:50%;
  font-size:1.1rem
}
.team-member-avatar img{
  width:100%;
  height:100%;
  object-fit:cover
}
.team-member-card h3{
  margin:0 0 8px;
  font-size:1.08rem
}
.team-member-role{
  margin:0 0 10px;
  color:var(--text-3);
  font-size:.95rem
}
.team-member-desc{
  margin:0;
  color:var(--text-2);
  line-height:1.8
}

/* =========================
   Achievements Page
   ========================= */
.achievements-page{gap:24px}

.achievement-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.achievement-stat-card{padding:20px}
.achievement-stat-card span{
  display:block;
  margin-bottom:8px;
  color:var(--text-3);
  font-size:.92rem
}
.achievement-stat-card strong{
  font-size:1.7rem;
  line-height:1.1;
  letter-spacing:-.04em
}

.achievement-list{display:grid;gap:2px}
.achievement-list.compact{gap:0}
.achievement-item{
  padding:18px 0;
  border-bottom:1px solid var(--line)
}
.achievement-item:last-child{
  border-bottom:none;
  padding-bottom:0
}
.achievement-item:first-child{padding-top:0}
.achievement-item h3{
  margin:0 0 8px;
  font-size:1.08rem;
  line-height:1.55
}
.achievement-item h3 a:hover{color:var(--brand)}
.achievement-authors{
  margin:0 0 6px;
  color:var(--text);
  line-height:1.8
}
.achievement-meta-line{
  margin:0;
  color:var(--text-3);
  line-height:1.75
}
.achievement-note{
  margin:8px 0 0;
  color:var(--brand);
  font-size:.92rem
}

/* =========================
   Research Detail Page
   ========================= */
.research-page{gap:24px}
.research-section-block{padding:22px}

.research-media-card{
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:var(--bg-soft)
}
.research-media-card img{
  width:100%;
  height:auto;
  display:block
}
.research-video-wrap{
  display:flex;
  align-items:center;
  gap:12px
}

/* =========================
   News Page
   ========================= */
.news-page{gap:24px}

.news-search-wrap{display:flex}
.news-search-input{
  width:100%;
  min-height:48px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg-soft);
  outline:none
}

.news-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px
}
.news-filter-chip{
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  background:var(--bg-soft)
}
.news-filter-chip.is-active{
  background:var(--brand-soft);
  color:var(--brand);
  border-color:transparent
}

.news-section-block.is-hidden{display:none}

.news-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.news-card{overflow:hidden}
.news-card-cover{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--bg-soft)
}
.news-card-cover img{
  width:100%;
  height:100%;
  object-fit:cover
}
.news-card-body{
  padding:18px;
  display:grid;
  gap:12px
}
.news-meta-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center
}
.news-card h3{
  margin:0;
  font-size:1.16rem;
  line-height:1.45
}
.news-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.8
}

/* 首页新闻区独立样式，不影响 news.html */
.home-news-zone .news-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.home-news-zone .news-text-card{
  min-height:auto;
  border-radius:28px;
  overflow:hidden
}
.home-news-zone .news-text-link{
  display:block;
  padding:18px 20px 16px;
  color:inherit;
  text-decoration:none
}
.home-news-zone .news-text-card .meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px
}
.home-news-zone .news-text-card .meta-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 18px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:600;
  line-height:1
}
.home-news-zone .news-text-card .meta-time{
  font-size:1rem;
  color:var(--text-2);
  white-space:nowrap
}
.home-news-zone .news-text-card h3{
  margin:0 0 10px;
  font-size:1.2rem;
  line-height:1.55;
  font-weight:700;
  color:var(--text-primary);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.home-news-zone .news-text-card p{
  margin:0;
  font-size:1rem;
  line-height:1.8;
  color:var(--text-2);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.home-news-zone .news-text-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-float);
  border-color:var(--line-strong)
}

/* 首页 hero 左侧团队卡片 */
.hero-team-card{
  cursor:pointer;
  position:relative;
  border-radius:32px;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease
}
.hero-team-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:32px;
  background:linear-gradient(135deg, rgba(80,150,255,.08), rgba(255,255,255,0));
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none
}
.hero-team-card:hover{transform:translateY(-6px)}
.hero-team-card:hover::after{opacity:1}

.hero-team-card h1{
  transition:transform .28s ease, color .28s ease
}
.hero-team-card:hover h1{
  transform:translateX(4px);
  color:var(--text-primary)
}

.hero-team-card .eyebrow,
.hero-team-card .hero-subtitle{
  transition:color .28s ease
}
.hero-team-card:hover .eyebrow{color:#4da3ff}
.hero-team-card:hover .hero-subtitle{color:var(--text-2)}

html[data-theme="dark"] .hero-team-card:hover h1,
[data-theme="dark"] .hero-team-card:hover h1,
body.dark .hero-team-card:hover h1{
  color:#ffffff
}
html[data-theme="dark"] .hero-team-card:hover .hero-subtitle,
[data-theme="dark"] .hero-team-card:hover .hero-subtitle,
body.dark .hero-team-card:hover .hero-subtitle{
  color:rgba(255,255,255,.92)
}

.hero-platform-btn{
  position:relative;
  z-index:3
}

/* 成果页可点击统计卡片 */
.academic-link-card{
  display:block;
  text-decoration:none;
  color:inherit;
  transition:all .25s ease;
  cursor:pointer
}
.academic-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  border-color:rgba(255,255,255,.18)
}
.academic-link-card:hover .weather-location{color:#ffffff}
.academic-link-card:hover .weather-metric strong{transform:scale(1.04)}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1120px){
  .feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width: 980px){
  .team-member-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .achievement-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width: 900px){
  .not-found-grid{grid-template-columns:1fr}
  .admission-shell{
    flex-direction:column;
    align-items:flex-start
  }
  .admission-shell .hero-actions{align-self:flex-start}
  .team-pi-card{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  .academic-card .weather-grid{grid-template-columns:1fr}
  .academic-card .weather-location{font-size:1.7rem}
  .academic-card .weather-metric strong{font-size:1.7rem}
}

@media (max-width: 640px){
  .not-found-search{flex-direction:column}
  .not-found-search .btn{width:100%}
  .not-found-panel{padding:18px}
  .nf-visual{min-height:280px}
  .nf-number{font-size:clamp(4.8rem, 28vw, 6.8rem)}

  .home-feature-grid,
  .featured-papers,
  .admission-shell{padding:18px}

  .feature-grid{
    grid-template-columns:1fr;
    gap:16px
  }
  .feature-card{
    min-height:auto;
    padding:20px
  }

  .featured-papers .paper-item{padding:18px 0}
  .admission-copy h2{font-size:clamp(1.35rem,8vw,2rem)}

  .team-member-grid{grid-template-columns:1fr}
  .team-pi-top{
    flex-direction:column;
    align-items:flex-start
  }

  .achievement-stats-grid{grid-template-columns:1fr}

  .academic-card{padding:20px 18px}
  .academic-card .weather-metric{
    padding:18px 20px;
    min-height:auto
  }
  .academic-card .weather-location{font-size:1.45rem}
  .academic-card .weather-metric strong{
    margin-top:14px;
    font-size:1.5rem
  }

  .home-news-zone .news-text-link{padding:16px 16px 14px}
  .home-news-zone .news-text-card .meta-row{
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:10px
  }
  .home-news-zone .news-text-card .meta-pill{
    padding:7px 14px;
    font-size:.88rem
  }
  .home-news-zone .news-text-card .meta-time{font-size:.92rem}
  .home-news-zone .news-text-card h3{
    font-size:1.05rem;
    line-height:1.6
  }
  .home-news-zone .news-text-card p{
    font-size:.94rem;
    line-height:1.75;
    -webkit-line-clamp:2
  }
}

.news-card-cover-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text-3);
  font-size:.95rem;
}