/* ===== Prospects: big board with landing spots ===== */
.ps-header { margin-bottom: 1rem; }
.ps-header .page-title { margin: 0; }
.ps-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: .5rem; margin-bottom: 1rem; }
.ps-filters input, .ps-filters select { width: 100%; min-width: 0; padding: .55rem .75rem; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--card); color: var(--ink); font: inherit; }

.ps-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.ps-row > * { min-width: 0; }
.ps-row {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1.1fr) minmax(0, 1.4fr);
  align-items: center;
  gap: .9rem;
  padding: .6rem .9rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
}
.ps-rank { font-family: var(--display); font-stretch: 72%; font-style: italic; font-weight: 800; font-size: 1.5rem; text-align: center; color: var(--red); }
.ps-who a { color: var(--ink); text-decoration: none; }
.ps-who a:hover strong { color: var(--red); text-decoration: underline; }
.ps-meta { display: flex; align-items: center; gap: .4rem; margin-top: .15rem; color: var(--muted); font-size: .85rem; }
.pos-tag { display: inline-block; padding: 0 .3rem; border-radius: 3px; background: var(--black); color: var(--white); font-size: .66rem; font-weight: 700; }

.ps-spot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem .8rem; }
.ps-range { min-width: 0; }
.ps-range-track { position: relative; display: block; height: 8px; border-radius: 4px; background: var(--surface-2); }
.ps-range-track i { position: absolute; top: 0; bottom: 0; border-radius: 4px; background: color-mix(in srgb, var(--red) 35%, transparent); }
.ps-range-track b { position: absolute; top: -3px; width: 4px; height: 14px; margin-left: -2px; border-radius: 2px; background: var(--red); }
.ps-range-text { display: block; margin-top: .3rem; font-size: .8rem; color: var(--muted); }
.ps-range-text b { color: var(--ink); }
.ps-teams { display: flex; flex-wrap: wrap; gap: .3rem; }
.ps-team { padding: .15rem .45rem; border-radius: 6px; background: var(--team); color: var(--team-ink); font-size: .74rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.ps-team b { font-weight: 600; opacity: .85; }
.ps-none { grid-column: 1 / -1; color: var(--subtle); font-size: .85rem; }
.ps-empty { padding: 1rem; color: var(--subtle); }
.ps-more { text-align: center; margin-top: 1rem; }

@media (max-width: 900px) {
  .ps-row { grid-template-columns: 2.2rem minmax(0, 1fr); }
  .ps-spot { grid-column: 2; }
}
@media (max-width: 600px) {
  .ps-filters { grid-template-columns: 1fr 1fr; }
  .ps-filters input { grid-column: 1 / -1; }
  .ps-spot { grid-template-columns: minmax(0, 1fr); }
}
