/* Player pages (0.112.0, includes/class-player-page.php). Built on the recap's tokens and parts (spz-recap.css). */
.spz-pp .spz-pp-head { display: flex; align-items: center; gap: 18px; margin: 0 0 14px; padding: 18px 22px; border-radius: 12px; background: var(--rc-head); color: #fff; }
.spz-pp .spz-pp-head .spz-player-avatar { flex: none; border-radius: 50%; overflow: hidden; background: rgba(255, 255, 255, .1); }
.spz-pp .spz-pp-head .spz-player-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.spz-pp .spz-pp-who { min-width: 0; flex: 1; }
.spz-pp .spz-pp-name { margin: 0; font-size: 28px; line-height: 1.15; font-weight: 800; color: #fff; }
.spz-pp .spz-pp-team { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; font-weight: 600; font-size: 14.5px; color: rgba(255, 255, 255, .88); }
.spz-pp .spz-pp-facts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 0; font-size: 13px; color: rgba(255, 255, 255, .72); }
.spz-pp .spz-pp-pro { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: rgba(0, 145, 61, .14); color: #00813a; font-size: 10.5px; font-weight: 800; vertical-align: 1px; }
[data-spz-theme="dark"] .spz-pp .spz-pp-pro { background: rgba(74, 222, 128, .16); color: #4ade80; }

/* next game */
.spz-pp .spz-pp-next { margin: 0 0 12px; padding: 14px 18px; border: 1px solid var(--rc-line); border-radius: 12px; background: var(--rc-card); }
.spz-pp .spz-pp-next-h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.spz-pp .spz-pp-next-h span { font-size: 12px; font-weight: 700; color: var(--rc-muted); }
.spz-pp .spz-pp-next-h b { font-size: 16px; color: var(--rc-ink); }
.spz-pp .spz-pp-next-h em { font-style: normal; font-weight: 600; color: var(--rc-text); }
.spz-pp .spz-pp-vs { margin: 8px 0 0; font-size: 14px; }
.spz-pp .spz-pp-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; font-size: 14px; font-weight: 700; }
.spz-pp .spz-pp-links a, .spz-pp .spz-pp-more a, .spz-pp .spz-pp-tools a { color: var(--spz-brand, #00813a); text-decoration: none; }
.spz-pp .spz-pp-links a:hover, .spz-pp .spz-pp-more a:hover, .spz-pp .spz-pp-tools a:hover { text-decoration: underline; }

/* his tools */
.spz-pp .spz-pp-tools { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.spz-pp .spz-pp-tools a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--rc-line); border-radius: 999px; font-size: 13px; font-weight: 700; }
.spz-pp .spz-pp-more { margin: 10px 0 0; font-size: 13.5px; font-weight: 700; }

/* tables: the season names and dates are wider than a box score's names */
.spz-pp .spz-pp-seasons, .spz-pp .spz-pp-recent { min-width: 600px; }
.spz-pp .spz-pp-recent td a.spz-recap-link { font-weight: 700; }

/* shot map: the rink beside his numbers */
.spz-pp .spz-pp-map { display: grid; grid-template-columns: minmax(0, 360px) 1fr; gap: 18px; align-items: center; }
.spz-pp .spz-pp-map .spz-rc-map { margin: 0; }
.spz-pp .spz-pp-map-n p { margin: 0 0 8px; font-size: 14px; }
.spz-pp .spz-pp-map-n b { font-size: 20px; font-weight: 800; color: var(--rc-ink); margin-right: 3px; }
.spz-pp .spz-pp-map-n p.spz-pp-more b { font-size: inherit; }

/* milestones */
.spz-pp .spz-pp-ms { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.spz-pp .spz-pp-ms li { padding: 10px 14px; border: 1px solid var(--rc-line); border-radius: 10px; background: var(--rc-card); font-size: 14px; }
.spz-pp .spz-pp-ms b { font-size: 22px; font-weight: 800; color: var(--rc-ink); margin-right: 4px; }
.spz-pp .spz-pp-ms small { display: block; margin-top: 2px; color: var(--rc-muted); }

@media (max-width: 640px) {
  .spz-pp .spz-pp-head { padding: 14px; gap: 12px; }
  .spz-pp .spz-pp-head .spz-player-avatar { width: 64px !important; height: 64px !important; }
  .spz-pp .spz-pp-name { font-size: 22px; }
  .spz-pp .spz-pp-map { grid-template-columns: 1fr; }
}

/* (0.113.2) the legend in his team's colour, as the dots are */
.spz-pp .spz-rc-legend.is-one i.is-goal { background: var(--c); box-shadow: 0 0 0 2px var(--rc-card), 0 0 0 3px var(--c); }
.spz-pp .spz-rc-legend.is-one i.is-save { background: var(--c); opacity: .55; }
[data-spz-theme="dark"] .spz-pp .spz-rc-legend.is-one i.is-goal { background: var(--cd, var(--c)); box-shadow: 0 0 0 2px var(--rc-card), 0 0 0 3px var(--cd, var(--c)); }
[data-spz-theme="dark"] .spz-pp .spz-rc-legend.is-one i.is-save { background: var(--cd, var(--c)); }
/* (0.113.2) the rink and his numbers side by side only when both fit (on a narrow column the numbers go under it, not off the edge) */
.spz-pp .spz-pp-map { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.spz-pp .spz-pp-map .spz-rc-map { flex: 1 1 280px; max-width: 380px; min-width: 0; }
.spz-pp .spz-pp-map-n { flex: 1 1 200px; min-width: 0; }
.spz-pp .spz-pp-map-n p { overflow-wrap: anywhere; }
