body {
  font-size: 15px !important;   /* 默认大概 16.5~17px */
  line-height: 1.55 !important;
}

h1 { font-size: 32px !important; }
h2 { font-size: 24px !important; }
h3 { font-size: 19px !important; }

/* 首页 News 列表（数据源：_data/news.yml） */
.news-list {
  list-style: none;
  margin: 0.5em 0 0;
  padding: 0;
}

.news-list li {
  display: flex;
  align-items: baseline;
  gap: 0.9em;
  padding: 0.35em 0;
}

.news-list .news-date {
  flex: 0 0 4.5em;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}

.news-list .news-body {
  flex: 1;
  min-width: 0;
}

/* 窄屏时日期换到正文上方，避免正文被挤成一条 */
@media (max-width: 600px) {
  .news-list li {
    display: block;
  }
  .news-list .news-date {
    display: block;
    font-size: 0.9em;
  }
}

/* 首页参会照片（数据源：_data/photos.yml，图片放 images/photos/） */
.photo-grid {
  list-style: none;
  margin: 0.5em 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1em;
}

.photo-grid li {
  margin: 0;
}

.photo-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;      /* 竖拍横拍混排时也能对齐成整齐的网格 */
  border-radius: 4px;
  display: block;
}

.photo-grid .photo-caption {
  display: block;
  margin-top: 0.4em;
  font-size: 0.85em;
  opacity: 0.75;
  line-height: 1.35;
}