/* ============================================================
   文章列表 / 文章详情 样式
   ============================================================ */

.art-featured{margin-bottom:16px}
.art-list{display:grid;gap:16px}

.art-card{
  display:block;
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 26px 22px;
  transition:border-color .15s,background .15s;
}
.art-card:hover{border-color:var(--line-strong);background:#13161e}

.art-featured .art-card{
  border-color:var(--line-strong);
  background:#131720;
}
.art-featured .art-card h3{font-size:20px}

.art-tag{
  display:inline-block;
  font-size:11.5px;font-weight:600;letter-spacing:.06em;
  color:var(--acc);background:var(--acc-dim);
  padding:3px 9px;border-radius:5px;
  margin-bottom:13px;
}
.art-card h3{
  margin:0 0 11px;font-size:17px;line-height:1.45;
  color:var(--fg);font-weight:600;
}
.art-card p{margin:0 0 14px;font-size:14px;color:var(--fg-dim);line-height:1.7}
.art-card p b{color:var(--fg)}
.art-meta{font-size:12px;color:var(--fg-faint)}

/* ── 文章正文 ── */
.art-body{
  max-width:74ch;
  font-size:15.5px;
  line-height:1.85;
  color:var(--fg-dim);
}
.art-body h2{
  font-size:21px;color:var(--fg);margin:44px 0 15px;font-weight:640;
  padding-top:8px;
}
.art-body h3{
  font-size:16.5px;color:var(--fg);margin:30px 0 12px;font-weight:600;
}
.art-body p{margin:0 0 17px}
.art-body b{color:var(--fg);font-weight:600}
.art-body ul,.art-body ol{margin:0 0 17px;padding-left:22px}
.art-body li{margin-bottom:8px}
.art-body a{color:var(--acc);border-bottom:1px solid rgba(78,161,255,.3)}
.art-body a:hover{border-bottom-color:var(--acc)}
.art-body code{
  font-family:var(--mono);font-size:.9em;
  background:rgba(255,255,255,.07);padding:2px 6px;border-radius:4px;
  color:#d6e4f7;
}
.art-body pre{
  background:#0d0f14;border:1px solid var(--line);border-radius:10px;
  padding:16px 18px;overflow-x:auto;margin:0 0 20px;
  font-size:13px;line-height:1.7;
}
.art-body pre code{background:none;padding:0;font-size:13px;color:#c8d6ea}
.art-body blockquote{
  margin:0 0 20px;padding:14px 18px;
  border-left:2px solid var(--acc);
  background:rgba(78,161,255,.06);
  border-radius:0 8px 8px 0;
  font-size:14.5px;
}
.art-body blockquote p:last-child{margin-bottom:0}
.art-body table{
  width:100%;border-collapse:collapse;margin:0 0 22px;font-size:14px;
}
.art-body th,.art-body td{
  text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);
}
.art-body th{color:var(--fg-faint);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.art-body hr{border:0;border-top:1px solid var(--line);margin:36px 0}

.art-header{margin-bottom:34px}
.art-header h1{font-size:clamp(23px,3.2vw,32px);margin-bottom:16px}
.art-header .art-meta{margin-top:12px}

.art-foot{
  margin-top:52px;padding-top:28px;border-top:1px solid var(--line);
  max-width:74ch;
}
.art-foot .cta{
  background:var(--bg-soft);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 26px;
}
.art-foot .cta h3{margin:0 0 10px;font-size:17px;color:var(--fg)}
.art-foot .cta p{margin:0 0 18px;font-size:14px;color:var(--fg-dim)}

.art-nav{
  display:flex;justify-content:space-between;gap:16px;
  margin-top:26px;flex-wrap:wrap;
}
