/* print.css - printable encounter (A4). On screen the print view is hidden. */
@page { size: A4; margin: 12mm 11mm; }
@media print {
  body { background: #fff; font-size: 10pt; }
  #app, dialog, .gloss-pop { display: none !important; }
  .print-view { display: block !important; }
  .ref-tip { text-decoration: none; cursor: auto; }
}
.pv { font-family: var(--sans); color: #111; }
.pv-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; border-bottom: 3px solid var(--rule); padding-bottom: 6px; }
.pv-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: 8.5pt; color: var(--rule); font-weight: 700; }
.pv-head h1 { font-size: 22pt; }
.pv-rate { text-align: right; display: flex; flex-direction: column; }
.pv-rate b { font-size: 13pt; color: var(--rule); }
.pv-rate small { color: #555; font-size: 8pt; }
.pv-meta { margin: 6px 0 10px; font-size: 9.5pt; }
.pv-meta > div { margin: 2px 0; }
.pv-notes { border-left: 3px solid #ccc; padding-left: 8px; margin-top: 4px; font-style: italic; }
.pv-h2 { font-size: 13pt; margin: 12px 0 4px; color: var(--rule); }
table.pv-ov, table.pv-tr { width: 100%; border-collapse: collapse; font-size: 8.8pt; }
table.pv-ov th, table.pv-tr th { text-align: left; border-bottom: 1.5px solid #333; padding: 3px 4px; font-size: 8pt; text-transform: uppercase; letter-spacing: .03em; }
table.pv-ov td, table.pv-tr td { border-bottom: 1px solid #bbb; padding: 3px 4px; vertical-align: top; }
table.pv-ov .sub { font-size: 7.8pt; color: #555; }
table.pv-ov td.atk { font-size: 8.3pt; }
table.pv-ov tr.ally td { background: #eef7f1; }
table.pv-tr td { height: 22px; }
table.pv-tr .c-init { width: 46px; } table.pv-tr .c-ac { width: 36px; } table.pv-tr .c-hp { width: 90px; text-align: right; }
table.pv-tr tr.pc td { background: #f1f3f7; }
table.pv-tr tr.ally td { background: #eef7f1; }
table.pv-tr small { color: #777; }
.pv-blocks { columns: 2; column-gap: 7mm; margin-top: 10px; }
.pv-blocks .statblock { margin: 0 0 5mm; font-size: 8.6pt; line-height: 1.3; padding: 6px 9px 8px; box-shadow: none; display: inline-block; width: 100%; }
.pv-blocks .statblock header h3 { font-size: 13.5pt; }
.pv-blocks .statblock h4.sbh { font-size: 11pt; margin: 5px 0 2px; }
.pv-blocks .statblock table.abil { font-size: 8pt; }
.pv-foot { margin-top: 6mm; font-size: 7.5pt; color: #777; text-align: center; }
@media print { .pv-blocks { break-before: auto; } table.pv-tr { break-inside: auto; } table.pv-tr tr, table.pv-ov tr { break-inside: avoid; } }
.pv-blocks .npccard { break-inside: avoid; page-break-inside: avoid; display: inline-block; width: 100%; margin-bottom: 5mm; }
.pv-blocks .npccard .statblock { margin: 0; }
.pv-blocks .npcdesc { font-size: 8.6pt; padding: 5px 9px; }
