.epv-viewer{border:1px solid #ddd;background:#f3f3f3;overflow:hidden;position:relative}.epv-toolbar{height:58px;background:#fff;border-bottom:1px solid #ddd;display:flex;align-items:center;gap:8px;padding:8px 10px;box-sizing:border-box}.epv-toolbar button,.epv-download{height:36px;border:1px solid #ddd;background:#fff;padding:0 12px;cursor:pointer;text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;font:inherit}.epv-toolbar button:disabled{opacity:.45;cursor:not-allowed}.epv-page,.epv-zoom{min-width:52px;text-align:center}.epv-spacer{flex:1}.epv-canvas-wrap{height:var(--epv-height);overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:20px;box-sizing:border-box;position:relative;cursor:zoom-in}.epv-canvas-wrap canvas{display:block;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.2);cursor:zoom-in}.epv-canvas-wrap:hover canvas{box-shadow:0 3px 14px rgba(0,0,0,.28)}.epv-click-hint{position:absolute;right:18px;bottom:14px;background:rgba(0,0,0,.65);color:#fff;border-radius:4px;padding:6px 9px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.epv-canvas-wrap:hover .epv-click-hint{opacity:1}.epv-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#666;background:rgba(243,243,243,.85);z-index:2}.epv-empty{padding:20px;border:1px dashed #bbb}.epv-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:999999;background:#f3f3f3}.epv-fullscreen .epv-canvas-wrap{height:calc(100vh - 58px)}body.epv-no-scroll{overflow:hidden}.epv-lightbox{position:fixed;inset:0;z-index:2147483000;display:none}.epv-lightbox.is-open{display:block}.epv-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82)}.epv-lightbox-dialog{position:absolute;inset:3vh 3vw;background:#f3f3f3;border-radius:6px;overflow:hidden;box-shadow:0 10px 50px rgba(0,0,0,.45);display:flex;flex-direction:column}.epv-lightbox-toolbar{height:58px;flex:0 0 58px;background:#fff;border-bottom:1px solid #ddd;display:flex;align-items:center;gap:8px;padding:8px 12px;box-sizing:border-box}.epv-lightbox-toolbar button,.epv-modal-download{height:36px;border:1px solid #ddd;background:#fff;padding:0 12px;cursor:pointer;text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;font:inherit}.epv-lightbox-toolbar button:disabled{opacity:.45;cursor:not-allowed}.epv-modal-page,.epv-modal-zoom{min-width:52px;text-align:center}.epv-close{font-size:24px!important;line-height:1!important;width:40px;padding:0!important}.epv-lightbox-body{position:relative;flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:30px;box-sizing:border-box}.epv-lightbox-body canvas{display:block;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.3);max-width:none}.epv-modal-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#555;background:rgba(243,243,243,.8)}
@media(max-width:600px){.epv-toolbar,.epv-lightbox-toolbar{gap:4px;padding:6px}.epv-toolbar button,.epv-download,.epv-lightbox-toolbar button,.epv-modal-download{padding:0 8px;font-size:13px}.epv-page,.epv-zoom,.epv-modal-page,.epv-modal-zoom{min-width:38px;font-size:13px}.epv-canvas-wrap{padding:10px}.epv-lightbox-dialog{inset:0;border-radius:0}.epv-lightbox-body{padding:10px}.epv-click-hint{display:none}}

.epv-canvas-wrap.epv-clickable{cursor:zoom-in}.epv-canvas-wrap.epv-clickable canvas{cursor:zoom-in}.epv-loading,.epv-modal-loading{pointer-events:none}.epv-click-hint{z-index:5}.epv-lightbox-toolbar{position:relative;z-index:3}.epv-lightbox-backdrop{cursor:default}.epv-modal-fullscreen .epv-lightbox-dialog{inset:0;border-radius:0}.epv-lightbox.is-open{animation:epvFadeIn .15s ease}.epv-clickable:hover{background:#eee}.epv-clickable:hover canvas{transform:scale(1.002);transition:transform .15s ease,box-shadow .15s ease}
@keyframes epvFadeIn{from{opacity:0}to{opacity:1}}

/* v1.4 responsive toolbar + reliable close controls */
.epv-viewer{min-width:0;width:100%;box-sizing:border-box}
.epv-toolbar{position:relative;flex-wrap:wrap;height:auto;min-height:58px;overflow:visible}
.epv-toolbar .epv-spacer{min-width:12px}
.epv-toolbar button,.epv-download{flex:0 0 auto;white-space:nowrap}
.epv-lightbox-dialog{inset:2vh 2vw}
.epv-lightbox-toolbar{position:relative;flex-wrap:wrap;height:auto;min-height:58px;padding-right:58px;overflow:visible}
.epv-lightbox-toolbar .epv-spacer{min-width:12px}
.epv-lightbox-toolbar button,.epv-modal-download{flex:0 0 auto;white-space:nowrap}
.epv-lightbox-toolbar .epv-close{position:absolute!important;right:10px;top:50%;transform:translateY(-50%);z-index:20;width:40px!important;height:40px!important;border-radius:50%;font-size:27px!important;font-weight:700;line-height:38px!important;padding:0!important;margin:0!important;box-shadow:0 1px 5px rgba(0,0,0,.18);background:#fff!important;color:#222!important}
.epv-lightbox-toolbar .epv-close:hover{background:#f3f3f3!important}
.epv-lightbox{padding:0;margin:0}
.epv-lightbox-body{min-height:0}
.epv-lightbox-body canvas{touch-action:pinch-zoom}
@media(max-width:768px){
 .epv-toolbar{gap:5px;padding:7px 8px}
 .epv-toolbar .epv-spacer{display:none}
 .epv-toolbar button,.epv-download{height:38px;min-width:38px;padding:0 9px;font-size:13px}
 .epv-page,.epv-zoom{min-width:42px;font-size:12px}
 .epv-canvas-wrap{height:var(--epv-height);min-height:320px;padding:10px;overflow:auto;-webkit-overflow-scrolling:touch}
 .epv-canvas-wrap canvas{max-width:none;height:auto}
 .epv-lightbox-dialog{inset:0;border-radius:0;width:100vw;height:100dvh;max-width:none;max-height:none}
 .epv-lightbox-toolbar{gap:4px;padding:7px 56px 7px 7px;align-content:center}
 .epv-lightbox-toolbar .epv-spacer{display:none}
 .epv-lightbox-toolbar button,.epv-modal-download{height:38px;min-width:38px;padding:0 8px;font-size:12px}
 .epv-lightbox-toolbar .epv-close{right:8px;top:8px;transform:none;width:40px!important;height:40px!important}
 .epv-lightbox-body{padding:8px;overflow:auto;-webkit-overflow-scrolling:touch;align-items:flex-start}
 .epv-modal-page,.epv-modal-zoom{min-width:40px;font-size:12px}
}
@media(max-width:430px){
 .epv-toolbar button,.epv-download{height:36px;padding:0 7px;font-size:11px}
 .epv-lightbox-toolbar{gap:3px;padding:6px 52px 6px 6px}
 .epv-lightbox-toolbar button,.epv-modal-download{height:36px;padding:0 6px;font-size:11px}
 .epv-page,.epv-zoom,.epv-modal-page,.epv-modal-zoom{min-width:34px;font-size:11px}
 .epv-lightbox-toolbar .epv-close{width:38px!important;height:38px!important;font-size:25px!important}
}
