.content-slot {
  position: relative;
  flex: 1;            /* fills space between header/footer */
  overflow: hidden;
}

.view {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
}

@keyframes fadeScaleIn {
  from { opacity: 0; transform: translateY(8px) scale(.985); filter: blur(2px); }
  to   { opacity: 1; transform: translateY(0)    scale(1);     filter: blur(0); }
}
.view-enter { animation: fadeScaleIn 180ms cubic-bezier(.2,.8,.2,1) both; }

@media (prefers-reduced-motion: reduce) { .view-enter { animation: none; } }

