/* 南瓜世界 — 琥珀 CRT 终端风
   外壳（导航/元信息/页脚）用等宽保持调性，正文换可读字体栈。 */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#100b06;
  --surface:#16100a;
  --surface-2:#1c140c;
  --surface-3:#221809;
  --line:#2c2115;
  --line-soft:#241a10;
  --text:#e6d8c2;
  --text-strong:#f6ecdb;
  --dim:#9b8265;
  --dimmer:#68533c;
  --accent:#ffb454;
  --pumpkin:#ff8f40;
  --link:#ffc46e;

  --mono:ui-monospace,SFMono-Regular,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;

  --w:min(780px,100%);
  --pad:clamp(16px,4vw,24px);
}

html{height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  min-height:100svh;
  display:flex;flex-direction:column;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{ /* 极淡扫描线 */
  content:"";position:fixed;inset:0;z-index:99;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(230,216,194,.016) 0 1px,transparent 1px 3px);
}

a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

/* ── 阅读进度 ─────────────────────────────────── */
.progress{
  position:fixed;top:0;left:0;z-index:100;
  height:2px;width:0;
  background:linear-gradient(90deg,var(--pumpkin),var(--accent));
  transition:width .08s linear;
}

/* ── 头部 ─────────────────────────────────────── */
.site-head{border-bottom:1px solid var(--line);background:var(--surface)}
.site-head .inner{
  width:var(--w);margin:0 auto;padding:16px var(--pad);
  display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;
}
.brand{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--accent)}
.brand:hover{text-decoration:none}
.brand .sig{color:var(--dim);margin-right:.35em}
.brand-sub{font-family:var(--mono);font-size:12.5px;color:var(--dim)}
.nav{margin-left:auto;display:flex;gap:15px;font-family:var(--mono);font-size:13px}
.nav a{color:var(--dim)}
.nav a:hover{color:var(--accent);text-decoration:none}

/* ── 分类导航 ─────────────────────────────────── */
.cat-nav{
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
  position:sticky;top:0;z-index:20;
}
.cat-nav-inner{
  width:var(--w);margin:0 auto;padding:9px var(--pad);
  display:flex;gap:7px;
  overflow-x:auto;scrollbar-width:none;
}
.cat-nav-inner::-webkit-scrollbar{display:none}
.cat-chip{
  flex:0 0 auto;
  font-family:var(--mono);font-size:12.5px;
  color:var(--dim);
  border:1px solid var(--line);border-radius:999px;
  padding:4px 11px;
  white-space:nowrap;
  transition:color .18s,border-color .18s,background .18s;
}
.cat-chip:hover{color:var(--accent);border-color:rgba(255,180,84,.38);text-decoration:none}
.cat-chip.on{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:600}
.cat-chip .n{margin-left:6px;opacity:.62;font-size:11px}

/* ── 主体 ─────────────────────────────────────── */
.wrap{flex:1 1 auto;width:var(--w);margin:0 auto;padding:clamp(26px,5vw,40px) var(--pad)}

/* ── 首页 hero ────────────────────────────────── */
.hero{
  padding:20px 22px 22px;
  margin-bottom:32px;
  border:1px solid var(--line);
  border-left:2px solid var(--accent);
  border-radius:0 10px 10px 0;
  background:linear-gradient(135deg,rgba(255,180,84,.05),transparent 55%),var(--surface);
}
.hero-sm{padding:16px 20px 18px;margin-bottom:26px}
.hero-line{font-family:var(--mono);font-size:12.5px;color:var(--dim);margin-bottom:12px}
.hero-line .p{color:var(--accent)}
.hero-line .c{color:#b58a5a}
.hero-line .s{color:var(--dim);margin:0 .45em 0 0}
.hero-title{
  font-size:clamp(20px,4.4vw,25px);font-weight:700;line-height:1.45;
  color:var(--text-strong);margin-bottom:9px;
}
.hero-desc{font-size:14.5px;line-height:1.85;color:var(--dim)}
.hero-stat{
  margin-top:14px;padding-top:13px;border-top:1px solid var(--line-soft);
  font-family:var(--mono);font-size:12.5px;color:var(--dim);
  display:flex;gap:10px;flex-wrap:wrap;
}
.hero-stat b{color:var(--accent);font-weight:600}

/* ── 文章卡片 ─────────────────────────────────── */
.cards{list-style:none;display:flex;flex-direction:column;gap:14px}
.card{
  position:relative;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  transition:border-color .2s,background .2s,transform .2s;
}
.card::before{ /* 左侧强调条 */
  content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:2px;
  border-radius:2px;background:var(--accent);
  opacity:0;transition:opacity .2s;
}
.card:hover{border-color:rgba(255,180,84,.3);background:var(--surface-3);transform:translateX(2px)}
.card:hover::before{opacity:1}
.card:focus-within{border-color:rgba(255,180,84,.45)}
/* 整卡可点：铺满的透明链接层，标题等文字仍在其上方 */
.card-hit{position:absolute;inset:0;z-index:1;border-radius:10px}
.card-hit:hover{text-decoration:none}
.card > *:not(.card-hit){position:relative;z-index:2;pointer-events:none}
.card .card-tags,.card .card-tags *{pointer-events:auto}

.card-meta{
  font-family:var(--mono);font-size:11.5px;color:var(--dim);
  display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:8px;
}
.card-meta .dot{color:var(--dimmer)}
.cat-badge{
  color:var(--accent);
  background:rgba(255,180,84,.1);
  border:1px solid rgba(255,180,84,.26);
  border-radius:4px;padding:1px 7px;
  font-size:11px;font-weight:600;
}
.cat-badge.sm{font-size:10.5px;padding:0 5px;margin-left:7px}
.card-title{
  font-size:18px;font-weight:650;line-height:1.5;
  color:var(--text-strong);margin-bottom:7px;
  transition:color .2s;
}
.card:hover .card-title{color:var(--accent)}
.card-sum{font-size:14px;line-height:1.8;color:var(--dim)}
.card-tags{margin-top:11px;display:flex;gap:6px;flex-wrap:wrap}

.tag{
  font-family:var(--mono);font-size:11px;
  color:var(--dim);
  border:1px solid var(--line);border-radius:4px;padding:1px 7px;
}
a.tag:hover{color:var(--accent);border-color:rgba(255,180,84,.38);text-decoration:none}

/* ── 标签/分类总览 ────────────────────────────── */
.termlist{display:flex;gap:9px;flex-wrap:wrap}
.term{
  font-family:var(--mono);font-size:13px;color:var(--dim);
  border:1px solid var(--line);border-radius:6px;padding:6px 12px;
  background:var(--surface);
  transition:color .18s,border-color .18s;
}
.term:hover{color:var(--accent);border-color:rgba(255,180,84,.38);text-decoration:none}
.term .n{margin-left:7px;color:var(--accent);opacity:.7;font-size:11.5px}

/* ── 文章页 ───────────────────────────────────── */
.post-head{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.post-crumb{font-family:var(--mono);font-size:12px;color:var(--dim);margin-bottom:11px}
.post-crumb a{color:var(--dim)}
.post-crumb a:hover{color:var(--accent)}
.post-crumb .sl{margin:0 .5em;color:var(--dimmer)}
.post-head h1{
  font-size:clamp(23px,5vw,30px);line-height:1.45;font-weight:700;
  color:var(--text-strong);margin-bottom:11px;
}
.post-meta{
  font-family:var(--mono);font-size:12px;color:var(--dim);
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
}
.post-meta .dot{color:var(--dimmer)}

/* 目录 */
.toc{
  border:1px solid var(--line);border-radius:8px;
  background:var(--surface);
  padding:12px 16px;margin-bottom:28px;
}
.toc summary{
  font-family:var(--mono);font-size:12.5px;color:var(--accent);
  cursor:pointer;list-style:none;user-select:none;
}
.toc summary::-webkit-details-marker{display:none}
.toc summary::before{content:"▸ ";display:inline-block;transition:transform .18s}
.toc[open] summary::before{transform:rotate(90deg)}
.toc nav{margin-top:9px;padding-top:9px;border-top:1px solid var(--line-soft)}
.toc ul{list-style:none;padding-left:0;font-size:13.5px;line-height:1.9}
.toc ul ul{padding-left:1.1em;font-size:13px}
.toc li{margin:0}
.toc a{color:var(--dim)}
.toc a:hover{color:var(--accent);text-decoration:none}

.post-body{font-size:16px;line-height:1.95}
.post-body > * + *{margin-top:1.15em}
.post-body h2{
  font-size:19.5px;font-weight:650;color:var(--accent);
  margin-top:2.1em;line-height:1.5;
  padding-left:13px;border-left:2px solid rgba(255,180,84,.5);
  scroll-margin-top:64px;
}
.post-body h3{
  font-size:17px;font-weight:650;color:var(--text-strong);
  margin-top:1.7em;line-height:1.55;scroll-margin-top:64px;
}
.post-body strong{color:var(--text-strong);font-weight:650}
.post-body ul,.post-body ol{padding-left:1.4em}
.post-body li+li{margin-top:.45em}
.post-body blockquote{
  border-left:2px solid var(--accent);
  padding:10px 0 10px 16px;
  color:var(--dim);
  background:linear-gradient(90deg,rgba(255,180,84,.05),transparent 60%);
  border-radius:0 6px 6px 0;
}
.post-body blockquote > * + *{margin-top:.7em}
.post-body code{
  font-family:var(--mono);font-size:.87em;
  background:var(--surface-2);border:1px solid var(--line);
  border-radius:4px;padding:1px 5px;color:var(--accent);
}
.post-body pre{
  background:var(--surface);border:1px solid var(--line);
  border-radius:8px;padding:14px 16px;overflow-x:auto;
  font-family:var(--mono);font-size:13px;line-height:1.7;
}
.post-body pre code{background:none;border:0;padding:0;color:var(--text)}
.post-body hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.post-body table{
  border-collapse:collapse;width:100%;
  font-family:var(--mono);font-size:13px;
  display:block;overflow-x:auto;
}
.post-body th,.post-body td{border:1px solid var(--line);padding:8px 11px;text-align:left}
.post-body th{background:var(--surface-2);color:var(--accent);font-weight:600;white-space:nowrap}

.post-tags{margin-top:32px;display:flex;gap:7px;flex-wrap:wrap}

/* 相关文章 */
.related{
  margin-top:36px;padding:16px 20px;
  border:1px solid var(--line);border-radius:10px;background:var(--surface);
}
.related h3{
  font-family:var(--mono);font-size:12.5px;color:var(--accent);
  font-weight:600;margin-bottom:11px;
}
.related ul{list-style:none}
.related li+li{margin-top:9px}
.related li a{font-size:14.5px;color:var(--text)}
.related li a:hover{color:var(--accent)}

/* ── 页脚 ─────────────────────────────────────── */
.site-foot{
  flex:0 0 auto;
  border-top:1px solid var(--line);background:var(--surface);
  font-family:var(--mono);color:var(--dim);
}
.site-foot .inner{
  width:var(--w);margin:0 auto;
  padding:20px var(--pad) calc(24px + env(safe-area-inset-bottom));
}
.foot-disc{
  font-size:11.5px;line-height:1.9;color:var(--dimmer);
  padding-bottom:14px;margin-bottom:13px;
  border-bottom:1px solid var(--line-soft);
}
.foot-meta{font-size:12.5px;line-height:2;text-align:center}
.site-foot a{color:#c9ae89}
.site-foot a:hover{color:var(--accent)}
.site-foot .hash{color:var(--dimmer);margin-right:.4em}
.site-foot .sep{margin:0 .6em;color:var(--dimmer)}

/* ── 分页 ─────────────────────────────────────── */
.pager{
  display:flex;justify-content:center;align-items:center;gap:12px;
  margin-top:36px;font-family:var(--mono);font-size:13px;flex-wrap:wrap;
}
.pager a,.pager span{
  border:1px solid var(--line);border-radius:6px;
  padding:6px 14px;color:var(--dim);
  transition:color .18s,border-color .18s;
}
.pager a:hover{color:var(--accent);border-color:rgba(255,180,84,.38);text-decoration:none}
.pager .cur{color:var(--accent);border-color:rgba(255,180,84,.38)}

@media (max-width:560px){
  body{font-size:15.5px}
  .site-head .inner{gap:8px;padding-top:14px;padding-bottom:14px}
  .nav{margin-left:0;width:100%;gap:14px}
  .card{padding:15px 16px}
  .card-title{font-size:16.5px}
  .hero{padding:16px 17px 18px}
  .site-foot .sep{display:block;height:0;margin:0;overflow:hidden}
}

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