/* Game page play-by-play pitch panel (static/js/pitch_video.js) */
.pbp-pa.pv-has-data { cursor: pointer; }
.pbp-pa.pv-has-data:hover { background: #f7f9fc; }
.pbp-pa.pv-open { background: #f4f7fc; }
.pv-chip {
  margin-left: auto;
  border: 1px solid #c9d4e6; background: #fff; color: var(--navy);
  font-size: 0.68rem; font-weight: 600; line-height: 1;
  padding: 0.22rem 0.5rem; border-radius: 999px;
}
.pbp-pa.pv-has-data:hover .pv-chip, .pv-chip[aria-expanded="true"] { background: var(--navy); color: #fff; border-color: var(--navy); }
.pbp-pitch.pv-sel { outline: 2px solid var(--red); outline-offset: 1px; }

.pv-panel {
  cursor: default;
  margin-top: 0.5rem; padding: 0.6rem;
  background: #fff; border: 1px solid #dfe5ee; border-left: 3px solid var(--navy);
  border-radius: 4px;
}
.pv-grid { display: grid; grid-template-columns: minmax(230px, 300px) 1fr; gap: 0.9rem; }
@media (max-width: 767.98px) { .pv-grid { grid-template-columns: 1fr; } }

.pv-seq-table { width: 100%; font-size: 0.76rem; border-collapse: collapse; }
.pv-seq-table th { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.03em; color: #6c757d; font-weight: 600; padding: 0.15rem 0.3rem; border-bottom: 1px solid #dee2e6; }
.pv-seq-table td { padding: 0.22rem 0.3rem; border-bottom: 1px solid #f1f3f5; white-space: nowrap; }
.pv-seq-table tbody tr { cursor: pointer; }
.pv-seq-table tbody tr:hover { background: #f1f5fb; }
.pv-seq-table tbody tr.pv-row-sel { background: #e3ebf8; font-weight: 600; }
.pv-dot { display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; margin-right: 0.3rem; vertical-align: baseline; }

.pv-tabs { font-size: 0.8rem; margin-bottom: 0.55rem; }
.pv-tabs .nav-link { padding: 0.3rem 0.8rem; color: #495057; }
.pv-tabs .nav-link.active { color: var(--navy); font-weight: 600; }

.pv-stat-head { font-size: 0.82rem; font-weight: 600; color: var(--navy); margin-bottom: 0.45rem; }
.pv-stats-row { display: flex; gap: 0.8rem; align-items: flex-start; flex-wrap: wrap; }
.pv-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 0.4rem; flex: 1 1 300px; }
.pv-tile { background: #f6f8fb; border: 1px solid #e6ebf2; border-radius: 4px; padding: 0.3rem 0.45rem; }
.pv-tile-label { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.04em; color: #6c757d; }
.pv-tile-value { font-size: 0.95rem; font-weight: 700; color: #212529; font-variant-numeric: tabular-nums; }
.pv-tile-value small { font-size: 0.66rem; font-weight: 500; color: #6c757d; }
.pv-section-title { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; color: #6c757d; margin: 0.65rem 0 0.35rem; }
.pv-zone-wrap { text-align: center; }
.pv-zone { width: 110px; height: auto; display: block; }
.pv-zone-cap { font-size: 0.62rem; color: #6c757d; }

.pv-player-wrap { position: relative; width: 100%; max-width: 720px; aspect-ratio: 16 / 9; background: #000; border-radius: 4px; overflow: hidden; }
.pv-player-wrap iframe, .pv-player-wrap video, .pv-player-wrap .pv-player { position: absolute; inset: 0; width: 100%; height: 100%; }
.pv-video-bar { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.4rem; font-size: 0.78rem; }
.pv-ext-link { color: var(--navy); }
.pv-src { font-size: 0.72rem; }
.pv-sync { margin-top: 0.6rem; padding: 0.5rem 0.6rem; background: #fff8e6; border: 1px dashed #e0b44c; border-radius: 4px; font-size: 0.76rem; max-width: 720px; }
.pv-sync-controls { display: flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; margin: 0.35rem 0; }
.pv-curtime { min-width: 4.5rem; text-align: center; font-variant-numeric: tabular-nums; font-weight: 600; }
.pv-sync-help { color: #6c5a2b; font-size: 0.7rem; }
.pv-len-row { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.4rem; }
.pv-len-row:empty, .pv-len:empty { display: none; }
.pv-empty { font-size: 0.8rem; color: #6c757d; padding: 0.6rem 0; }
.pv-est { font-size: 0.68rem; color: #8a6d1f; background: #fff3cd; border-radius: 3px; padding: 0.05rem 0.35rem; }
.pv-ev-play { margin-left: auto; border: 1px solid #c9d4e6; background: #fff; color: var(--navy); font-size: 0.62rem; line-height: 1; padding: 0.2rem 0.45rem; border-radius: 999px; }
.pv-ev-play:hover, .pv-ev-play.pv-sel { background: var(--navy); color: #fff; border-color: var(--navy); }
.pv-seq-table tbody tr.pv-play-row td { color: #7a4b00; font-style: italic; }
.pv-blur { filter: blur(5px); user-select: none; pointer-events: none; }
.pv-locked { position: relative; }
.pv-locked-note { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0.5rem; font-size: 0.82rem; font-weight: 600; color: var(--navy); background: rgba(255, 255, 255, 0.45); }
.pbp-pa.pv-has-data .pbp-event { cursor: pointer; }
.pbp-pa.pv-has-data .pbp-event:hover .pbp-event-desc { text-decoration: underline; }
