/* Participant page styles (pages sub-agent). Uses tokens from app.css. */

/* Segmented control (standings basis) */
.seg { display: inline-flex; border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); overflow: hidden; }
.seg a { padding: 7px 14px; text-decoration: none; font-weight: 700; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.seg a.active { background: var(--ink); color: #fff; }
.seg a:not(.active):hover { background: var(--surface-2); color: var(--text); }

/* Round navigator */
.round-nav { min-height: 32px; }

/* Race calendar rows */
.race-list { display: flex; flex-direction: column; gap: 10px; }
.race-row { display: flex; align-items: center; gap: 16px; padding: 12px 16px; text-decoration: none; color: inherit; }
.race-row:hover { color: inherit; border-color: var(--line-strong); }
.race-row.is-next { border-left: 4px solid var(--f1-red); }
.race-row.is-cancelled { opacity: .55; }
.race-row.is-cancelled .race-name { text-decoration: line-through; }
.race-no { font-weight: 900; font-style: italic; font-size: 1.6rem; min-width: 56px; line-height: 1; }
.race-no span { font-size: .8rem; color: var(--f1-red); margin-right: 1px; }
.race-main { flex: 1; min-width: 0; }
.race-name { font-weight: 700; font-size: 1.05rem; }
.race-meta { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
@media (max-width: 560px) {
  .race-row { flex-wrap: wrap; gap: 8px 12px; }
  .race-no { min-width: 40px; font-size: 1.3rem; }
  .race-meta { flex-direction: row; flex-wrap: wrap; align-items: center; width: 100%; text-align: left; padding-left: 52px; }
}

/* Picks matrix */
.matrix th.group-head { text-align: center; border-bottom: 2px solid var(--line); color: var(--text); }
.matrix th.group-head.sprint { box-shadow: inset 0 3px 0 #ffd400; }
.matrix th.group-head.gp { box-shadow: inset 0 3px 0 var(--f1-red); }
.matrix td.mcell { text-align: center; white-space: nowrap; border-left: 1px solid var(--line); position: relative; }
.matrix td.mcell .code { font-weight: 700; font-size: .82rem; letter-spacing: .03em; border-bottom: 3px solid var(--team, var(--line-strong)); padding: 0 2px; }
.matrix td.mcell sup { font-size: .65rem; font-weight: 700; margin-left: 2px; }
.matrix td.mcell.hit { background: var(--hit-bg); color: var(--hit); }
.matrix td.mcell.negcell { color: var(--neg); }
.matrix tr.me td.sticky { background: color-mix(in srgb, var(--f1-red) 6%, var(--surface)); }

/* Heatmap */
.heatmap td.heat { padding: 6px 4px; min-width: 34px; border: 2px solid var(--surface); }
.heatmap td.heat.dropped { opacity: .35; font-style: italic; }
.heatmap th a { text-decoration: none; }
sup.spr { color: #b38f00; font-weight: 900; margin-left: 1px; }

/* Inline rate bar: <span class="rate-bar" style="--pct: 40%">40%</span> */
.rate-bar { display: inline-block; min-width: 54px; padding: 1px 6px; border-radius: 4px; font-weight: 700; font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, color-mix(in srgb, #2a78d6 28%, transparent) var(--pct), transparent var(--pct)); }

/* Entry fee card */
.fee-due { border-top: 3px solid var(--f1-red); }
.fee-paid { border-top: 3px solid var(--hit); }
.pay-note { white-space: pre-line; background: var(--surface-2); border-radius: var(--radius-sm); padding: 10px 12px; font-size: .92rem; }

/* Round page */
.full-class { border-top: 1px solid var(--line); }
.full-class > summary { cursor: pointer; padding: 10px 18px; font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.full-class[open] > summary { color: var(--text); }
.table tr.key-pos td { background: var(--surface-2); }
.hero .sessions .stat .sub { color: #fff; font-weight: 600; }

/* Head-to-head hero */
.h2h h2 { margin: 4px 0; }

.hide-sm { }
@media (max-width: 640px) {
  .hide-sm { display: none; }
  .hero { padding: 18px 16px; }
  .stat .value { font-size: 1.6rem; }
  .card { padding: 14px; }
}

/* Message the admin */
.contact-wrap { max-width: 640px; margin: 0 auto; }
.contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.contact-cta p { margin: 0; }
