/* Player Profile (Statcast) — Savant-style card. Loaded only on /graphs/player. */
[data-graph="player"] .ppcard {
  display: flex; gap: 18px; align-items: center;
  border: 1px solid var(--line); border-left: 7px solid var(--head);
  border-radius: 8px; padding: 14px 18px; margin: .4em 0 1em; background: var(--zebra);
}
[data-graph="player"] .hs {
  width: 96px; height: 96px; border-radius: 8px; object-fit: cover; flex: none; background: var(--card);
}
[data-graph="player"] .hs.avatar {
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 30px;
}
[data-graph="player"] .ppmeta h1 { margin: 0; font-size: 26px; }
[data-graph="player"] .ppfacts { margin: .35em 0 0; color: var(--muted); font-size: 14px; }
[data-graph="player"] .ppfacts a { font-weight: 600; }
[data-graph="player"] .tlogo { width: 20px; height: 20px; vertical-align: middle; margin-right: 5px; }

[data-graph="player"] .statgrid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: .3em 0;
}
[data-graph="player"] .statcell {
  border: 1px solid var(--line); border-radius: 6px; padding: 8px 10px; background: var(--card); text-align: center;
}
[data-graph="player"] .statcell .sv { display: block; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
[data-graph="player"] .statcell .sl { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }

/* "Change player" picker — left-aligned + compact (overrides .big-search centering) */
[data-graph="player"] .player-search { justify-content: flex-start; margin: 6px 0 14px; }
[data-graph="player"] .player-search input { max-width: 440px; }

/* MLB Percentile Rankings (Savant-style bars) */
[data-graph="player"] .pctpanel { max-width: 560px; margin: .3em 0; }
[data-graph="player"] .pctpanel .grp {
  font-weight: 700; color: var(--head); margin: .9em 0 .35em;
  border-bottom: 1px solid var(--line); padding-bottom: 2px; font-size: 14px;
}
[data-graph="player"] .pr {
  display: grid; grid-template-columns: 132px 1fr 46px; align-items: center; gap: 10px; margin: 6px 0;
}
[data-graph="player"] .prl { text-align: right; font-size: 13px; }
[data-graph="player"] .prbar { position: relative; height: 12px; background: var(--line); border-radius: 7px; }
[data-graph="player"] .prfill { position: absolute; top: 0; height: 12px; border-radius: 7px; opacity: .9; }
[data-graph="player"] .prbub {
  position: absolute; top: -4px; transform: translateX(-50%); min-width: 20px; height: 20px;
  padding: 0 2px; border-radius: 10px; color: #fff; font-size: 11px; font-weight: 700;
  text-align: center; line-height: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.3);
}
[data-graph="player"] .prv { text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; }
[data-graph="player"] .prhead { margin-bottom: 2px; }
[data-graph="player"] .prhead .prbar { background: none; height: 14px; }
[data-graph="player"] .prhead span { position: absolute; top: 0; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
[data-graph="player"] .prhead .hpoor { left: 0; color: var(--link); }
[data-graph="player"] .prhead .havg { left: 50%; transform: translateX(-50%); color: var(--muted); }
[data-graph="player"] .prhead .hgreat { right: 0; color: #c0392b; }
