#print-sheet { display: none; }
@page { size: A4 portrait; margin: 10mm; }
@media print {
  html, body { margin: 0 !important; padding: 0 !important; min-width: 0 !important; background: #fff !important; }
  body > * { display: none !important; }
  body > #print-sheet {
    display: block !important;
    width: 190mm;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #111;
    font: 9pt/1.25 Arial, sans-serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-sheet * { box-sizing: border-box; }
  #print-sheet .print-brand { margin: 0 0 1mm; font-size: 9pt; font-weight: 700; }
  #print-sheet h1 { margin: 0; font-size: 16pt; line-height: 1.1; letter-spacing: 0; }
  #print-sheet h2 { margin: 0 0 1mm; font-size: 10pt; line-height: 1.2; }
  #print-sheet .print-intro { margin: 2mm 0 1mm; }
  #print-sheet .print-rules { margin: 0 0 1mm; font-weight: 700; }
  #print-sheet .print-map { margin: 1mm 0 2mm; width: 190mm; break-inside: avoid; page-break-inside: avoid; }
  #print-sheet .room-map { display: block; width: 190mm !important; height: auto; min-width: 0 !important; }
  #print-sheet .room-cell { cursor: default; }
  #print-sheet .print-roster-instruction { margin: 0 0 1mm; font-size: 8pt; }
  #print-sheet .print-roster { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0 0 3mm; }
  #print-sheet .print-roster td { padding: 0; text-align: center; vertical-align: top; }
  #print-sheet .print-portrait { display: block; width: 12mm; height: 15mm; margin: 0 auto; }
  #print-sheet .print-person-name { display: block; font-size: 9pt; }
  #print-sheet .print-coordinate-blank { display: block; width: 13mm; height: 5mm; border-bottom: .3mm solid #222; margin: 0 auto; }
  #print-sheet .print-clues { margin: 0; padding: 0 0 0 5mm; column-count: 2; column-gap: 8mm; -webkit-column-count: 2; -webkit-column-gap: 8mm; }
  #print-sheet .print-clues li { margin: 0 0 1.3mm; padding-left: .5mm; break-inside: avoid; page-break-inside: avoid; -webkit-column-break-inside: avoid; }
  #print-sheet .print-answer { display: flex; align-items: flex-end; margin: 2mm 0 0; break-inside: avoid; page-break-inside: avoid; }
  #print-sheet .print-answer strong { margin-right: 4mm; }
  #print-sheet .print-answer-blank { flex: 1 1 auto; min-width: 30mm; height: 5mm; border-bottom: .3mm solid #222; }
  #print-sheet .print-people, #print-sheet .print-clue-section { break-inside: avoid; page-break-inside: avoid; }
}
