.cv-pdf-pages { display: grid; gap: 1.5rem; }
.cv-pdf-page { position: relative; width: 100%; background: #fff; box-shadow: 0 1px 8px rgb(0 0 0 / .12); overflow: hidden; }
.cv-pdf-page canvas { display: block; width: 100%; height: 100%; }
.cv-pdf-status { color: var(--muted); }
.cv-pdf-link { position: absolute; z-index: 2; }
.cv-pdf-link:hover { background: rgb(40 92 145 / .12); }
.cv-pdf-link:focus-visible { outline-offset: 0; }
/* PDF.js text layer rules adapted from Mozilla's Apache-2.0 viewer stylesheet.
   License: vendor/pdfjs/LICENSE. Text is generated from the PDF at runtime. */
.cv-pdf-page .textLayer {
  position: absolute; inset: 0; overflow: hidden; line-height: 1;
  text-align: initial; letter-spacing: normal; word-spacing: normal;
  -webkit-text-size-adjust: none; text-size-adjust: none;
  transform-origin: 0 0; z-index: 1;
  --min-font-size: 1;
  --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
  --min-font-size-inv: calc(1 / var(--min-font-size));
}
.cv-pdf-page .textLayer :is(span, br) {
  color: transparent; position: absolute; white-space: pre; cursor: text;
  transform-origin: 0 0; -webkit-user-select: text; user-select: text;
}
.cv-pdf-page .textLayer > :not(.markedContent),
.cv-pdf-page .textLayer .markedContent span:not(.markedContent) {
  --font-height: 0; --scale-x: 1; --rotate: 0deg;
  font-size: calc(var(--text-scale-factor) * var(--font-height));
  transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));
}
.cv-pdf-page .textLayer .markedContent { display: contents; }
.cv-pdf-page .textLayer ::selection { background: rgb(40 92 145 / .25); color: transparent; }
@media print {
  @page { size: letter; margin: 0; }
  .cv-layout .page-title, .cv-pdf-status, .cv-pdf-page .textLayer, .cv-pdf-link { display: none !important; }
  .cv-pdf-pages { display: block; }
  .cv-pdf-page { width: 8.5in; height: 11in !important; box-shadow: none; break-inside: avoid; break-after: page; }
  .cv-pdf-page:last-child { break-after: auto; }
}
