:root{--mpbl-gold:#f4b400;--mpbl-text:#f5f5f5;--mpbl-muted:#b7b7b7}.mpbl-shell{margin:2rem auto;max-width:1400px;background:linear-gradient(180deg,#101010,#050505);color:var(--mpbl-text);border:1px solid #292929;border-radius:18px;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.45)}.mpbl-banner img{width:100%;display:block;max-height:460px;object-fit:cover}.mpbl-heading{display:flex;align-items:center;gap:1rem;padding:1.3rem 1.5rem;border-bottom:1px solid #292929}.mpbl-heading h2{margin:0;color:#fff;font-size:clamp(1.5rem,3vw,2.4rem)}.mpbl-heading p{margin:.35rem 0 0;color:var(--mpbl-muted)}.mpbl-plus{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--mpbl-gold);color:#000;font-weight:900;font-size:2.2rem;box-shadow:0 0 28px rgba(244,180,0,.35)}.mpbl-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;padding:.8rem;background:#0b0b0b;border-bottom:1px solid #222;position:sticky;top:0;z-index:4}.mpbl-toolbar button,.mpbl-btn{border:1px solid #444;background:#171717;color:#fff;padding:.7rem .95rem;border-radius:8px;font-weight:700;cursor:pointer;text-decoration:none}.mpbl-toolbar button:hover,.mpbl-btn:hover{border-color:var(--mpbl-gold);color:var(--mpbl-gold)}.mpbl-toolbar input{width:65px;background:#050505;color:#fff;border:1px solid #444;border-radius:6px;padding:.45rem}.mpbl-reader-stage{min-height:650px;background:radial-gradient(circle at center,#242424,#080808 72%);overflow:auto;padding:2rem;outline:none}.mpbl-pages{display:flex;justify-content:center;align-items:flex-start;gap:8px;min-width:max-content}.mpbl-page{background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.55);border-radius:2px}.mpbl-loading,.mpbl-reader-fallback{text-align:center;color:var(--mpbl-gold);font-size:1.2rem;padding:5rem 1rem}.mpbl-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;padding:1rem;border-top:1px solid #222}.mpbl-btn{background:var(--mpbl-gold);color:#000;border-color:var(--mpbl-gold)}.mpbl-btn-outline{background:transparent;color:var(--mpbl-gold)}.mpbl-audio{padding:1.5rem;text-align:center;border-top:1px solid #222}.mpbl-audio h3{color:var(--mpbl-gold)}.mpbl-library{display:grid;grid-template-columns:repeat(var(--mpbl-columns),minmax(0,1fr));gap:1.5rem}.mpbl-book-card{background:#101010;color:#fff;border:1px solid #292929;border-radius:14px;overflow:hidden}.mpbl-book-card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.mpbl-card-body{padding:1.1rem}.mpbl-card-body h3{margin-top:0}.mpbl-card-body a{color:inherit}@media(max-width:900px){.mpbl-library{grid-template-columns:repeat(2,minmax(0,1fr))}.mpbl-reader-stage{min-height:500px;padding:1rem}}@media(max-width:620px){.mpbl-library{grid-template-columns:1fr}.mpbl-toolbar{position:static}.mpbl-toolbar button{padding:.6rem .7rem;font-size:.85rem}.mpbl-reader-stage{min-height:420px;padding:.5rem}.mpbl-heading{align-items:flex-start}}.mpbl-shell:fullscreen{max-width:none;width:100vw;height:100vh;border-radius:0;display:flex;flex-direction:column}.mpbl-shell:fullscreen .mpbl-reader-stage{flex:1;min-height:0}
.mpbl-brandbar{display:flex;align-items:baseline;gap:.28rem;padding:.85rem 1.4rem .15rem;background:#050505;color:#fff;line-height:1;user-select:none}
.mpbl-brand-the{align-self:flex-start;margin-top:.14rem;font-size:.62rem;font-weight:900;letter-spacing:.08em}
.mpbl-brand-name{font-size:clamp(1.15rem,2.6vw,1.85rem);font-weight:950}
.mpbl-brand-plus{color:var(--mpbl-gold);font-size:clamp(1.55rem,3vw,2.25rem);font-weight:950;text-shadow:0 0 16px rgba(244,180,0,.7)}
.mpbl-brand-tagline{margin-left:.35rem;color:var(--mpbl-gold);font-size:.58rem;font-weight:850;letter-spacing:.22em}
.mpbl-reader-stage{position:relative}
35%{filter:brightness(1.45);transform:scale(1.35)}100%{filter:brightness(1);transform:scale(1)}}
@media(max-width:620px){.mpbl-brandbar{padding:.75rem 1rem .1rem;flex-wrap:wrap}.mpbl-brand-tagline{width:100%;margin:.2rem 0 0 1.65rem}}

.mpbl-reader-fallback{width:100%;max-width:1100px;margin:0 auto;text-align:center;padding:1rem}
.mpbl-native-pdf{display:block;width:100%;height:78vh;min-height:650px;border:1px solid #333;border-radius:10px;background:#fff;margin:1rem auto}
.mpbl-fallback-message{color:#f4b400;font-weight:700}
@media(max-width:700px){.mpbl-native-pdf{height:68vh;min-height:480px}}


/* Version 1.3: snapped reading guide */
.mpbl-reading-guide{
  position:absolute;
  z-index:8;
  top:0;
  height:3px;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(244,180,0,.30) 8%,rgba(244,180,0,.68) 50%,rgba(244,180,0,.30) 92%,transparent 100%);
  box-shadow:0 0 8px rgba(244,180,0,.22);
  transition:transform .09s ease-out,opacity .14s ease,width .12s ease,left .12s ease;
}
.mpbl-reading-guide.is-visible{opacity:.58}

/* Mid-page navigation */
.mpbl-reader-stage{
  position:relative;
}
.mpbl-side-nav{
  position:absolute;
  top:50%;
  z-index:12;
  width:58px;
  height:104px;
  margin:0;
  transform:translateY(-50%);
  border:1px solid rgba(244,180,0,.38);
  border-radius:14px;
  background:rgba(5,5,5,.54);
  color:#f4b400;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  font-size:3rem;
  line-height:.8;
  cursor:pointer;
  opacity:.38;
  backdrop-filter:blur(5px);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:opacity .18s ease,background .18s ease,transform .18s ease,border-color .18s ease;
}
.mpbl-side-nav span{
  font-size:.66rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mpbl-side-nav:hover,
.mpbl-side-nav:focus-visible{
  opacity:1;
  background:rgba(5,5,5,.88);
  border-color:#f4b400;
  transform:translateY(-50%) scale(1.04);
  outline:none;
}
.mpbl-side-nav:disabled,
.mpbl-side-nav.is-hidden{
  opacity:0;
  pointer-events:none;
}
.mpbl-side-prev{
  left:12px;
}
.mpbl-side-next{
  right:12px;
}

/* Let the snapped guide and side navigation work over native PDF fallback. */
.mpbl-reader-stage.is-native-reader .mpbl-native-pdf{
  pointer-events:none;
}
.mpbl-reader-stage.is-native-reader .mpbl-fallback-message{
  margin:.35rem 0;
}

@media(max-width:700px){
  .mpbl-side-nav{
    width:46px;
    height:82px;
    font-size:2.4rem;
    opacity:.62;
  }
  .mpbl-side-prev{left:6px}
  .mpbl-side-next{right:6px}
  .mpbl-reading-guide{height:3px}
}
.mpbl-side-prev{left:6px}
  .mpbl-side-next{right:6px}
  .mpbl-reading-guide{height:3px}
}
