.mkpf-flipbook{--mkpf-height:720px;--mkpf-bg:#f4f6fb;box-sizing:border-box;width:100%;max-width:100%;margin:24px auto;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#162033}.mkpf-flipbook *{box-sizing:border-box}.mkpf-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:16px 16px 0 0;box-shadow:0 10px 30px rgba(15,23,42,.08);position:relative;z-index:20}.mkpf-theme-dark .mkpf-toolbar{background:#111827;color:#f8fafc;border-color:rgba(255,255,255,.12)}.mkpf-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:#fff;color:#111827;text-decoration:none;cursor:pointer;font-weight:700;line-height:1;transition:transform .15s ease,box-shadow .15s ease}.mkpf-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.12)}.mkpf-theme-dark .mkpf-btn{background:#1f2937;color:#f8fafc;border-color:rgba(255,255,255,.18)}.mkpf-page-status{font-size:14px;font-weight:700;white-space:nowrap}.mkpf-spacer{flex:1}.mkpf-stage{position:relative;min-height:var(--mkpf-height);height:var(--mkpf-height);background:radial-gradient(circle at top,var(--mkpf-bg),#dbe3ef 72%);border:1px solid rgba(15,23,42,.10);border-top:0;border-radius:0 0 16px 16px;overflow:hidden;padding:18px}.mkpf-theme-dark .mkpf-stage{background:radial-gradient(circle at top,#1f2937,#020617 78%);border-color:rgba(255,255,255,.12)}.mkpf-loader{position:absolute;inset:18px;z-index:30;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(255,255,255,.78);backdrop-filter:blur(4px);font-weight:700}.mkpf-theme-dark .mkpf-loader{background:rgba(2,6,23,.72);color:#f8fafc}.mkpf-loader.is-hidden{display:none}.mkpf-loader-card{width:min(380px,88%);padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 20px 55px rgba(15,23,42,.15);text-align:center}.mkpf-theme-dark .mkpf-loader-card{background:rgba(15,23,42,.9)}.mkpf-loader-text{display:block;margin-bottom:12px}.mkpf-progress{width:100%;height:10px;border-radius:999px;background:rgba(15,23,42,.12);overflow:hidden}.mkpf-theme-dark .mkpf-progress{background:rgba(255,255,255,.16)}.mkpf-progress-bar{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e);transition:width .18s ease}.mkpf-progress-pct{margin-top:8px;font-size:13px;font-weight:800;opacity:.78}.mkpf-viewport{position:absolute;left:18px;right:18px;top:18px;bottom:54px;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain;touch-action:none;padding:10px}.mkpf-zoom-layer{display:flex;align-items:center;justify-content:center;transform-origin:center center;will-change:transform;transition:transform .06s ease}.mkpf-book{position:relative;display:block;margin:auto;background:transparent;filter:drop-shadow(0 22px 32px rgba(15,23,42,.22));isolation:isolate}.mkpf-book:before,.mkpf-book:after{content:"";position:absolute;top:1.2%;bottom:1.2%;left:50%;transform:translateX(-50%);pointer-events:none;border-radius:999px;transition:opacity .16s ease;will-change:opacity}.mkpf-book:before{z-index:90;width:30px;background:linear-gradient(90deg,rgba(15,23,42,0),rgba(15,23,42,.20) 36%,rgba(15,23,42,.30) 50%,rgba(15,23,42,.20) 64%,rgba(15,23,42,0));opacity:.58;mix-blend-mode:multiply}.mkpf-book:after{z-index:91;width:4px;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.05) 18%,rgba(0,0,0,.18) 50%,rgba(255,255,255,.06) 82%,rgba(255,255,255,.24));opacity:.52;box-shadow:-10px 0 18px rgba(0,0,0,.08),10px 0 18px rgba(0,0,0,.08)}.mkpf-book.mkpf-is-flipping:before,.mkpf-book.mkpf-is-flipping:after{opacity:.03!important}.mkpf-book .stf__parent{margin:auto!important;position:relative;z-index:20}.mkpf-book .stf__block{box-shadow:0 12px 28px rgba(15,23,42,.16)}.mkpf-book .stf__item,.mkpf-book .stf__wrapper{background:#fff!important;overflow:hidden!important}.mkpf-book .stf__shadow,.mkpf-book .stf__outerShadow,.mkpf-book .stf__innerShadow,.mkpf-book .stf__hardShadow,.mkpf-book .stf__hardInnerShadow{pointer-events:none!important;opacity:.22!important;mix-blend-mode:multiply}.mkpf-page{width:100%;height:100%;background:#fff;overflow:hidden}.mkpf-page-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}.mkpf-page[data-page] .mkpf-page-inner:after{content:"";position:absolute;top:0;bottom:0;width:30px;pointer-events:none;opacity:.22;z-index:3}.mkpf-page[data-page]:nth-child(even) .mkpf-page-inner:after{right:0;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.20))}.mkpf-page[data-page]:nth-child(odd) .mkpf-page-inner:after{left:0;background:linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,0))}.mkpf-page[data-page="1"] .mkpf-page-inner:after{opacity:.06}.mkpf-book.mkpf-is-flipping .mkpf-page-inner:after{opacity:.06}
.mkpf-canvas{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#fff;image-rendering:auto;-webkit-user-drag:none;user-select:none;backface-visibility:hidden}.mkpf-page-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.06);color:rgba(15,23,42,.65);font-size:12px;font-weight:700}.mkpf-page-inner.is-rendered .mkpf-page-loading{display:none}.mkpf-hint{position:absolute;left:18px;right:18px;bottom:16px;z-index:3;text-align:center;font-size:13px;color:rgba(15,23,42,.70);pointer-events:none}.mkpf-theme-dark .mkpf-hint{color:rgba(255,255,255,.72)}.mkpf-native-fallback{display:none;position:absolute;inset:18px;z-index:3;background:#fff;border-radius:14px;overflow:hidden}.mkpf-native-fallback iframe{width:100%;height:calc(100% - 42px);border:0}.mkpf-native-fallback p{margin:8px 0;text-align:center}.mkpf-flipbook.mkpf-use-fallback .mkpf-native-fallback{display:block!important}.mkpf-flipbook.mkpf-use-fallback .mkpf-viewport,.mkpf-flipbook.mkpf-use-fallback .mkpf-hint{display:none}.mkpf-error{padding:14px;border-radius:10px;background:#fee2e2;color:#7f1d1d}html.mkpf-no-scroll,body.mkpf-no-scroll{overflow:hidden!important;touch-action:none!important}.mkpf-flipbook.mkpf-fullscreen-active{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;z-index:2147483000!important;background:#0f172a!important;display:flex!important;flex-direction:column!important;transform:none!important;contain:layout style paint}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-toolbar{flex:0 0 auto!important;border-radius:0!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-stage{flex:1 1 auto!important;height:calc(100dvh - 56px)!important;min-height:0!important;border-radius:0!important;padding:8px!important;overflow:hidden!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-viewport{left:6px!important;right:6px!important;top:6px!important;bottom:34px!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-hint{bottom:8px}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-native-fallback{inset:8px}@media(max-width:680px){.mkpf-book:before{width:18px;opacity:.48}.mkpf-book:after{width:3px;opacity:.46}.mkpf-page[data-page] .mkpf-page-inner:after{width:18px;opacity:.18}.mkpf-flipbook{margin:14px auto}.mkpf-toolbar{gap:6px;padding:8px;flex-wrap:wrap}.mkpf-btn{min-width:34px;height:34px;padding:0 10px}.mkpf-download{font-size:12px}.mkpf-stage{padding:8px;height:max(var(--mkpf-height),560px);min-height:560px}.mkpf-viewport{left:6px;right:6px;top:8px;bottom:48px;padding:4px;overflow:hidden}.mkpf-hint{font-size:11px;bottom:8px;left:10px;right:10px}.mkpf-book:before{width:18px;opacity:.48}.mkpf-book:after{width:3px;opacity:.46}.mkpf-loader{inset:8px}.mkpf-loader-card{padding:14px 16px}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-stage{padding:4px!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-viewport{left:2px!important;right:2px!important;top:4px!important;bottom:6px!important;padding:2px!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-hint{display:none!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-toolbar{padding:6px!important;gap:4px!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-btn{min-width:32px!important;height:32px!important;padding:0 8px!important}.mkpf-flipbook.mkpf-fullscreen-active .mkpf-page-status{font-size:12px!important}}@media(max-width:420px){.mkpf-page-status{font-size:12px}.mkpf-btn{min-width:32px;height:32px;padding:0 9px}.mkpf-toolbar{gap:5px}.mkpf-hint{display:none}.mkpf-viewport{bottom:8px}.mkpf-stage{min-height:520px}}

/* v3.5.0: dedicated stable book-spine shadow + safer mobile orientation resizing. */
.mkpf-book{
  overflow:visible!important;
  isolation:isolate!important;
}
.mkpf-book:before,
.mkpf-book:after,
.mkpf-book .stf__parent:before,
.mkpf-book .stf__parent:after{
  display:none!important;
  content:none!important;
}
.mkpf-spine-shadow{
  position:absolute!important;
  left:50%!important;
  top:0!important;
  bottom:0!important;
  width:30px!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
  z-index:214748300!important;
  opacity:1!important;
  display:block!important;
  visibility:visible!important;
  contain:strict!important;
  mix-blend-mode:multiply!important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.045) 22%,
      rgba(0,0,0,.115) 45%,
      rgba(0,0,0,.155) 50%,
      rgba(0,0,0,.115) 55%,
      rgba(0,0,0,.045) 78%,
      rgba(0,0,0,0) 100%)!important;
  border-radius:0!important;
}
.mkpf-spine-shadow:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:0!important;
  bottom:0!important;
  width:2px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,
    rgba(255,255,255,.18) 0%,
    rgba(0,0,0,.16) 48%,
    rgba(255,255,255,.12) 100%)!important;
  opacity:.72!important;
}
.mkpf-book:hover .mkpf-spine-shadow,
.mkpf-book.mkpf-is-flipping .mkpf-spine-shadow,
.mkpf-book .stf__parent:hover ~ .mkpf-spine-shadow{
  opacity:1!important;
  display:block!important;
  visibility:visible!important;
}
.mkpf-page[data-page] .mkpf-page-inner:after{
  width:14px!important;
  opacity:.10!important;
  z-index:2!important;
}
.mkpf-page[data-page]:nth-child(even) .mkpf-page-inner:after{
  right:0!important;
  background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.11))!important;
}
.mkpf-page[data-page]:nth-child(odd) .mkpf-page-inner:after{
  left:0!important;
  background:linear-gradient(90deg,rgba(0,0,0,.11),rgba(0,0,0,0))!important;
}
.mkpf-is-resizing .mkpf-viewport{opacity:.55;transition:opacity .12s ease;}
@media (max-width: 768px){
  .mkpf-spine-shadow{width:18px!important;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.055) 38%,rgba(0,0,0,.105) 50%,rgba(0,0,0,.055) 62%,rgba(0,0,0,0))!important;}
  .mkpf-spine-shadow:before{width:1px!important;opacity:.60!important;}
  .mkpf-page[data-page] .mkpf-page-inner:after{width:9px!important;opacity:.075!important;}
}


/* v3.6.0: spine shadow is clipped inside the book and is hidden only during active flip. */
.mkpf-book{
  overflow:hidden!important;
  border-radius:2px!important;
}
.mkpf-spine-shadow{
  top:1px!important;
  bottom:1px!important;
  width:22px!important;
  z-index:58!important;
  opacity:.72!important;
  contain:layout paint!important;
  clip-path:inset(0 0 0 0)!important;
  background:linear-gradient(90deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.030) 22%,
    rgba(0,0,0,.090) 43%,
    rgba(0,0,0,.135) 50%,
    rgba(0,0,0,.090) 57%,
    rgba(0,0,0,.030) 78%,
    rgba(0,0,0,0) 100%)!important;
}
.mkpf-spine-shadow:before{
  width:1px!important;
  opacity:.42!important;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(0,0,0,.11) 50%,rgba(255,255,255,.14))!important;
}
.mkpf-book:hover .mkpf-spine-shadow,
.mkpf-book .stf__parent:hover ~ .mkpf-spine-shadow{
  opacity:.72!important;
  display:block!important;
  visibility:visible!important;
}
.mkpf-book.mkpf-is-flipping .mkpf-spine-shadow{
  opacity:0!important;
  visibility:hidden!important;
}
.mkpf-book.mkpf-is-flipping .mkpf-page-inner:after{
  opacity:.02!important;
}
.mkpf-is-resizing .mkpf-viewport{
  opacity:1!important;
}
@media (max-width:768px){
  .mkpf-spine-shadow{width:14px!important;opacity:.52!important;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.035) 34%,rgba(0,0,0,.09) 50%,rgba(0,0,0,.035) 66%,rgba(0,0,0,0))!important;}
  .mkpf-book:hover .mkpf-spine-shadow,
  .mkpf-book .stf__parent:hover ~ .mkpf-spine-shadow{opacity:.52!important;}
  .mkpf-book.mkpf-is-flipping .mkpf-spine-shadow{opacity:0!important;visibility:hidden!important;}
}


/* v3.7.0: spine stays visible on hover/corner preview; only the real flip animation hides it. */
.mkpf-book .mkpf-spine-shadow{
  display:block!important;
  visibility:visible!important;
  opacity:.62!important;
  pointer-events:none!important;
  z-index:58!important;
}
.mkpf-book:hover .mkpf-spine-shadow,
.mkpf-book .stf__parent:hover ~ .mkpf-spine-shadow,
.mkpf-book:not(.mkpf-is-flipping) .mkpf-spine-shadow{
  display:block!important;
  visibility:visible!important;
  opacity:.62!important;
}
.mkpf-book.mkpf-is-flipping .mkpf-spine-shadow{
  opacity:0!important;
  visibility:hidden!important;
}
.mkpf-is-resizing .mkpf-book,
.mkpf-is-resizing .mkpf-zoom-layer,
.mkpf-is-resizing .mkpf-viewport{
  visibility:visible!important;
  opacity:1!important;
}
@media (max-width:768px){
  .mkpf-book .mkpf-spine-shadow,
  .mkpf-book:hover .mkpf-spine-shadow,
  .mkpf-book .stf__parent:hover ~ .mkpf-spine-shadow,
  .mkpf-book:not(.mkpf-is-flipping) .mkpf-spine-shadow{opacity:.46!important;}
  .mkpf-book.mkpf-is-flipping .mkpf-spine-shadow{opacity:0!important;visibility:hidden!important;}
}


/* v4.0.0: Zoom interaction lock.
   When the user is zoomed in, PageFlip must not receive touch/mouse input.
   This prevents half-turned pages and broken page changes during mobile pinch/pan. */
.mkpf-is-zoomed .mkpf-book .stf__parent,
.mkpf-is-zoomed .mkpf-book .stf__block,
.mkpf-is-zoomed .mkpf-book .stf__item,
.mkpf-is-zoomed .mkpf-book .stf__wrapper{
  pointer-events:none!important;
}
.mkpf-is-zoomed .mkpf-viewport{
  cursor:grab;
}
.mkpf-is-zoomed .mkpf-viewport:active{
  cursor:grabbing;
}
.mkpf-is-zoomed .mkpf-book.mkpf-is-flipping .mkpf-spine-shadow{
  opacity:.46!important;
  visibility:visible!important;
}

/* v4.1.0: mobile pinch stability and compact landscape toolbar. */
.mkpf-pinch-active .mkpf-book .stf__parent,
.mkpf-pinch-active .mkpf-book .stf__block,
.mkpf-pinch-active .mkpf-book .stf__item,
.mkpf-pinch-active .mkpf-book .stf__wrapper{
  pointer-events:none!important;
}
.mkpf-pinch-active .mkpf-book .stf__shadow,
.mkpf-pinch-active .mkpf-book .stf__outerShadow,
.mkpf-pinch-active .mkpf-book .stf__innerShadow,
.mkpf-pinch-active .mkpf-book .stf__hardShadow,
.mkpf-pinch-active .mkpf-book .stf__hardInnerShadow{
  opacity:0!important;
}
@media (hover:none) and (pointer:coarse){
  .mkpf-viewport{touch-action:none!important;}
}
@media (orientation: landscape) and (max-height: 560px){
  .mkpf-flipbook{margin:6px auto!important;}
  .mkpf-toolbar{padding:4px 6px!important;gap:4px!important;min-height:36px!important;border-radius:10px 10px 0 0!important;}
  .mkpf-btn{min-width:30px!important;height:30px!important;padding:0 7px!important;font-size:13px!important;}
  .mkpf-page-status{font-size:11px!important;}
  .mkpf-download{font-size:0!important;min-width:30px!important;width:30px!important;padding:0!important;}
  .mkpf-download:before{content:'⇩';font-size:14px!important;line-height:1;}
  .mkpf-stage{height:calc(100dvh - 46px)!important;min-height:300px!important;padding:4px!important;border-radius:0 0 10px 10px!important;}
  .mkpf-viewport{left:3px!important;right:3px!important;top:3px!important;bottom:3px!important;padding:2px!important;}
  .mkpf-hint{display:none!important;}
  .mkpf-flipbook.mkpf-fullscreen-active .mkpf-stage{height:calc(100dvh - 38px)!important;padding:2px!important;}
  .mkpf-flipbook.mkpf-fullscreen-active .mkpf-toolbar{padding:3px 5px!important;min-height:34px!important;}
  .mkpf-flipbook.mkpf-fullscreen-active .mkpf-viewport{top:2px!important;bottom:2px!important;left:2px!important;right:2px!important;}
}
