/* Print deliverables (SPEC_player_portal §7): character sheets + table cards.
   Browser print dialog is the tool — no PDFs, no headless browser.
   .print-doc pages render white-on-screen too, as a live print preview. */

/* ── screen preview of print docs ── */
.print-doc {
  background: #fff; color: #111; border-radius: 4px;
  padding: 32px 40px; margin-top: 12px;
  box-shadow: 0 4px 18px rgba(0,0,0,.4);
  max-width: 820px;
}
.print-doc a { color: #111; text-decoration: none; }
.print-doc h1, .print-doc h2, .print-doc h3, .print-doc h4 { color: #111; }
.print-doc .md h2 { border-bottom: 2px solid #111; padding-bottom: 4px; }
.print-doc .md table { border-collapse: collapse; }
.print-doc .md th, .print-doc .md td { border: 1px solid #444; padding: 4px 9px; }
.print-doc .md blockquote { border-left: 3px solid #888; margin: 8px 0; padding: 2px 12px; color: #333; }
.print-doc .md code { background: #eee; color: #111; padding: 1px 4px; }
.print-doc .md img { max-width: 240px; }
.print-pagebreak { border-top: 1px dashed #aaa; margin: 28px 0; }

/* table card layout */
.print-card { text-align: center; }
.print-card .card-brand { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #555; }
.print-card .card-label { font-size: 40px; margin: 10px 0 2px; }
.print-card .card-meta { font-size: 18px; color: #333; margin-bottom: 18px; }
.print-card .card-qr { width: 320px; max-width: 70%; margin: 0 auto; }
.print-card .card-qr svg { width: 100%; height: auto; }
.print-card .card-code { font-family: ui-monospace, monospace; font-size: 15px; color: #555; margin: 8px 0 22px; }
.print-card .card-lineup { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.print-card .card-char { width: 118px; }
.print-card .card-char img, .print-card .card-mono {
  width: 84px; height: 84px; border-radius: 50%; object-fit: cover; border: 2px solid #333;
}
.print-card .card-mono { display: inline-flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; color: #333; }
.print-card .card-char-name { font-weight: 700; font-size: 14px; margin-top: 5px; }
.print-card .card-char-sub { font-size: 11px; color: #555; }

/* ── the actual print rules ── */
@media print {
  .seat-block.no-print, .seat-move { display: none !important; }
  .seat-cols { grid-template-columns: repeat(2, 1fr); }
  #sidebar, #toast, .no-print, .toolbar, #mode-chip, .page-title, .page-sub { display: none !important; }
  html, body { background: #fff !important; color: #000 !important; }
  #shell { display: block !important; }
  #main { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  .print-doc { box-shadow: none; border-radius: 0; padding: 0; margin: 0; max-width: none; }

  /* sensible page breaks: stat blocks, spell cards, tables never split */
  .print-doc .md h2 { break-after: avoid; }
  .print-doc .md h3 { break-after: avoid; break-inside: avoid; }
  .print-doc .md table, .print-doc .md blockquote, .print-doc .md ul, .print-doc .md pre { break-inside: avoid; }
  .print-pagebreak { border: none; break-after: page; margin: 0; }

  .print-card { page-break-inside: avoid; }
  .print-card .card-label { font-size: 34pt; }
  .print-card .card-qr { width: 9cm; max-width: none; }
}
