/* ── 门户统一固定顶栏（每页注入）──
   作用：让首页与所有正文页共享同一根固定表头，
   表达清晰的「首页 ↔ 正文」导航关系。 */

:root{
  --portal-top:54px;
  --pt-paper:#f5f0e6; --pt-card:#fffdf8; --pt-ink:#2b2620;
  --pt-green:#2f4f3e; --pt-cinnabar:#9c4a3c; --pt-line:#d9cdb4; --pt-muted:#7a6f5d;
}

#portal-topbar{
  position:fixed; top:0; left:0; right:0; z-index:100000;
  height:var(--portal-top);
  display:flex; align-items:center; gap:12px;
  padding:0 18px;
  background:rgba(245,240,230,.92);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--pt-line);
  box-shadow:0 2px 10px rgba(90,70,40,.06);
  font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC",serif;
  color:var(--pt-ink);
}
#portal-topbar a{ text-decoration:none; color:inherit; }
#portal-topbar .pt-home{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--pt-cinnabar); font-size:14.5px; letter-spacing:.05em;
  font-weight:600; white-space:nowrap;
}
#portal-topbar .pt-home:hover{ opacity:.82; }
#portal-topbar .pt-crumb{
  font-size:14px; color:var(--pt-muted); letter-spacing:.03em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;
}
#portal-topbar .pt-crumb b{ color:var(--pt-ink); font-weight:600; }
#portal-topbar .pt-crumb .pt-sep{ color:var(--pt-muted); opacity:.6; margin:0 4px; }
#portal-topbar .pt-spacer{ flex:1 1 auto; }
#portal-topbar .pt-act{
  display:inline-flex; align-items:center; gap:4px;
  color:var(--pt-green); font-size:13.5px; font-weight:600;
  padding:4px 10px; border-radius:14px;
  border:1px solid var(--pt-line); background:rgba(255,253,248,.7); white-space:nowrap;
}
#portal-topbar .pt-act:hover{ border-color:var(--pt-cinnabar); color:var(--pt-cinnabar); }
#portal-topbar .pt-seal{
  width:30px; height:30px; flex:none;
  display:flex; align-items:center; justify-content:center;
  border-radius:8px; background:var(--pt-cinnabar); color:#fdf8ee;
  font-size:15px; font-weight:700; transform:rotate(-4deg);
  box-shadow:0 4px 12px rgba(156,74,60,.25);
}
#portal-topbar .pt-seal:hover{ opacity:.9; }

/* 正文内容不被固定顶栏遮住 */
body.portal-page{ padding-top:var(--portal-top) !important; }
/* 首页无需额外留白（hero 已自行留白） */
body.portal-home{ padding-top:0 !important; }

/* 既有正文页自带顶栏：统一顶到固定栏之下，避免重叠 */
header.top{ top:var(--portal-top) !important; }
.notes-panel{ top:var(--portal-top) !important;
  max-height:calc(100vh - var(--portal-top)) !important; }
aside{ top:calc(var(--portal-top) + 18px) !important;
  height:calc(100vh - var(--portal-top) - 34px) !important; }

/* 引导阅读「选起点」提示让位 */
.reader-picktip{ top:calc(var(--portal-top,54px) + 12px) !important; }

@media (max-width:640px){
  #portal-topbar{ padding:0 12px; gap:8px; }
  #portal-topbar .pt-home{ font-size:13px; }
  #portal-topbar .pt-crumb{ font-size:12.5px; }
  #portal-topbar .pt-act{ padding:4px 8px; font-size:12.5px; }
}
