/* PDF-Reader: Seiten untereinander, Seitenleiste mit Markierungen, Textebene von pdf.js. */
.pdf-reader { display: flex; flex-direction: column; height: calc(100vh - 7rem); min-height: 28rem; }
.pdf-leiste { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); flex-wrap: wrap; padding-bottom: var(--s-3); }
.pdf-titel { margin: 0; font-size: var(--fs-lg); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46rem; }
.pdf-steuer { display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.pdf-steuer button { min-width: 2rem; }
.pdf-seite input { width: 4rem; }
.pdf-zoom { min-width: 3.2rem; text-align: center; color: var(--fg-muted); font-size: var(--fs-sm); }
.pdf-rahmen { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: var(--s-4); flex: 1; min-height: 0; }
.pdf-ansicht { overflow: auto; border: 1px solid var(--line); border-radius: var(--r-3); background: var(--surface-1); padding: var(--s-4); outline: none; }
.pdf-seiten { display: flex; flex-direction: column; align-items: center; gap: var(--s-4); }
.pdf-laden { color: var(--fg-muted); }
.pdf-laden.fehler { color: var(--danger); }
.pdf-seite-box { position: relative; flex: none; background: #ffffff; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35); }
.pdf-nr { position: absolute; top: var(--s-1); left: calc(100% + var(--s-2)); color: var(--fg-subtle); font-size: var(--fs-micro); }
.pdf-leinwand { display: block; }
.pdf-text { position: absolute; inset: 0; overflow: clip; line-height: 1; text-size-adjust: none; forced-color-adjust: none; transform-origin: 0 0; z-index: 1; --total-scale-factor: calc(var(--scale-factor, 1) * var(--user-unit, 1)); }
.pdf-text :is(span, br) { color: transparent; position: absolute; white-space: pre; cursor: text; transform-origin: 0% 0%; }
.pdf-text > :not(.markedContent), .pdf-text .markedContent span:not(.markedContent) { z-index: 1; }
.pdf-text ::selection { background: var(--accent-border); }
.pdf-markierungen { position: absolute; inset: 0; pointer-events: none; z-index: 2; mix-blend-mode: multiply; }
.pdf-markierung { position: absolute; background: rgba(255, 216, 77, 0.45); border-radius: 2px; }
.pdf-markierung.blinkt { outline: 2px solid var(--warn); animation: pdf-blink 0.4s ease-in-out 3; }
@keyframes pdf-blink { 50% { background: rgba(255, 216, 77, 0.9); } }
.pdf-seitenleiste { overflow: auto; border: 1px solid var(--line); border-radius: var(--r-3); background: var(--surface-1); padding: var(--s-3) var(--s-4); }
.pdf-seitenleiste h2 { margin: 0 0 var(--s-1); font-size: var(--fs-md); }
.pdf-liste { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: grid; gap: var(--s-2); }
.pdf-eintrag { display: grid; gap: 2px; width: 100%; padding: var(--s-2); text-align: left; border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface-2); color: var(--fg); cursor: pointer; font: inherit; }
.pdf-eintrag:hover { border-color: var(--accent-border); }
.pdf-zitat { color: var(--fg-muted); font-size: var(--fs-sm); }
.pdf-komm { font-size: var(--fs-base); }
.pdf-popover { position: fixed; z-index: 70; width: 17rem; padding: var(--s-3); border: 1px solid var(--accent-border); border-radius: var(--r-3); background: var(--surface-3); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45); display: grid; gap: var(--s-2); }
.pdf-popover[hidden] { display: none; }
.pdf-popover textarea { width: 100%; box-sizing: border-box; resize: vertical; }
.pdf-popover-knoepfe { display: flex; gap: var(--s-2); }
@media (max-width: 900px) { .pdf-rahmen { grid-template-columns: minmax(0, 1fr); } .pdf-seitenleiste { max-height: 12rem; } }
.pdf-markierung.vorschau { background: var(--accent-soft); outline: 1px dashed var(--accent); }
