/* Fade Content-inspired plain fade. Layout, cropping and typography stay native.
   Only JS adds these states, so content remains visible if JS is unavailable. */
body.gjm-list .post-card.glf-pending { opacity: 0; }
body.gjm-list .post-card.glf-entering {
  animation: glf-reveal 1200ms ease-in-out both;
}
@keyframes glf-reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}
body.gjm-list .post-card.glf-pending:focus-within {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  body.gjm-list .post-card.glf-pending,
  body.gjm-list .post-card.glf-entering { opacity: 1; animation: none; }
}
@media print {
  body.gjm-list .post-card.glf-pending,
  body.gjm-list .post-card.glf-entering { opacity: 1; animation: none; }
}
