@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  /* Hide navigation and controls */
  header,
  nav, footer,
  .book-list,
  .book-drawer,
  .drawer,
  .course-gpt-launcher,
  .course-gpt-editor,
  .course-speakgame,
  .toolbar,
  .book-actions,
  .book-inline .book-sidebar,
  .page-turn,
  .kokoro-tts-btn,
  .kokoro-tts-btn-all,
  [data-role="read"],
  [data-book-fab],
  [data-role="goto"],
  [data-role="drawer-close"] {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 100%;
    line-height: 1.6;
  }

  .viewer-bar {
    display: block !important;
    padding: 0 !important;
    margin: 0 0 12mm 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .viewer-bar .controls,
  .viewer-bar .controls-inner {
    display: none !important;
  }

  .viewer-bar h1 {
    display: none !important;
  }

  .book-print-titlepage {
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    min-height: 70vh;
  }

  .book-print-titlepage p {
    margin: 0;
    font-size: 2em;
    line-height: 1.3;
    text-align: center;
  }

  .book-print-titlepage p b {
    display: block;
    font-size: 1em;
    font-weight: 700;
    text-align: center;
  }

  .kokoro-content,
  .kokoro-content p,
  .kokoro-content h1,
  .kokoro-content h2,
  .kokoro-content h3,
  .kokoro-content h4,
  .kokoro-content h5,
  .kokoro-content h6 {
    font-size: 1.5em;
    line-height: 1.65;
  }

  .book-inline,
  .book-stage,
  .book-layout,
  .book,
  .book-pages,
  .spread,
  .page,
  .page-inner,
  .kokoro-content,
  .image-box {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
  }

  .book-stage {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: auto !important;
  }

  .book-wrap,
  .book {
    box-shadow: none !important;
    background: transparent !important;
  }

  .book-layout {
    border: none !important;
    box-shadow: none !important;
  }

  .book-layout {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  article.spread {
    position: static !important;
    display: block !important;
    page-break-after: always;
    page-break-inside: avoid;
    break-inside: avoid;
    opacity: 1 !important;
  }

  .page {
    display: block !important;
    padding: 0 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .page-inner,
  .kokoro-content,
  .kokoro-content > * {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .image-box {
    display: block !important;
    text-align: center;
  }

  .image-box img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .shareqr-print-stamp {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6mm;
    padding: 10mm;
    margin: 0 0 10mm 0;
    box-sizing: border-box;
    text-align: center;
  }

  .shareqr-print-stamp__qr {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .shareqr-print-stamp__qr canvas,
  .shareqr-print-stamp__qr img {
    width: 32mm !important;
    height: 32mm !important;
  }

  .shareqr-print-stamp__text {
    font-size: 1.5em;
    line-height: 1.65;
    text-align: center;
  }

  .shareqr-print-stamp__text p,
  .shareqr-print-stamp__text h1,
  .shareqr-print-stamp__text h2,
  .shareqr-print-stamp__text h3,
  .shareqr-print-stamp__text h4,
  .shareqr-print-stamp__text h5,
  .shareqr-print-stamp__text h6 {
    font-size: 1.5em;
    line-height: 1.65;
    margin: 0 0 0.4em;
    text-align: center;
  }

  .shareqr-print-stamp__text > :last-child {
    margin-bottom: 0;
  }
}
