/* The same paper, binding and controls on every screen. */
.biblioteca main { background:none; box-shadow:none; min-height:0; margin:0; padding:0; max-width:none; }
.biblioteca main::before,.biblioteca main::after { display:none; }
.biblioteca .scriptorium { min-height:80svh; padding:42px 0 56px; background:linear-gradient(#08050255,#08050218 35%,#08050288),var(--fondo-biblioteca,url("../images/escenas/scriptorium-renovado-20261009.096767d9e2a6.webp")) center / cover; }
.biblioteca .scriptorium-titulo { text-align:center; font:400 clamp(32px,4vw,52px)/1.2 var(--gotica-rotulo); color:#f0dfb6; text-shadow:0 2px 6px #000; }
.biblioteca .scriptorium-sub { padding:12px 20px 24px; text-align:center; color:#e0c59a; font:15px/1.6 var(--manuscrito); }
.biblioteca .estanteria { max-width:1180px; margin:auto; padding:0 16px; }
.biblioteca .balda-fila { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr)); gap:30px 22px; align-items:stretch; }
.biblioteca .tomo { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 10px 24px; width:100%; border:0; background:radial-gradient(ellipse at 50% 35%,#dfa55418,transparent 70%); cursor:var(--cursor-espada,pointer); }
.biblioteca .tomo::after { content:''; position:absolute; left:0; right:0; bottom:0; height:15px; background:url("../images/texturas/tabla-tallada.fb78ef02e1d9.jpg") center / cover; border-top:1px solid #b68d4e80; box-shadow:0 10px 13px #000b; }
.biblioteca .tomo-tapa { display:block; max-width:180px; filter:drop-shadow(6px 12px 12px #0009); transition:transform .25s; }
.biblioteca .tomo-tapa img { display:block; width:100%; height:auto; aspect-ratio:870/933; object-fit:contain; }
.biblioteca .tomo-rotulo { position:relative; isolation:isolate; display:flex; flex:1; flex-direction:column; align-items:center; gap:10px; width:100%; box-sizing:border-box; padding:12px 8px 16px; text-shadow:0 2px 4px #000; }
.biblioteca .tomo-rotulo::before { content:''; position:absolute; z-index:-1; inset:-8px -6px; border-radius:35%; background:radial-gradient(ellipse,#050302eb 25%,#050302c7 58%,transparent 78%); filter:blur(8px); pointer-events:none; }
.biblioteca .tomo-titulo { font:400 23px/1.15 var(--gotica-rotulo); color:#f4e1b5; text-align:center; text-shadow:0 1px 3px #000; }
.biblioteca .tomo-epigrafe { font:16px/1.35 var(--manuscrito); color:#ddc49b; text-align:center; }
.biblioteca .tomo-pie { margin-top:auto; padding:6px 10px; border-radius:8px; background:radial-gradient(ellipse,#050302ed 30%,#050302b8 65%,transparent 100%); box-shadow:0 0 12px 4px #05030280; color:#f5e4bd; text-align:center; text-shadow:0 1px 3px #000; font:14px/1.5 var(--romana); }
.biblioteca .tomo-vacio { color:#e7d4aa; font:20px/1.6 var(--manuscrito); }
.biblioteca .tomo:focus-visible { outline:2px solid #d9b575; outline-offset:4px; }
@media (hover:hover) and (pointer:fine) { .biblioteca .tomo:hover .tomo-tapa { transform:translateY(-8px); } }
.biblioteca .lector-telon,.biblioteca .indice-telon { display:none; position:fixed; inset:0; z-index:9500; padding:12px; overflow-y:auto; overscroll-behavior:contain; background:#080604; }
.biblioteca .lector-telon.abierto,.biblioteca .indice-telon.abierto { display:flex; align-items:flex-start; justify-content:center; }
html:has(.biblioteca .lector-telon.abierto) { overflow:hidden; }
.biblioteca .lector-caja { position:relative; width:min(1480px,100%); height:calc(100svh - 24px); height:calc(100dvh - 24px); min-height:480px; display:flex; flex-direction:column; gap:12px; margin:auto; }
.biblioteca .lector-cabecera { position:relative; flex:none; padding:3px 112px; min-height:48px; display:flex; align-items:center; justify-content:center; }
.biblioteca .lector-cabecera h2 { color:#f0dfb6; font:400 clamp(24px,2.8vw,34px)/1.2 var(--gotica-rotulo); text-align:center; margin:0; text-wrap:balance; }
.biblioteca .lector-cerrar { position:absolute; right:0; top:0; min-height:48px; padding:6px 12px; background:none; border:solid transparent; border-width:7px 10px 9px; border-image:url("../images/texturas/pergamino-pestanas.106edb39c719.png") 145 95 175 fill stretch; color:#572d1b; font:18px/1.2 var(--manuscrito); cursor:var(--cursor-espada,pointer); }
.biblioteca .lector-escena { position:relative; flex:1 1 auto; min-height:350px; display:flex; align-items:center; justify-content:center; }
.biblioteca #atril-marco { position:relative; flex:none; margin:auto; overflow:hidden; isolation:isolate; }
.biblioteca #atril-marco.oculto,.biblioteca #libro-cerrado.oculto { display:none; }
.biblioteca #libro,.biblioteca .libro-lienzo { width:100%; height:100%; margin:0; }
.biblioteca .pagina-folio { position:relative; color:#33240f; background:url("../images/escenas/libro-abierto.25cf13d9610f.png") right center / 200% 100% no-repeat; overflow:hidden; }
/* Animated sheets share the same origin; they must never enter normal flow. */
.biblioteca .pagina-folio.stf__item { position:absolute; top:0; left:0; }
.biblioteca .pagina-folio.--left { background-position:left center; }
.biblioteca .pagina-folio.--right { background-position:right center; }
.biblioteca .folio { position:relative; height:100%; margin:0; padding:8% 11% 13%; box-sizing:border-box; }
.biblioteca .--left .folio { padding-left:15%; padding-right:7%; }
.biblioteca .--right .folio { padding-left:7%; padding-right:15%; }
.biblioteca .folio-escritura { height:calc(100% - 6px); display:flow-root; }
.biblioteca .folio-rubrica { color:#8b261d; font:400 var(--folio-titulo,25px)/1.22 var(--gotica-rotulo); text-align:center; margin:0 0 .7em; overflow-wrap:anywhere; }
.biblioteca .folio-continuacion { color:#74512e; font:15px/1.3 var(--manuscrito); text-align:center; margin:0 0 14px; }
.biblioteca .folio-cuerpo { color:#342618; text-align:left; font:var(--folio-letra,19px)/1.6 var(--manuscrito); overflow:visible; max-height:none; hyphens:auto; -webkit-hyphens:auto; overflow-wrap:anywhere; }
.biblioteca .folio-cuerpo p { margin:0 0 .65em; white-space:pre-line; }
.biblioteca .folio-cuerpo p:last-child { margin-bottom:0; }
.biblioteca .folio-cuerpo a { color:#73271f; text-decoration:underline; text-underline-offset:.15em; overflow-wrap:anywhere; }
.biblioteca .folio-cuerpo a:focus-visible { outline:2px solid #73271f; outline-offset:3px; }
.biblioteca .folio-cuerpo .letra-capitular { float:left; margin:.02em .12em 0 0; padding:0; color:#8b261d; font:400 2.8em/.95 var(--gotica); border:0; background:none; }
.biblioteca .folio-mini { float:none; width:auto; max-width:100%; margin:0 0 14px; padding:0; border:0; background:none; box-shadow:none; }
.biblioteca .folio-mini img { display:block; width:100%; height:auto; max-height:var(--folio-foto,150px); object-fit:contain; aspect-ratio:auto; border:0; filter:none; }
.biblioteca .folio-mini figcaption { margin-top:5px; color:#63482b; font:13px/1.35 var(--manuscrito); text-align:center; }
.biblioteca .folio-pie { position:absolute; left:10%; right:10%; bottom:3%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin:0; }
.biblioteca .folio-num { grid-column:2; grid-row:1; font:14px/1 var(--romana); color:#72552e; }
.biblioteca .folio-esquina { grid-column:1; grid-row:1; justify-self:center; display:grid; place-items:center; width:44px; height:44px; padding:8px; border:0; background:none; color:#8b261d; cursor:var(--cursor-espada,pointer); }
.biblioteca .folio-esquina-der { grid-column:3; }
.biblioteca .folio-esquina svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:6; stroke-linecap:round; stroke-linejoin:round; }
.biblioteca .libro-cerrado { display:flex; flex-direction:column; align-items:center; gap:18px; padding:20px; border:0; background:none; color:#f0dcb1; }
.biblioteca .lc-tapa { width:clamp(180px,26vw,300px); max-height:45svh; height:auto; object-fit:contain; filter:drop-shadow(0 24px 30px #000b); }
.biblioteca .lc-cartela { color:#f0dfb6; font:18px/1.4 var(--manuscrito); text-align:center; }
.biblioteca .lc-invitacion { display:none; }
.biblioteca .lector-estado { flex:none; text-align:center; color:#f0dfb6; font:18px/1.5 var(--manuscrito); margin:0; }
.biblioteca .lector-estado:empty { display:none; }
.biblioteca .lector-barra { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:end; gap:16px; flex:none; width:min(600px,100%); margin:0 auto; padding-bottom:env(safe-area-inset-bottom); }
.biblioteca .lector-centro { display:flex; flex-direction:column; align-items:center; gap:6px; }
.biblioteca #folio-actual { position:static; width:auto; height:auto; margin:0; overflow:visible; clip-path:none; white-space:normal; font:14px/1.3 var(--manuscrito); color:#e4cda4; text-align:center; }
.biblioteca .btn-indice { display:block; min-width:0; width:100%; min-height:48px; padding:6px 12px; border:solid transparent; border-width:7px 10px 9px; border-image:url("../images/texturas/pergamino-pestanas.106edb39c719.png") 145 95 175 fill stretch; background:none; color:#512e19; box-shadow:none; font:19px/1.25 var(--manuscrito); text-align:center; cursor:var(--cursor-espada,pointer); }
.biblioteca .btn-indice .ic { display:none; }
.biblioteca .btn-indice:disabled { opacity:.45; cursor:default; }
.biblioteca :is(.btn-indice,.lector-cerrar,.folio-esquina,.indice-item):focus-visible { outline:2px solid #bb8c45; outline-offset:3px; }
.biblioteca .indice-telon { z-index:9700; background:#080604dc; align-items:center; }
.biblioteca .indice-pergamino { position:relative; display:flex; flex-direction:column; width:min(680px,100%); max-height:calc(100dvh - 24px); margin:auto; padding:24px 20px; border:solid transparent; border-width:28px 18px 32px; border-image:url("../images/texturas/pergamino-pestanas.106edb39c719.png") 145 95 175 fill stretch; background:none; color:#392516; }
.biblioteca #indice-cerrar { position:static; align-self:end; flex:none; margin-bottom:16px; }
.biblioteca .indice-cabecera { text-align:center; flex:none; margin-bottom:20px; }
.biblioteca .indice-cabecera h3 { font:32px/1.2 var(--gotica-rotulo); margin:0; }
.biblioteca .indice-cabecera p { font:17px/1.4 var(--manuscrito); margin:10px 0 0; }
.biblioteca .indice-lista { list-style:none; min-height:0; overflow:auto; padding:0 6px 0 0; margin:0; scrollbar-width:thin; }
.biblioteca .indice-item { width:100%; min-height:48px; display:flex; align-items:baseline; gap:12px; padding:12px 2px; border:0; border-bottom:1px solid #a17f484d; background:none; color:#392516; text-align:left; font:20px/1.35 var(--manuscrito); }
.biblioteca .indice-rom { flex:none; color:#8b261d; font:14px/1.4 var(--romana); }
.biblioteca .indice-tit { flex:1; }
.biblioteca .lector-banco { position:absolute; left:-20000px; top:0; visibility:hidden; pointer-events:none; }
.biblioteca .lector-banco .pagina { display:block; position:relative; }
@media (max-width:600px) {
 .biblioteca .balda-fila { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
 .biblioteca .tomo { padding:12px 2px 24px; }
 .biblioteca .tomo-titulo { font-size:21px; }
 .biblioteca .tomo-epigrafe { font-size:15px; }
 .biblioteca .lector-cabecera { padding:0 92px 0 0; justify-content:start; }
 .biblioteca .lector-cabecera h2 { text-align:left; font-size:24px; }
 .biblioteca .lector-cerrar { padding:6px; font-size:16px; }
 .biblioteca .lector-barra { gap:6px; }
 .biblioteca .btn-indice { padding:6px 2px; border-width:7px 8px 9px; font-size:17px; }
 .biblioteca .folio-mini { width:auto; margin-right:0; }
 .biblioteca .indice-pergamino { padding:12px 4px; border-width:20px 12px 24px; }
}
@media (max-width:359px) { .biblioteca .balda-fila { gap:24px 8px; } .biblioteca .tomo-titulo { font-size:19px; } }
@media (prefers-reduced-motion:reduce) { .biblioteca * { transition:none !important; animation:none !important; } }
.biblioteca .lector-aviso { margin:0; color:#e4cda4; font:16px/1.4 var(--manuscrito); text-align:center; }
.biblioteca .lector-aviso[hidden] { display:none; }
.biblioteca .folio-cuerpo .letra-capitular { display:block; width:auto; height:auto; box-shadow:none; text-shadow:none; }
.biblioteca .lector-escena { touch-action:pan-y; }
