.konomana-sheet {
  --ink: #173e37;
  --muted: #60736f;
  --line: #d9dfda;
  width: 210mm;
  min-height: 297mm;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 14mm 16mm 12mm;
  color: var(--ink);
  background: #fff;
  font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
}

.konomana-sheet__header,
.konomana-sheet__title-row,
.konomana-sheet footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.konomana-sheet__header {
  padding-bottom: 7mm;
  border-bottom: 0.35mm solid var(--line);
}

.konomana-sheet__brand {
  display: inline-flex;
  align-items: center;
  font-size: 5mm;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.konomana-sheet__identity {
  display: flex;
  gap: 6mm;
  color: var(--muted);
  font-size: 3.5mm;
}

.konomana-sheet__name-field {
  display: inline-flex;
  align-items: flex-end;
  gap: 1.5mm;
}

.konomana-sheet__name-field i {
  display: inline-block;
  width: 44mm;
  border-bottom: 0.25mm solid #9aa9a5;
}

.konomana-sheet__title-row {
  padding: 8mm 0 7mm;
}

.konomana-sheet__title-row p {
  margin: 0 0 2mm;
  color: #9a6b1f;
  font-size: 2.7mm;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.konomana-sheet h2 {
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 9mm;
  font-weight: 500;
}

.konomana-sheet__title-row small {
  color: var(--muted);
  font-size: 3mm;
}

.konomana-sheet__problems {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 6mm 12mm;
  margin: 0;
  padding: 0;
  list-style: none;
}

.konomana-sheet__problems li {
  display: grid;
  grid-template-columns: 8mm 1fr;
  align-items: center;
  min-height: 15mm;
  border-bottom: 0.25mm solid var(--line);
}

.konomana-sheet.has-20 .konomana-sheet__problems li {
  min-height: 13mm;
}

.konomana-sheet.has-30 .konomana-sheet__problems {
  gap: 3.2mm 12mm;
}

.konomana-sheet.has-30 .konomana-sheet__problems li {
  min-height: 9.8mm;
}

.konomana-sheet.has-30 .konomana-sheet__equation {
  font-size: 5.2mm;
}

.konomana-sheet.has-30 footer {
  margin-top: 6mm;
}

.konomana-sheet.has-40 {
  padding-top: 10mm;
  padding-bottom: 8mm;
}

.konomana-sheet.has-40 .konomana-sheet__header {
  padding-bottom: 4mm;
}

.konomana-sheet.has-40 .konomana-sheet__title-row {
  padding: 5mm 0 4mm;
}

.konomana-sheet.has-40 h2 {
  font-size: 7mm;
}

.konomana-sheet.has-40 .konomana-sheet__problems {
  gap: 1mm 12mm;
}

.konomana-sheet.has-40 .konomana-sheet__problems li {
  min-height: 7.6mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

.konomana-sheet.has-40 .konomana-sheet__equation {
  font-size: 4.7mm;
}

.konomana-sheet.has-40 footer {
  margin-top: 4mm;
  padding-top: 3mm;
}

/* Dense A4 layouts for 50 and 60 questions */
.konomana-sheet.has-50,
.konomana-sheet.has-60 { padding: 8mm 12mm 6mm; }
.konomana-sheet.has-50 .konomana-sheet__header,
.konomana-sheet.has-60 .konomana-sheet__header { padding-bottom: 3mm; }
.konomana-sheet.has-50 .konomana-sheet__title-row,
.konomana-sheet.has-60 .konomana-sheet__title-row { padding: 4mm 0 3mm; }
.konomana-sheet.has-50 h2,
.konomana-sheet.has-60 h2 { font-size: 6mm; }
.konomana-sheet.has-50 .konomana-sheet__problems,
.konomana-sheet.has-60 .konomana-sheet__problems { gap: 0 10mm; }
.konomana-sheet.has-50 .konomana-sheet__problems li { min-height: 6.8mm; break-inside: avoid; page-break-inside: avoid; }
.konomana-sheet.has-60 .konomana-sheet__problems li { min-height: 6mm; break-inside: avoid; page-break-inside: avoid; }
.konomana-sheet.has-50 .konomana-sheet__equation { font-size: 4.3mm; }
.konomana-sheet.has-60 .konomana-sheet__equation { font-size: 4.1mm; }
.konomana-sheet.has-50 .konomana-sheet__number,
.konomana-sheet.has-60 .konomana-sheet__number { font-size: 2.6mm; }
.konomana-sheet.has-50 footer,
.konomana-sheet.has-60 footer { margin-top: 3mm; padding-top: 2mm; font-size: 2.4mm; }

.konomana-sheet__number {
  color: var(--muted);
  font-size: 3mm;
}

.konomana-sheet__equation {
  font-size: 6mm;
  letter-spacing: 0.08em;
}

.konomana-sheet__blank {
  display: inline-block;
  margin: 0 0.6mm;
  font-size: 1.55em;
  line-height: 0.7;
  letter-spacing: 0;
  vertical-align: -0.08em;
}

.konomana-sheet__answer,
.konomana-sheet__filled {
  margin-left: 2mm;
  color: #9a6b1f;
}

.konomana-sheet footer {
  margin-top: 10mm;
  padding-top: 4mm;
  border-top: 0.35mm solid var(--line);
  color: var(--muted);
  font-size: 2.8mm;
  letter-spacing: 0.06em;
}

@page { size: A4 portrait; margin: 0; }

@media print {
  html,
  body { width: 210mm; margin: 0 !important; padding: 0 !important; }
  .konomana-sheet {
    width: 100% !important;
    height: 295mm;
    min-height: 295mm;
    max-height: 295mm;
    margin: 0 !important;
    overflow: hidden;
    break-after: auto;
    page-break-after: auto;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .konomana-sheet + .konomana-sheet {
    break-before: page;
    page-break-before: always;
  }
}
