/* HACKERWEB V50 — lector inmersivo: MÁS libro, MENOS interfaz. Solo apariencia + áreas periféricas. */
#v40-reader .v40-shell {
  box-sizing:border-box;
  width:100vw; max-width:100vw; height:100dvh; max-height:100dvh;
  padding:clamp(5px,.8vh,9px) clamp(6px,.85vw,14px) clamp(6px,.75vh,9px);
  gap:clamp(4px,.6vh,7px);
}
/* La X sigue siendo accesible pero la cabecera deja de reservar altura. */
#v40-reader .v40-bar {
  position:absolute; top:clamp(8px,1.2vw,15px); right:clamp(8px,1.2vw,15px);
  width:auto; min-height:0; padding:0; z-index:28;
  pointer-events:none;
}
#v40-reader .v40-brand,
#v40-reader #v40-start,
#v40-reader .v40-subline,
#v40-reader .v40-nav > label[for="v40-goto"] { display:none!important; }
#v40-reader .v40-top-actions {pointer-events:auto}
#v40-reader #v40-close {
  width:40px;height:40px; padding:0; border-radius:50%;
  background:rgba(16,21,27,.75); border:1px solid rgba(235,213,181,.49);
  color:#fff;box-shadow:0 6px 20px #0008;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
#v40-reader .v40-read-stage {
  width:100%;flex:1;min-height:0;max-height:none;
  padding:3px 0 1px;overflow:auto;
}
/* Altura util disponible: 100dvh - barra compacta - aire de seguridad.
   Y restringida también por anchura: nunca recorta las páginas para 'ganar' altura. */
#v40-reader .v40-book {
  height:min(calc(100dvh - 83px),calc((100vw - 25px) * 723 / 936));
  max-height:100%;max-width:100%;
}
#v40-reader .v40-book.v40-single {
  height:min(calc(100dvh - 83px),calc((100vw - 17px) * 723 / 468));
  max-height:100%;
}
#v40-reader .v40-nav {
  box-sizing:border-box;position:relative;flex:0 0 auto;flex-wrap:nowrap;
  gap:clamp(3px,.5vw,8px);padding:4px clamp(5px,.75vw,11px);
  max-width:calc(100vw - 15px);min-height:43px;
  border-radius:999px;border-color:rgba(221,200,163,.32);
  background:rgba(11,16,22,.79);box-shadow:0 10px 28px #0007;
}
#v40-reader .v40-nav button {
  min-width:34px;min-height:34px;height:34px;
  padding:5px 9px;line-height:1;border-radius:999px;
  font-size:16px;
}
#v40-reader .v40-nav #v40-fit {font-size:11px;padding:4px 10px;min-width:51px}
#v40-reader #v40-label {
  font-size:clamp(10px,.9vw,12px);letter-spacing:0;
  padding:7px 6px;border-radius:999px;outline-offset:2px;
  cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s;
}
#v40-reader #v40-label:hover,
#v40-reader #v40-label:focus-visible {background:#ffffff1d;color:#fff}
#v40-reader .v40-progress {height:2px;margin-top:-3px;width:min(400px,58vw)}
/* El input original de "Ir a" se desplaza dentro del pequeño popover. */
#v40-reader #v50-goto-pop {
  box-sizing:border-box;position:absolute;left:50%;bottom:calc(100% + 11px);
  transform:translateX(-50%);z-index:35;
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:14px;border:1px solid #d5bd8f6b;
  background:#111b28f0;box-shadow:0 16px 45px #000c;
  backdrop-filter:blur(12px);
}
#v40-reader #v50-goto-pop[hidden] {display:none!important}
#v40-reader #v50-goto-pop span {font-size:11px;white-space:nowrap;color:#e8d2a5}
#v40-reader #v50-goto-pop #v40-goto {
  display:block!important;width:58px;height:34px;
  padding:5px;text-align:center;font-size:14px;
}
#v40-reader #v50-goto-pop #v50-go {font-size:12px;min-width:34px}
/* Pasar página en el propio libro. Solo actúan las franjas exteriores cuando NO hay zoom. */
#v40-reader .v40-page .v50-page-turn {
  position:absolute;inset-block:0;width:10%;min-width:30px;max-width:66px;
  height:100%;min-height:0;margin:0;padding:0;
  display:flex;align-items:center;justify-content:center;
  z-index:8;border:0;border-radius:0;box-shadow:none;
  color:#775e37;background:transparent;
  opacity:.08;transition:opacity .2s,background .2s;
  -webkit-tap-highlight-color:transparent;
  font:300 clamp(27px,4vw,48px)/1 Georgia,serif;
}
#v40-reader .v40-page .v50-page-turn:hover,
#v40-reader .v40-page .v50-page-turn:focus-visible {
  opacity:.9;background:linear-gradient(90deg,#d6bd854d,transparent);
}
#v40-reader .v40-page .v50-page-turn:disabled {opacity:0!important;pointer-events:none!important}
#v40-reader .v40-page .v50-page-turn.v50-page-prev {left:0;right:auto}
#v40-reader .v40-page .v50-page-turn.v50-page-next {right:0;left:auto}
#v40-reader .v40-page .v50-page-turn.v50-page-next:hover {
  background:linear-gradient(270deg,#d6bd854d,transparent);
}
#v40-reader .v40-page[data-side="right"] .v50-page-turn.v50-page-prev {display:none}
#v40-reader .v40-read-stage[data-zoomed="true"] .v50-page-turn {
  opacity:0!important;pointer-events:none!important;
}
#v40-reader .v40-book[data-zoomed="true"] {max-height:none}
@media(max-width:800px){
  #v40-reader .v40-shell {padding:6px 5px 6px;gap:4px}
  #v40-reader .v40-bar {top:6px;right:7px}
  #v40-reader #v40-close {width:35px;height:35px}
  #v40-reader .v40-book {height:min(calc(100dvh - 78px),calc((100vw - 14px)*723/936))}
  #v40-reader .v40-book.v40-single {height:min(calc(100dvh - 78px),calc((100vw - 14px)*723/468))}
  #v40-reader .v40-page[data-side="right"] .v50-page-turn.v50-page-prev {display:flex}
  #v40-reader .v40-nav {gap:3px;padding:4px 6px}
  #v40-reader .v40-nav button {min-width:32px;width:auto;padding:5px 9px}
  #v40-reader .v40-nav #v40-fit {font-size:11px;padding:5px 8px}
  #v40-reader .v40-nav .v40-count {padding:6px 4px}
}
@media(max-width:390px){
  #v40-reader #v40-fit {display:none}
  #v40-reader .v40-nav button {min-width:31px;padding:5px 7px}
  #v40-reader .v40-nav .v40-count {font-size:10px}
}
@media(prefers-reduced-motion:reduce){#v40-reader .v40-page .v50-page-turn{transition:none}}
