.tool--viewer{height:100dvh;overflow:hidden}.tool--viewer #main{height:calc(100dvh - 62px)}
.reader{height:100%;display:flex;flex-direction:column;min-height:0}.reader-toolbar,.reader-find{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #bbb;background:#fff}
#reader-name{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto}#reader-page{width:65px}#reader-query{width:min(300px,50vw)}.reader input,.reader select{padding:6px;border:1px solid #888;border-radius:5px;min-width:0}.reader-find output{font-size:13px;color:#555}
.reader-body{display:flex;flex:1;min-height:0}#reader-aside{width:250px;flex:none;padding:14px;overflow:auto;background:#faf9f6;border-right:1px solid #bbb}#reader-aside[hidden]{display:none}#reader-aside h2{font-size:16px;margin:12px 0}#reader-outline details{margin:4px 0 4px 8px}#reader-outline button,#reader-results button{display:block;max-width:100%;text-align:left;background:none;border:0;padding:8px;color:inherit;cursor:pointer;overflow-wrap:anywhere}#reader-results button[aria-current=true]{background:#ffdf9a}#reader-outline summary{cursor:pointer}
#reader-stage{flex:1;min-width:0;overflow:auto;padding:20px;background:#d7d5d0;position:relative}.reader-sheet{position:relative;margin:auto;background:white;box-shadow:0 2px 10px #0003}.reader-sheet canvas{display:block}.reader-empty{padding:50px 20px;text-align:center}.reader-empty p{font-size:15px;line-height:1.8;color:#555}
.reader.night #reader-stage{background:#181818}.reader.night .reader-sheet{filter:invert(1) hue-rotate(180deg)}.reader.night #reader-aside{background:#242424;color:#eee}.reader.night .reader-empty,.reader.night .reader-empty p{color:#eee}
/* PDF.js TextLayer positioning; no visual text duplication, browser selection stays native. */
.textLayer{position:absolute;inset:0;overflow:clip;line-height:1;letter-spacing:normal;word-spacing:normal;text-align:initial;transform-origin:0 0;text-size-adjust:none;--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))}
.textLayer :is(span,br){position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0 0;user-select:text}
.textLayer > :not(.markedContent),.textLayer .markedContent span:not(.markedContent){font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate,0deg)) scaleX(var(--scale-x,1)) scale(var(--min-font-size-inv));z-index:1}
.textLayer .markedContent{display:contents}.textLayer ::selection{background:#1683ff66}.textLayer .reader-hit{background:#ffc40066}.textLayer .reader-hit-current{outline:2px solid #ed6500;background:#ff770055}
@media(max-width:700px){.tool--viewer #main{height:calc(100dvh - 62px)}.reader-toolbar,.reader-find{padding:6px;gap:5px}#reader-name{max-width:110px;font-size:13px}#reader-aside{width:180px;position:absolute;z-index:3;top:0;bottom:0;box-shadow:3px 0 8px #0003}.reader-body{position:relative}#reader-stage{padding:10px}.reader-toolbar .btn,.reader-find .btn{padding:5px 8px;font-size:12px}}
.textLayer[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}
.textLayer[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}
.textLayer[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}
.reader.night :is(.reader-toolbar,.reader-find){background:#242424;color:#eee;border-color:#555}.reader.night :is(button.btn,input,select){background:#333;color:#eee;border-color:#888}.reader.night .reader-find output{color:#ccc}.reader.night #reader-results button[aria-current=true]{color:#14110f}
.textLayer{--scale-round-x:1px;--scale-round-y:1px}
html:has(body.tool--viewer){overflow:hidden}.tool--viewer{display:flex;flex-direction:column}.tool--viewer .hdr{flex:none}.tool--viewer #main{height:auto;flex:1;min-height:0}.reader.night .btn{background:#333;color:#eee;border-color:#888}
html:has(body.tool--viewer){overflow:clip;height:100%}.tool--viewer{position:fixed;inset:0;width:100%}
