/* Printed maps. Only #print-root prints; everything is measured in millimetres. */

html, body { height: auto !important; overflow: visible !important; background: #fff !important; }
body { color: #3b2412; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; }
#app, .backdrop, .pop, .pop-scrim, .toasts { display: none !important; }
#print-root { display: block !important; }

.page {
  position: relative;
  overflow: hidden;
  break-after: page;
  page-break-after: always;
  background: #fff;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.page:last-child { break-after: auto; page-break-after: auto; }

.map-sheet.felt { background: #6b7a48 url('../img/art/felt.webp') center / cover; }
.map-sheet .spot { position: absolute; border-radius: 50%; }
.map-sheet .spot img { width: 100%; height: 100%; border-radius: 50%; display: block; }
.map-sheet .spot .hill-num {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding-bottom: 22%;
  font-weight: 700;
  color: #fff;
  -webkit-text-stroke: 0.5mm #1f2a14;
  paint-order: stroke fill;
}
.map-sheet .axis-label { position: absolute; text-align: center; font-size: 3.6mm; font-weight: 600; color: #7a6a4a; }
.map-sheet.felt .axis-label { color: #f3ead0; }

.brief {
  position: absolute;
  padding: 4mm 4mm 3mm;
  border-radius: 2mm;
  background: #f4e7c8 url('../img/art/parchment.webp') center / cover;
  border: 0.3mm solid #c9ab76;
  font-size: 3.4mm;
  line-height: 1.25;
}
.brief p { margin: 1.4mm 0; }
.brief .small, .page .small { font-size: 3mm; opacity: 0.85; }
.brief-icon { display: block; width: 13mm; height: 13mm; margin: 0 auto 1mm; }
.brief-name { text-align: center; font-family: 'Kaushan Script', cursive; font-size: 7mm; line-height: 1.1; }
.brief-no { text-align: center; font-weight: 700; letter-spacing: 0.06em; font-size: 3mm; margin-bottom: 2mm; }
.brief-mini { display: flex; align-items: center; gap: 3mm; margin: 2mm 0; }
.brief-mini .minimap { display: grid; grid-template-columns: repeat(2, 9mm) !important; grid-auto-rows: 9mm; gap: 0.6mm; padding: 1.2mm; background: #fff; border-radius: 1mm; border: 0.2mm solid #c9ab76; }
.brief-mini .minimap img { width: 100%; height: 100%; }
.map-sheet .foot { position: absolute; font-size: 2.6mm; color: #9a8a6a; }

.cover { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.cover-icon { width: 40mm; height: 40mm; }
.cover h1 { font-family: 'Kaushan Script', cursive; font-weight: 400; font-size: 14mm; margin: 6mm 0 2mm; }
.cover p { max-width: 160mm; font-size: 5mm; margin: 2mm 0; }

.fog-page { padding: 18mm 24mm; box-sizing: border-box; }
.fog-page h1 { font-family: 'Kaushan Script', cursive; font-weight: 400; font-size: 10mm; margin: 0 0 4mm; }
.fog-page ol { font-size: 4.6mm; line-height: 1.3; padding-left: 8mm; }
.fog-page li { display: flex; align-items: center; gap: 4mm; margin: 2.4mm 0; }
.fog-page li img { width: 12mm; height: 12mm; flex: none; }

.calibration .cal-spot {
  position: absolute;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 0.35mm solid #3b2412;
  font-size: 3mm;
  color: #6e4c2c;
}
.calibration .cal-info { position: absolute; font-size: 3.6mm; line-height: 1.3; }
.calibration .cal-info h2 { font-family: 'Kaushan Script', cursive; font-weight: 400; font-size: 7mm; margin: 0 0 2mm; }
.calibration .ruler {
  height: 4mm;
  margin-top: 3mm;
  border: 0.3mm solid #3b2412;
  background: repeating-linear-gradient(90deg, #3b2412 0 0.3mm, transparent 0.3mm 10mm);
}
