:root { --fg: #1a1a1a; --bg: #ffffff; --muted: #666; --accent: #0f6b5c; --line: #e5e5e5; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.8 -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; }
a { color: var(--accent); text-decoration: none; }
.wrap { max-width: 38em; margin: 0 auto; padding: 2rem 1.25rem; }
header.site { border-bottom: 1px solid var(--line); }
header.site .wrap { display: flex; gap: 1rem; align-items: baseline; }
.muted { color: var(--muted); font-size: 0.875rem; }
.badge { display: inline-block; border: 1px solid var(--line); border-radius: 3px;
  padding: 0 0.4em; font-size: 0.75rem; color: var(--muted); }
.toc { border: 1px solid var(--line); border-radius: 6px; padding: 0.5rem 1rem; margin: 1rem 0; }
.toc nav a { display: block; }
.article img { max-width: 100%; }
.pager { display: flex; gap: 1rem; justify-content: space-between; margin: 2rem 0; }
form.stack label { display: block; margin: 0.75rem 0 0.25rem; }
form.stack input, form.stack textarea { width: 100%; padding: 0.5rem; font: inherit; }
button, .btn { padding: 0.4rem 1rem; border: 1px solid var(--accent); background: var(--accent);
  color: #fff; border-radius: 4px; cursor: pointer; font: inherit; }
.admin-nav a { margin-right: 1rem; }
@media (min-width: 80em) { .toc-float { position: fixed; right: 1rem; top: 5rem; width: 14em; } }
