* { box-sizing: border-box; }
body { margin: 0; background: #eaf2ef; color: #173c37; font-family: Arial, sans-serif; }
.print-toolbar { max-width: 960px; margin: auto; padding: 20px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.print-toolbar div { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
a { color: #12605b; }
button { font: inherit; border: 0; border-radius: 6px; background: #173c37; color: #fff; padding: 12px 20px; cursor: pointer; }
:focus-visible { outline: 3px solid #bc2949; outline-offset: 4px; }
.coloring-page { width: min(8.5in, 100%); margin: 0 auto 30px; padding: 24px; background: white; color: #111; text-align: center; }
h1 { font-size: 24px; margin: 8px 0; }
header p, footer p { font-size: 12px; margin: 6px 0; }
.coloring-page img { display: block; width: 100%; height: auto; }
@page { size: letter portrait; margin: .4in; }
@media print {
  body { background: #fff; }
  .print-toolbar { display: none; }
  .coloring-page { width: 100%; height: 10.1in; margin: 0; padding: 0; display: flex; flex-direction: column; break-inside: avoid; }
  header { flex: 0 0 .8in; }
  .coloring-page img { flex: 1 1 auto; min-height: 0; width: 100%; height: 8.5in; object-fit: contain; }
  footer { flex: 0 0 .6in; }
}
