.jn{
  --paper:#FFFFFF; --ink:#1A1A1A; --dim:#6B7280; --rule:#1A1A1A;
  --red:#B3382C; --blue:#1D5DC0; --orange:#C75B12; --green:#0E9F6E; --grey:#9CA3AF;
  background:var(--paper);color:var(--ink);
  font-family:-apple-system,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  min-height:calc(100vh - 60px);position:relative;
}
.jn .mono{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace}
.jn .page{max-width:1120px;margin:0 auto;padding:48px 40px 40px}
.jn .masthead{display:flex;justify-content:space-between;align-items:baseline}
.jn .mast-name{font-family:"Noto Serif SC",serif;font-weight:900;font-size:22px;letter-spacing:.02em}
.jn .mast-name .red{color:var(--red)}
.jn .vol{font-size:12px;letter-spacing:.14em;color:var(--dim)}
.jn .rule-double{border-top:4px solid var(--rule);border-bottom:1px solid var(--rule);height:7px;margin:14px 0 0}
.jn .spine{
  position:fixed;right:26px;top:50%;transform:translateY(-50%);
  writing-mode:vertical-rl;font-size:11.5px;letter-spacing:.42em;color:#B9BEC7;
}
.jn .hero{padding:64px 0 12px}
.jn .kicker{font-family:"Noto Serif SC",serif;font-size:12.5px;letter-spacing:.3em;color:var(--red);margin-bottom:22px}
.jn .headline{font-family:"Noto Serif SC",serif;font-weight:900;font-size:clamp(44px,6.4vw,76px);line-height:1.18;letter-spacing:.01em}
.jn .headline .num{color:var(--red)}
.jn .stage-row{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.jn .sn{display:flex;align-items:center;flex:1;min-width:96px}
.jn .sn .sq{width:10px;height:10px;flex:none}
.jn .sn .lab{font-size:12.5px;margin-left:7px;color:#4B5563;white-space:nowrap}
.jn .sn .lead{flex:1;height:1px;background:#D1D5DB;margin:0 10px}
.jn .s-grey .sq{background:var(--grey)}.jn .s-blue .sq{background:var(--blue)}
.jn .s-orange .sq{background:var(--orange)}.jn .s-green .sq{background:var(--green)}
.jn .toc{margin:46px 0 8px;border-top:1px solid var(--rule)}
.jn .toc-title{font-family:"Noto Serif SC",serif;font-weight:600;font-size:15px;letter-spacing:.28em;padding:16px 2px 4px}
.jn .entry{display:flex;align-items:baseline;gap:18px;padding:22px 2px;border-bottom:1px solid #E5E7EB;text-decoration:none;color:var(--ink);transition:background .15s}
.jn .entry:hover{background:#FAFAF8}
.jn .entry:hover .go{border-color:var(--red);color:var(--red)}
.jn .entry:hover .e-title{color:var(--red)}
.jn .e-no{font-size:15px;font-weight:700;color:var(--red);flex:none;width:34px}
.jn .e-body{flex:1}
.jn .e-title{font-family:"Noto Serif SC",serif;font-weight:600;font-size:22px}
.jn .e-sub{font-size:13px;color:var(--dim);margin-top:6px;line-height:1.7}
.jn .e-leader{flex:1;border-bottom:2px dotted #C9CED6;transform:translateY(-4px);min-width:40px}
.jn .go{font-family:"Noto Serif SC",serif;font-size:12.5px;letter-spacing:.08em;color:var(--dim);flex:none;border:1px solid #D1D5DB;background:#fff;padding:8px 18px;transition:.15s;line-height:1}
.jn .cta{display:flex;gap:16px;align-items:center;margin:40px 0 56px}
.jn .btn{display:inline-block;padding:13px 34px;background:var(--ink);color:#fff;text-decoration:none;font-size:15px;letter-spacing:.06em;transition:.2s;border:1px solid var(--ink);border-radius:0}
.jn .btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.jn .btn-ghost{background:transparent;color:var(--ink);border:1px solid #C9CED6}
.jn .btn-ghost:hover{background:transparent;color:var(--red);border-color:var(--red)}
.jn .alt{font-size:14px;color:var(--dim)}
.jn .colophon{border-top:1px solid var(--rule);padding-top:16px;display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.1em;color:var(--dim)}
@keyframes jn-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.jn .hero>*{animation:jn-rise .5s ease both}
.jn .toc{animation:jn-rise .5s .15s ease both}
@media (prefers-reduced-motion:reduce){.jn *{animation:none!important;transition:none!important}}
@media (max-width:860px){
  .jn .page{padding:32px 18px}
  .jn .spine{display:none}
  .jn .stage-row{flex-direction:column;align-items:stretch;gap:12px}
  .jn .sn{min-width:100%}
  .jn .entry{flex-wrap:wrap;gap:14px;padding:20px 2px}
  .jn .e-leader{display:none}
  .jn .go{padding:10px 18px}
}

/* ── 公告条 ───────────────────────────────── */
.ann-strip {
  display: flex; align-items: baseline; gap: 12px;
  border-top: 1px solid #E2E5E9; margin-top: 34px; padding-top: 14px;
}
.ann-tag { color: #B3382C; font-size: 12px; letter-spacing: .2em; flex: none; }
.ann-link { flex: 1; font-family: var(--serif); font-weight: 600; font-size: 15px; color: var(--ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ann-link:hover { color: #B3382C; }
.ann-date { color: #6B7280; font-size: 12px; flex: none; }
