/* Cosmetic fade only: no overlay, hidden content, startup wait or animation delay. */
body > main { animation: stru-page-appear 160ms ease-out; }
@keyframes stru-page-appear { from { opacity: .85; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  body > main { animation: none; }
}
@media print {
  body > main { animation: none; }
}
