/* Review packs: one continuous page, and the PDF printed from it.
   Screen first, print second, same source. A pack must read linearly with no link
   followed, so nothing here depends on hover, click or colour alone. */
@page { size: A4; margin: 20mm 18mm 18mm 18mm;
  @bottom-center { content: counter(page); font: 9pt var(--sans, sans-serif); color: #8a8578; }
  @top-center { content: string(packtitle); font: 8pt var(--sans, sans-serif); color: #b4afa2; } }
@page :first { @top-center { content: none } @bottom-center { content: none } }

.pack { max-width: 46rem; margin: 0 auto; padding: 1.5rem 1.2rem 4rem }
.pack h1 { string-set: packtitle content(text) }

.packcover { border: 1px solid #e4e0d6; border-left: 5px solid #5b4d8f; border-radius: 0 14px 14px 0;
  padding: 1.6rem 1.8rem; background: #fff; margin-bottom: 1.6rem; page-break-after: always }
.packcover h1 { margin: .2rem 0 .4rem; font-size: 2rem; line-height: 1.15 }
.packcover .packjob { font: 700 .72rem/1 var(--sans); letter-spacing: .09em; text-transform: uppercase; color: #5b4d8f }
.packcover .packlead { font-size: 1.02rem; margin: .6rem 0 1rem }
.packmeta { display: grid; grid-template-columns: auto 1fr; gap: .2rem .9rem; font-size: .84rem }
.packmeta .k { font: 700 .68rem/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: #8a8578 }
.packmeta code { font-size: .78rem; word-break: break-all }
.packnote { margin-top: 1rem; padding: .6rem .8rem; background: #faf3e3; border-left: 3px solid #c9a227;
  border-radius: 0 8px 8px 0; font-size: .86rem }

.pack h2 { margin: 2rem 0 .6rem; font-size: 1.35rem; page-break-after: avoid }
.pack h3 { margin: 1.3rem 0 .4rem; font-size: 1.05rem; page-break-after: avoid }
.pack table { width: 100%; border-collapse: collapse; margin: .7rem 0; font-size: .84rem; page-break-inside: auto }
.pack th { text-align: left; font: 700 .68rem/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase;
  color: #8a8578; border-bottom: 1px solid #e4e0d6; padding: .3rem .5rem .3rem 0; vertical-align: bottom }
.pack td { padding: .35rem .5rem .35rem 0; border-bottom: 1px solid #f4f1e8; vertical-align: top }
.pack tr { page-break-inside: avoid }
.pack figure { margin: 1rem 0; page-break-inside: avoid }
.pack figure img { width: 100%; border: 1px solid #e4e0d6; border-radius: 8px; display: block }
.pack figcaption { font-size: .8rem; color: #5c5f66; margin-top: .35rem; line-height: 1.5 }
.pack figcaption b { color: #3a3b40 }
.packdef { margin: .1rem 0 .35rem; font-size: .9rem }
.packalso { font-size: .8rem; color: #5c5f66 }
.packpeak { font: 700 .62rem/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: #8a6d10;
  border: 1px solid #dfc394; background: #faf3e3; border-radius: 999px; padding: .05rem .4rem }
.packrule { font-family: var(--mono, ui-monospace, monospace); font-size: .78rem; background: #f2f0e9;
  border: 1px solid #e4e0d6; border-radius: 6px; padding: .35rem .55rem; margin: .3rem 0; display: block }
.packask { border: 1px solid #e4e0d6; border-left: 3px solid #0d5c50; border-radius: 0 10px 10px 0;
  padding: .7rem 1rem; margin: .6rem 0; background: #fff; page-break-inside: avoid }
.packask b { display: block; margin-bottom: .2rem }
.packsec { page-break-before: always }
@media print { .pack { max-width: none; padding: 0 } .packcover { page-break-after: always } }
