*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#202124;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:17px;line-height:1.78}
a{color:inherit;text-decoration:none}

/* 全站正文最大宽度 */
.wrap{width:min(100% - 32px,680px);margin:auto}

.site-header{border-bottom:1px solid #eee;background:#fff}
.header-inner{padding:16px 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.brand{display:inline-block;font-size:24px;font-weight:800;line-height:1.25;white-space:nowrap}
.tagline{margin:0;color:#666;font-size:15px;line-height:1.5}

.feed{padding-top:26px}

/* 每个故事卡片与正文同宽 */
.story-card{
  width:100%;
  max-width:100%;
  margin:0 0 36px;
  padding:0 0 36px;
  border-bottom:1px solid #eee;
}

.story-link{display:block;width:100%}

/* 首页图片和详细页图片都严格跟随内容宽度 */
.story-image,
.article-image{
  width:100%;
  max-width:100%;
  aspect-ratio:16/9;
  background:#f2f2f2;
  border-radius:7px;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#999;
  font-size:15px;
}

/* 关键：图片本身不能超过容器宽度 */
.story-image img,
.article-image img{
  display:block;
  width:100%;
  max-width:100%;
  height:100%;
  object-fit:cover;
}

/* 标题和摘要与图片保持完全一致的宽度 */
.story-card h2{
  width:100%;
  max-width:100%;
  font-size:25px;
  line-height:1.45;
  margin:15px 0 8px;
}

.story-card p{
  width:100%;
  max-width:100%;
  margin:0;
  color:#555;
}

.sentinel{height:1px}
.loading-status{text-align:center;color:#999;font-size:14px;min-height:28px;margin:0 0 18px}
.site-footer{font-size:14px;color:#888;padding:8px 0 30px}

/* 详细页 */
.article{
  width:100%;
  max-width:100%;
  padding-top:28px;
}

.article h1{
  width:100%;
  max-width:100%;
  font-size:32px;
  line-height:1.35;
  margin:0 0 20px;
}

.article-image{margin-bottom:26px}

.article p{
  width:100%;
  max-width:100%;
  margin:0 0 1.2em;
}

.dialogue{margin:1.5em 0}

.after-story{
  width:100%;
  max-width:100%;
  margin-top:46px;
  padding-top:4px;
  border-top:1px solid #eee;
}

.after-story-title{font-size:18px;font-weight:800;margin:22px 0 0}
.after-story .feed{padding-top:20px}

@media(min-width:760px){
  body{font-size:18px}
  .brand{font-size:26px}
  .tagline{font-size:17px}
  .story-card h2{font-size:28px}
  .article h1{font-size:40px}
}

@media(max-width:420px){
  .header-inner{gap:8px}
  .brand{font-size:22px}
  .tagline{font-size:14px}
}
