@page { size: A4 landscape; margin: 0; }
* { box-sizing: border-box; }
body { margin: 0; font-family: "Nunito", "Segoe UI", system-ui, sans-serif; color: #3d2c5e; background: #e9e4dc; }
.toolbar { display: flex; gap: 10px; justify-content: center; align-items: center; flex-wrap: wrap; padding: 12px 16px; font-size: .9rem; }
.toolbar button { font: inherit; font-weight: 700; padding: 8px 18px; border-radius: 999px; border: 2px solid #3d2c5e; background: #fff; cursor: pointer; }

.page {
  width: 297mm;
  height: 210mm;
  max-width: calc(100vw - 32px);
  margin: 0 auto 24px;
  background: #fff;
  box-shadow: 0 2px 14px rgba(0, 0, 0, .18);
  padding: 12mm;
  display: flex;
  flex-direction: column;
  page-break-after: always;
  break-after: page;
  overflow: hidden;
}
@media screen and (max-width: 1150px) { .page { height: auto; aspect-ratio: 297 / 210; } }

.cover { background: linear-gradient(135deg, #fff1c9, #ffe1ec 55%, #e3f6ff); padding: 14mm; }
.cover-frame {
  flex: 1;
  border: 4mm solid #3d2c5e;
  border-radius: 10mm;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  background: rgba(255, 255, 255, .55);
}
.cover-avatar { font-size: 42mm; line-height: 1; }
.cover h1 { font-size: 15mm; margin: 6mm 10mm 2mm; line-height: 1.15; }
.cover-name { font-size: 7mm; margin: 2mm 0; }
.cover-meta { font-size: 5mm; margin: 0; opacity: .75; }
.cover-brand { font-size: 4.5mm; margin-top: 8mm; opacity: .7; }

.art-page img { flex: 1; min-height: 0; width: 100%; object-fit: contain; }
.art-page footer { display: flex; align-items: baseline; gap: 6mm; border-top: .5mm dashed #b8a98f; padding-top: 3mm; margin-top: 3mm; font-size: 5mm; }
.art-page footer strong { flex: 1; font-size: 6mm; }
.page-no { font-weight: 800; }

.end-page { align-items: center; justify-content: center; text-align: center; background: #fff8ec; }
.end-emoji { font-size: 30mm; margin: 0; }
.end-page h2 { font-size: 12mm; margin: 0 0 4mm; }
.end-page p { font-size: 6mm; }

@media print {
  body { background: #fff; }
  .no-print { display: none; }
  .page { margin: 0; box-shadow: none; max-width: none; }
  .cover, .end-page { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
