/* El overview ocupa la ventana entera y no deja scrollear el cuerpo:
   el mazo se recorre de costado, no hacia abajo. */
#ov{position:fixed;inset:0;z-index:900;transition:none}
body{overflow:hidden}

/* Entrada de cada pieza: sube 12 px y aparece. El retardo de cada una
   viaja en --b, que escribe el script al escalonarlas. */
:root{--rve:cubic-bezier(.16,1,.3,1)}
.rv-rise{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .85s ease var(--b,0ms),
             transform .95s var(--rve) var(--b,0ms);
}
.rv-rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv-rise{transition:none!important;opacity:1;transform:none}
}

/* la carátula no se pinta hasta estar medida: las líneas se cortan
   midiendo, y pintar antes mostraría renglones equivocados */
#ov .cover,#ov .stage{visibility:hidden}
body.rv-on #ov .cover,body.rv-on #ov .stage{visibility:visible}
