/* ==========================================================================
   三悟山 · 样式系统
   --------------------------------------------------------------------------
   方向：A 书房式打底（象牙纸感、宋体精读、单栏留白）
        + C 山径式意象点缀（远山光晕、渐变细线）
        + B 期刊式目录列表（用于「全部文章」页）
   约定：零构建、零外链、移动优先
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌
   -------------------------------------------------------------------------- */
:root{
  /* 色彩 */
  --bg:#FBF8F3;              /* 象牙纸底 */
  --bg-soft:#F5F0E7;         /* 次级底（卡片/侧栏） */
  --ink:#2E2A24;             /* 正文 */
  --ink-2:#6B6155;           /* 次要文字（对比度 5.7:1） */
  --ink-3:#75695B;           /* 元信息（对比度 5.0:1） */
  --accent:#9C4A2A;          /* 赭红（对比度 5.8:1） */
  --accent-2:#6E8B7E;        /* 苔绿，仅用于意象光晕 */
  --rule:#E7DFD3;            /* 分隔线 */
  --rule-strong:#D8CDBC;

  /* 字体 */
  --serif:"Songti SC","Source Han Serif SC","Noto Serif CJK SC",SimSun,"STSong",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",-apple-system,sans-serif;

  /* 尺度 */
  --measure:660px;           /* 阅读宽度 */
  --wide:940px;              /* 页面容器 */
  --gap:24px;
  --radius:3px;
}

/* --------------------------------------------------------------------------
   2. 基础
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--serif);
  font-size:17.5px;
  line-height:1.95;
  letter-spacing:.02em;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block;}

a{
  color:inherit;
  text-decoration:none;
  transition:color .22s ease,border-color .22s ease;
}
a:hover{color:var(--accent);}

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:2px;
}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--bg);color:var(--accent);
  padding:12px 20px;border:1px solid var(--accent);
  font-family:var(--sans);font-size:14px;
}
.skip-link:focus{left:16px;top:16px;}

/* --------------------------------------------------------------------------
   3. 布局
   -------------------------------------------------------------------------- */
.wrap{max-width:var(--measure);margin:0 auto;padding:0 var(--gap);}
.wrap--wide{max-width:var(--wide);}

/* --------------------------------------------------------------------------
   4. 页头与导航
   -------------------------------------------------------------------------- */
.site-head{
  position:sticky;top:0;z-index:50;
  background:rgba(251,248,243,.94);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--rule);
}
/* C 的意象点缀：页头下沿一条极淡渐变细线 */
.site-head::after{
  content:"";display:block;height:1px;
  background:linear-gradient(90deg,transparent,rgba(156,74,42,.32),rgba(110,139,126,.22),transparent);
}
.site-head .wrap{
  max-width:var(--wide);
  display:flex;align-items:baseline;justify-content:space-between;
  gap:20px;padding-top:22px;padding-bottom:18px;flex-wrap:wrap;
}

.brand{display:flex;align-items:baseline;gap:14px;}
.brand-name{font-size:22px;letter-spacing:.14em;transition:color .25s ease;}
.brand:hover .brand-name{color:var(--accent);}   /* 站名可点回首页——鼠标移上去变色，给一个点击暗示 */
.brand-sub{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;
  color:var(--ink-3);
}

.site-nav{display:flex;gap:24px;font-family:var(--sans);font-size:14.5px;letter-spacing:.08em;}
.site-nav a{color:var(--ink-2);position:relative;padding-bottom:3px;}
.site-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--accent);transition:right .28s ease;
}
.site-nav a:hover::after{right:0;}
.site-nav a[aria-current="page"]{color:var(--accent);}
.site-nav a[aria-current="page"]::after{right:0;}

/* --------------------------------------------------------------------------
   5. 首页题头（含远山光晕）
   -------------------------------------------------------------------------- */
.hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--rule);
}
.hero::before{                       /* C 的远山光晕：三层极淡渐变 */
  content:"";position:absolute;inset:auto 0 0 0;height:220px;pointer-events:none;
  background:
    radial-gradient(52% 100% at 18% 108%, rgba(156,74,42,.10) 0%, transparent 62%),
    radial-gradient(44% 100% at 66% 112%, rgba(110,139,126,.10) 0%, transparent 64%),
    radial-gradient(38% 100% at 100% 104%, rgba(156,74,42,.06) 0%, transparent 60%);
}
.hero .wrap{position:relative;z-index:1;max-width:var(--wide);padding-top:76px;padding-bottom:64px;}
.delivery-note{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;
  color:var(--accent);margin:0 0 26px;
}
.hero h1{
  font-size:33px;font-weight:400;line-height:1.62;letter-spacing:.03em;
  /* max-width 由 22em 收到 19em：定位句拆行时，避免把「我们」这类词拆开。
     19em 恰好容 18 字、容不下 19 字，断点落在「……之所是，／皆由我们……」。
     若日后改定位句，这个值可能需要重调。 */
  margin:0 0 20px;max-width:19em;
}
.hero-sub{margin:0;color:var(--ink-2);font-size:16px;max-width:30em;}

/* --------------------------------------------------------------------------
   6. 区块标题
   -------------------------------------------------------------------------- */
.sec-title{
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.3em;
  color:var(--ink-3);margin:0 0 22px;padding-bottom:13px;
  border-bottom:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
}
.sec-title a{font-size:11.5px;letter-spacing:.1em;color:var(--accent);font-weight:400;}

/* --------------------------------------------------------------------------
   7. 文章列表（首页 / 栏目页）
   -------------------------------------------------------------------------- */
.post-list{list-style:none;margin:0;padding:0;}
.post-list li{padding:28px 0;border-bottom:1px solid var(--rule);}
.post-list li:first-child{padding-top:0;}
.post-list li:last-child{border-bottom:none;}

.post-meta{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;
  color:var(--ink-3);margin-bottom:11px;
}
.post-meta .cat{color:var(--accent);letter-spacing:.16em;}

.post-list h3{
  font-size:21px;font-weight:400;line-height:1.6;letter-spacing:.02em;
  margin:0 0 11px;
}
.post-list h3 a{background-image:linear-gradient(var(--accent),var(--accent));
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .3s ease;}
.post-list h3 a:hover{background-size:100% 1px;}

.excerpt{margin:0;font-size:15.5px;color:var(--ink-2);line-height:1.88;}

/* --------------------------------------------------------------------------
   8. 目录式列表（「全部文章」页 · 取自 B 期刊式）
   -------------------------------------------------------------------------- */
.year-label{
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.24em;
  color:var(--accent);margin:46px 0 6px;padding-bottom:8px;
  border-bottom:1px solid var(--rule-strong);
}
.year-label:first-of-type{margin-top:0;}

.toc-list{list-style:none;margin:0;padding:0;}
.toc-list li{
  display:grid;grid-template-columns:96px 1fr;gap:20px;
  padding:16px 0;border-bottom:1px solid var(--rule);
  align-items:baseline;
}
.toc-list li:last-child{border-bottom:none;}
.toc-date{
  font-family:var(--sans);font-size:12px;color:var(--ink-3);letter-spacing:.06em;
}
.toc-cat{
  display:inline-block;font-family:var(--sans);font-size:11px;letter-spacing:.14em;
  color:var(--accent);margin-right:12px;
}
.toc-title{font-size:17.5px;line-height:1.65;letter-spacing:.02em;}

/* --------------------------------------------------------------------------
   9. 标签
   -------------------------------------------------------------------------- */
.tag-row{display:flex;flex-wrap:wrap;gap:10px 12px;font-family:var(--sans);}
.tag-row a{
  font-size:13px;color:var(--ink-2);padding:4px 13px;
  border:1px solid var(--rule);border-radius:999px;letter-spacing:.06em;
}
.tag-row a:hover{border-color:var(--accent);color:var(--accent);}

/* --------------------------------------------------------------------------
   10. 栏目页头
   -------------------------------------------------------------------------- */
.page-head{border-bottom:1px solid var(--rule);}
.page-head .wrap{max-width:var(--wide);padding-top:56px;padding-bottom:40px;}
.page-head h1{
  font-size:27px;font-weight:400;letter-spacing:.06em;margin:0 0 14px;
}
.page-head .lede{margin:0;color:var(--ink-2);font-size:15.5px;max-width:34em;}
.page-head .kicker{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;
  color:var(--ink-3);margin:0 0 18px;
}

/* --------------------------------------------------------------------------
   11. 文章页
   -------------------------------------------------------------------------- */
.article-head{padding-top:56px;}
.article-head h1{
  font-size:30px;font-weight:400;line-height:1.58;letter-spacing:.03em;margin:0 0 20px;
}
.article-meta{
  font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:var(--ink-3);
  display:flex;gap:14px;flex-wrap:wrap;padding-bottom:26px;
  border-bottom:1px solid var(--rule);margin-bottom:44px;
}
.article-meta .cat{color:var(--accent);}

.prose{font-size:17.5px;line-height:1.95;}
.prose > * + *{margin-top:1.35em;}
.prose p{margin:0;}
.prose h2{
  font-size:21px;font-weight:400;letter-spacing:.04em;
  margin:2.2em 0 .9em;padding-bottom:.4em;border-bottom:1px solid var(--rule);
}
.prose h3{font-size:18.5px;font-weight:400;letter-spacing:.03em;margin:1.9em 0 .7em;}
.prose ul,.prose ol{padding-left:1.5em;}
.prose li{margin:.5em 0;}
.prose blockquote{
  margin:1.8em 0;padding:4px 0 4px 22px;
  border-left:2px solid var(--accent);
  color:var(--ink-2);font-size:16.5px;
}
.prose blockquote p{margin:0;}
.prose hr{border:none;border-top:1px solid var(--rule);margin:2.4em auto;width:60%;}
.prose strong{font-weight:600;}
.prose code{
  font-family:"Cascadia Mono",Consolas,"Courier New",monospace;
  font-size:.88em;background:var(--bg-soft);padding:2px 6px;border-radius:var(--radius);
}
.prose figure{margin:2em 0;}
.prose figcaption{
  font-family:var(--sans);font-size:13px;color:var(--ink-3);
  text-align:center;margin-top:10px;
}
.prose table{
  width:100%;border-collapse:collapse;font-size:15.5px;
  font-family:var(--sans);line-height:1.75;
}
.prose th,.prose td{border:1px solid var(--rule);padding:10px 13px;text-align:left;}
.prose th{background:var(--bg-soft);font-weight:600;}

/* 栏目说明（对读者可见，放在列表上方）｜写作时的临时备注也复用此样式 */
.section-note,
.editor-note{
  font-family:var(--sans);font-size:13px;line-height:1.8;
  background:var(--bg-soft);border:1px solid var(--rule);
  border-left:3px solid var(--accent-2);
  padding:14px 18px;margin:0 0 38px;color:var(--ink-2);
}

/* 翻页 */
.pager{
  display:flex;justify-content:space-between;gap:24px;
  margin-top:64px;padding-top:28px;border-top:1px solid var(--rule);
  font-family:var(--sans);font-size:14px;
}
.pager a{color:var(--ink-2);max-width:46%;}
.pager a:hover{color:var(--accent);}
.pager .dir{display:block;font-size:10.5px;letter-spacing:.24em;color:var(--ink-3);margin-bottom:6px;}

.back-link{
  display:inline-block;margin-top:44px;
  font-family:var(--sans);font-size:13.5px;letter-spacing:.08em;color:var(--accent);
}

/* --------------------------------------------------------------------------
   12. 页脚（含远山意象）
   -------------------------------------------------------------------------- */
.site-foot{
  position:relative;overflow:hidden;
  margin-top:96px;border-top:1px solid var(--rule);
}
.site-foot::before{                 /* C 的远山光晕（倒置，自下而上） */
  content:"";position:absolute;inset:0 0 0 0;pointer-events:none;
  background:
    radial-gradient(48% 84% at 14% 100%, rgba(156,74,42,.09) 0%, transparent 64%),
    radial-gradient(40% 74% at 72% 104%, rgba(110,139,126,.09) 0%, transparent 66%);
}
.site-foot .wrap{position:relative;z-index:1;max-width:var(--wide);padding-top:48px;padding-bottom:56px;}
.foot-motto{
  font-size:14.5px;letter-spacing:.06em;color:var(--ink-2);
  margin:0 0 26px;max-width:34em;line-height:1.9;
}
.foot-cols{
  display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;
  font-family:var(--sans);font-size:12.5px;color:var(--ink-3);line-height:2;
}
.foot-cols a{color:var(--ink-3);}
.foot-cols a:hover{color:var(--accent);}
.foot-nav{display:flex;gap:18px;flex-wrap:wrap;}

/* --------------------------------------------------------------------------
   13. 工具
   -------------------------------------------------------------------------- */
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.stack-lg{margin-bottom:72px;}
.stack-md{margin-bottom:52px;}

/* --------------------------------------------------------------------------
   14. 响应式（断点 640 / 900 / 1200）
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  .hero .wrap{padding-top:56px;padding-bottom:48px;}
  .hero h1{font-size:27px;}
  .page-head .wrap{padding-top:44px;padding-bottom:32px;}
}

@media (max-width:640px){
  :root{--gap:20px;}
  body{font-size:16.5px;line-height:1.9;}
  .site-head .wrap{padding-top:16px;padding-bottom:14px;gap:12px;}
  .site-nav{gap:18px;font-size:13.5px;width:100%;}
  .brand-sub{display:none;}
  .hero .wrap{padding-top:44px;padding-bottom:38px;}
  .hero h1{font-size:23px;line-height:1.68;}
  .hero-sub{font-size:15px;}
  .page-head h1{font-size:23px;}
  .post-list h3{font-size:19px;}
  .excerpt{font-size:15px;}
  .article-head{padding-top:38px;}
  .article-head h1{font-size:23px;}
  .prose{font-size:16.5px;}
  .prose h2{font-size:19px;}
  .prose h3{font-size:17.5px;}
  .toc-list li{grid-template-columns:1fr;gap:6px;}
  .toc-date{display:flex;gap:10px;align-items:center;}
  .site-foot{margin-top:68px;}
  .pager{flex-direction:column;gap:18px;}
  .pager a{max-width:100%;}
  .pager .next{text-align:left;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
