/* NAIIT Flipbook — professional book reader (two-page spread, realistic page turn) */
.fb{--fb-bg:#1b2420;--fb-bg2:#232e29;--fb-bar:rgba(15,22,18,.92);--fb-line:rgba(255,255,255,.12);--fb-txt:#eef3ef;--fb-mute:#a9b8ae;--fb-acc:#f2b500;--fb-green:#1D7A37;
  --pw:400px;--ph:566px;position:relative;display:flex;flex-direction:column;height:100%;min-height:420px;background:radial-gradient(ellipse at 50% 40%,#2c3a33 0%,var(--fb-bg) 70%);color:var(--fb-txt);
  font-family:"Work Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.fb *{box-sizing:border-box}
.fb button{font:inherit;color:inherit;cursor:pointer}
.fb:fullscreen{width:100vw;height:100vh}
.fb.fb-fs{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:99999;height:100vh;height:100dvh}
/* top bar */
.fb-top{display:flex;align-items:center;gap:10px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:var(--fb-bar);border-bottom:1px solid var(--fb-line);min-width:0;z-index:5}
.fb-back{display:inline-flex;align-items:center;gap:6px;color:var(--fb-txt);text-decoration:none;border:1px solid var(--fb-line);border-radius:10px;padding:7px 11px;font-weight:600;font-size:13.5px;white-space:nowrap}
.fb-back:hover{background:rgba(255,255,255,.08)}
.fb-title{flex:1;min-width:0;line-height:1.25}
.fb-title b{display:block;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-title small{display:block;color:var(--fb-mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-tools{display:flex;align-items:center;gap:4px}
.fb-ib{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 9px;border-radius:10px;border:1px solid var(--fb-line);background:transparent;font-size:16px;line-height:1;position:relative}
.fb-ib:hover{background:rgba(255,255,255,.09)}.fb-ib:active{transform:scale(.95)}
.fb-ib[aria-pressed=true]{background:rgba(242,181,0,.16);border-color:rgba(242,181,0,.55)}
.fb-ib svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fb-zoomv{min-width:46px;font-size:12px;color:var(--fb-mute);text-align:center;font-variant-numeric:tabular-nums}
.fb-buy{display:inline-flex;align-items:center;gap:7px;background:var(--fb-acc);color:#1a1a1a !important;text-decoration:none;font-weight:700;border-radius:10px;padding:9px 15px;font-size:14px;white-space:nowrap;border:0}
.fb-buy:hover{filter:brightness(1.07)}
/* stage */
.fb-stage{position:relative;flex:1;min-height:0;display:flex}
.fb-scroll{flex:1;min-width:0;overflow:auto;display:flex;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin}
.fb-scroll.fb-pan{cursor:grab}.fb-scroll.fb-panning{cursor:grabbing}
.fb-wrap{margin:auto;padding:26px 64px}
.fb-book{position:relative;display:flex;width:calc(var(--pw) * 2);height:var(--ph);perspective:3600px;transform-style:preserve-3d}
.fb.fb-single .fb-book{width:var(--pw)}
.fb-half{position:relative;width:var(--pw);height:var(--ph);flex:none}
.fb.fb-single .fb-half.fb-left{display:none}
.fb-pg{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#fff;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.42)}
.fb-left .fb-pg{border-radius:5px 0 0 5px}.fb-right .fb-pg{border-radius:0 5px 5px 0}
.fb.fb-single .fb-right .fb-pg{border-radius:5px}
.fb-left .fb-pg:after,.fb-right .fb-pg:after{content:"";position:absolute;top:0;bottom:0;width:42px;pointer-events:none;z-index:3}
.fb-left .fb-pg:after{right:0;background:linear-gradient(to left,rgba(0,0,0,.22),rgba(0,0,0,.06) 40%,transparent)}
.fb-right .fb-pg:after{left:0;background:linear-gradient(to right,rgba(0,0,0,.22),rgba(0,0,0,.06) 40%,transparent)}
.fb.fb-single .fb-pg:after{display:none}
.fb-pg.fb-blank{background:transparent;box-shadow:none}.fb-pg.fb-blank:after{display:none}
.fb-pg img,.fb-pg canvas{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.fb-pg .fb-num{position:absolute;bottom:6px;font-size:10.5px;color:#8a948e;z-index:4;pointer-events:none}
.fb-left .fb-num{left:10px}.fb-right .fb-num{right:10px}
.fb-pg .fb-ld{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:grid;place-items:center;background:linear-gradient(#fff,#f3f5f3);color:#6b7670;font-size:13px}
.fb-spin{width:30px;height:30px;border-radius:50%;border:3px solid #dfe5e0;border-top-color:var(--fb-green);animation:fbspin .9s linear infinite;margin:0 auto 8px}
@keyframes fbspin{to{transform:rotate(360deg)}}
.fb-wm{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2}
.fb-wm span{transform:rotate(-30deg);font:700 calc(var(--pw) / 12)/1 Arial,sans-serif;color:rgba(29,122,55,.07);white-space:nowrap}
/* locked page */
.fb-lock{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:linear-gradient(160deg,#fff 0%,#eef4ef 100%);color:#24302a}
.fb-lock .fb-lk{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e6f2e9;font-size:27px;margin:0 auto 12px}
.fb-lock h3{margin:0 0 6px;font-family:"Fraunces",Georgia,serif;font-size:calc(var(--pw) / 20);line-height:1.25}
.fb-lock p{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:#4b5650}
.fb-lock a{display:inline-block;background:var(--fb-green);color:#fff;text-decoration:none;font-weight:700;border-radius:10px;padding:11px 16px;font-size:14px}
.fb-lock .fb-hi{display:block;font-family:"Noto Sans Devanagari","Mangal",sans-serif;color:#33403a;font-size:13px;margin-top:6px}
/* the turning leaf */
.fb-leaf{position:absolute;top:0;width:var(--pw);height:var(--ph);transform-style:preserve-3d;z-index:20;will-change:transform;pointer-events:none}
.fb-leaf.fwd{left:var(--pw);transform-origin:left center}
.fb-leaf.bwd{left:0;transform-origin:right center}
.fb.fb-single .fb-leaf.fwd,.fb.fb-single .fb-leaf.bwd{left:0;transform-origin:left center}
.fb-face{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#fff}
.fb-face.back{transform:rotateY(180deg)}
.fb-face .fb-pg{box-shadow:none}
.fb-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;opacity:0;z-index:6}
.fb-leaf.fwd .fb-face.front:after{background:linear-gradient(to left,rgba(0,0,0,.0) 0%,rgba(0,0,0,.28) 100%)}
.fb-leaf.fwd .fb-face.back:after{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.28) 100%)}
.fb-leaf.bwd .fb-face.front:after{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.28) 100%)}
.fb-leaf.bwd .fb-face.back:after{background:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.28) 100%)}
.fb-leaf.go .fb-face:after{animation:fbshade var(--fb-dur,.75s) ease-in-out}
@keyframes fbshade{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
.fb-cast{position:absolute;top:0;bottom:0;width:100%;pointer-events:none;z-index:15;opacity:0}
.fb-cast.go{animation:fbcast var(--fb-dur,.75s) ease-in-out}
@keyframes fbcast{0%{opacity:0}45%{opacity:.85}100%{opacity:0}}
/* side arrows */
.fb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:30;width:46px;height:74px;border-radius:12px;border:1px solid var(--fb-line);background:rgba(15,22,18,.55);display:grid;place-items:center;backdrop-filter:blur(6px)}
.fb-nav svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fb-nav:hover{background:rgba(29,122,55,.85)}.fb-nav:disabled{opacity:.25;cursor:default}
.fb-prev{left:10px}.fb-next{right:10px}
/* bottom bar */
.fb-bottom{display:flex;align-items:center;gap:12px;padding:8px 14px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:var(--fb-bar);border-top:1px solid var(--fb-line);z-index:5}
.fb-count{font-size:13.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:96px;text-align:center}
.fb-count input{width:54px;background:rgba(255,255,255,.08);border:1px solid var(--fb-line);color:#fff;border-radius:7px;padding:4px 6px;text-align:center;font:inherit}
.fb-range{flex:1;accent-color:var(--fb-acc);min-width:60px}
.fb-free{font-size:12px;color:var(--fb-mute);white-space:nowrap}
/* overlays */
.fb-ovl{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:60;background:rgba(10,15,12,.94);display:none;flex-direction:column}
.fb-ovl.on{display:flex}
.fb-ovl-h{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fb-line)}
.fb-ovl-h b{font-size:15px}
.fb-grid{flex:1;overflow:auto;padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:16px;align-content:start}
.fb-th{border:2px solid transparent;border-radius:8px;background:none;padding:0;text-align:center;color:var(--fb-mute);font-size:12px}
.fb-th .fb-thi{display:block;aspect-ratio:var(--fb-ratio,.7071);background:#fff;border-radius:5px;overflow:hidden;margin-bottom:5px;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.fb-th img,.fb-th canvas{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.fb-th.on{border-color:var(--fb-acc);color:#fff}.fb-th:hover .fb-thi{outline:2px solid rgba(242,181,0,.6)}
.fb-th.lk .fb-thi{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#223429,#223429 8px,#1d2d23 8px,#1d2d23 16px);color:var(--fb-mute);font-size:22px}
.fb-pop{position:absolute;right:12px;top:56px;z-index:70;background:#fff;color:#14231b;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.45);min-width:250px;padding:8px;display:none}
.fb-pop.on{display:block}
.fb-pop button,.fb-pop a{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:9px;padding:10px 12px;font-size:14px;color:#14231b;text-decoration:none;text-align:left}
.fb-pop button:hover,.fb-pop a:hover{background:#f1f5f2}
.fb-pop hr{border:0;border-top:1px solid #e8ece9;margin:4px 0}
.fb-pop .fb-goto{display:flex;gap:6px;padding:6px 8px}.fb-pop .fb-goto input{flex:1;border:1px solid #d5ddd7;border-radius:8px;padding:8px;font:inherit}
.fb-pop .fb-goto button{width:auto;background:var(--fb-green);color:#fff;padding:8px 12px}
.fb-toast{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);background:#0f1712;color:#fff;border:1px solid var(--fb-line);border-radius:12px;padding:10px 16px;font-size:13.5px;z-index:80;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}
.fb-toast.on{opacity:1}
.fb-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(15,22,18,.8);border:1px solid var(--fb-line);border-radius:999px;padding:6px 14px;font-size:12.5px;color:var(--fb-mute);z-index:25;pointer-events:none;transition:opacity .4s}
@media (max-width:760px){
  .fb-wrap{padding:14px 10px}
  .fb-nav{width:38px;height:56px;background:rgba(15,22,18,.4)}.fb-prev{left:4px}.fb-next{right:4px}
  .fb-tools .fb-hide-m{display:none}
  .fb-title small{display:none}
  .fb-back span{display:none}
  .fb-buy{padding:8px 11px;font-size:13px}
  .fb-free{display:none}
}
@media (prefers-reduced-motion:reduce){.fb-leaf{transition:none !important}}

.fb-lock2{background:repeating-linear-gradient(135deg,#f7f9f7,#f7f9f7 14px,#f1f4f1 14px,#f1f4f1 28px)}.fb-lock2 p{color:#6b7670}

/* v59: page scrolling never gets stuck on the book — the page scrolls normally over the book
   (vertical swipe / mouse wheel), side-swipe still turns pages; zoomed book can be dragged. */
.fb:not(.fb-fs) .fb-scroll{overscroll-behavior:auto}
.fb-scroll:not(.fb-pan){touch-action:pan-y pinch-zoom}
.fb-scroll.fb-pan{touch-action:none}
