/* Paddock — contributors.html: hero + timing-tower leaderboard. */

.pd-contrib {
  color: var(--pd-ink);
  font-family: "Archivo", ui-sans-serif, system-ui, sans-serif;
}

.pd-contrib-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--pd-line);
}

.pd-contrib-ghost {
  position: absolute;
  top: -40px;
  right: -10px;
  font-size: clamp(160px, 26vw, 380px);
  line-height: 1 !important;
  -webkit-text-stroke-width: 2px;
}

.pd-contrib-hero-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  padding-top: 64px;
  padding-bottom: 48px;
}

.pd-contrib-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 760px;
}

.pd-contrib-hero-copy .pd-kicker { margin: 0; }

.pd-contrib .pd-contrib-title {
  margin: 0;
  font-size: clamp(40px, 7vw, 104px);
}

.pd-contrib-intro {
  max-width: 600px;
  margin: 0;
  color: var(--pd-soft);
  font-size: 18px;
  line-height: 1.55;
}

.pd-contrib-summary .pd-stat strong { font-size: 44px; }

/* ---------- Board ---------- */
.pd-contrib-body {
  padding-top: 48px;
  padding-bottom: 96px;
}

.pd-contrib-board-head {
  flex-wrap: wrap;
  padding: 20px 22px;
}

.pd-contrib .pd-contrib-board-head h2 {
  margin: 0;
  font-size: 24px;
}

.pd-contrib-note {
  margin: 8px 0 0;
  color: #a9a9af;
  font-size: 14px;
  line-height: 1.5;
}

.pd-contrib-cols,
.pd-contrib-row {
  display: grid;
  grid-template-columns: 42px 34px minmax(0, 1fr) repeat(4, 76px) 96px;
  align-items: center;
  gap: 14px;
}

.pd-contrib-cols {
  padding: 10px 22px;
  border-top: 1px solid var(--pd-line-2);
  color: var(--pd-mute);
}

.pd-contrib-cols span:nth-child(2) { grid-column: 2 / 4; }
.pd-contrib-cols span:nth-child(n + 3) { text-align: right; }

.pd-contrib-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pd-contrib-row {
  padding: 12px 22px;
}

.pd-contrib-row.is-p1 {
  border-left: 4px solid var(--pd-red) !important;
  padding-left: 18px;
  background: #1a1112;
}

a.pd-contrib-row:hover { background: #18181a; }
a.pd-contrib-row.is-p1:hover { background: #221416; }

.pd-contrib-row .pd-pos { width: 42px; }

.pd-contrib-avatar {
  background-color: #2a2a2d;
}

.pd-contrib-row.is-p1 .pd-contrib-avatar:not([style]) {
  background: var(--pd-ink);
  color: var(--pd-bg);
}

.pd-contrib-who {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.pd-contrib-who strong {
  overflow: hidden;
  font-size: 16px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pd-contrib-who .pd-m {
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pd-contrib-stat,
.pd-contrib-score {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  font-family: var(--pd-mono);
}

.pd-contrib-stat strong {
  color: var(--pd-ink);
  font-size: 13px;
  font-weight: 700;
}

.pd-contrib-stat small,
.pd-contrib-score small {
  display: none;
  color: var(--pd-mute);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pd-contrib-score strong {
  color: var(--pd-yellow);
  font-family: var(--pd-display);
  font-stretch: 125%;
  font-style: italic;
  font-weight: 900;
  font-size: 22px;
}

.pd-contrib-score small { display: inline; }

.pd-contrib-empty {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 28px 22px;
  border-top: 1px solid var(--pd-line-2);
  color: var(--pd-soft);
}

.pd-contrib-empty strong { color: var(--pd-ink); }

/* ---------- Mobile ---------- */
@media (max-width: 860px) {
  .pd-contrib-cols { display: none; }

  /* line 1: pos, avatar, name, score -- line 2: stats under the name */
  .pd-contrib-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 12px 16px;
  }

  .pd-contrib-row::after {
    order: 4;
    flex-basis: 100%;
    height: 0;
    content: "";
  }

  .pd-contrib-row.is-p1 { padding-left: 12px; }
  .pd-contrib-who { flex: 1 1 0; }
  .pd-contrib-score { margin-left: auto; }
  .pd-contrib-stat { order: 5; justify-content: flex-start; }
  .pd-contrib-stat { gap: 4px; }
  .pd-contrib-stat + .pd-contrib-stat { margin-left: 2px; }
  .pd-contrib-stat small { display: inline; }
}

@media (max-width: 760px) {
  .pd-contrib-hero-inner { padding-top: 40px; padding-bottom: 32px; gap: 24px; }
  .pd-contrib .pd-contrib-title { font-size: min(10vw, 48px); }
  .pd-contrib-intro { font-size: 16px; }
  .pd-contrib-summary .pd-stat strong { font-size: 34px; }
  .pd-contrib-body { padding-top: 32px; padding-bottom: 64px; }
  .pd-contrib-board-head { padding: 18px 16px; }
}
