/* Shared print chrome. Keep all page identity in the footer, never in page content. */
@media print {
  @page { margin: 0; size: Letter; }
  html, body { margin: 0 !important; }
  .print-hide, .no-print, nav, .topbar, .toolbar, .readaloud-btn, [data-readaloud],
  button.play, button.speaker, .speaker-btn, .play-btn { display: none !important; }
  h2, h3, .score-card, .three-cards article, .student-box, .flag, .keep,
  pre, blockquote, .table-wrap, .talk-card, .report-section > .keep { break-inside: avoid; page-break-inside: avoid; }
  h2, h3 { break-after: avoid; page-break-after: avoid; }
  body { font-size: 11pt; line-height: 1.45; }
  body.tb-print-ready { padding: 0 !important; }
  body.tb-print-ready .footer,
  body.tb-print-ready footer:not(.tb-print-footer),
  body.tb-print-ready .cert .copy { display: none !important; }

  .tb-print-footer {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: end;
    position: fixed;
    left: .5in;
    right: .5in;
    bottom: .18in;
    height: .46in;
    color: #26313d;
    font: 8pt Arial, sans-serif;
    z-index: 2147483647;
    pointer-events: none;
  }
  .tb-print-footer__copyright { justify-self: start; align-self: end; }
  .tb-print-footer__page { justify-self: center; align-self: end; }
  .tb-print-footer__logo { justify-self: end; align-self: end; width: .46in; height: .46in; object-fit: contain; }

  /* Manually paginated `.pg` packets: one authored page per sheet, explicit number. */
  body.tb-print-ready.tb-print-has-manual-pages { padding: 0 !important; }
  .tb-print-manual-page {
    position: relative !important;
    min-height: 11in;
    padding: .75in .75in .95in !important;
    box-sizing: border-box !important;
    break-after: page;
    page-break-after: always;
  }
  .tb-print-manual-page:last-child { break-after: auto; page-break-after: auto; }
  .tb-print-manual-page > .tb-print-footer { position: absolute; left: .5in; right: .5in; bottom: .2in; }
  .tb-print-manual-inner { zoom: var(--tb-fit, 1); }

  /* Normal-flow documents paginated by Paged.js: one `.pagedjs_page` per printed page. */
  body.tb-print-paged > *:not(.pagedjs_pages):not(.tb-print-footer) { display: none !important; }
  body.tb-print-paged .pagedjs_pages { display: block !important; margin: 0 !important; padding: 0 !important; }
  body.tb-print-paged .pagedjs_page {
    position: relative !important;
    width: 8.5in !important;
    height: 11in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    break-after: page;
    break-inside: avoid;
    page-break-after: always;
    page-break-inside: avoid;
  }
  body.tb-print-paged .pagedjs_page:last-child { break-after: auto; page-break-after: auto; }
  body.tb-print-paged .pagedjs_sheet,
  body.tb-print-paged .pagedjs_pagebox,
  body.tb-print-paged .pagedjs_area { width: 100% !important; height: 100% !important; margin: 0 !important; }
  body.tb-print-paged .pagedjs_page_content {
    width: 100% !important;
    height: 100% !important;
    padding: .75in .75in .95in !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  body.tb-print-paged [class*="pagedjs_bleed"],
  body.tb-print-paged [class*="pagedjs_marks"],
  body.tb-print-paged [class*="pagedjs_margin"] { display: none !important; }
  body.tb-print-paged .pagedjs_page > .tb-print-footer {
    position: absolute;
    left: .5in;
    right: .5in;
    bottom: .2in;
    height: .5in;
  }
}

/* Screen guard: print-only chrome must never show on screen (2026-10-06 giant logo fix). */
@media screen {
  .tb-print-footer, .tb-print-probe { display: none !important; }
}
