/* ==========================================================================
   Codex Theme · Global Stylesheet
   深色羊皮纸设计系统：--void 底色 → --parchment 卡片 → --amber 强调
   ========================================================================== */

:root{
  --void:#15110B;
  --void-2:#1D170F;
  --sediment:#241B11;
  --parchment:#ECE3CE;
  --parchment-2:#E2D6BB;
  --ink:#1A150E;
  --ink-soft:#5C5240;
  --amber:#C28A3E;
  --amber-lt:#DCAF63;
  --scarlet:#B23A29;
  --cobalt:#33598A;
  --moss:#6E7B3D;
  --paper-dim:#B7A98C;
  --paper-faint:#7A6E56;
  --serif-d:"Cormorant Garamond","Noto Serif SC",serif;
  --serif-cn:"Noto Serif SC","Cormorant Garamond",serif;
  --latin:"EB Garamond","Cormorant Garamond",serif;
  --mono:"JetBrains Mono","Cascadia Code",Consolas,"Courier New",monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%}
body{
  background:var(--void);
  color:var(--parchment);
  font-family:var(--serif-cn);
  font-weight:300;
  line-height:1.95;
  letter-spacing:.2px;
  -webkit-font-smoothing:antialiased;
}
/* 立方体首页专用：锁定视口滚动 */
body.cube-body{height:100vh;overflow:hidden}
::selection{background:var(--amber);color:var(--void)}
i,em,.latin{font-family:var(--latin);font-style:italic}
a{color:inherit}

/* ============ 3D SCENE ============ */
.scene{
  width:100vw;height:100vh;
  perspective:1400px;
  perspective-origin:50% 50%;
  position:relative;overflow:hidden;
}
.cube{
  width:100%;height:100%;
  position:absolute;top:0;left:0;
  transform-style:preserve-3d;
  transition:transform .85s cubic-bezier(.25,.7,.2,1);
  will-change:transform;
}
.face{
  position:absolute;width:100vw;height:100vh;top:0;left:0;
  overflow-y:auto;overflow-x:hidden;
  backface-visibility:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--paper-faint) transparent;
}
.face::-webkit-scrollbar{width:5px}
.face::-webkit-scrollbar-track{background:transparent}
.face::-webkit-scrollbar-thumb{background:var(--paper-faint);border-radius:3px}

.face-center{ transform:translateZ(0); }
.face-left{   transform:rotateY(-90deg) translateZ(50vw); }
.face-right{  transform:rotateY(90deg) translateZ(50vw); }
.face-top{    transform:rotateX(90deg) translateZ(50vh); }
.face-bottom{ transform:rotateX(-90deg) translateZ(50vh); }

/* 旋转同时补偿 translateZ，使目标面就位后处于 z=0 平面（1:1 无透视缩放）。
   旋转方向与箭头一致：点 ↑ 视角向上翻，点 ← 视角向左翻。 */
.cube[data-face="center"]{ transform:translateZ(0) rotateX(0deg) rotateY(0deg); }
.cube[data-face="left"]{   transform:translateZ(-50vw) rotateX(0deg) rotateY(90deg); }
.cube[data-face="right"]{  transform:translateZ(-50vw) rotateX(0deg) rotateY(-90deg); }
.cube[data-face="top"]{    transform:translateZ(-50vh) rotateX(-90deg) rotateY(0deg); }
.cube[data-face="bottom"]{ transform:translateZ(-50vh) rotateX(90deg) rotateY(0deg); }

/* 翻转结束后进入 settled 状态：退出 3D，当前面变成普通 2D 滚动容器。
   避免 preserve-3d 下浏览器命中测试异常导致面内无法滚动/点击。 */
.cube.no-anim{transition:none}
.cube.settled{transform:none;transition:none}
.cube.settled .face{visibility:hidden}
.cube.settled .face.active{visibility:visible;transform:none}

.face-inner{min-height:100vh;display:flex;flex-direction:column}
.page-wrap{max-width:820px;margin:0 auto;padding:80px 32px 100px;width:100%;flex:1}
.page-narrow{max-width:640px}
.page-cols{max-width:1080px}
@media(max-width:640px){.page-wrap{padding:56px 20px 72px}}

/* ============ progress ============ */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--amber),var(--scarlet));z-index:200;transition:width .12s linear}

/* ============ topbar ============ */
.topbar{position:fixed;top:0;left:0;right:0;z-index:150;padding:18px 0;mix-blend-mode:difference;pointer-events:none}
.topbar .wrap{max-width:1100px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:baseline}
.blog-mark{font-family:var(--serif-d);font-size:20px;letter-spacing:3px;color:#fff;font-weight:500;pointer-events:auto;cursor:pointer;text-decoration:none;display:inline-block}
.blog-mark small{font-family:var(--latin);font-style:normal;letter-spacing:.3em;font-size:10px;display:block;color:#fff;opacity:.7;margin-top:1px}
.face-indicator{display:flex;gap:18px;pointer-events:auto}
.face-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);transition:all .45s ease;cursor:pointer}
.face-dot.active{background:var(--amber-lt);box-shadow:0 0 8px rgba(220,175,99,.5);transform:scale(1.4)}
.face-dot:hover{background:rgba(255,255,255,.65)}

/* ============ arrows ============ */
.dir-arrow{
  position:fixed;z-index:160;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--paper-dim);
  font-family:var(--latin);font-style:normal;font-size:22px;
  transition:color .35s ease,transform .35s ease,opacity .35s ease;
  user-select:none;mix-blend-mode:difference;
  opacity:0;pointer-events:none;
}
.dir-arrow.visible{opacity:.75;pointer-events:auto}
.dir-arrow.visible:hover{color:#fff;transform:scale(1.15)}
.dir-arrow .label{position:absolute;font-size:10px;letter-spacing:.25em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}
.dir-arrow:hover .label{opacity:1}
.arrow-up{top:18px;left:50%;transform:translateX(-50%)}.arrow-up:hover{transform:translateX(-50%) translateY(-3px) scale(1.15)}.arrow-up .label{bottom:-18px;left:50%;transform:translateX(-50%)}
.arrow-down{bottom:18px;left:50%;transform:translateX(-50%)}.arrow-down:hover{transform:translateX(-50%) translateY(3px) scale(1.15)}.arrow-down .label{top:-18px;left:50%;transform:translateX(-50%)}
.arrow-left{left:18px;top:50%;transform:translateY(-50%)}.arrow-left:hover{transform:translateY(-50%) translateX(-3px) scale(1.15)}.arrow-left .label{right:-30px;top:50%;transform:translateY(-50%)}
.arrow-right{right:18px;top:50%;transform:translateY(-50%)}.arrow-right:hover{transform:translateY(-50%) translateX(3px) scale(1.15)}.arrow-right .label{left:-30px;top:50%;transform:translateY(-50%)}
@media(max-width:768px){.dir-arrow{width:36px;height:36px;font-size:18px}.dir-arrow .label{display:none}.arrow-up{top:8px}.arrow-down{bottom:8px}.arrow-left{left:8px}.arrow-right{right:8px}}

/* ============ compass ============ */
.compass{position:fixed;bottom:28px;right:28px;z-index:155;width:56px;height:56px;opacity:.55;transition:opacity .4s;mix-blend-mode:difference}
.compass:hover{opacity:1}
.compass .cp-dot{fill:rgba(255,255,255,.3);transition:fill .4s;cursor:pointer}
.compass .cp-dot.active{fill:var(--amber-lt)}
.compass .cp-line{stroke:rgba(255,255,255,.15);stroke-width:.8}
.compass .cp-label{fill:rgba(255,255,255,.45);font-family:var(--latin);font-style:normal;font-size:8px;text-anchor:middle}
@media(max-width:768px){.compass{bottom:16px;right:16px;width:40px;height:40px}}

/* ============ CENTER · HERO ============ */
.hero-page{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden;text-align:center}
.hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(194,138,62,.14),transparent 50%),radial-gradient(circle at 25% 70%,rgba(51,89,138,.10),transparent 42%)}
.hero-page .hero-content{position:relative;z-index:2;padding:40px 24px}
.hero-page h1{font-family:var(--serif-d);font-weight:500;font-size:clamp(52px,9vw,100px);line-height:1.04;letter-spacing:3px;color:var(--parchment)}
.hero-page h1 .em{font-style:italic;color:var(--amber-lt)}
.hero-page .sub{font-family:var(--latin);font-style:italic;font-size:clamp(17px,2.4vw,23px);color:var(--paper-dim);margin-top:22px;letter-spacing:.4px}
.hero-page .cn-sub{font-size:16px;color:var(--paper-faint);margin-top:12px;letter-spacing:4px}
.hero-page .poem{font-size:clamp(15px,1.8vw,18px);color:var(--paper-faint);margin-top:30px;line-height:2;font-style:italic}
.hero-page .directional-hints{display:flex;gap:40px;margin-top:48px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.hero-page .directional-hints{gap:24px;margin-top:36px}}
.hero-page .dhint{text-align:center;cursor:pointer;transition:transform .35s ease,color .35s ease}
.hero-page .dhint:hover{transform:translateY(-4px)}
.hero-page .dhint .arr{font-size:28px;color:var(--amber);display:block;margin-bottom:6px}
.hero-page .dhint .lbl{font-family:var(--latin);font-style:normal;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-faint)}

/* ============ page header (shared) ============ */
.pg-hd{text-align:center;padding:60px 0 40px;position:relative}
@media(max-width:640px){.pg-hd{padding:40px 0 28px}}
.pg-tag{font-family:var(--latin);font-style:normal;letter-spacing:.42em;text-transform:uppercase;font-size:12px;color:var(--amber);display:block;margin-bottom:18px}
.pg-hd h2{font-family:var(--serif-d);font-weight:500;font-size:clamp(36px,5.6vw,62px);line-height:1.14;letter-spacing:2px;color:var(--parchment)}
.pg-hd h2 .accent{color:var(--amber)}
.pg-hd .sub{font-family:var(--latin);font-style:italic;font-size:15px;color:var(--paper-faint);margin-top:10px;letter-spacing:.5px}
.ghost{font-family:var(--serif-d);font-style:italic;font-size:clamp(100px,18vw,200px);line-height:.8;color:rgba(194,138,62,.06);position:absolute;top:20px;right:5%;pointer-events:none;z-index:0;font-weight:400}
.ledger{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(194,138,62,.25),transparent);margin:64px 0}
@media(max-width:640px){.ledger{margin:48px 0}}

/* ============ two-column layout (Tech / Life faces)，时间线在左 ============ */
.face-cols{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}
.face-cols .col-side{position:sticky;top:24px}
.side-tl-head{font-family:var(--latin);font-style:normal;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--amber);margin-bottom:14px;padding-left:24px}
@media(max-width:900px){.face-cols{grid-template-columns:250px minmax(0,1fr);gap:32px}}
@media(max-width:640px){.face-cols{grid-template-columns:1fr}.face-cols .col-side{display:none}}

/* ============ PROJECTS ============ */
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:30px}
@media(max-width:640px){.proj-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto;gap:24px}}
.proj-card{background:var(--parchment);padding:24px 22px 20px;box-shadow:0 24px 50px rgba(0,0,0,.4);position:relative;transition:transform .35s ease,box-shadow .35s ease;cursor:pointer;text-decoration:none;display:block}
.proj-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.proj-card::after{content:"";position:absolute;inset:8px;border:1px solid rgba(122,110,86,.4);pointer-events:none}
.proj-card .pc-tag{font-family:var(--latin);font-style:normal;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--scarlet)}
.proj-card h4{font-family:var(--serif-d);font-size:22px;font-weight:500;color:var(--ink);margin:8px 0 8px}
.proj-card p{font-size:14px;color:var(--ink-soft);line-height:1.7}
.proj-card .pc-link{font-family:var(--latin);font-style:italic;font-size:12px;color:#9a8c6f;margin-top:14px;display:block}
.proj-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--paper-faint);font-family:var(--latin);font-style:italic;font-size:15px}

/* ============ POSTS (dynamic) ============ */
.post-list{margin-top:30px}
.post-item{display:block;padding:28px 0;border-bottom:1px solid rgba(194,138,62,.12);text-decoration:none;color:inherit;transition:padding .35s ease}
.post-item:hover{padding-left:14px}
.post-item .p-date{font-family:var(--latin);font-style:normal;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--paper-faint)}
.post-item h4{font-family:var(--serif-d);font-size:clamp(20px,2.8vw,26px);font-weight:500;color:var(--parchment);margin:6px 0 8px;line-height:1.3;transition:color .3s}
.post-item:hover h4{color:var(--amber-lt)}
.post-item .p-excerpt{font-size:14px;color:var(--paper-dim);line-height:1.75;max-width:560px}
.post-item .p-meta{font-size:12px;color:var(--paper-faint);margin-top:10px;font-family:var(--latin);font-style:italic}
.post-loading{text-align:center;padding:40px;color:var(--paper-faint);font-family:var(--latin);font-style:italic}
.more-posts{display:inline-block;margin-top:30px;font-family:var(--latin);font-style:italic;font-size:15px;color:var(--amber-lt);text-decoration:none;border-bottom:1px solid rgba(194,138,62,.3);padding-bottom:2px;transition:border-color .3s}
.more-posts:hover{border-bottom-color:var(--amber)}

.kb-hint{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:155;font-family:var(--latin);font-style:normal;font-size:10px;letter-spacing:.25em;color:var(--paper-faint);text-align:center;mix-blend-mode:difference;pointer-events:none;transition:opacity .8s}
@media(max-width:768px){.kb-hint{display:none}}

/* ============ memory cards (Notes) ============ */
.memo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:20px}
@media(max-width:640px){.memo-grid{grid-template-columns:1fr;gap:16px}}
.memo-card{
  background:var(--parchment);padding:22px 20px 18px;
  box-shadow:0 12px 30px rgba(0,0,0,.35);position:relative;
  transition:transform .3s ease,box-shadow .3s ease;
  cursor:default;display:flex;flex-direction:column;
}
.memo-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.memo-card::after{content:"";position:absolute;inset:6px;border:1px solid rgba(122,110,86,.3);pointer-events:none}
.memo-card .memo-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.memo-card .memo-author{font-family:var(--latin);font-style:italic;font-size:12px;color:var(--amber)}
.memo-card .memo-time{font-family:var(--latin);font-style:normal;font-size:10px;color:var(--paper-faint);letter-spacing:.08em}
.memo-card .memo-body{font-size:14px;color:var(--ink-soft);line-height:1.85;margin-bottom:14px;flex:1;word-break:break-word}
.memo-card .memo-body.collapsible{
  max-height:220px;
  overflow:hidden;
  position:relative;
  transition:max-height .28s ease;
}
.memo-card .memo-body.collapsible::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:46px;
  background:linear-gradient(180deg, rgba(236,227,206,0), rgba(236,227,206,.96));
  pointer-events:none;
}
.memo-card.expanded .memo-body.collapsible{
  max-height:1000px;
}
.memo-card.expanded .memo-body.collapsible::after{
  display:none;
}
.memo-card .memo-foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--latin);font-style:normal;font-size:10px;letter-spacing:.15em;color:var(--paper-faint);gap:8px}
.memo-card .memo-actions{display:flex;align-items:center;gap:12px}
.memo-card .memo-more{font-family:var(--latin);font-style:italic;font-size:12px;color:var(--paper-faint);cursor:pointer;transition:color .25s;user-select:none}
.memo-card .memo-more:hover{color:var(--amber)}
.memo-card .memo-more.hidden{display:none}
.memo-card .memo-replies{font-family:var(--latin);font-style:italic;font-size:12px;color:var(--amber);cursor:pointer;transition:color .25s;user-select:none}
.memo-card .memo-replies:hover{color:var(--amber-lt)}
.memo-reply-list{display:none;margin-top:10px;padding-top:10px;border-top:1px solid rgba(122,110,86,.2)}
.memo-reply-list.open{display:block}
.memo-reply-item{padding:8px 0 8px 12px;border-left:2px solid rgba(194,138,62,.3);margin-bottom:8px;font-size:13px;color:var(--ink-soft);line-height:1.65}
.memo-reply-item .rauthor{font-family:var(--latin);font-style:italic;font-size:11px;color:var(--amber);display:inline}
.memo-reply-item .rtime{font-family:var(--latin);font-style:normal;font-size:9px;color:var(--paper-faint);margin-left:6px}
.memo-reply-item .rbody{display:block;margin-top:3px}
.memo-loading{text-align:center;padding:40px;color:var(--paper-faint);font-family:var(--latin);font-style:italic}

/* ============ archive timeline ============ */
.timeline{position:relative;padding-left:24px;margin-top:20px}
.timeline::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:rgba(194,138,62,.25)}
.tl-month{margin-bottom:28px;position:relative}
.tl-month-head{font-family:var(--latin);font-style:italic;font-size:15px;color:var(--amber-lt);margin-bottom:12px;padding-left:28px;position:relative}
.tl-month-head::before{content:"";position:absolute;left:-18px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--amber);transform:translateY(-50%)}
.tl-post{display:block;padding:10px 14px;margin-bottom:6px;margin-left:12px;text-decoration:none;border-left:2px solid transparent;transition:border-color .3s ease,background .3s ease;border-radius:0 4px 4px 0}
.tl-post:hover{border-left-color:var(--amber);background:rgba(194,138,62,.06)}
.tl-post .tl-date{font-family:var(--latin);font-style:normal;font-size:10px;letter-spacing:.12em;color:var(--paper-faint)}
.tl-post .tl-title{font-size:14px;color:var(--parchment);font-weight:400;margin:2px 0;line-height:1.4}
.tl-post .tl-tags{font-size:11px;color:var(--paper-faint);margin-top:2px;font-family:var(--latin);font-style:italic}
.tl-loading{text-align:center;padding:30px;color:var(--paper-faint);font-family:var(--latin);font-style:italic}
.tl-empty{text-align:center;padding:30px;color:var(--paper-faint)}
@media(max-width:640px){.timeline{padding-left:16px}.tl-post{margin-left:4px}}

/* ==========================================================================
   文章详情页 / 独立页面（post.ejs · page.ejs · archive.ejs）
   ========================================================================== */
.article-body{min-height:100vh;display:flex;flex-direction:column}

/* 简化版 topbar：正常文档流内 fixed，正常配色（无 difference 混合） */
.article-topbar{position:fixed;top:0;left:0;right:0;z-index:150;padding:14px 0;background:linear-gradient(180deg,rgba(21,17,11,.92),rgba(21,17,11,.75) 70%,transparent);backdrop-filter:blur(6px)}
.article-topbar .wrap{max-width:1100px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:baseline}
.article-topbar .back-link{font-family:var(--latin);font-style:italic;font-size:14px;color:var(--paper-dim);text-decoration:none;transition:color .3s}
.article-topbar .back-link:hover{color:var(--amber-lt)}
.article-topbar .blog-mark{font-size:17px}
.article-topbar .blog-mark small{font-size:9px}

.article-wrap{max-width:720px;margin:0 auto;padding:120px 28px 60px;width:100%;flex:1}
.article-header{text-align:center;margin-bottom:36px}
.article-header h1{font-family:var(--serif-d);font-weight:500;font-size:clamp(36px,5.6vw,62px);line-height:1.16;letter-spacing:2px;color:var(--parchment)}
.article-meta{margin-top:18px;font-family:var(--latin);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-faint)}
.article-meta a{color:var(--amber);text-decoration:none;transition:color .3s}
.article-meta a:hover{color:var(--amber-lt)}
.article-meta .sep{margin:0 10px;color:rgba(194,138,62,.4)}
.article-cover{margin:36px 0 0}
.article-cover img{width:100%;display:block;box-shadow:0 24px 50px rgba(0,0,0,.4)}
.project-link{display:inline-block;margin-top:16px;font-family:var(--latin);font-style:italic;font-size:15px;color:var(--amber-lt);text-decoration:none;border-bottom:1px solid rgba(194,138,62,.3);padding-bottom:2px;transition:border-color .3s}
.project-link:hover{border-bottom-color:var(--amber)}

/* ---------- Markdown 正文 ---------- */
.article-content{font-size:16px;color:var(--parchment-2);font-weight:300;line-height:1.95}
.article-content h1,.article-content h2,.article-content h3,
.article-content h4,.article-content h5,.article-content h6{
  font-family:var(--serif-d);font-weight:500;color:var(--parchment);
  line-height:1.3;margin:2.2em 0 .7em;letter-spacing:1px;
}
.article-content h1{font-size:32px}
.article-content h2{font-size:27px;padding-bottom:.35em;border-bottom:1px solid rgba(194,138,62,.18)}
.article-content h3{font-size:22px}
.article-content h4{font-size:19px}
.article-content p{margin:1em 0}
.article-content a{color:var(--amber-lt);text-decoration:none;border-bottom:1px solid rgba(220,175,99,.35);transition:border-color .3s}
.article-content a:hover{border-bottom-color:var(--amber-lt)}
.article-content strong{color:var(--parchment);font-weight:500}
.article-content ul,.article-content ol{padding-left:1.6em;margin:1em 0}
.article-content li{margin:.35em 0}
.article-content blockquote{
  margin:1.4em 0;padding:.6em 1.4em;
  border-left:2px solid var(--amber);
  color:var(--paper-dim);font-style:italic;
  background:rgba(194,138,62,.05);
}
.article-content blockquote p{margin:.4em 0}
.article-content img{max-width:100%;display:block;margin:1.8em auto;box-shadow:0 16px 40px rgba(0,0,0,.4)}
.article-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(194,138,62,.25),transparent);margin:2.5em 0}
.article-content table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:14px}
.article-content table th,.article-content table td{border:1px solid rgba(194,138,62,.18);padding:8px 12px;text-align:left}
.article-content table th{background:var(--sediment);color:var(--parchment);font-weight:500}
.article-content table tr:nth-child(even){background:rgba(29,23,15,.5)}

/* 内联代码 */
.article-content code{
  font-family:var(--mono);font-size:.85em;
  background:var(--sediment);color:var(--amber-lt);
  padding:2px 6px;border-radius:3px;
}

/* 代码块（hexo highlight.js 输出） */
.article-content figure.highlight,.article-content pre{
  background:var(--void-2);border:1px solid rgba(194,138,62,.14);
  margin:1.6em 0;padding:0;overflow-x:auto;
  font-family:var(--mono);font-size:13.5px;line-height:1.7;
  scrollbar-width:thin;scrollbar-color:var(--paper-faint) transparent;
}
.article-content pre{padding:16px 18px}
.article-content pre code{background:none;color:var(--parchment-2);padding:0;border-radius:0;font-size:inherit}
.article-content figure.highlight table{margin:0;border:none;width:100%}
.article-content figure.highlight td{border:none;padding:14px 0}
.article-content figure.highlight .gutter{width:1%;padding:14px 4px 14px 14px;text-align:right;color:var(--paper-faint);user-select:none;background:rgba(0,0,0,.18)}
.article-content figure.highlight .gutter pre{padding:0;margin:0;border:none;background:none;color:inherit}
.article-content figure.highlight .code{padding:14px 16px}
.article-content figure.highlight .code pre{padding:0;margin:0;border:none;background:none}
.article-content figure.highlight figcaption{padding:8px 14px;font-family:var(--latin);font-style:italic;font-size:12px;color:var(--paper-faint);border-bottom:1px solid rgba(194,138,62,.14)}
/* highlight.js token colors（hljs:false 前缀模式） */
.article-content .highlight .comment,.article-content .highlight .quote{color:var(--paper-faint);font-style:italic}
.article-content .highlight .keyword,.article-content .highlight .selector-tag{color:var(--scarlet)}
.article-content .highlight .string,.article-content .highlight .regexp,.article-content .highlight .addition{color:var(--moss)}
.article-content .highlight .number,.article-content .highlight .literal,.article-content .highlight .symbol{color:var(--amber-lt)}
.article-content .highlight .title,.article-content .highlight .section,.article-content .highlight .function{color:var(--amber)}
.article-content .highlight .type,.article-content .highlight .class,.article-content .highlight .built_in{color:var(--cobalt);filter:brightness(1.5)}
.article-content .highlight .attr,.article-content .highlight .attribute,.article-content .highlight .variable{color:var(--parchment-2)}
.article-content .highlight .meta,.article-content .highlight .deletion{color:var(--paper-dim)}

/* 上一篇 / 下一篇 */
.post-nav{display:flex;justify-content:space-between;gap:20px;margin-top:56px;font-family:var(--latin);font-style:italic;font-size:14px}
.post-nav a{color:var(--paper-dim);text-decoration:none;transition:color .3s;max-width:46%}
.post-nav a:hover{color:var(--amber-lt)}

/* 评论 */
.comments-block{margin-top:20px}
.comments-headline{font-family:var(--serif-d);font-size:24px;font-weight:500;color:var(--parchment);margin-bottom:24px;text-align:center;letter-spacing:2px}
.comments-headline .latin{color:var(--amber);font-size:15px;display:block;letter-spacing:.3em;margin-bottom:6px;font-style:italic}

/* 页脚 */
.site-footer{max-width:720px;margin:0 auto;padding:0 28px 48px;width:100%;text-align:center;font-family:var(--latin);font-style:normal;font-size:12px;letter-spacing:.18em;color:var(--paper-faint)}

/* ---------- 归档页 / 文章列表页 ---------- */
.list-wrap{max-width:720px;margin:0 auto;padding:110px 28px 60px;width:100%;flex:1}
.pagination{display:flex;justify-content:center;gap:24px;margin-top:48px;font-family:var(--latin);font-style:italic;font-size:14px}
.pagination a,.pagination span.page-number{color:var(--paper-dim);text-decoration:none;transition:color .3s;padding:4px 8px}
.pagination a:hover{color:var(--amber-lt)}
.pagination .current{color:var(--amber-lt);border-bottom:1px solid rgba(194,138,62,.4)}

@media(max-width:640px){
  .article-wrap{padding:100px 20px 48px}
  .article-topbar .wrap{padding:0 20px}
  .list-wrap{padding:96px 20px 48px}
}
