/* cms.muoxe.com 前台：暗底、一列文章、和官网首屏同一套气质。token 由 functions.php 先行引入，这里不 @import。 */

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--ink);
  color: var(--on-dark);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* 唯一的彩色：一大片极淡的 aurora，压在角落里不抢戏 */
body::before {
  content: "";
  position: fixed;
  inset: -30% -20% auto auto;
  width: 70vw;
  height: 70vw;
  border-radius: 50%;
  background: var(--aurora);
  opacity: .12;
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent-on-dark); }
.wrap {
  position: relative;
  width: min(92vw, 720px);
  margin: 0 auto;
}

/* ── 站头 ── */
.top { border-bottom: 1px solid var(--rule-dark-soft); }
.topin {
  display: flex;
  align-items: center;
  gap: 22px;
  height: 64px;
}
.brand { font-weight: 500; letter-spacing: .04em; white-space: nowrap; }
.nav { display: flex; gap: 18px; font-size: 14px; color: var(--on-dark-2); }
.nav a { white-space: nowrap; }
.search { margin-left: auto; }
.search input {
  width: 120px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--rule-dark);
  border-radius: var(--r-s);
  background: var(--ink-2);
  color: var(--on-dark);
  font: inherit;
  font-size: 13.5px;
  transition: width var(--motion-base) var(--ease-rise), border-color var(--motion-fast);
}
.search input:focus { width: 180px; outline: 0; border-color: var(--on-dark-3); }
.search input::placeholder { color: var(--on-dark-3); }

/* ── 主体 ── */
.main { padding: 40px 0 64px; }
.lede {
  margin: 0 0 32px;
  font-size: var(--fs-meta);
  font-weight: 400;
  letter-spacing: .12em;
  color: var(--on-dark-3);
}
.meta {
  display: block;
  font-size: var(--fs-meta);
  color: var(--on-dark-3);
  letter-spacing: .04em;
}
.empty { color: var(--on-dark-2); }

/* 列表：一篇一张卡，靠一根发丝线分隔，不做边框盒子 */
.list { display: flex; flex-direction: column; }
.card {
  padding: 26px 0;
  border-top: 1px solid var(--rule-dark-soft);
}
.card:first-child { border-top: 0; padding-top: 0; }
.card h2 {
  margin: 6px 0 8px;
  font-size: clamp(19px, 2.6vw, 23px);
  font-weight: 500;
  line-height: 1.35;
}
.card .ex { margin: 0; color: var(--on-dark-2); }

/* 分页 */
.pagination { margin-top: 36px; font-size: 14px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.pagination .page-numbers { color: var(--on-dark-2); }
.pagination .page-numbers.current { color: var(--on-dark); }

/* ── 单篇 / 页面 ── */
.post-head { margin-bottom: 30px; }
.post-head h1 {
  margin: 8px 0 0;
  font-size: clamp(26px, 4vw, 36px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.prose { font-size: 16.5px; line-height: 1.85; color: var(--on-dark); }
.prose > * + * { margin-top: 1.1em; }
.prose h2, .prose h3, .prose h4 {
  margin-top: 2em;
  font-weight: 500;
  line-height: 1.3;
}
.prose h2 { font-size: 24px; }
.prose h3 { font-size: 20px; }
.prose h4 { font-size: 17px; }
.prose p { margin: 0; }
.prose a { color: var(--accent-on-dark); border-bottom: 1px solid rgba(233, 164, 114, .35); }
.prose a:hover { border-bottom-color: currentColor; }
.prose ul, .prose ol { padding-left: 1.4em; }
.prose li + li { margin-top: .35em; }
.prose blockquote {
  margin: 1.4em 0;
  padding: 2px 0 2px 18px;
  border-left: 2px solid var(--rule-dark);
  color: var(--on-dark-2);
}
.prose blockquote p { margin: 0; }
.prose code {
  padding: .1em .4em;
  border-radius: var(--r-xs);
  background: var(--ink-3);
  font-family: var(--mono);
  font-size: .88em;
}
.prose pre {
  padding: 16px 18px;
  border-radius: var(--r-s);
  background: var(--ink-3);
  overflow-x: auto;
  font-family: var(--mono);
  font-size: 13.5px;
  line-height: 1.6;
}
.prose pre code { padding: 0; background: none; font-size: inherit; }
.prose img, .prose video, .prose figure { max-width: 100%; height: auto; }
.prose figure { margin: 1.4em 0; }
.prose figcaption { margin-top: 8px; font-size: var(--fs-meta); color: var(--on-dark-3); text-align: center; }
.prose hr { border: 0; border-top: 1px solid var(--rule-dark-soft); margin: 2.2em 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.prose th, .prose td { padding: 8px 10px; border-bottom: 1px solid var(--rule-dark-soft); text-align: left; vertical-align: top; }
.prose th { color: var(--on-dark-2); font-weight: 500; }
/* 区块编辑器自带的对齐类 */
.prose .alignwide, .prose .alignfull { width: 100%; }
.prose .aligncenter { display: block; margin-left: auto; margin-right: auto; }

.tags { margin-top: 2em; font-size: var(--fs-meta); color: var(--on-dark-3); }
.tags a { margin-right: 10px; }

.adjacent {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid var(--rule-dark-soft);
  font-size: 14px;
  color: var(--on-dark-2);
}
.adjacent .next { margin-left: auto; text-align: right; }

/* ── 页脚 ── */
.foot {
  padding: 22px 0 36px;
  border-top: 1px solid var(--rule-dark-soft);
  font-size: var(--fs-meta);
  color: var(--on-dark-3);
}
.foot p { margin: 0; }

/* ── 窄屏 ── */
@media (max-width: 560px) {
  .topin { gap: 14px; height: 56px; }
  .nav { gap: 12px; }
  .search input { width: 88px; }
  .search input:focus { width: 130px; }
  .main { padding-top: 28px; }
  .prose { font-size: 16px; }
}
