/* A4 纸质材料版式 —— 紧凑省纸：双栏表格、小字号、答案并入末页 */
.sheet {
  width: 210mm; padding: 9mm 8mm;
  background: #fff; color: #111; margin: 0 auto 20px;
  box-shadow: 0 2px 18px rgba(0,0,0,.45); border-radius: 4px;
  font-family: Georgia, "Songti SC", "SimSun", serif;
  line-height: 1.3;
}
.sheet h1 { font-size: 14pt; margin: 0; }
.sheet h1 small { font-size: 9pt; color: #555; font-weight: 400; margin-left: 3mm; }
.sheet h2 { font-size: 10.5pt; border-bottom: 1.5px solid #111; padding-bottom: 1.2mm; margin: 0 0 2.5mm; word-break: break-word; }
.cont-head { font-size: 9.5pt; color: #333; border-bottom: 1px solid #999; padding-bottom: 1mm; margin-bottom: 2mm; }
.pg-tail { margin-top: 4mm; }
.sub-info { font-size: 8pt; color: #444; margin-top: 1mm; }

/* 页首信息带：标题+说明+打卡格一行排开，不再单独占一页封面 */
.head-band { display: flex; gap: 5mm; align-items: center; justify-content: space-between; margin-bottom: 3mm; }
.head-band > div:first-child { flex: 1; }
.punch { display: flex; gap: 1.5mm; }
.punch .d { border: 1.2px solid #333; border-radius: 1.5mm; text-align: center; padding: 1.2mm 1.8mm 3.5mm; font-size: 8pt; width: 9mm; }
.punch .d small { display: block; color: #999; font-size: 6.5pt; }

.ptable { width: 100%; border-collapse: collapse; font-size: 8.5pt; }
.ptable th, .ptable td { border: 1px solid #999; padding: 1.6px 4px; text-align: left; vertical-align: middle; }
.ptable th { background: #f0f0f0; font-weight: 700; font-size: 8pt; padding: 2px 4px; }
.ptable .w { font-size: 10pt; font-weight: 700; font-family: Georgia, serif; }
.ptable .chunks { color: #0a7; font-size: 7pt; display: block; letter-spacing: .4px; }
.ptable .ex { color: #555; font-size: 7.5pt; font-style: italic; }
.ptable .ex .cloze { color: #111; font-style: normal; font-weight: 700; letter-spacing: 1px; }
.ptable .num { width: 6mm; color: #666; text-align: center; }
.ptable .ph-c { font-family: Georgia, serif; white-space: nowrap; }
.ptable .tr-c { color: #111; }
.blank-line { display: inline-block; width: 92%; border-bottom: 1px solid #333; height: 4.2mm; }
.chk { font-size: 7.5pt; white-space: nowrap; text-align: center; color: #777; }
.chk-mini { font-size: 7.5pt; color: #999; margin-left: 1mm; }

.copy-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5mm; }
.copy-cell { border: 1px solid #aaa; border-radius: 1mm; height: 6mm; }

.ans-cols { columns: 4; column-gap: 4mm; font-size: 8pt; margin-top: 2mm; }
.ans-cols .an { break-inside: avoid; margin-bottom: 1.2mm; }
.ans-cols .an b { font-family: Georgia, serif; }

.scissors {
  border-top: 1.6px dashed #333; margin-top: 5mm; padding-top: 1.5mm;
  font-size: 8pt; color: #555; text-align: center;
}
.sheet .foot { margin-top: 4mm; font-size: 7.5pt; color: #999; text-align: center; }

@media print {
  @page { size: A4 portrait; margin: 9mm 8mm; }
  body { background: #fff !important; }
  body.print-mode header, body.print-mode .toast { display: none !important; }
  body.print-mode main { max-width: none; margin: 0; padding: 0; }
  body.print-mode .print-controls { display: none !important; }
  .sheet { width: auto; padding: 0; margin: 0; box-shadow: none; border-radius: 0; page-break-after: always; }
  .sheet:last-child { page-break-after: auto; }
  .ptable tr { break-inside: avoid; page-break-inside: avoid; }
  .ptable thead { display: table-header-group; }
  .pg-tail { break-inside: avoid; page-break-inside: avoid; }
  th, td, .punch .d, .copy-cell { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
