/* Course Map Ruler — the crew's prints (crew.js; research/course-creator/02-design.md §10, milestone M14): the pages
 * shown over the page before printing, and printing them alone. Colours and buttons come from app.css. Every class
 * here is crew.js's own (crew-…), so no other panel's rules reach it. The pages are A4 landscape SVGs in millimetres:
 * on screen they fit the width; printed, each fills a 297 × 210 mm sheet at 100 %, with the @page rule crew.js adds
 * only while printing, so its scale bars measure true (§13 row 188). */
.crew-actions { margin-top: 2px; }
.crew-panel { position: fixed; inset: 0; z-index: 60; overflow: auto; background: var(--paper); color: var(--ink); padding: 0 16px 24px; }
.crew-tools { position: sticky; top: 0; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 14px 0 12px; background: var(--paper); }
.crew-tools h2 { margin-right: auto; }
.crew-tools .note { flex-basis: 100%; color: var(--muted); }
.crew-pages { display: grid; gap: 16px; justify-items: center; }
.crew-page { width: min(100%, 1123px); background: #fff; border: 1px solid var(--line); border-radius: 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); overflow: hidden; }
.crew-page svg { display: block; width: 100%; height: auto; }
body.crew-shown { overflow: hidden; }

@media print {
  body.crew-printing { margin: 0; padding: 0; background: #fff; overflow: visible; }
  body.crew-printing > :not(#crewPanel) { display: none !important; }
  body.crew-printing .crew-panel { position: static; overflow: visible; padding: 0; background: #fff; }
  body.crew-printing .crew-tools { display: none; }
  body.crew-printing .crew-pages { display: block; }
  body.crew-printing .crew-page { width: 297mm; height: 210mm; border: 0; border-radius: 0; box-shadow: none; break-after: page; }
  body.crew-printing .crew-page:last-child { break-after: auto; }
  body.crew-printing .crew-page svg { width: 297mm; height: 210mm; }
}
