* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei","PingFang SC",sans-serif; line-height:1.7; color:#333; background:#f8fafc; }
.container { max-width:1080px; margin:0 auto; padding:0 1rem; }

.site-header { background:#1a3a5c; color:#fff; padding:1rem 0; position:sticky; top:0; z-index:10; }
.header-inner { display:flex; justify-content:space-between; align-items:center; }
.logo { color:#fff; font-size:1.25rem; font-weight:700; text-decoration:none; }
.site-header nav a { color:#cbd5e1; margin-left:1.2rem; text-decoration:none; font-size:.92rem; }
.site-header nav a:hover { color:#fff; }

.hero { background:linear-gradient(135deg,#1a3a5c 0%,#34699a 100%); color:#fff; padding:3rem 0 2.5rem; }
.hero h1 { font-size:1.9rem; margin-bottom:.6rem; }
.hero p { color:#dbe4ee; max-width:720px; }

.cat-bar { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.2rem 0; }
.chip { background:#e2e8f0; color:#334155; padding:.3rem .9rem; border-radius:16px; text-decoration:none; font-size:.85rem; }
.chip:hover { background:#cbd5e1; }

.article-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.2rem; margin:1rem 0 2rem; }
.card { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.card img { width:100%; height:180px; object-fit:cover; display:block; }
.card-body { padding:1rem; }
.card h3 { font-size:1.02rem; margin-bottom:.4rem; }
.card h3 a { color:#1a3a5c; text-decoration:none; }
.card h3 a:hover { color:#1a6dd4; }
/* 首页单列文章列表 */
.article-list { margin:1rem 0 2rem; }
.row-item { display:flex; gap:1rem; background:#fff; border-radius:10px; padding:1rem; margin-bottom:.9rem; box-shadow:0 1px 4px rgba(0,0,0,.06); align-items:flex-start; }
.row-thumb { flex:0 0 220px; min-width:0; }
.row-thumb img { width:220px; height:125px; object-fit:cover; border-radius:6px; display:block; }
.row-body { flex:1; min-width:0; }
.row-body h3 { font-size:1.05rem; margin-bottom:.4rem; line-height:1.5; }
.row-body h3 a { color:#1a3a5c; text-decoration:none; }
.row-body h3 a:hover { color:#1a6dd4; }
.row-body .summary { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* 移动端: 图上文下竖排, 图全宽 */
@media (max-width:640px) {
  .row-item { flex-direction:column; gap:.6rem; }
  .row-thumb { flex:auto; width:100%; }
  .row-thumb img { width:100%; height:auto; max-height:210px; object-fit:cover; }
}
.summary { color:#64748b; font-size:.88rem; margin-bottom:.5rem; }
.date { color:#94a3b8; font-size:.78rem; }
.empty { color:#94a3b8; padding:2rem 0; text-align:center; }

.article-main { max-width:820px; margin-top:1.5rem; }
.article { background:#fff; border-radius:10px; padding:1.6rem; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.article h1 { font-size:1.55rem; color:#1a3a5c; margin-bottom:.6rem; }
.article-meta { color:#94a3b8; font-size:.82rem; margin-bottom:1rem; display:flex; gap:1rem; flex-wrap:wrap; }
.article-meta a { color:#1a6dd4; text-decoration:none; }
.article-cover { margin-bottom:1.2rem; }
.article-cover img { width:100%; border-radius:8px; }
.article-body { font-size:1rem; }
.article-body p { margin-bottom:.9rem; text-indent:2em; }
.article-body p:first-of-type { text-indent:2em; }
.article-body figure.article-cover { margin:1.2rem 0; text-indent:0; }
.article-body figure.article-cover img { width:100%; border-radius:8px; display:block; }
.article-body h2 { font-size:1.2rem; color:#1a3a5c; margin:1.4rem 0 .6rem; }
.article-body h3 { font-size:1.05rem; color:#1a3a5c; margin:1.1rem 0 .5rem; }
.article-body ul, .article-body ol { margin:0 0 .9rem 1.6rem; }
.article-body li { margin-bottom:.3rem; text-indent:0; }
.related { margin:1.5rem 0; background:#fff; border-radius:10px; padding:1.2rem; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.related h2 { font-size:1.05rem; color:#1a3a5c; margin-bottom:.6rem; }
.related ul { margin-left:1.2rem; }
.related a { color:#1a6dd4; text-decoration:none; }
.article-source { margin:1.2rem 0; padding:.9rem 1rem; background:#f8fafc; border-left:3px solid #1a6dd4; border-radius:6px; font-size:.85rem; color:#475569; }
.article-source p { margin:.2rem 0; }
.article-source .source-title { font-size:.95rem; }
.article-source a { color:#1a6dd4; text-decoration:none; word-break:break-all; }

.page-title { margin:1.4rem 0 .4rem; color:#1a3a5c; }
.page-desc { color:#64748b; margin-bottom:1rem; }

.site-footer { background:#0f172a; color:#64748b; padding:1.4rem 0; margin-top:2rem; text-align:center; font-size:.85rem; }

@media (max-width:640px) {
  .header-inner { flex-direction:column; gap:.6rem; }
  .hero h1 { font-size:1.4rem; }
  .article-main { padding:0 .6rem; }
}
