/* =====================================================
   文章站 · 首页样式
   ===================================================== */
:root{
  --bg:#f8fafc; --panel:#ffffff; --text:#1e293b; --muted:#64748b;
  --line:#e2e8f0; --primary:#2563eb; --primary-l:#eff6ff;
  --radius:12px; --shadow:0 2px 12px rgba(15,23,42,.06);
  --font:system-ui,-apple-system,"Microsoft YaHei","PingFang SC",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.7}
a{color:inherit;text-decoration:none}
.container{max-width:1080px;margin:0 auto;padding:0 20px}

/* ---- 顶部导航 ---- */
.site-header{background:var(--primary);position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.header-inner{display:flex;align-items:center;gap:22px;height:60px}
.logo{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:800;letter-spacing:.5px;color:#fff;white-space:nowrap}
.logo-img{width:28px;height:28px;border-radius:7px;display:block;flex:none}
.nav{display:flex;gap:4px;overflow-x:auto;flex:1;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{padding:7px 13px;border-radius:8px;font-size:14px;color:rgba(255,255,255,.8);white-space:nowrap;transition:.15s}
.nav a:hover{color:#fff;background:rgba(255,255,255,.15)}
.search{display:flex;flex:0 0 220px}
.search input{flex:1;border:1px solid rgba(255,255,255,.2);border-right:none;border-radius:9px 0 0 9px;padding:8px 13px;font-size:13px;background:rgba(255,255,255,.15);color:#fff;outline:none}
.search input::placeholder{color:rgba(255,255,255,.5)}
.search input:focus{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.2)}
.search button{border:none;background:rgba(255,255,255,.2);color:#fff;padding:0 16px;border-radius:0 9px 9px 0;font-size:13px;cursor:pointer}
.search button:hover{background:rgba(255,255,255,.3)}

/* ---- hero ---- */
.hero{padding:48px 0 36px;text-align:center}
.hero h1{font-size:28px;margin-bottom:10px;color:var(--text)}
.hero p{color:var(--muted);font-size:15px;max-width:600px;margin:0 auto}
.hero-body{max-width:720px;margin:0 auto}

/* ---- 卡片网格 ---- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 0 36px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);transition:all .2s;overflow:hidden}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(15,23,42,.1);border-color:var(--primary)}
.card-link{display:flex;flex-direction:column;padding:22px 24px;height:100%;color:inherit}
.card-title{font-size:17px;font-weight:700;line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text)}
.card:hover .card-title{color:var(--primary)}
.card-desc{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.card-meta{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.card-meta time{color:#94a3b8}
.card-meta span{color:var(--primary);font-weight:600}
.pager{padding:0 0 46px;text-align:center}
.pager a{display:inline-block;padding:10px 26px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:14px;transition:.15s}
.pager a:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.empty{padding:70px 0;text-align:center;color:var(--muted)}
.empty .btn{display:inline-block;margin-top:14px;padding:9px 24px;border-radius:9px;background:var(--primary);color:#fff}

/* ---- 返回顶部 ---- */
.backtop{position:fixed;right:24px;bottom:30px;width:44px;height:44px;border-radius:50%;border:none;background:var(--primary);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 6px 18px rgba(37,99,235,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.backtop.show{opacity:1;visibility:visible;transform:none}
.backtop:hover{background:#1d4ed8}

/* ---- 页脚 ---- */
.site-footer{border-top:1px solid var(--line);background:var(--panel);margin-top:26px;padding:26px 0}
.site-footer p{font-size:13px;color:var(--muted);text-align:center;margin-bottom:4px}
.site-footer .copy{font-size:12px;color:#94a3b8}

/* ---- 响应式 ---- */
@media (max-width:900px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .search{flex:0 0 150px}
  .header-inner{gap:12px}
}
@media (max-width:600px){
  .card-grid{grid-template-columns:1fr}
  .nav{display:none}
  .search{flex:1}
}