  /* =====================================================
     PRINT BOOKLET — the isolated print system
     Hidden on screen; laid out only when printing.
     booklet.js fills #booklet-pages via buildBooklet(mode).
     ===================================================== */

  .booklet { display: none; }

  .booklet-page {
    background: #fffdf6;
    color: var(--ink);
    font-family: 'EB Garamond', Georgia, serif;
  }

  /* ---------- Front cover (full masthead picture) ---------- */
  .booklet-page.cover { text-align: center; }

  .booklet-page.cover .cover-art {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(42, 36, 24, 0.15);
  }

  .booklet-page.cover .cover-title {
    font-style: italic;
    font-weight: 600;
    font-size: 30pt;
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-top: 0.4in;
  }

  .booklet-page.cover .cover-number {
    font-family: 'Caveat', cursive;
    font-size: 16pt;
    color: var(--honey);
    margin-top: 0.12in;
  }

  /* ---------- Story pages ---------- */
  .booklet-page.inside .inside-number {
    font-family: 'Caveat', cursive;
    font-size: 14pt;
    color: var(--honey);
    margin-bottom: 4pt;
  }

  .booklet-page.inside .inside-title {
    font-style: italic;
    font-weight: 600;
    font-size: 24pt;
    line-height: 1.05;
    letter-spacing: -0.01em;
    margin-bottom: 16pt;
  }

  .booklet-page.inside p {
    font-size: 12.5pt;
    line-height: 1.5;
    margin-bottom: 8pt;
    break-inside: avoid;
  }

  .booklet-page.inside p.narrator {
    font-style: italic;
    color: var(--ink-soft);
    border-left: 2px solid var(--honey);
    padding-left: 12pt;
    margin: 12pt 0;
  }

  .booklet-page.inside .inside-lesson {
    margin-top: 20pt;
    padding-top: 12pt;
    border-top: 1px solid var(--rule);
    text-align: center;
    font-style: italic;
    font-size: 13pt;
    color: var(--ink-soft);
  }

  .booklet-page.inside .inside-lesson::before {
    content: '✦';
    display: block;
    color: var(--honey);
    font-style: normal;
    margin-bottom: 8pt;
  }

  /* ---------- Back cover (lesson) ---------- */
  .booklet-page.back { text-align: center; }

  .booklet-page.back .back-mark-top {
    color: var(--honey);
    font-size: 22pt;
    margin-bottom: 0.3in;
  }

  .booklet-page.back .back-lesson {
    font-style: italic;
    font-size: 22pt;
    line-height: 1.4;
    color: var(--ink);
    max-width: 5in;
    margin: 0 auto;
  }

  .booklet-page.back .back-mark {
    margin-top: 0.5in;
    font-family: 'Caveat', cursive;
    font-size: 14pt;
    color: var(--ink-soft);
  }

  /* ---------- Print rules ---------- */
  @media print {
    @page {
      size: letter portrait;
      margin: 0.6in;
    }

    body { background: white !important; }
    body::before { display: none; }

    /* Hide the on-screen app; show only the booklet */
    .banner, .library, .story-view { display: none !important; }
    .booklet { display: block !important; }

    .booklet-page {
      box-shadow: none;
      border: none;
      page-break-after: always;
    }
    .booklet-page:last-child { page-break-after: auto; }

    /* Covers fill their own sheet, centered */
    .booklet-page.cover,
    .booklet-page.back {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-height: 9.3in;
    }

    /* Story flows as a normal block so it paginates across 1–2 sheets */
    .booklet-page.inside { display: block; }
  }
