:root{color-scheme:dark;--bg:#121820;--panel:#19222c;--line:#2a3744;--text:#edf3f7;--muted:#9aabba;--accent:#36b6a5;--danger:#ffb4a9;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}*[hidden]{display:none!important}html,body{width:100%;height:100%;margin:0;background:var(--bg);color:var(--text)}body{overflow:hidden}.viewer{height:100dvh;min-height:260px;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.brand,.toolbar__controls,.toolbar__actions{display:flex;align-items:center;gap:8px}.brand{font-weight:650;white-space:nowrap}.brand__logo{width:132px;height:30px;object-fit:contain}.toolbar button,.button{min-height:36px;min-width:36px;padding:0 10px;border:1px solid #40505e;border-radius:7px;background:#25313c;color:var(--text);font:inherit;cursor:pointer}.toolbar button:hover:enabled,.button:hover{background:#30414f}.toolbar button:disabled{opacity:.4;cursor:default}.button{display:inline-flex;align-items:center;justify-content:center;min-width:0;font-size:13px}.button--subtle{background:transparent}.file-picker{position:relative;overflow:hidden}.file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.page-count{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.page-count input{width:52px;height:34px;padding:0 6px;border:1px solid #40505e;border-radius:6px;background:#121820;color:var(--text);font:inherit;text-align:center}.toolbar__divider{height:24px;border-left:1px solid var(--line);margin:0 3px}#zoom-label{min-width:62px;text-align:center;color:var(--muted);font-size:12px}.workspace{position:relative;overflow:auto;min-height:0;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 40px;background:#0f151b;overscroll-behavior:contain}.page-host{display:none;position:relative;flex:0 0 auto;background:white;box-shadow:0 8px 30px #0008}.page-host.is-visible{display:block}.page-host canvas{display:block;max-width:none}.textLayer{position:absolute;inset:0;overflow:hidden;line-height:1;opacity:.25;transform-origin:0 0;user-select:text;-webkit-user-select:text}.textLayer span,.textLayer br{position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0 0}.textLayer ::selection{background:rgba(55,130,255,.35)}.message-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-align:center;box-shadow:0 18px 60px #0004}.message-card[hidden]{display:none}.message-card h1{margin:12px 0 8px;font-size:21px}.message-card p{margin:8px 0;color:var(--muted)}.message-card .privacy-note{font-size:12px}.message-card__icon{display:grid;place-items:center;width:50px;height:50px;margin:auto;border-radius:12px;background:#243b44;color:#b7f5ea;font-size:13px;font-weight:750}.message-card--error{border-color:#75443f}.message-card--error .message-card__icon{background:#4a2d2a;color:var(--danger)}.message-card--error h1{color:var(--danger)}.message-card--error .button{margin-top:10px}.spinner{display:inline-block;width:28px;height:28px;border:3px solid #52606d;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.statusbar{display:flex;justify-content:space-between;gap:12px;min-height:30px;padding:5px 12px;background:var(--panel);border-top:1px solid var(--line);color:var(--muted);font-size:11px}.statusbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.toolbar{flex-wrap:wrap;justify-content:center;gap:7px;padding:7px 9px}.brand{width:100%;justify-content:center;font-size:14px}.toolbar__controls{justify-content:center}.toolbar__actions{justify-content:center}.toolbar button,.button{min-height:34px}.workspace{padding:12px 6px 24px}.statusbar{font-size:10px}}
@media(max-width:430px){.toolbar__controls{gap:5px}.toolbar__controls button{min-width:32px;padding:0 7px}.page-count input{width:44px}.toolbar__actions{width:100%}.toolbar__actions .button{flex:1}.message-card{padding:22px 17px}}
/* PDF.js text spans keep selectable text aligned with the rendered canvas. */
.textLayer{color-scheme:only light;text-align:initial;letter-spacing:normal;word-spacing:normal;text-size-adjust:none;forced-color-adjust:none;z-index:0;--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>:not(.markedContent),.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))}.textLayer .markedContent{display:contents}
@media(max-width:360px){.toolbar__controls{flex-wrap:wrap;max-width:100%;justify-content:center}.toolbar__controls #zoom-label{min-width:54px}}

