/* Visor del menú impreso (dentro del iframe de /estudio/) y barra de la versión para imprimir. */
html.libro, html.libro body { height: 100%; margin: 0; overflow: hidden; background: radial-gradient(70% 60% at 50% 40%, #1C1F24, #101215 70%); }
html.libro .pagina { flex-shrink: 0; margin: 0; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); }
html.libro:not(.libro-listo) .pagina { display: none; }
.visor { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding-bottom: 40px; }
.visor__escena { position: relative; width: 100%; height: calc(100% - 12px); perspective: 2400px; }
.pliego { position: absolute; left: 50%; top: 50%; display: none; transform: translate(-50%, -50%) scale(var(--escala, .3)); transform-origin: center; }
.pliego.es-actual { display: flex; }
.pliego:not(.pliego--una) .pagina:first-child { box-shadow: inset -26px 0 40px -30px rgba(0, 0, 0, .9), 0 30px 60px -20px rgba(0, 0, 0, .6); }
.pliego.entra-sig { animation: hoja-sig .55s cubic-bezier(.2, .8, .2, 1); }
.pliego.entra-atras { animation: hoja-atras .55s cubic-bezier(.2, .8, .2, 1); }
@keyframes hoja-sig { from { opacity: 0; transform: translate(-46%, -50%) scale(var(--escala)) rotateY(-14deg); } to { opacity: 1; transform: translate(-50%, -50%) scale(var(--escala)); } }
@keyframes hoja-atras { from { opacity: 0; transform: translate(-54%, -50%) scale(var(--escala)) rotateY(14deg); } to { opacity: 1; transform: translate(-50%, -50%) scale(var(--escala)); } }
.visor__flecha { position: absolute; top: calc(50% - 20px); z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #F4F4F2; font: 28px/1 Arial, sans-serif; cursor: pointer; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background-color .2s ease, opacity .2s ease; }
.visor__flecha:hover { background: rgba(255, 255, 255, .24); }
.visor__flecha:disabled { opacity: 0; pointer-events: none; }
.visor__flecha--atras { left: 8px; }
.visor__flecha--sig { right: 8px; }
.visor__num { position: absolute; bottom: 10px; left: 0; right: 0; margin: 0; text-align: center; font: 600 13px/1 "Helvetica Neue", Arial, sans-serif; color: #B4B9BF; letter-spacing: .06em; }
@media (prefers-reduced-motion: reduce) { .pliego.entra-sig, .pliego.entra-atras { animation: none; } }

/* Versión para imprimir o guardar en PDF */
.hojas-barra { position: fixed; top: 12px; left: 50%; z-index: 10; display: flex; gap: 10px; align-items: center; transform: translateX(-50%); padding: 8px 8px 8px 18px; border-radius: 16px; background: rgba(16, 18, 21, .9); box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .6); font: 500 14px/1 "Helvetica Neue", Arial, sans-serif; }
.hojas-barra a { color: #F4F4F2; text-decoration: none; }
.hojas-barra button { min-height: 40px; padding: 0 16px; border: 0; border-radius: 12px; background: linear-gradient(180deg, #FF6A2A, #D2400A); color: #fff; font: 600 14px/1 "Helvetica Neue", Arial, sans-serif; cursor: pointer; }
html.hojas body { padding-top: 70px; }
@media print { .hojas-barra { display: none; } html.hojas body { padding-top: 0; } }
