.pt-sheet { background: white; color: #111; padding: 1.25rem; margin-bottom: 1.5rem; border: 1px solid #777; overflow-wrap: anywhere; }
.pt-sheet h2 { font-size: 1.5rem; }.pt-sheet h3 { font-size: 1.1rem; }.pt-notice { font-size: .75rem; margin-top: 1.5rem; }.pt-task { break-inside: avoid; }
.pt-grid { border-collapse: collapse; margin: 1rem auto; max-width: 100%; table-layout: fixed; }
.pt-grid td { position: relative; border: 1px solid #222; text-align: center; width: var(--pt-cell, 1.6rem); height: var(--pt-cell, 1.6rem); font: 700 .8rem monospace; padding: 0; }
.pt-grid td.pt-void { background: #222; }.pt-grid td.pt-mark { background: #cfe6ff; }.pt-grid small { position: absolute; top: 0; left: 1px; font: .45rem sans-serif; }
.pt-flashcards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.pt-flashcard { display: grid; grid-template-columns: 1fr 1fr; border: 1px dashed #555; break-inside: avoid; }.pt-flashcard>div { padding: .75rem; }.pt-flashcard>div+div { border-left: 1px dashed #555; }
.pt-line { min-height: 2.5rem; border-bottom: 1px solid #777; margin: .5rem 0; }.pt-clues { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.pt-bingo { width: 100%; table-layout: fixed; border-collapse: collapse; }.pt-bingo td { border: 1px solid #222; text-align: center; height: 5rem; padding: .5rem; }
@media(max-width: 500px) { .pt-flashcards,.pt-clues { grid-template-columns: 1fr; }.pt-sheet { padding: .5rem; }.pt-grid { --pt-cell: 1.1rem; }.pt-grid td { font-size: .65rem; } }
@media print {
    @page { size: auto; margin: 12mm; }
    html,body { background: white !important; color: black !important; margin: 0 !important; }
    body>header,body>footer,body>.ep-skip-link,main>*:not(#printable-output) { display: none !important; }
    main.container { display: block !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
    #printable-output { display: block !important; margin: 0 !important; }
    .pt-sheet { border: 0; padding: 0; margin: 0; color: black; background: white; }
    .pt-key { break-before: page; }.pt-key.pt-exclude { display: none !important; }
    .pt-screen { display: none !important; }
    .pt-grid,.pt-bingo,.pt-line,.pt-sheet li,.pt-notice { break-inside: avoid; }
    .pt-grid { --pt-cell: 5mm; }.pt-grid td { font-size: 9pt; print-color-adjust: exact; }
    .pt-flashcards { grid-template-columns: 1fr; gap: 4mm; }.pt-flashcard { break-inside: avoid; }
    .pt-flashcard>div { padding: 3mm; }.pt-flashcard p { margin: 0 0 2mm; }.pt-flashcard p:last-child { margin-bottom: 0; }
    .pt-notice { color: black; }.pt-sheet h2,.pt-sheet h3 { break-after: avoid; }
}
