.reader-shell{height:95vh;min-height:480px;display:flex;flex-direction:column;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;position:relative;background:#e2e8f0;color:#1e293b}
.reader-shell:fullscreen{height:100vh!important;min-height:0;border-radius:0}
.reader-resize-handle{height:14px;flex-shrink:0;padding:0;border:0;border-top:1px solid #cbd5e1;background:#f8fafc;cursor:ns-resize;touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center}
.reader-resize-handle::after{content:'';width:40px;height:3px;border-radius:2px;background:#94a3b8}
.reader-resize-handle:hover,.reader-resize-handle:focus-visible,.reader-resize-handle.active{background:#bfdbfe}
.reader-shell:fullscreen .reader-resize-handle{display:none}
.dark .reader-resize-handle{background:#0f172a;border-color:#475569}.dark .reader-resize-handle:hover,.dark .reader-resize-handle:focus-visible,.dark .reader-resize-handle.active{background:#334155}
.reader-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #cbd5e1;font-size:13px;flex-shrink:0}
.reader-toolbar button,.reader-toolbar select,.reader-popup button{padding:5px 9px;border:1px solid #94a3b8;border-radius:5px;background:#fff;color:#1e293b;cursor:pointer}
.reader-toolbar button:disabled{opacity:.5;cursor:default}.reader-toolbar label{display:inline-flex;align-items:center;gap:5px}.reader-toolbar input[type=number]{width:55px;color:#1e293b;background:white;border:1px solid #94a3b8;border-radius:4px;padding:3px}
.reader-toolbar .reader-primary{background:#2563eb;border-color:#2563eb;color:white}.reader-seek{flex:1;min-width:100px}.reader-status{font-size:12px;padding:5px 12px;background:#f8fafc;min-height:25px;flex-shrink:0}.reader-pages{overflow:auto;flex:1;min-height:0;padding:18px 52px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;overscroll-behavior:contain}
.reader-page{position:relative;flex:none;margin-inline:auto;background:white;box-shadow:0 2px 7px #0002}.reader-page>.pdf-page-wrapper{position:relative;overflow:hidden;background:white}.reader-page-play{position:absolute;right:calc(100% + 9px);top:4px;width:32px;height:32px;border:1px solid #94a3b8;border-radius:50%;background:white;color:#2563eb;cursor:pointer}.reader-page-play:disabled{opacity:.5;cursor:default}.reader-page-label{position:absolute;right:7px;top:5px;z-index:4;background:#ffffffdf;border-radius:3px;padding:2px 4px;font:11px system-ui;color:#64748b;pointer-events:none}
.reader-ink{position:absolute;inset:0;pointer-events:none;z-index:3}.reader-word{position:absolute;border-radius:2px;box-sizing:border-box;transition:background-color 80ms linear}.reader-word[data-category=citation]{border-bottom:1.5px dotted #8b5cf6}.reader-word[data-category=footnote]{border-bottom:1.5px dashed #0d9488}.reader-hide-marks .reader-word{border-bottom:0}.reader-legend{font-size:11px;color:#64748b}.reader-legend-citation{border-bottom:1.5px dotted #8b5cf6}.reader-legend-footnote{border-bottom:1.5px dashed #0d9488}.reader-popup{position:absolute;z-index:20;background:white;border:1px solid #94a3b8;border-radius:7px;padding:6px;box-shadow:0 3px 14px #0003;max-width:280px}.reader-popup[hidden]{display:none}.reader-badge{font-size:10px;margin-left:5px;padding:2px 5px;border-radius:4px;background:#fef3c7;color:#92400e}.reader-empty{padding:35px;text-align:center;color:#64748b}
.dark .reader-shell{background:#1e293b}.dark .reader-toolbar,.dark .reader-status{background:#0f172a;color:#e2e8f0;border-color:#475569}.dark .reader-legend{color:#94a3b8}
@media(max-width:640px){.reader-pages{padding:40px 8px 12px;gap:44px}.reader-page-play{right:auto;left:0;top:-33px;width:auto;height:28px;border-radius:4px;padding:2px 10px}.reader-page-play::after{content:' Play page'}.reader-toolbar{gap:6px;padding:6px}.reader-legend{display:none}}
@media(prefers-reduced-motion:reduce){.reader-word{transition:none}}
/* PDF.js 3.x positions text in unrotated page coordinates. */
.reader-page .textLayer[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}
.reader-page .textLayer[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}
.reader-page .textLayer[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}
.reader-speed{display:flex;align-items:center;gap:4px;margin-left:auto}.reader-speed output{width:48px;text-align:center;font:14px ui-monospace,monospace}.reader-speed-presets{display:flex;gap:4px;margin-left:8px}.reader-speed button{border:0;background:#e5e7eb;font-weight:500}.reader-speed-presets button{background:#f3f4f6;font-size:12px}.reader-speed button:hover{background:#d1d5db}.reader-speed-presets button[aria-pressed=true]{background:#dbeafe;color:#1d4ed8}
.reader-timeline{display:block;padding-top:4px;padding-bottom:5px}.reader-timeline .reader-seek{display:block;width:100%;margin:0;height:18px;accent-color:#2563eb}.reader-page-markers{position:relative;height:25px;margin:0 8px}.reader-page-markers:empty{height:0}.reader-toolbar .reader-page-marker{position:absolute;top:0;transform:translateX(-50%);width:12px;height:24px;padding:0;border:0;border-radius:2px;background:transparent;color:#64748b}.reader-page-marker::before{content:'';position:absolute;left:5px;top:-6px;width:2px;height:10px;background:#94a3b8;pointer-events:none}.reader-page-marker span{position:absolute;left:6px;top:7px;white-space:nowrap;font-size:10px;line-height:14px}.reader-page-marker:hover,.reader-page-marker:focus-visible{color:#2563eb;z-index:2}.reader-page-marker:hover span,.reader-page-marker:focus-visible span{visibility:visible!important;background:#f8fafc}.reader-page-marker:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.reader-page-marker:hover::before{background:#2563eb}
.dark .reader-speed button{background:#334155;color:#e2e8f0}.dark .reader-speed button:hover{background:#475569}.dark .reader-speed-presets button[aria-pressed=true]{background:#1e40af;color:#dbeafe}.dark .reader-page-marker{color:#94a3b8}.dark .reader-page-marker:hover span,.dark .reader-page-marker:focus-visible span{background:#0f172a;color:#93c5fd}
@media(max-width:640px){.reader-speed{margin-left:0}.reader-timeline{padding-inline:10px}}

.reader-word[data-category=header_footer],.reader-word[data-category=bibliography],.reader-legend-clutter{border-bottom:1.5px dotted #b45309}
.reader-word[data-override=skip]{border-bottom:2px dashed #dc2626}.reader-word[data-override=read]{border-bottom:2px solid #16a34a}
.reader-hide-marks .reader-word{border-bottom:0}.reader-popup button{display:block;width:100%;text-align:left;padding:5px 8px}.reader-popup p{font-size:12px;max-height:100px;overflow:auto;margin:4px 8px 8px}
/* Revealing Return to reading on pointerdown must not move the clicked word. */
#reader-return[hidden]{display:inline-block;visibility:hidden;pointer-events:none}
