@page {
  size: letter;
  margin: 12mm;
}

body * {
  visibility: hidden !important;
}

.print-paper,
.print-paper * {
  visibility: visible !important;
}

.print-paper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: #fff !important;
  color: #000 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.print-sheet {
  page-break-after: always;
  break-after: page;
  padding: 0;
}

.print-sheet:last-child {
  page-break-after: auto;
  break-after: auto;
}

body.print-puzzle-only .print-sheet.is-answers {
  display: none !important;
}

body.print-answers-only .print-sheet:not(.is-answers) {
  display: none !important;
}

.print-sheet h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22pt;
  margin: 0 0 8pt;
  color: #000;
}

.print-meta {
  font-family: system-ui, sans-serif;
  font-size: 11pt;
  margin: 0 0 12pt;
}

.print-grid {
  border-collapse: collapse;
  margin: 0 auto 14pt;
}

.print-grid td {
  width: 22pt;
  height: 22pt;
  border: 0.6pt solid #444;
  text-align: center;
  vertical-align: middle;
  font-family: ui-monospace, Consolas, monospace;
  font-weight: 700;
  font-size: 12pt;
  color: #000;
  background: #fff;
}

.print-grid td.is-path {
  outline: 2pt solid #000;
  outline-offset: -3pt;
  background: repeating-linear-gradient(
    -45deg,
    #fff,
    #fff 2pt,
    #ddd 2pt,
    #ddd 4pt
  );
  font-weight: 800;
}

.print-words {
  columns: 2;
  font-family: system-ui, sans-serif;
  font-size: 11pt;
  margin: 0;
  padding: 0;
  list-style: none;
}

.print-words li {
  padding: 2pt 0;
  border-bottom: 0.4pt solid #999;
}
