/* ===== 主题变量 ===== */
:root, [data-theme="light"] {
  --bg:#f6f8fa; --surface:#ffffff; --text:#1f2328; --muted:#656d76;
  --primary:#2563eb; --border:#e5e7eb; --code-bg:#0d1117; --code-text:#c9d1d9;
  --tag-bg:#eef2ff; --tag-text:#4338ca; --shadow:0 1px 3px rgba(0,0,0,.08);
  --hero-bg:linear-gradient(135deg,#eef2ff,#f6f8fa);
}
[data-theme="dark"] {
  --bg:#0d1117; --surface:#161b22; --text:#e6edf3; --muted:#8b949e;
  --primary:#58a6ff; --border:#30363d; --code-bg:#010409; --code-text:#e6edf3;
  --tag-bg:#1f2937; --tag-text:#93c5fd; --shadow:0 1px 3px rgba(0,0,0,.4);
  --hero-bg:linear-gradient(135deg,#161b22,#0d1117);
}
[data-theme="sepia"] {
  --bg:#f4ecd8; --surface:#fbf6ea; --text:#433422; --muted:#8a7a5c;
  --primary:#a0522d; --border:#e3d6b8; --code-bg:#3b3122; --code-text:#f0e6d2;
  --tag-bg:#efe3c8; --tag-text:#8a5a2b; --shadow:0 1px 3px rgba(80,60,30,.12);
  --hero-bg:linear-gradient(135deg,#fbf3e0,#f4ecd8);
}

/* ===== 基础 ===== */
body {
  background:var(--bg); color:var(--text);
  transition:background .2s ease, color .2s ease;
}
.navbar { background:var(--surface); }
footer { background:var(--surface); }

/* 主题切换按钮高亮 */
.theme-switch .btn.active { background:var(--primary); border-color:var(--primary); color:#fff; }

/* hero */
.hero { background:var(--hero-bg); }

/* 文章卡片 */
.post-card { background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); transition:transform .15s ease, box-shadow .15s ease; }
.post-card:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.12); }
.post-link { color:var(--text); text-decoration:none; }
.post-link:hover { color:var(--primary); }
.tag { background:var(--tag-bg); color:var(--tag-text); padding:1px 8px; border-radius:999px; font-size:12px; margin-left:4px; }
.meta .tag { margin-left:0; margin-right:6px; }
.read-more { color:var(--primary); text-decoration:none; font-size:14px; }
.text-secondary { color:var(--muted) !important; }

/* 登录卡片 */
.auth-card { background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); }

/* ===== Markdown 正文样式 ===== */
.content { font-size:16px; line-height:1.8; }
.content h1,.content h2,.content h3 { margin:24px 0 12px; line-height:1.4; }
.content h1 { font-size:1.7rem; } .content h2 { font-size:1.4rem; } .content h3 { font-size:1.2rem; }
.content p { margin:12px 0; }
.content a { color:var(--primary); }
.content img { max-width:100%; border-radius:8px; }
.content blockquote { border-left:4px solid var(--primary); padding:4px 16px; color:var(--muted); margin:16px 0; background:var(--surface); border-radius:0 8px 8px 0; }
.content ul,.content ol { margin:12px 0 12px 24px; }
.content table { border-collapse:collapse; width:100%; margin:16px 0; }
.content th,.content td { border:1px solid var(--border); padding:8px 12px; text-align:left; }

/* 代码块：所有主题统一深色背景 */
.content pre { background:var(--code-bg); color:var(--code-text); padding:16px; border-radius:10px; overflow:auto; margin:16px 0; }
.content code { background:rgba(127,127,127,.15); padding:2px 6px; border-radius:4px; font-size:14px; }
.content pre code { background:none; padding:0; }
.hljs { background:transparent !important; color:var(--code-text); padding:0 !important; }

/* 表单微调 */
.form-control { background:var(--surface); color:var(--text); border-color:var(--border); }
.form-control:focus { background:var(--surface); color:var(--text); border-color:var(--primary); box-shadow:0 0 0 .2rem rgba(37,99,235,.15); }
.font-monospace { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
