/*
 * The in-app PDF viewer's text layer (file_viewer/pdf_view.js): transparent,
 * selectable text laid over each page's canvas, sized by --scale-factor.
 * Trimmed from pdfjs-dist 4.10.38 web/pdf_viewer.css (Apache-2.0, Mozilla
 * Foundation) to the rules the viewer uses, plus search highlights.
 */
.file-viewer-page .textLayer {
  position: absolute;
  text-align: initial;
  inset: 0;
  overflow: clip;
  opacity: 1;
  line-height: 1;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  caret-color: CanvasText;
  z-index: 0;
}

.file-viewer-page .textLayer :is(span, br) {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0% 0%;
}

.file-viewer-page .textLayer > :not(.markedContent),
.file-viewer-page .textLayer .markedContent span:not(.markedContent) {
  z-index: 1;
}

.file-viewer-page .textLayer span.markedContent {
  top: 0;
  height: 0;
}

.file-viewer-page .textLayer .highlight {
  margin: -1px;
  padding: 1px;
  background-color: rgb(250 204 21 / 0.45);
  border-radius: 4px;
}

.file-viewer-page .textLayer .highlight.appended {
  position: initial;
}

.file-viewer-page .textLayer .highlight.selected {
  background-color: rgb(249 115 22 / 0.55);
}

.file-viewer-page .textLayer ::selection {
  background: rgb(0 0 255 / 0.25);
}

.file-viewer-page .textLayer br::selection {
  background: transparent;
}

.file-viewer-page .textLayer .endOfContent {
  display: block;
  position: absolute;
  inset: 100% 0 0;
  z-index: 0;
  cursor: default;
  user-select: none;
}

/*
 * The page's links (file_viewer/pdf_links.js): transparent anchors over the
 * text layer. The layer itself lets clicks through, so text stays selectable
 * everywhere but on a link.
 */
.file-viewer-page .linkLayer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.file-viewer-page .linkLayer a {
  position: absolute;
  pointer-events: auto;
  cursor: pointer;
  border-radius: 2px;
}

.file-viewer-page .linkLayer a:hover,
.file-viewer-page .linkLayer a:focus-visible {
  background-color: rgb(255 255 0 / 0.2);
  outline: none;
  box-shadow: 0 0 4px rgb(0 0 255 / 1);
}
