* { box-sizing: border-box; margin: 0; padding: 0; }
:root { --ink:#222; --sub:#666; --line:#ececec; --bg:#FFFFFF; }
body { font-family:"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif; background:var(--bg); color:var(--ink); line-height:1.7; -webkit-font-smoothing:antialiased; }
a { text-decoration: none; color: inherit; }
img { display:block; max-width:100%; }

/* 顶栏 */
.topbar { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.brand { font-size:18px; font-weight:800; color:#0E9F6E; }
.brand span { font-weight:600; color:#444; font-size:14px; }
.topbar nav a { font-size:14px; color:#555; padding:6px 12px; border:1px solid var(--line); border-radius:20px; }

/* 首页 hero */
.hero { background:linear-gradient(135deg,#0E9F6E 0%,#1aa179 55%,#2bb38a 100%); color:#fff; padding:46px 20px 40px; text-align:center; }
.hero h1 { font-size:26px; font-weight:800; letter-spacing:1px; }
.hero p { margin-top:12px; font-size:14px; opacity:.92; max-width:620px; margin-left:auto; margin-right:auto; }

/* 卡片网格 */
.grid { max-width:1080px; margin:0 auto; padding:24px 16px 40px; display:grid; gap:18px;
  grid-template-columns:1fr; }
@media(min-width:640px){ .grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:960px){ .grid{ grid-template-columns:1fr 1fr 1fr; } }
.card { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 6px 22px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease; display:flex; flex-direction:column; }
.card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.1); }
.card-cover { width:100%; height:160px; object-fit:cover; }
.card-body { padding:16px 16px 18px; display:flex; flex-direction:column; flex:1; }
.card-tag { font-size:12px; font-weight:700; align-self:flex-start; }
.card-title { font-size:17px; font-weight:700; margin:8px 0 8px; line-height:1.4; }
.card-sum { font-size:13px; color:#777; line-height:1.6; flex:1; }
.card-more { margin-top:14px; font-size:13px; font-weight:700; color:#0E9F6E; }

/* 文章页 */
.post { max-width:760px; margin:0 auto; padding:18px 16px 10px; }
.post-cover { width:100%; border-radius:14px; margin-bottom:18px; }
.post-head { padding:0 4px; }
.post-tag { font-size:12px; font-weight:700; }
.post-title { font-size:23px; font-weight:800; line-height:1.4; margin:10px 0 8px; }
.post-sub { font-size:14px; color:#888; line-height:1.6; }
.post-summary { margin:16px 4px; padding:12px 14px; background:#f0faf6; border-left:3px solid #0E9F6E;
  border-radius:8px; font-size:13px; color:#555; line-height:1.6; }
.post-body { padding:6px 4px; }
.post-body p { font-size:16px; color:#333; margin:0 0 16px; text-align:justify; }
.post-body .sub { font-size:18px; font-weight:700; color:#1a1a1a; margin:26px 0 12px;
  padding-left:11px; border-left:4px solid #0E9F6E; }
.post-body .lead { font-weight:700; color:#0E9F6E; background:#f0faf6; padding:12px 14px;
  border-radius:8px; border-left:3px solid #0E9F6E; }
.infocard { width:100%; border-radius:12px; margin:18px 0; box-shadow:0 4px 16px rgba(0,0,0,.05); }
.qrwrap { text-align:center; margin:22px 0; padding:18px; background:#fafbfa; border-radius:12px; border:1px solid var(--line); }
.qr { width:180px; height:180px; border-radius:8px; margin:0 auto; }
.qrcap { font-size:13px; color:#666; margin-top:10px; }

/* 页脚 */
.site-foot { background:#1f2937; color:#cbd5e1; margin-top:30px; padding:26px 18px; text-align:center; }
.foot-inner { max-width:680px; margin:0 auto; }
.foot-lead { font-size:14px; color:#fff; line-height:1.7; }
.foot-brand { font-size:12px; color:#94a3b8; margin-top:12px; }
.back { display:inline-block; margin-top:16px; font-size:14px; font-weight:700; color:#0E9F6E;
  background:#fff; padding:8px 18px; border-radius:22px; }
