/* Print tab (.kpt-) and Play tab (.kyt-) */
.kpt-controls { align-items: flex-end; }
.kpt-controls label { flex: 0 1 220px; }
.kpt-inline { display: inline-block; width: auto; min-width: 180px; }
.kpt-summary { margin: 8px 0; font: 700 15px var(--spi-ui, Arial, sans-serif); }
.kpt-progress { min-height: 1.5em; font: 14px var(--spi-ui, Arial, sans-serif); color: var(--k-ink, #262326); }
.kpt-grid { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.kpt-fig { margin: 0; flex: 0 1 420px; max-width: 420px; min-width: 200px; }
.kpt-fig.is-large { flex-basis: 100%; max-width: 900px; }
.kpt-thumb { border: 1px solid var(--k-ink, #262326); background: #fff; box-shadow: 2px 2px 0 var(--k-field, #dce1d8); min-height: 80px; }
.kpt-thumb svg { display: block; width: 100%; height: auto; }
.kpt-wait { display: block; padding: 24px; text-align: center; color: var(--k-muted, #535353); font: 13px var(--spi-ui, Arial, sans-serif); }
.kpt-fig figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; font: 600 13px var(--spi-ui, Arial, sans-serif); }
.kpt-cap { flex: 1 1 100%; }
.kpt-sheet { max-width: 720px; max-height: 640px; overflow: auto; padding: 32px 40px; background: #fff; border: 1px solid var(--k-ink, #262326); box-shadow: 2px 2px 0 var(--k-field, #dce1d8); font: 16px/1.5 Georgia, "Times New Roman", serif; color: #000; }
.kpt-sheet h1 { font-size: 1.6rem; margin: 0 0 4px; }
.kpt-sheet h2 { font-size: 1.15rem; margin: 20px 0 6px; }
.kpt-sheet p { margin: 0 0 10px; }
.kpt-sheet .kit-pre { font: 13px/1.35 "Courier New", Courier, monospace; margin: 0 0 10px; overflow-x: auto; }

@media print {
  body.kpt-printing > :not(.kit-print-root) { display: none !important; }
  body.kpt-printing .kit-print-root > :last-child { break-after: auto; page-break-after: auto; }
}

.kyt-card { max-width: 640px; }
.kyt-meta { margin: 4px 0; color: var(--k-muted, #535353); font: 14px var(--spi-ui, Arial, sans-serif); }
.kyt-title { margin: 0 0 8px; font: 400 1.6rem var(--spi-display, Georgia, serif); }
.kyt-next { margin: 8px 0; padding: 10px 14px; background: var(--k-warm, #ece5dd); border-left: 4px solid var(--k-teal, #066a7a); font: 14px var(--spi-ui, Arial, sans-serif); }
.kyt-msg { margin: 8px 0; min-height: 1.5em; font: 14px var(--spi-ui, Arial, sans-serif); }
