.edb-viewer-page{color:#132936;font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.edb-viewer-page *{box-sizing:border-box}
.edb-shell{display:flex;flex-direction:column;height:100dvh;background:#eef3f8}
.edb-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff;border-bottom:1px solid #dde5ec;position:relative;z-index:2}
.edb-head-main{display:flex;align-items:flex-start;gap:16px;min-width:0}
.edb-title-group{min-width:0}
.edb-doc-title{font-size:clamp(1.1rem,2vw,1.45rem);margin:0;color:#12293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(62vw,900px)}
.edb-doc-meta{margin:4px 0 0;color:#5d7484;font-size:.92rem}
.edb-dot{margin:0 6px}
.edb-back-link,.edb-download-btn,.edb-toolbar button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;border:1px solid #cbd6df;border-radius:10px;min-height:40px;min-width:40px;padding:8px 14px;background:#fff;color:#132936;font:inherit}
.edb-back-link:hover,.edb-download-btn:hover,.edb-toolbar button:hover{background:#f5f9fc}
.edb-download-btn{background:#132936;color:#fff;border-color:#132936}
.edb-download-btn:hover{background:#1d3f59}
.edb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#f7fafc;border-bottom:1px solid #dde5ec;position:relative;z-index:1;flex-wrap:nowrap}
.edb-toolbar-left,.edb-toolbar-center,.edb-toolbar-right{display:flex;align-items:center;gap:8px}
.edb-toolbar-center{margin-inline:auto}
.edb-zoom-text,.edb-position{font-variant-numeric:tabular-nums;min-width:64px;text-align:center;color:#496373;font-weight:600}
.edb-stage{position:relative;flex:1;min-height:0;overflow:auto;background:linear-gradient(180deg,#dde6ee 0%,#edf2f7 100%);touch-action:pan-y}
.edb-stage.edb-can-pan{touch-action:pan-x pan-y}
.edb-pages{min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px}
.edb-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:14px 22px;background:#102334db;color:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);text-align:center;max-width:min(90vw,520px)}
.edb-message[hidden]{display:none}
.edb-book{display:flex;align-items:stretch;gap:20px;perspective:1600px}
.edb-book.anim-next .edb-sheet,.edb-book.anim-prev .edb-sheet{animation-duration:.25s;animation-timing-function:ease-out}
.edb-book.anim-next .edb-sheet{animation-name:edbTurnNext}
.edb-book.anim-prev .edb-sheet{animation-name:edbTurnPrev}
.edb-sheet{background:#fff;border-radius:8px;padding:14px;box-shadow:0 18px 42px rgba(15,36,53,.16),0 2px 10px rgba(15,36,53,.08);position:relative}
.edb-sheet::after{content:"";position:absolute;inset:0;border-radius:8px;border:1px solid rgba(16,35,52,.08);pointer-events:none}
.edb-sheet--single{margin-inline:auto}
.edb-sheet canvas{display:block;background:#fff;max-width:none}
.edb-page-number{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.82rem;color:#6e8292}
.edb-error-box{max-width:760px;margin:48px auto;padding:24px;border:1px solid #dbe4eb;border-radius:16px;background:#fff;box-shadow:0 10px 32px rgba(15,36,53,.07)}
.edb-mobile-close{display:none}
.edb-fit-button,.edb-spread-button{font-size:1rem}.edb-spread-button{display:none}

.edb-shell.is-mobile{background:#fff}
.edb-shell.is-mobile .edb-back-link,.edb-shell.is-mobile .edb-title-group,.edb-shell.is-mobile .edb-head-actions,.edb-shell.is-mobile .edb-zoom-out,.edb-shell.is-mobile .edb-zoom-in,.edb-shell.is-mobile .edb-zoom-text{display:none !important}
.edb-shell.is-mobile .edb-viewer-header{position:fixed;left:0;right:0;bottom:0;top:auto;padding:10px 12px;display:flex;align-items:center;justify-content:stretch;gap:0;flex-wrap:nowrap;background:rgba(255,255,255,.98);border-top:1px solid #dde5ec;border-bottom:0;backdrop-filter:blur(8px);box-shadow:0 -8px 24px rgba(15,36,53,.08)}
.edb-shell.is-mobile .edb-head-main{display:none}
.edb-shell.is-mobile .edb-toolbar{width:100%;padding:0;border:0;background:transparent;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.edb-shell.is-mobile .edb-toolbar-left{justify-self:start}
.edb-shell.is-mobile .edb-toolbar-center{justify-self:center;gap:10px;margin:0}
.edb-shell.is-mobile .edb-toolbar-right{justify-self:end}
.edb-shell.is-mobile .edb-toolbar button{min-width:36px;min-height:36px;padding:6px 8px;border-radius:8px}
.edb-shell.is-mobile .edb-mobile-close{display:inline-flex}
.edb-shell.is-mobile .edb-position{min-width:54px;padding:0 2px;font-size:.82rem;color:#496373}
.edb-shell.is-mobile .edb-stage{background:#fff;overflow:auto;padding-bottom:62px}
.edb-shell.is-mobile .edb-pages{padding:0;align-items:flex-start;justify-content:flex-start;width:max-content;min-width:100%;min-height:100%}
.edb-shell.is-mobile .edb-pages.anim-mobile-next .edb-sheet--single{animation:edbMobileSlideNext .2s ease-out}
.edb-shell.is-mobile .edb-pages.anim-mobile-prev .edb-sheet--single{animation:edbMobileSlidePrev .2s ease-out}
.edb-shell.is-mobile .edb-sheet{padding:0;border-radius:0;box-shadow:none;width:max-content;will-change:transform}
.edb-shell.is-mobile .edb-sheet::after,.edb-shell.is-mobile .edb-page-number{display:none}
.edb-shell.is-mobile .edb-sheet canvas{box-shadow:none;display:block}
.edb-shell.is-mobile .edb-message{background:#0e2234f0}

@keyframes edbTurnNext{from{transform:rotateY(-8deg) translateX(18px);opacity:.76}to{transform:none;opacity:1}}
@keyframes edbTurnPrev{from{transform:rotateY(8deg) translateX(-18px);opacity:.76}to{transform:none;opacity:1}}
@keyframes edbMobileSlideNext{from{transform:translateX(18px);opacity:.78}to{transform:none;opacity:1}}
@keyframes edbMobileSlidePrev{from{transform:translateX(-18px);opacity:.78}to{transform:none;opacity:1}}

@media (max-width:991.98px){body:has(#edb-viewer-app){overflow:hidden}.edb-viewer-page,.edb-viewer-page .edb-shell{position:fixed;inset:0;width:100vw;height:100dvh;z-index:9999;background:#fff}}

.edb-shell.is-desktop .edb-viewer-header{display:none}.edb-shell.is-desktop .edb-spread-button{display:inline-flex}.edb-sheet{cursor:pointer}.edb-shell.is-mobile .edb-spread-button{display:none}

/* v2.2 desktop advanced reader */
.edb-shell.is-desktop .edb-viewer-header{display:flex;order:0;justify-content:center;background:#fff;border-bottom:1px solid #dbe4eb}
.edb-shell.is-desktop .edb-head-main{width:100%;justify-content:center}
.edb-shell.is-desktop .edb-title-group{text-align:center}
.edb-shell.is-desktop .edb-head-actions,.edb-shell.is-desktop .edb-back-link{position:absolute;left:18px}
.edb-shell.is-desktop .edb-toolbar{order:3;position:relative;border-top:1px solid #dde5ec;border-bottom:0}
.edb-shell.is-desktop .edb-stage{order:2}
.edb-page-grid{display:grid;grid-template-columns:repeat(var(--edb-grid-cols), minmax(140px,1fr));gap:18px;align-items:start;width:100%;padding:24px}
.edb-grid-sheet{cursor:pointer;transform-origin:center;transition:transform .2s ease,box-shadow .2s ease}
.edb-grid-sheet:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(15,36,53,.25)}
.edb-toolbar button{cursor:pointer}
.edb-toolbar button:active{transform:scale(.96)}
.edb-sheet{cursor:grab}
.edb-sheet:active{cursor:grabbing}

/* v2.2.1 desktop floating toolbar and navigation */
.edb-shell.is-desktop .edb-viewer-header{display:flex}
.edb-shell.is-desktop .edb-head-actions{left:auto;right:18px}
.edb-shell.is-desktop .edb-toolbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:auto;border-radius:999px;padding:6px 10px;gap:4px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:20}
.edb-shell.is-desktop .edb-toolbar button{min-width:34px;min-height:34px;padding:5px 8px}
.edb-stage-nav{display:none}
.edb-shell.is-desktop .edb-stage-nav{display:flex;position:absolute;top:50%;transform:translateY(-50%);z-index:10;border:0;background:rgba(255,255,255,.85);width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;font-size:22px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.edb-stage-prev{left:18px}
.edb-stage-next{right:18px}
.edb-shell.is-desktop .edb-stage-nav:hover{background:#fff}
.edb-shell.is-desktop .edb-sheet{cursor:pointer}
.edb-shell.is-desktop .edb-sheet--single{cursor:grab;margin:10px;max-width:calc(100% - 20px);max-height:calc(100% - 20px)}
.edb-shell.is-desktop .edb-sheet--single:active{cursor:grabbing}
.edb-shell.is-desktop .edb-pages.edb-single-view{padding:0;background:transparent;align-items:center;justify-content:center;height:auto;min-height:0}
.edb-shell.is-desktop .edb-grid-sheet{cursor:pointer}
.edb-shell.is-desktop .edb-grid-sheet:hover{cursor:pointer}
/* v2.2.2 desktop stage toolbar update */
.edb-shell.is-desktop .edb-stage{position:relative;overflow:auto}
.edb-shell.is-desktop .edb-toolbar{
 position:absolute;
 left:50%;
 bottom:16px;
 transform:translateX(-50%);
 width:auto;
 border-radius:999px;
 padding:5px 8px;
 gap:3px;
 background:rgba(255,255,255,.96);
 box-shadow:0 8px 24px rgba(0,0,0,.18);
 z-index:30;
}
.edb-shell.is-desktop .edb-toolbar-left,.edb-shell.is-desktop .edb-toolbar-center,.edb-shell.is-desktop .edb-toolbar-right{gap:3px}
.edb-shell.is-desktop .edb-toolbar button{min-width:32px;min-height:32px;padding:4px 7px}
.edb-shell.is-desktop .edb-stage-nav{display:none!important}
.edb-shell.is-desktop .edb-spread-button{display:inline-flex;margin-left:4px}
.edb-shell.is-desktop .edb-mobile-close{display:none!important}
.edb-shell.is-desktop .edb-sheet--single{margin:0;max-width:100%;max-height:100%;cursor:default}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed{cursor:grab !important}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed:active{cursor:grabbing !important}
.edb-shell.is-desktop .edb-single-view{padding:0}
.edb-shell.is-desktop .edb-sheet{cursor:pointer}
.edb-shell.is-desktop .edb-sheet--single canvas{max-width:100%;height:auto}
.edb-shell.is-desktop .edb-stage{cursor:default}
.edb-shell.is-desktop .edb-sheet:hover{cursor:pointer}

/* v2.3 desktop zoom interaction */
.edb-zoom-tool.active{background:#132936;color:#fff}
.edb-zoom-tool-active .edb-shell.is-desktop .edb-stage,
.edb-zoom-tool-active .edb-shell.is-desktop .edb-sheet,
.edb-zoom-tool-active .edb-shell.is-desktop .edb-grid-sheet{cursor:zoom-in}
.edb-zoom-tool-active .edb-shell.is-desktop .edb-grid-sheet:hover{cursor:pointer}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed{cursor:grab !important}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed:active{cursor:grabbing !important}
.edb-shell.is-desktop .edb-toolbar{bottom:6px}
.edb-shell.is-desktop .edb-stage{padding-bottom:52px}
.edb-shell.is-desktop .edb-sheet--single canvas{max-width:none}

/* v2.3.4 professional desktop zoom interaction */
.edb-shell.is-desktop .edb-toolbar{
  bottom:12px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-width:280px;
}
.edb-shell.is-desktop .edb-toolbar-left{justify-self:start}
.edb-shell.is-desktop .edb-toolbar-center{justify-self:center;margin:0}
.edb-shell.is-desktop .edb-toolbar-right{justify-self:end}
.edb-shell.is-desktop .edb-zoom-text{display:none!important}
.edb-stage.cursor-zoom{cursor:zoom-in}
.edb-stage.cursor-pan{cursor:grab}
.edb-stage.cursor-link{cursor:pointer}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet,
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet *{cursor:default !important}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed{cursor:grab !important}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed:active{cursor:grabbing !important}
.edb-zoom-tool.active{transform:scale(1.03);background:#132936;color:#fff}
.edb-shell.is-desktop .edb-grid-sheet{cursor:pointer}
.edb-shell.is-desktop .edb-page-grid{user-select:none}

/* v2.3.5 desktop layout refinement */
.edb-shell.is-desktop .edb-toolbar{
  position:absolute;
  left:50%;
  bottom:4px;
  transform:translateX(-50%);
  z-index:40;
}

.edb-shell.is-desktop .edb-pages.edb-single-view{
  width:100%;
  min-height:100%;
  height:100%;
  padding:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet--single{
  margin:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
  transform-origin:center center;
}

.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet--single canvas{
  display:block;
}

.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet,
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet *{
  cursor:default!important;
}

.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed{
  cursor:grab!important;
}

.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed:active{
  cursor:grabbing!important;
}

/* v9 single view zoom pan restore */
.edb-shell.is-desktop .edb-stage:has(.edb-single-view .edb-sheet.is-zoomed){
  overflow:auto;
  cursor:grab;
}
.edb-shell.is-desktop .edb-stage:has(.edb-single-view .edb-sheet.is-zoomed).edb-dragging{
  cursor:grabbing;
}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed{
  cursor:grab!important;
  user-select:none;
}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet.is-zoomed:active{
  cursor:grabbing!important;
}

/* v2.3 desktop smooth single page panning */
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet--single.is-zoomed{
    cursor:grab!important;
    will-change:transform;
}
.edb-shell.is-desktop .edb-pages.edb-single-view .edb-sheet--single.is-zoomed.edb-dragging{
    cursor:grabbing!important;
    transition:none!important;
}
.edb-shell.is-desktop .edb-pages.edb-single-view{
    overflow:hidden;
}

/* v2.3.6 desktop multi-page grid repair */
.edb-shell.is-desktop .edb-page-grid{
  display:grid;
  grid-template-columns:repeat(var(--edb-grid-cols), minmax(180px, 1fr));
  grid-auto-rows:auto;
  align-items:center;
  justify-items:center;
  gap:24px;
  width:100%;
  height:100%;
  padding:36px 70px 70px;
  overflow:hidden;
}
.edb-shell.is-desktop .edb-grid-sheet{
  width:auto;
  max-width:100%;
  transform:none;
  margin:0;
}
.edb-shell.is-desktop .edb-grid-sheet canvas{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.edb-shell.is-desktop .edb-grid-sheet:hover{
  transform:translateY(-2px);
}

/* v2.3.7 desktop multi page uniform paper frame repair */
/* Semua halaman pada mode 1-4, 1-6 dan 1-8 menggunakan frame yang sama.
   Halaman portrait/landscape tetap proporsional dan area kosong otomatis menjadi padding putih. */
.edb-shell.is-desktop .edb-page-grid .edb-grid-sheet{
  width:100%;
  aspect-ratio: 1 / 1.32;
  min-height:0;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  padding:14px;
  border-radius:8px;
  box-shadow:0 18px 42px rgba(15,36,53,.16),0 2px 10px rgba(15,36,53,.08);
  position:relative;
}

.edb-shell.is-desktop .edb-page-grid .edb-grid-sheet canvas{
  width:100% !important;
  height:100% !important;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
}

.edb-shell.is-desktop .edb-page-grid .edb-page-number{
  bottom:8px;
}

/* menjaga grid tetap rapi ketika jumlah halaman berubah */
.edb-shell.is-desktop .edb-page-grid{
  align-items:center;
  grid-auto-rows:minmax(180px, auto);
}

/* v12 prevent desktop toolbar flash during initial load */
.edb-shell:not(.is-desktop):not(.is-mobile) .edb-toolbar{visibility:hidden;}
.edb-shell.is-desktop .edb-toolbar{visibility:visible;}
.edb-shell.is-mobile .edb-toolbar{visibility:visible;}

/* Mobile ultra smooth rendering */
.edb-shell.is-mobile .edb-stage,
.edb-shell.is-mobile .edb-pages,
.edb-shell.is-mobile .edb-sheet--single,
.edb-shell.is-mobile .edb-sheet--single canvas {
  -webkit-tap-highlight-color: transparent;
}
.edb-shell.is-mobile .edb-stage {
  overflow: auto;
  touch-action: pan-y pinch-zoom;
  overscroll-behavior: auto;
}
.edb-shell.is-mobile .edb-sheet--single {
  transform-origin: center center;
  will-change: transform;
  contain: layout paint;
}
.edb-shell.is-mobile .edb-sheet--single canvas {
  image-rendering: auto;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* v3.8 desktop layout refinement */
.edb-shell.is-desktop .edb-toolbar-center{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  z-index:20;
}
.edb-shell.is-desktop .edb-stage{padding-bottom:8px;}
.edb-shell.is-desktop .edb-book{gap:2px;perspective:1800px;}
.edb-shell.is-desktop .edb-book .edb-sheet + .edb-sheet{margin-left:0;}
.edb-shell.is-desktop .edb-book.anim-next .edb-sheet,.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet{animation-duration:.45s;}
@keyframes edbTurnNext{from{transform:rotateY(-35deg);transform-origin:left center;}to{transform:rotateY(0deg);}}
@keyframes edbTurnPrev{from{transform:rotateY(35deg);transform-origin:right center;}to{transform:rotateY(0deg);}}
.edb-shell.is-desktop .edb-book:has(.edb-sheet:only-child){justify-content:center;}


/* v3.9 desktop book mode fix */
.edb-shell.is-desktop .edb-stage{
  padding-bottom:78px;
}
.edb-shell.is-desktop .edb-toolbar{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  z-index:40;
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  gap:12px;
  width:auto;
  min-width:0;
  padding:8px 14px;
  border:1px solid #dbe4eb;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 22px rgba(15,36,53,.10);
}
.edb-shell.is-desktop .edb-toolbar-left,
.edb-shell.is-desktop .edb-toolbar-center,
.edb-shell.is-desktop .edb-toolbar-right{
  position:static;
  margin:0;
  display:flex;
  align-items:center;
  gap:6px;
}
.edb-shell.is-desktop .edb-toolbar-center{
  transform:none;
}
.edb-shell.is-desktop .edb-toolbar button{
  min-width:34px;
  min-height:34px;
  padding:6px 10px;
  border-radius:9px;
}
.edb-shell.is-desktop .edb-mobile-close{display:none!important;}
.edb-shell.is-desktop .edb-book{
  gap:4px;
  align-items:stretch;
}
.edb-shell.is-desktop .edb-book--cover{
  justify-content:center;
}
.edb-shell.is-desktop .edb-sheet--cover{
  margin-inline:auto;
}
.edb-shell.is-desktop .edb-book.anim-next .edb-sheet,
.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet{
  animation-duration:.18s;
  animation-timing-function:ease-out;
}
@keyframes edbTurnNext{
  from{transform:translateX(18px);opacity:.72}
  to{transform:translateX(0);opacity:1}
}
@keyframes edbTurnPrev{
  from{transform:translateX(-18px);opacity:.72}
  to{transform:translateX(0);opacity:1}
}


/* v3.10 desktop floating toolbar + page curl transition */
.edb-shell.is-desktop .edb-toolbar{
  position:sticky;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  margin-top:auto;
  margin-bottom:12px;
  z-index:100;
  width:max-content;
  flex-shrink:0;
}

.edb-shell.is-desktop .edb-stage{
  display:flex;
  flex-direction:column;
  overflow:auto;
}

.edb-shell.is-desktop .edb-pages{
  flex:1;
}

/* Lightweight page curl effect */
.edb-shell.is-desktop .edb-book.anim-next .edb-sheet:first-child{
  animation:edbPageCurlNext .55s cubic-bezier(.25,.7,.25,1);
  transform-origin:right center;
  backface-visibility:hidden;
}

.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet:last-child{
  animation:edbPageCurlPrev .55s cubic-bezier(.25,.7,.25,1);
  transform-origin:left center;
  backface-visibility:hidden;
}

@keyframes edbPageCurlNext{
  0%{transform:perspective(1200px) rotateY(0deg)}
  45%{transform:perspective(1200px) rotateY(-35deg) translateX(8px)}
  100%{transform:perspective(1200px) rotateY(0deg)}
}

@keyframes edbPageCurlPrev{
  0%{transform:perspective(1200px) rotateY(0deg)}
  45%{transform:perspective(1200px) rotateY(35deg) translateX(-8px)}
  100%{transform:perspective(1200px) rotateY(0deg)}
}


/* v3.11 desktop slide wipe transition */
.edb-shell.is-desktop .edb-book.anim-next,
.edb-shell.is-desktop .edb-book.anim-prev{
  overflow:hidden;
}

.edb-shell.is-desktop .edb-book.anim-next .edb-sheet{
  animation:edbSlideWipeNext .35s cubic-bezier(.25,.7,.25,1);
}

.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet{
  animation:edbSlideWipePrev .35s cubic-bezier(.25,.7,.25,1);
}

@keyframes edbSlideWipeNext{
  from{
    transform:translateX(45px);
    opacity:.35;
  }
  to{
    transform:translateX(0);
    opacity:1;
  }
}

@keyframes edbSlideWipePrev{
  from{
    transform:translateX(-45px);
    opacity:.35;
  }
  to{
    transform:translateX(0);
    opacity:1;
  }
}

/* keep desktop toolbar visible inside stage while scrolling */
.edb-shell.is-desktop .edb-stage{
  position:relative;
}

.edb-shell.is-desktop .edb-toolbar{
  position:sticky;
  bottom:10px;
  align-self:center;
  margin-top:auto;
}


/* v3.12 desktop true flipbook + floating toolbar */

/* remove previous slide/wipe animations */
.edb-shell.is-desktop .edb-book.anim-next .edb-sheet,
.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet{
  animation:none !important;
}

/* realistic lightweight flipbook page turn */
.edb-shell.is-desktop .edb-book.anim-next .edb-sheet:first-child{
  animation:edbFlipNext .65s ease-in-out;
  transform-origin:right center;
  backface-visibility:hidden;
}

.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet:last-child{
  animation:edbFlipPrev .65s ease-in-out;
  transform-origin:left center;
  backface-visibility:hidden;
}

@keyframes edbFlipNext{
  0%{transform:perspective(1400px) rotateY(0deg);}
  50%{transform:perspective(1400px) rotateY(-70deg);}
  100%{transform:perspective(1400px) rotateY(0deg);}
}

@keyframes edbFlipPrev{
  0%{transform:perspective(1400px) rotateY(0deg);}
  50%{transform:perspective(1400px) rotateY(70deg);}
  100%{transform:perspective(1400px) rotateY(0deg);}
}

/* toolbar floating inside desktop stage */
.edb-shell.is-desktop .edb-toolbar{
  position:absolute !important;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:999;
  pointer-events:auto;
}

.edb-shell.is-desktop .edb-stage{
  position:relative;
}


/* v3.13 desktop morph transition */
.edb-shell.is-desktop .edb-book.anim-next .edb-sheet,
.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet{
  animation-duration:.45s;
  animation-timing-function:cubic-bezier(.22,.61,.36,1);
  backface-visibility:hidden;
  transform-origin:center center;
}

.edb-shell.is-desktop .edb-book.anim-next .edb-sheet{
  animation-name:edbMorphNext;
}

.edb-shell.is-desktop .edb-book.anim-prev .edb-sheet{
  animation-name:edbMorphPrev;
}

@keyframes edbMorphNext{
  0%{
    opacity:.55;
    transform:translateX(35px) scale(.97);
    filter:blur(.4px);
  }
  50%{
    opacity:.85;
    transform:translateX(0) scale(1.015);
  }
  100%{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:none;
  }
}

@keyframes edbMorphPrev{
  0%{
    opacity:.55;
    transform:translateX(-35px) scale(.97);
    filter:blur(.4px);
  }
  50%{
    opacity:.85;
    transform:translateX(0) scale(1.015);
  }
  100%{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:none;
  }
}

/* desktop page number outside paper */
.edb-shell.is-desktop .edb-sheet{
  padding-bottom:36px;
}

.edb-shell.is-desktop .edb-page-number{
  bottom:10px;
  background:transparent;
  pointer-events:none;
}
