- Puppeteer writes to a temp kaleidoskop-raw.pdf
- Ghostscript re-processes with -dPDFSETTINGS=/prepress to fully embed
all fonts and prevent subsetting (KDP checklist item 6)
- PDF info dict is written via PostScript pdfmarks, with title/author/
subject encoded as UTF-16BE hex to support German umlauts (item 13)
- File size drops from ~108 MB to ~9 MB (placeholder art; will grow with
real 300 DPI illustrations but stays well under KDP's 650 MB limit)
- GS failure falls back gracefully to the raw Puppeteer PDF
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>