/*
Theme Name: 青简
Theme URI: https://mark.code.stemcell.gold
Author: site-ops
Description: 极简中式主题（月白·黛青）：楷体正文、竖排题名、书影式首页列表、竹青细线。零 JS、零外部字体、暗色跟随系统。
Version: 1.0.0
Requires at least: 6.0
Text Domain: qingjian
*/

/* ------------------------------------------------------------------
 * 令牌（月白 · 黛青 · 竹青）
 * ------------------------------------------------------------------ */
:root {
  --paper: #f3f5f2;        /* 月白 */
  --paper-2: #e8ede8;
  --ink: #223230;          /* 墨青 */
  --ink-soft: #6e7f77;
  --line: #d3dcd4;
  --line-strong: #a9b8ae;
  --accent: #3f7069;       /* 竹青 */
  --measure: 43rem;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #171c19;
    --paper-2: #212723;
    --ink: #c9d2cb;
    --ink-soft: #86948b;
    --line: #2d3631;
    --line-strong: #47534b;
    --accent: #6d9e93;
  }
}

/* ------------------------------------------------------------------
 * 基础
 * ------------------------------------------------------------------ */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
body { overflow-x: clip; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Kaiti SC", "STKaiti", "KaiTi", "Noto Serif CJK SC", Georgia, serif;
  font-size: 17.5px;
  line-height: 2;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--accent); color: var(--paper); }

a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--line-strong);
  text-underline-offset: 3px;
}
a:hover { color: var(--accent); text-decoration-color: var(--accent); }

img { max-width: 100%; height: auto; }
hr { border: 0; border-top: 1px solid var(--line); margin: 2.5em 0; }

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden;
  padding: 0; position: absolute; word-wrap: normal;
}

.wrap { max-width: var(--measure); margin: 0 auto; padding: 0 20px; }

/* ------------------------------------------------------------------
 * 页眉 · 竖排题名（书脊式）
 * ------------------------------------------------------------------ */
.masthead { position: relative; border-bottom: 1px solid var(--ink); }
.masthead::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 1px;
  background: var(--accent);
  opacity: .5;
}
.masthead-inner {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 2rem 20px 1.6rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  column-gap: 2rem;
}
.brand-link {
  display: flex;
  align-items: flex-start;
  gap: .8em;
  text-decoration: none;
}
.brand-link:hover { color: inherit; }
.seal {
  display: inline-block;
  background: var(--accent);
  color: var(--paper);
  font-size: .68em;
  line-height: 1;
  width: 1.7em; height: 1.7em;
  text-align: center;
  padding-top: .36em;
  border-radius: 1px;
}
.v-name {
  writing-mode: vertical-rl;
  font-size: 1.42rem;
  font-weight: 600;
  letter-spacing: .3em;
  color: var(--ink);
}
.v-tag {
  writing-mode: vertical-rl;
  font-size: .74rem;
  letter-spacing: .26em;
  color: var(--ink-soft);
  padding-top: .2em;
}
.nav { margin-bottom: .2em; }
.nav-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.3em;
  row-gap: .2em;
  justify-content: flex-end;
  font-size: .85rem;
  letter-spacing: .1em;
}
.nav-list li { margin: 0; }
.nav-list a { text-decoration: none; color: var(--ink-soft); }
.nav-list a:hover { color: var(--accent); }
.nav-list .current-menu-item a,
.nav-list .current-cat a { color: var(--accent); }

/* ------------------------------------------------------------------
 * 主体
 * ------------------------------------------------------------------ */
.site-main {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 2.2rem 20px 3.5rem;
  min-height: 60vh;
}

/* 归档/搜索页头 */
.list-head { margin-bottom: 1.6rem; }
.list-head h1 {
  margin: 0;
  font-size: 1.4rem;
  letter-spacing: .08em;
  font-weight: 600;
}
.list-head .list-sub {
  margin: .4rem 0 0;
  font-size: .85rem;
  color: var(--ink-soft);
}
.list-head .list-sub em { font-style: normal; color: var(--accent); }
.list-head .term-desc { font-size: .92rem; color: var(--ink-soft); margin: .7rem 0 0; }

/* ------------------------------------------------------------------
 * 书影式列表（图左文右）
 * ------------------------------------------------------------------ */
.sheet {
  display: flex;
  column-gap: 1.2em;
  padding: 1.15em 0;
  border-bottom: 1px solid var(--line);
}
.sheet-thumb { flex: none; }
.sheet-thumb img {
  display: block;
  width: 188px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  height: auto;
  border: 1px solid var(--line);
  padding: 4px;
  background: var(--paper-2);
}
.sheet-body { flex: 1; min-width: 0; }
.sheet-meta {
  margin: 0;
  font-size: .78rem;
  color: var(--ink-soft);
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
  align-items: center;
}
.sheet-title {
  margin: .45em 0 0;
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.6;
}
.sheet-title a { text-decoration: none; }
.sheet-title a:hover { color: var(--accent); }
.sheet-date {
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
}

/* 题签（分类） */
.sign {
  display: inline-block;
  font-size: .7rem;
  line-height: 1;
  padding: .3em .55em;
  border: 1px solid var(--line-strong);
  color: var(--ink-soft);
  letter-spacing: .14em;
  white-space: nowrap;
  text-decoration: none !important;
}
.sign:hover { color: var(--accent); border-color: var(--accent); }

/* ------------------------------------------------------------------
 * 文章页
 * ------------------------------------------------------------------ */
.entry-head { margin: 0 0 2rem; }
.entry-title {
  margin: 0;
  font-size: 1.62rem;
  line-height: 1.55;
  font-weight: 600;
  letter-spacing: .04em;
}
.entry-meta {
  margin: .9rem 0 0;
  font-size: .82rem;
  color: var(--ink-soft);
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
  align-items: center;
}
.entry-head::after {
  content: "";
  display: block;
  width: 2.6em;
  height: 2px;
  background: var(--accent);
  margin-top: 1.4rem;
}

.entry-content { font-size: 1rem; }
.entry-content > p { margin: 0 0 1.15em; }
.entry-content p.site-disclaimer {
  margin-top: 2.2em;
  padding-top: 1em;
  border-top: 1px solid var(--line);
  font-size: .8rem;
  color: var(--ink-soft);
}
.entry-content h2, .entry-content h3 {
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.5;
}
.entry-content h2 {
  font-size: 1.2rem;
  margin: 2.1em 0 1em;
  padding-bottom: .3em;
  border-bottom: 1px solid var(--line-strong);
}
.entry-content h3 { font-size: 1.05rem; margin: 1.8em 0 .8em; }

.entry-content blockquote {
  margin: 1.4em 0;
  padding: .1em 0 .1em 1.2em;
  border-left: 2px solid var(--accent);
  color: var(--ink-soft);
  font-family: Georgia, "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
}
.entry-content blockquote p { margin: .4em 0; }

.entry-content img {
  display: block;
  margin: 1.6em auto;
  border: 1px solid var(--line);
  padding: 4px;
  background: var(--paper-2);
}
.entry-content figcaption,
.entry-content .wp-caption-text {
  font-size: .8rem;
  color: var(--ink-soft);
  text-align: center;
  margin: -0.8em 0 1.6em;
}
.entry-content ul, .entry-content ol { margin: 0 0 1.15em; padding-left: 1.6em; }
.entry-content li { margin: .25em 0; }
.entry-content code, .entry-content pre {
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: .85em;
  background: var(--paper-2);
}
.entry-content code { padding: .1em .35em; }
.entry-content pre { padding: .9em 1em; overflow: auto; border: 1px solid var(--line); line-height: 1.7; }
.entry-content table {
  border-collapse: collapse;
  margin: 1.6em 0;
  font-size: .92em;
  width: 100%;
}
.entry-content th, .entry-content td {
  border: 1px solid var(--line-strong);
  padding: .45em .7em;
  text-align: left;
}
.entry-content th { font-weight: 600; background: var(--paper-2); }

/* 上一篇 / 下一篇 */
.post-nav {
  margin-top: 3rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  column-gap: 1.5em;
  font-size: .88rem;
}
.post-nav a { text-decoration: none; }
.post-nav a:hover { color: var(--accent); }
.post-nav .nav-next { text-align: right; margin-left: auto; }
.post-nav .nav-label { color: var(--ink-soft); font-size: .78rem; letter-spacing: .2em; display: block; }

/* ------------------------------------------------------------------
 * 分页
 * ------------------------------------------------------------------ */
.pagination {
  margin-top: 2.6rem;
  text-align: center;
  font-size: .88rem;
}
.pagination .page-numbers {
  display: inline-block;
  padding: .28em .72em;
  border: 1px solid var(--line);
  text-decoration: none;
  margin: 0 .18em;
}
.pagination .page-numbers.current { color: var(--accent); border-color: var(--accent); }
.pagination .page-numbers:hover { color: var(--accent); border-color: var(--accent); }

/* ------------------------------------------------------------------
 * 检索表单 / 404
 * ------------------------------------------------------------------ */
.search-form { display: flex; gap: .6em; margin: 1.4rem 0; }
.search-form input[type="search"] {
  flex: 1;
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: transparent;
  color: inherit;
  font: inherit;
  padding: .4em .1em;
  border-radius: 0;
  outline: none;
}
.search-form input[type="search"]:focus { border-bottom-color: var(--accent); }
.search-form button {
  background: none;
  border: 1px solid var(--ink);
  color: inherit;
  font: inherit;
  font-size: .85rem;
  letter-spacing: .3em;
  padding: .4em .8em .4em 1.1em;
  cursor: pointer;
  border-radius: 0;
}
.search-form button:hover { color: var(--accent); border-color: var(--accent); }

.notfound { text-align: center; padding: 3rem 0 1rem; }
.notfound-num {
  font-size: 2.6rem;
  letter-spacing: .5em;
  margin: 0;
  font-weight: 600;
}
.notfound p { color: var(--ink-soft); }
.notfound .wrap-form { max-width: 26rem; margin: 1.6rem auto 0; }

/* ------------------------------------------------------------------
 * 页脚
 * ------------------------------------------------------------------ */
.site-footer { border-top: 1px solid var(--ink); position: relative; }
.site-footer::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: -4px;
  height: 1px;
  background: var(--accent);
  opacity: .5;
}
.footer-inner {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 1.6rem 20px 3rem;
  text-align: center;
  font-size: .8rem;
  color: var(--ink-soft);
  line-height: 2;
}
.footer-inner a { color: inherit; }
.footer-inner a:hover { color: var(--accent); }
.footer-inner .dot { margin: 0 .55em; color: var(--line-strong); }

/* ------------------------------------------------------------------
 * 窄屏
 * ------------------------------------------------------------------ */
@media (max-width: 640px) {
  body { font-size: 16.5px; }
  .masthead-inner { flex-direction: column; align-items: flex-start; padding-top: 1.5rem; }
  .v-name { writing-mode: horizontal-tb; font-size: 1.2rem; letter-spacing: .18em; }
  .v-tag { writing-mode: horizontal-tb; padding-top: 0; }
  .brand-link { align-items: center; }
  .nav { margin-top: 1rem; }
  .nav-list { justify-content: flex-start; }
  .sheet { flex-direction: column-reverse; }
  .sheet-thumb img { width: 100%; }
  .entry-title { font-size: 1.4rem; }
}
