*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.viewer{height:100%;overflow:hidden;background:var(--viewer-bg,#111827);color:white;display:grid;grid-template-rows:58px minmax(0,1fr) 58px;background-color:var(--viewer-bg,#111827)}.viewer-top,.viewer-bottom{background:#0b1020e8;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:30}.viewer-brand{display:flex;align-items:center;gap:10px;font-weight:700;min-width:0}.viewer-brand img{max-height:34px;max-width:120px}.viewer-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-tools{display:flex;gap:8px}.viewer-tools button,.viewer-tools a,.viewer-bottom button,.vbtn{border:1px solid #ffffff2b;background:#ffffff12;color:#fff;border-radius:8px;padding:8px 12px;text-decoration:none;cursor:pointer}.viewer-tools button:hover,.viewer-tools a:hover,.viewer-bottom button:hover{background:#ffffff22}.viewer-bottom{justify-content:center;gap:14px}.book-shell{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:13px 20px}.book-stage{flex:0 0 auto;display:grid;place-items:center;transform-origin:center center;transition:transform .18s ease;filter:drop-shadow(0 12px 22px rgba(0,0,0,.2))}#flipbook{margin:auto}.pdf-page{background:#fff;position:relative;overflow:hidden}.pdf-page canvas{display:block;width:100%;height:100%;background:#fff}.pdf-page.--left{box-shadow:inset -10px 0 18px -14px rgba(0,0,0,.5)}.pdf-page.--right{box-shadow:inset 10px 0 18px -14px rgba(0,0,0,.5)}.page-loading{position:absolute;inset:0;display:grid;place-items:center;color:#9ca3af;font-size:42px;z-index:-1}.hotspot{position:absolute;border:1.5px solid transparent;background:transparent;z-index:20;cursor:pointer;padding:0;overflow:visible}.hotspot:hover,.hotspot:focus{border-color:var(--accent,#2563eb);background:color-mix(in srgb,var(--accent,#2563eb) 12%,transparent);outline:none}.hotspot span{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);background:var(--accent,#2563eb);color:#fff;border-radius:5px;padding:3px 6px;font-size:10px;white-space:nowrap;opacity:0;transition:.15s}.hotspot:hover span{opacity:1}.modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;z-index:100;padding:20px}.modal[hidden]{display:none}.modal-box{position:relative;width:min(900px,96vw);max-height:90vh;background:#fff;color:#111827;border-radius:14px;padding:18px;overflow:auto}.modal-close{position:absolute;right:8px;top:8px;z-index:2;border:0;background:#111827;color:#fff;width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer}.modal iframe{width:100%;height:min(70vh,620px);border:0}.note-content{white-space:pre-wrap;padding:25px;font-size:17px;line-height:1.5}.viewer-message{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:#020617;color:#fff;padding:10px 16px;border-radius:8px;z-index:120}.viewer-error{color:white;text-align:center;padding:40px}.viewer-status{min-height:100vh;margin:0;display:grid;place-items:center;background:#111827;color:white;text-align:center;padding:20px}.viewer-status>div,.password-box{width:min(430px,95vw);background:#ffffff12;border:1px solid #ffffff25;border-radius:16px;padding:28px}.password-box img{max-width:160px;max-height:80px}.password-box input{display:block;width:100%;padding:11px;border-radius:8px;border:1px solid #ffffff35;background:#fff;color:#111;margin:15px 0}.vbtn{display:inline-block;background:var(--accent,#2563eb);border:0}.v-error{background:#ef444433;color:#fecaca;padding:8px;border-radius:7px}.page-jump{display:inline-flex;align-items:center;gap:5px}.page-jump input{width:58px;border:1px solid #ffffff2b;background:#ffffff12;color:#fff;border-radius:7px;padding:6px;text-align:center}.page-jump input::-webkit-inner-spin-button{opacity:.5}@media(max-width:760px){.viewer{grid-template-rows:54px minmax(0,1fr) 54px}.viewer-brand span{max-width:44vw}.viewer-tools button,.viewer-tools a,.viewer-bottom button{padding:7px 10px}.book-shell{padding:7px 8px}.hotspot span{display:none}.book-stage{filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}}
