/* ============================================================
   首页 —— 沿用 app.css 的素纸系统，只做版式
   思路：一整页当一篇文章排。栏目之间只靠横线与留白分隔，
        没有一张卡片、没有一处阴影。
   ============================================================ */

.home-main { padding: calc(var(--nav-h) + 8px) 0 90px; }
.home .wrap { max-width: 880px; }

/* 首屏 —— 海报式墨块：整版反白，是全页对比度最高的一块 */
.hero-home { padding: 30px 0 10px; }
.poster {
  position: relative; overflow: hidden;
  background: var(--ink); color: var(--paper);
  padding: 66px 62px 58px;
}
/* 右下角的巨型水印字：书封的分量从这来 */
.poster::after {
  content: "生"; position: absolute; right: -28px; bottom: -118px;
  font: 600 360px/1 var(--serif); color: var(--paper); opacity: .05;
  pointer-events: none; user-select: none;
}
.poster .kicker { color: color-mix(in srgb, var(--paper) 62%, transparent); }
.poster .kicker::before { background: var(--v-poster); }
.poster h1 {
  font: 600 74px/1.2 var(--serif); letter-spacing: -.018em;
  margin: 0; color: var(--paper); position: relative; z-index: 1;
}
.poster h1 em { font-style: normal; color: var(--v-poster); }
.poster .lede {
  margin: 26px 0 0; font-size: 16px; line-height: 2; max-width: 50ch;
  color: color-mix(in srgb, var(--paper) 76%, transparent);
  position: relative; z-index: 1;
}
.poster .lede b { color: var(--paper); font-weight: 600; }
.poster .cta-row { margin-top: 38px; position: relative; z-index: 1; }
.poster .stat-row {
  border-top-color: color-mix(in srgb, var(--paper) 18%, transparent);
  margin-top: 44px; padding-top: 28px; gap: 52px;
  position: relative; z-index: 1;
}
.poster .stat { color: color-mix(in srgb, var(--paper) 55%, transparent); }
.poster .stat b { color: var(--paper); font-size: 32px; }
.poster .stat b i { color: var(--v-poster); }

/* 印章：朱底白字的一方印，压在右上角 */
.seal {
  position: absolute; top: 54px; right: 56px; z-index: 2;
  width: 58px; height: 58px; display: grid; place-items: center;
  background: var(--v-poster); color: #F6F1E7;
  font: 600 30px/1 var(--serif);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--v-poster) 82%, transparent);
}
.seal i { font-style: normal; transform: translateY(-1px); }

/* 反白块里的按钮：主钮纸底墨字，副钮纸色描边 */
.poster .btn { border-color: color-mix(in srgb, var(--paper) 34%, transparent); color: var(--paper); background: none; }
.poster .btn:hover { border-color: var(--paper); color: var(--paper); }
.poster .btn.pri { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.poster .btn.pri:hover { background: color-mix(in srgb, var(--paper) 88%, var(--v)); border-color: var(--paper); color: var(--ink); filter: none; }
.poster .btn-lg { padding: 12px 26px; font-size: 14.5px; }

.cta-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 36px; }
.btn-lg { padding: 10px 22px; font-size: 14px; border-radius: 2px; }
.btn-arr { margin-left: 8px; transition: transform .2s var(--ease); display: inline-block; }
.btn-lg:hover .btn-arr { transform: translateX(3px); }

.stat-row { gap: 52px; margin-top: 42px; padding-top: 26px; }
.stat b { font-size: 34px; }

/* 栏目标题不带延长线——横线只来自内容本身，避免双线 */
.entries .side-h::after, .today .side-h::after, .toc .side-h::after { content: none; }
.entries .side-h, .today .side-h, .toc .side-h { margin-bottom: 16px; }

/* 三种入口：三栏并列，各带一条顶部横线，悬停时线色转墨 */
.entries { margin-top: 92px; }
.entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 46px; }
.entry {
  position: relative; display: block;
  background: none; border: 0; border-top: 1.5px solid var(--hair-2);
  border-radius: 0; padding: 22px 0 0; box-shadow: none; overflow: visible;
  text-decoration: none; color: inherit;
  transition: border-color .26s var(--ease);
}
.entry::after { content: none; }
.entry:hover { border-top-color: var(--ink); transform: none; box-shadow: none; text-decoration: none; }
.entry em {
  font-style: normal; display: block; margin-bottom: 14px;
  width: auto; height: auto; border-radius: 0; background: none;
  font: 400 32px/1 var(--serif); letter-spacing: .04em; color: var(--v);
  transition: color .22s, letter-spacing .22s;
}
.entry:hover em { color: var(--ink); }
.entry h3 { margin: 0 0 10px; font: 600 20px/1.55 var(--serif); color: var(--ink); }
.entry p { margin: 0; font-size: 14px; line-height: 1.95; color: var(--ink-2); }
.entry-go {
  display: inline-block; margin-top: 18px; padding-bottom: 2px;
  font: 400 12.5px/1 var(--sans); letter-spacing: .02em; color: var(--ink-2);
  border-bottom: 1px solid var(--hair-2);
  transition: color .2s, border-color .2s;
}
.entry:hover .entry-go { color: var(--ink); border-bottom-color: var(--ink); }

/* 今日一条：朱红竖线 + 大留白，不用卡片 */
.today { margin-top: 88px; }
.today-card {
  background: none; border: 0; border-left: 2px solid var(--v);
  border-radius: 0; box-shadow: none;
  padding: 2px 0 4px 28px; position: relative; overflow: visible;
}
.today-card::before { content: none; }
.today-meta { font: 400 11px/1 var(--sans); letter-spacing: .14em; color: var(--v); }
.today-card h3 { margin: 16px 0 12px; font: 600 30px/1.5 var(--serif); color: var(--ink); }
.today-card p { margin: 0 0 18px; font: 400 17px/2 var(--serif); color: var(--ink-2); max-width: 54ch; }
.today-card .entry-go { margin-top: 0; }

/* 目录：两栏，横线成行 */
.toc { margin-top: 88px; }
.toc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; margin-top: 10px; }
.toc-item {
  display: flex; align-items: baseline; gap: 14px;
  padding: 12px 0; border-bottom: 1px solid var(--hair);
  text-decoration: none; color: inherit; transition: color .16s;
}
.toc-item:first-child, .toc-item:nth-child(2) { border-top: 1px solid var(--hair); }
.toc-item:hover { background: none; padding-left: 0; text-decoration: none; }
.toc-item .no {
  font: 400 12px var(--serif); color: var(--ink-4); flex: none; width: 24px;
  font-variant-numeric: tabular-nums;
}
.toc-item:hover .no { color: var(--v); }
.toc-item .tt {
  font: 400 15px/1.6 var(--serif); color: var(--ink); flex: 1; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color .16s;
}
.toc-item:hover .tt { color: var(--v); }
.toc-item .ct { font: 400 11px var(--sans); color: var(--ink-4); flex: none; font-variant-numeric: tabular-nums; }

/* 页脚 */
.foot-brand { margin-top: 16px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
/* 开发者看板入口：只对白名单账号显示（登录后由 auth.js 放开） */
.foot-admin { margin: 18px 0 0; }
.foot-admin a {
  font: 400 11.5px/1 var(--sans); letter-spacing: .1em; color: var(--ink-4);
  text-decoration: none; padding-bottom: 3px; border-bottom: 1px solid var(--hair-2);
  transition: color .2s var(--ease), border-color .2s var(--ease);
}
.foot-admin a:hover { color: var(--v); border-color: var(--v); }
.wordmark { font: 600 17px var(--serif); letter-spacing: .04em; }
.wordmark i { font-style: normal; color: var(--ink); }
.wordmark b { font-weight: 700; color: var(--v); padding: 0 1px; }

@media (max-width: 1040px) {
  .hero-home { padding-top: 22px; }
  .poster { padding: 42px 26px 44px; }
  .poster h1 { font-size: 42px; }
  .poster h1 br { display: none; }
  .seal { top: 28px; right: 22px; width: 46px; height: 46px; font-size: 24px; }
  .poster::after { font-size: 240px; bottom: -84px; }
  .stat-row { gap: 26px; }
  .stat b { font-size: 26px; }
  .entry-grid { grid-template-columns: 1fr; gap: 34px; }
  .toc-grid { grid-template-columns: 1fr; gap: 0; }
  .toc-item:nth-child(2) { border-top: 0; }
  .today-card { padding-left: 20px; }
  .today-card h3 { font-size: 24px; }
}
