/* 沿用单场九维页的 ss 色板，让累计榜与现有产品的昼夜模式保持一致。 */
.person-rankings-document [hidden] { display: none !important; }
.pr-header-links { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; min-width: 0; }
.ss-site-header .pr-header-links a + a { font-size: 13px; font-weight: 500; color: var(--ss-muted); }
.pr-entry-link { margin: 8px 0; }
.pr-policy { color: var(--ss-muted); font-size: 13px; margin: 12px 0; }
.pr-policy summary { color: var(--ss-accent); cursor: pointer; }
.pr-rank { color: var(--ss-accent); font-weight: 800; font-size: 22px; }
.pr-person-school { overflow-wrap: anywhere; }
.pr-observation { color: var(--ss-muted); font-size: 12px; white-space: normal; }
.pr-source-list { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.pr-source { display: grid; gap: 6px; border: 1px solid var(--ss-line); border-radius: 8px; padding: 12px; min-width: 0; overflow-wrap: anywhere; }
.pr-source a { color: var(--ss-accent); text-decoration: underline; text-underline-offset: 3px; }
.pr-source-info { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--ss-muted); font-size: 12px; }
.pr-source .ss-button { justify-self: start; margin-top: 4px; }
.pr-pending-choice { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--ss-line); padding-top: 12px; margin-top: 14px; }
.pr-pending-choice input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--ss-accent); }
.pr-pending-reason { color: var(--ss-claret); overflow-wrap: anywhere; }
.pr-manager { margin-top: 28px; }
.pr-person-fields, .pr-new-person { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pr-person-fields > label { grid-column: 1 / -1; }
.pr-new-person { grid-column: 1 / -1; }
.pr-user-field { grid-column: 1 / -1; }
.pr-empty-guidance { background: var(--ss-card); border: 1px solid var(--ss-line); border-radius: 10px; padding: 22px; margin-top: 16px; }
.pr-empty-guidance h2 { color: var(--ss-text); font-size: 19px; margin: 0 0 8px; }
.pr-manager label { display: grid; gap: 6px; color: var(--ss-muted); font-size: 13px; min-width: 0; }
.pr-manager input, .pr-manager select, .pr-manager textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--ss-line); border-radius: 7px; background: var(--ss-bg); color: var(--ss-text); font: inherit; font-size: 14px; }
.pr-manager textarea { resize: vertical; }
.pr-manager :focus-visible { outline: 2px solid var(--ss-accent); outline-offset: 3px; }
.pr-selection { display: grid; gap: 12px; margin: 18px 0; }
.pr-selected { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--ss-line); border-radius: 9px; min-width: 0; overflow-wrap: anywhere; }
.pr-selected-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.pr-selected-head strong { color: var(--ss-text); }
.pr-selected-head .ss-button { min-height: 36px; padding: 5px 10px; flex-shrink: 0; }
.pr-reason { margin-top: 18px; }
.pr-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.pr-preview { border: 1px solid var(--ss-accent); border-radius: 10px; background: var(--ss-paper); padding: 18px; overflow-wrap: anywhere; }
.pr-preview h3 { margin: 0 0 10px; color: var(--ss-text); font-size: 17px; }
.pr-preview dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px 18px; margin: 12px 0; }
.pr-preview dt { color: var(--ss-muted); }
.pr-preview dd { margin: 0; color: var(--ss-text); }
.pr-preview ul { margin: 14px 0 0; padding-left: 20px; }
.pr-confirm { margin-top: 14px; border-color: var(--ss-accent); color: var(--ss-accent); font-weight: 700; }
.pr-manager :disabled { opacity: .55; cursor: default; }
@media (max-width: 760px) {
  .pr-header-links { gap: 6px 14px; }
  .pr-new-person { grid-template-columns: 1fr; }
  .pr-person-fields { grid-template-columns: 1fr; }
  .pr-actions .ss-button { flex: 1; }
  .pr-selected-head { flex-wrap: wrap; }
  .pr-preview { padding: 14px; }
  .pr-preview dl { grid-template-columns: 1fr; gap: 4px; }
  .pr-preview dd { margin-bottom: 8px; }
  .pr-rank { font-size: 19px; }
}
@media print {
  .pr-manager, .pr-pending-choice, .pr-source .ss-button { display: none !important; }
}
