/* 인물 타임라인 페이지 */
.pp-card { margin: 18px 0 26px; border-top: 2px solid var(--ink); padding-top: 14px; }
.pp-namesake-label {
  display: inline-block; padding: 4px 10px;
  background: var(--bg2); color: var(--ink-soft);
  font-size: 12px; font-weight: 700;
  border-radius: 2px; margin-bottom: 12px;
}

.pp-summary {
  display: flex; gap: 28px; align-items: center; flex-wrap: wrap;
  padding: 6px 0 16px; border-bottom: 1px solid var(--rule);
  max-width: 800px;
}
/* 전적 — 출마(총) · 당선 · 낙선. 숫자=focal(위), 라벨=아래. 당선 초록·낙선 빨강으로 한눈에. */
.pp-record { display: flex; gap: 22px; }
.pp-stat { display: flex; flex-direction: column; align-items: center; min-width: 46px; }
.pp-stat-num { font-size: 30px; font-weight: 800; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.pp-stat-label { font-size: 12px; color: var(--ink-soft); font-weight: 600; margin-top: 4px; }
.pp-win .pp-stat-num { color: #1f7a4d; }
.pp-loss .pp-stat-num { color: #c0392b; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .pp-win .pp-stat-num { color: #5be19f; }
  :root:not([data-theme="light"]) .pp-loss .pp-stat-num { color: #e56457; }
}
:root[data-theme="dark"] .pp-win .pp-stat-num { color: #5be19f; }
:root[data-theme="dark"] .pp-loss .pp-stat-num { color: #e56457; }

/* 지역·정당 — 라벨 붙여 무슨 값인지 명확히(예전 '경기도'만 떠서 헷갈림) */
.pp-meta { display: flex; flex-direction: column; gap: 7px; padding-left: 24px; border-left: 1px solid var(--rule); }
.pp-field { display: flex; align-items: center; gap: 9px; font-size: 13.5px; }
.pp-field-k { font-size: 11px; font-weight: 700; color: var(--ink-mute); min-width: 30px; letter-spacing: 0.02em; }
.pp-field-v { color: var(--ink); display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }

.pp-party {
  display: inline-block;
  font-size: 11px; font-weight: 700; padding: 2px 7px;
  border: 1px solid; border-radius: 2px; white-space: nowrap;
}
a.pp-party { text-decoration: none; cursor: pointer; transition: background .12s; }
a.pp-party:hover { background: var(--bg2); }

.pp-races { display: flex; flex-direction: column; max-width: 800px; }
.pp-race {
  display: grid;
  /* 연도 · 선거 · 지역 · 정당(고정폭) · 순위 · 득표 · 결과 · →
     정당 컬럼을 auto→고정폭으로: 행마다 정당명 길이가 달라도 뒤 컬럼들이 세로로 정렬됨. */
  grid-template-columns: 54px minmax(88px,1fr) minmax(104px,1.4fr) 110px 44px 60px 56px 24px;
  gap: 10px; align-items: center;
  padding: 8px 4px;
  border-bottom: 1px solid var(--rule);
  font-size: 13px;
  text-decoration: none; color: inherit;
}
.pp-race:hover { background: var(--bg2); }
.pp-link { color: var(--ink-soft); text-align: center; }
.pp-race:hover .pp-link { color: var(--ink); }
.pp-yr { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink-soft); }
.pp-round { font-weight: 600; color: var(--ink); }
.pp-place { color: var(--ink); }
.pp-rk { font-size: 12px; color: var(--ink-soft); text-align: right; font-variant-numeric: tabular-nums; }
.pp-pct { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); text-align: right; }
.pp-tag-cell { text-align: center; }
.pp-tag { font-size: 11px; font-weight: 800; padding: 2px 7px; border-radius: 2px; }
.pp-tag.pp-won { background: rgba(31,122,77,0.15); color: #1f7a4d; }
.pp-tag.pp-lost { background: rgba(192,57,43,0.10); color: #c0392b; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .pp-tag.pp-won { color: #5be19f; }
  :root:not([data-theme="light"]) .pp-tag.pp-lost { color: #e56457; }
}
:root[data-theme="dark"] .pp-tag.pp-won { color: #5be19f; }
:root[data-theme="dark"] .pp-tag.pp-lost { color: #e56457; }
.pp-link a { color: var(--ink-soft); text-decoration: none; padding: 2px 6px; }
.pp-link a:hover { color: var(--ink); }

@media (max-width: 700px) {
  .pp-race {
    grid-template-columns: 50px 1fr auto;
    grid-template-rows: auto auto auto;
    gap: 4px 8px;
    padding: 8px 0;
  }
  .pp-yr { grid-row: 1; grid-column: 1; }
  .pp-round { grid-row: 1; grid-column: 2; }
  .pp-tag-cell { grid-row: 1; grid-column: 3; }
  .pp-place { grid-row: 2; grid-column: 1 / 3; font-size: 12px; color: var(--ink-soft); }
  .pp-pct { grid-row: 2; grid-column: 3; text-align: right; }
  .pp-pty { grid-row: 3; grid-column: 1 / 3; }
  .pp-rk, .pp-link { display: none; }
  /* 모바일에서도 row 전체가 링크라 탭 가능 (link 아이콘만 숨김) */

  /* 요약 — 좁은 화면선 전적/메타가 줄바꿈되므로 구분선 제거하고 위아래로 */
  .pp-summary { gap: 14px 24px; }
  .pp-meta { padding-left: 0; border-left: none; }
}
