.bod-media { box-sizing: border-box; max-width: 100%; margin: 1em 0; }
.bod-media *, .bod-media *::before, .bod-media *::after { box-sizing: border-box; }
.bod-video { width: 100%; }
.bod-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.bod-video video { display: block; width: 100%; max-height: 80vh; background: #111; }
.bod-pdf { width: 100%; max-width: 1200px; margin: 1em auto; border: 1px solid #d9dde3; border-radius: 6px; overflow: hidden; background: #f8f9fb; color: #374151; font: 13px/1.4 system-ui, sans-serif; }
.bod-pdf-toolbar { display: flex; flex-wrap: nowrap; gap: 4px; align-items: center; padding: 6px; margin: 0; border-bottom: 1px solid #e2e5e9; overflow-x: auto; white-space: nowrap; }
.bod-pdf-toolbar > * { flex-shrink: 0; }
.bod-pdf button, .bod-pdf select, .bod-pdf input, .bod-pdf a.bod-pdf-icon { font: inherit; color: #374151; background: transparent; border: 1px solid transparent; border-radius: 4px; padding: 0; margin: 0; min-height: 32px; height: 32px; min-width: 0; width: auto; box-shadow: none; line-height: 1.4; text-decoration: none; }
.bod-pdf button { cursor: pointer; }
.bod-pdf button:disabled, .bod-pdf input:disabled, .bod-pdf select:disabled { opacity: .35; cursor: default; }
.bod-pdf .bod-pdf-toolbar .bod-pdf-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; }
.bod-pdf .bod-pdf-icon svg { display: block; width: 16px; height: 16px; }
.bod-pdf .bod-pdf-icon:hover:not(:disabled) { background: #e9edf2; color: #111827; }
.bod-pdf input[data-pdf-page] { width: 36px; text-align: center; border-color: #d9dde3; background: #fff; appearance: textfield; -moz-appearance: textfield; }
.bod-pdf input[data-pdf-page]::-webkit-inner-spin-button, .bod-pdf input[data-pdf-page]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.bod-pdf [data-pdf-count] { padding: 0 2px; font-variant-numeric: tabular-nums; }
.bod-pdf select[data-pdf-zoom] { margin-left: auto; width: 84px; padding: 0 3px; border-color: #d9dde3; background: #fff; appearance: auto; }
.bod-pdf :focus-visible { outline: 2px solid #176cab; outline-offset: -2px; }
.bod-pdf-status { padding: 8px 12px; margin: 0; font-size: 13px; }
.bod-pdf-status:not([data-pdf-error]) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.bod-pdf-viewport { overflow: auto; width: 100%; aspect-ratio: 17 / 22; padding: 10px; background: #e9ecf0; }
.bod-pdf-page { position: relative; margin: 0 auto; background: #fff; box-shadow: 0 1px 6px #0003; }
.bod-pdf-page canvas { display: block; max-width: none; }
/* Text layer rules adapted from Mozilla PDF.js 6.4.299 (Apache-2.0; vendor/pdfjs/LICENSE). */
.bod-pdf .textLayer { color-scheme: only light; position: absolute; text-align: initial; inset: 0; overflow: clip; opacity: 1; line-height: 1; letter-spacing: normal; word-spacing: normal; text-size-adjust: none; -webkit-text-size-adjust: none; forced-color-adjust: none; transform-origin: 0 0; caret-color: CanvasText; --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)); }
.bod-pdf .textLayer :is(span, br) { color: transparent; position: absolute; white-space: pre; cursor: text; transform-origin: 0% 0%; user-select: text; -webkit-user-select: text; }
.bod-pdf .textLayer > :not(.markedContent), .bod-pdf .textLayer .markedContent span:not(.markedContent) { z-index: 1; --font-height: 0; font-size: calc(var(--text-scale-factor) * var(--font-height)); --scale-x: 1; --rotate: 0deg; transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv)); }
.bod-pdf .textLayer .markedContent { display: contents; }
.bod-pdf .textLayer ::selection { background: rgb(0 90 220 / .3); color: transparent; }
.bod-pdf .textLayer br::selection { background: transparent; }
@media (max-width: 480px) { .bod-pdf-toolbar { gap: 2px; padding: 4px; } .bod-pdf-viewport { padding: 6px; } }
