/* Game Recap Print PDF button and its print -- js/recap-print.js. */
.recap-pdf-btn {
  display: none;
  margin-left: 0.6rem; vertical-align: middle;
  font: inherit; font-family: 'Rubik', sans-serif; font-size: 0.62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
  padding: 0.18rem 0.55rem; border-radius: 6px; cursor: pointer;
  border: 1px solid var(--navy); background: var(--navy); color: #fff;
}
/* Both header badges green (setStatusBadge in index.html). */
body.status-data-complete .recap-pdf-btn { display: inline-block; }
.recap-pdf-btn:hover { background: var(--navy2); }
.recap-pdf-btn:disabled { opacity: 0.6; cursor: progress; }

/* Not inside @media print: the copy is measured on screen, off to the side,
   before printing, so it has to be laid out exactly as it will print. Its
   pages are plain blocks (no .sched-detail-row -- see buildPages); the zoom
   is inline, set by js/recap-print.js. */
#recap-print-root { position: absolute; left: -100000px; top: 0; background: #fff; }
/* Video controls do nothing on paper -- hidden in place, so nothing moves. */
#recap-print-root [data-rcpside],
#recap-print-root .goalie-recap-btn { visibility: hidden; }

@media print {
  .recap-pdf-btn { display: none !important; }
  body.recap-printing { display: block !important; min-height: 0 !important; background: #fff !important; }
  body.recap-printing > *:not(#recap-print-root) { display: none !important; }
  body.recap-printing #recap-print-root {
    position: static;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  #recap-print-root .rp-page { break-inside: avoid; page-break-inside: avoid; }
  #recap-print-root .rp-page + .rp-page { break-before: page; page-break-before: always; }
}

/* Recap header: title left, a faint AS/ES key centred in the space beside it. */
.recap-title { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: 1rem; }
.recap-strength-key {
  font-weight: 400; text-transform: none; letter-spacing: 0.02em;
  font-size: 0.66rem; color: var(--text); opacity: 0.55; white-space: nowrap;
}
.recap-strength-sep { margin: 0 0.5rem; }
@media screen and (max-width: 700px), screen and (max-height: 500px) and (pointer: coarse), screen and (max-width: 1100px) and (orientation: portrait) and (pointer: coarse) {
  .recap-title { display: block; }
  .recap-strength-key { margin-top: 0.35rem; }
}
