/* ==========================================================================
   NZEP ARCHIVE · cert.css —— 发布认证面板 + 审核文章页
   只在 publish.html 与 review.html 里加载，其它页面不受影响。
   ========================================================================== */

/* ------------------------------------------------------------ 认证面板 */
.cert-wrap { display: grid; gap: .8rem; }
.cert-path { border: 1px solid var(--border-soft); background: var(--bg-subtle); padding: .7rem .8rem; }
.cert-path > b { display: block; font-size: .92rem; margin-bottom: .35rem; }
.cert-path p { font-size: .8rem; color: var(--text); margin: 0 0 .5rem; line-height: 1.7; }
.cert-no {
  display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; margin-right: .35rem;
  border-radius: 50%; background: var(--bar); color: #fff; font-family: var(--mono); font-size: .72rem;
}
.cert-row { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-top: .5rem; }
.cert-code { max-width: 11rem; font-family: var(--mono); letter-spacing: .22em; text-align: center; }
.cert-state { font-size: .8rem; color: var(--c-gray); }
.cert-state.on { color: var(--ok); }
.cert-state.bad { color: var(--bad); }
.cert-quote {
  border-left: 3px solid var(--border-soft); background: #fff; padding: .5rem .6rem; font-size: .82rem;
  color: var(--text); margin: .35rem 0;
}
.cert-full { white-space: pre-wrap; word-break: break-word; max-height: 22rem; overflow: auto; font-size: .84rem; line-height: 1.8; }
.cert-votes { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-top: .35rem; }
.cert-chip {
  font-size: .7rem; padding: .1rem .4rem; border: 1px solid var(--border-soft); background: #fff; color: var(--c-gray);
}
.cert-chip.on { border-color: var(--ok); color: var(--ok); }
.cert-count { font-size: .78rem; color: var(--warn); background: var(--warn-bg); border: 1px solid #e8d9a8; padding: .35rem .55rem; margin: .4rem 0 0; }
.cert-count b { font-family: var(--mono); }
.cert-note { font-size: .78rem; color: var(--c-gray); margin-top: .5rem; }

/* -------------------------------------------------------- 审核文章页 */
.rev-stats { display: flex; gap: .5rem; flex-wrap: wrap; margin: .3rem 0 .8rem; }
.rev-card { border: 1px solid var(--border-soft); background: #fff; padding: .7rem .8rem; margin-bottom: .7rem; }
.rev-card .top { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rev-card .who { display: flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--c-gray); }
.rev-card .who img { width: 1.5rem; height: 1.5rem; border-radius: 50%; object-fit: cover; border: 1px solid var(--border-faint); }
.rev-card h3 { margin: .35rem 0 .3rem; font-family: var(--serif); font-size: 1.02rem; }
.rev-card .body { font-size: .84rem; line-height: 1.85; white-space: pre-wrap; word-break: break-word; max-height: 15rem; overflow: auto; border-top: 1px dashed var(--border-faint); border-bottom: 1px dashed var(--border-faint); padding: .5rem 0; }
.rev-card .acts { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: .55rem; }
.rev-card .bar { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; font-size: .74rem; color: var(--c-gray); margin-top: .45rem; }
.rev-card .bar .meter { flex: 1 1 8rem; height: 6px; background: var(--border-faint); position: relative; }
.rev-card .bar .meter i { position: absolute; inset: 0 auto 0 0; background: var(--ok); width: 0; }
.rev-voted { font-size: .74rem; color: var(--ok); }
.rev-done { font-size: .8rem; color: var(--c-gray); }
@media (max-width: 640px) {
  .cert-code { max-width: 100%; }
  .rev-card .body { max-height: none; }
}
