/* Original CGPR result-sheet design; research links in docs/records-design.md. */
.pr-sheet {
  --pr-rule: #dce3d5;
  margin: 0 0 50px;
  padding-top: 20px;
  border-top: 1px solid var(--ink);
  color: var(--ink);
}
.pr-masthead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.pr-masthead h2 { margin: 0; font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.3; }
.pr-masthead > span { font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.pr-masthead > span span { margin: 0 10px; color: #a0ae94; }
.pr-layout { display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 2fr); background: #fff; border: 1px solid var(--pr-rule); }
.pr-athlete { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 30px; background: #142d20; color: #f4f5e9; }
.pr-athlete-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; font-size: .6rem; line-height: 1.4; letter-spacing: .12em; }
.pr-bib-label { color: #bac7ac; }
.pr-bib-number { position: relative; z-index: 1; display: flex; align-items: baseline; justify-content: space-between; margin: 12px 0 0; font-family: var(--font-body); font-size: clamp(5rem, 7vw, 7rem); font-weight: 400; line-height: 1.15; letter-spacing: -.08em; font-variant-numeric: tabular-nums; }
.pr-bib-number > span { font-size: 2rem; font-weight: 400; color: #d9e237; letter-spacing: 0; }
.pr-track { width: 115%; height: 112px; margin: 0 0 8px -30px; color: #60765b; opacity: .8; }
.pr-athlete-copy { margin-top: auto; position: relative; }
.pr-overline { font-size: .55rem; letter-spacing: .16em; color: #bac7ac; }
.pr-athlete .pr-athlete-copy h3 { color: #f4f5e9; font-size: 2.8rem; line-height: 1.15; letter-spacing: -.05em; margin: 9px 0 12px; }
.pr-athlete-copy h3 span { color: #d9e237; }
.pr-athlete-copy p { color: #bac7ac; font-size: .78rem; line-height: 1.7; margin: 0 0 24px; }
.pr-profile-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid #496047; font-size: .76rem; color: #f4f5e9; text-decoration: none; }
.pr-profile-link > span:last-child { color: #d9e237; font-size: 1.25rem; transition: transform .2s; }
.pr-profile-link:hover > span:last-child { transform: translate(3px, -3px); }
.pr-profile-link:focus-visible { outline: 2px solid #d9e237; outline-offset: 6px; }
.pr-results { min-width: 0; padding: 28px 34px 18px; }
.pr-results-intro { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; font-size: .62rem; font-weight: 600; letter-spacing: .12em; }
.pr-results-intro > span:last-child { font-size: .68rem; font-weight: 400; letter-spacing: 0; color: var(--muted); }
.pr-results-intro > span:last-child span { padding-left: 12px; }
.pr-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.pr-table th, .pr-table td { padding: 0; text-align: left; }
.pr-table thead th { padding-bottom: 13px; color: var(--dim); font-weight: 400; font-size: .65rem; }
.pr-table thead th:first-child { width: 30%; }
.pr-table thead th:nth-child(2) { width: 48%; }
.pr-table thead th:last-child { width: 22%; text-align: right; }
.pr-table tbody tr { border-top: 1px solid var(--pr-rule); transition: background .2s; }
.pr-table tbody tr:hover { background: #f6f8ee; }
.pr-table tbody th, .pr-table tbody td { padding: 18px 0; vertical-align: middle; }
.pr-table tbody th { font-weight: 400; }
.pr-distance { display: block; font-size: 1.75rem; font-weight: 400; line-height: 1.2; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.pr-distance small { padding-left: 5px; font-size: .65rem; color: var(--muted); letter-spacing: 0; }
.pr-discipline { display: block; color: var(--muted); font-size: .62rem; margin-top: 4px; }
.pr-time { display: block; font-size: clamp(2rem, 3vw, 2.85rem); font-weight: 400; line-height: 1.15; letter-spacing: -.065em; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.pr-location { display: block; font-size: .65rem; margin-top: 6px; color: var(--muted); }
.pr-table .pr-pace { text-align: right; font-size: 1rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.pr-pace > span { display: block; margin-top: 2px; color: var(--dim); font-size: .6rem; letter-spacing: 0; }
.pr-sheet-foot { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--pr-rule); margin-top: 0; padding-top: 16px; font-size: .56rem; color: var(--dim); letter-spacing: .06em; }
.pr-sheet-foot span span { padding: 0 6px; }
@media (max-width: 900px) {
  .pr-layout { grid-template-columns: minmax(210px, .8fr) minmax(0, 1.6fr); }
  .pr-results { padding: 24px; }
  .pr-athlete { padding: 24px; }
  .pr-track { margin-left: -24px; }
  .pr-time { font-size: 2.1rem; }
}
@media (max-width: 620px) {
  .pr-sheet { padding-top: 16px; }
  .pr-masthead { display: block; margin-bottom: 18px; }
  .pr-masthead h2 { font-size: 1.6rem; margin-bottom: 6px; }
  .pr-masthead > span { font-size: .57rem; }
  .pr-layout { grid-template-columns: 1fr; }
  .pr-athlete { padding: 22px; min-height: 240px; }
  .pr-athlete-top { font-size: .54rem; }
  .pr-bib-number { position: absolute; top: 62px; right: 22px; margin: 0; font-size: 5.1rem; color: #c4d0b7; }
  .pr-bib-number > span { display: none; }
  .pr-track { position: absolute; width: 210px; height: 90px; right: -84px; bottom: 0; opacity: .45; margin: 0; }
  .pr-athlete-copy { margin-top: 24px; }
  .pr-athlete .pr-athlete-copy h3 { font-size: 2.35rem; }
  .pr-athlete-copy p { margin-bottom: 20px; font-size: .7rem; }
  .pr-overline { display: none; }
  .pr-profile-link { z-index: 1; font-size: .7rem; padding-top: 12px; }
  .pr-results { padding: 22px 20px 16px; }
  .pr-results-intro { margin-bottom: 20px; font-size: .55rem; }
  .pr-results-intro > span:last-child { font-size: .6rem; }
  .pr-table tbody th, .pr-table tbody td { padding: 18px 0; }
  .pr-table thead th:first-child { width: 29%; }
  .pr-table thead th:nth-child(2) { width: 51%; }
  .pr-table thead th:last-child { width: 20%; }
  .pr-distance { font-size: 1.4rem; }
  .pr-distance small { font-size: .55rem; padding-left: 3px; }
  .pr-discipline { font-size: .54rem; }
  .pr-time { font-size: clamp(1.65rem, 7vw, 2.25rem); }
  .pr-table .pr-pace { font-size: .85rem; }
  .pr-sheet-foot { font-size: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-table tbody tr, .pr-profile-link > span:last-child { transition: none; }
}
