/* Only the selected photograph participates; the interface swaps immediately. */
html.central-photo-transition { view-transition-name:none; }
html.central-photo-transition::view-transition { pointer-events:none; }
.central-photo-flight{position:fixed;inset:0 auto auto 0;margin:0;max-width:none;max-height:none;object-fit:cover;border-radius:16px;transform-origin:0 0;pointer-events:none;z-index:90;will-change:transform,opacity;animation:none!important;filter:none!important;transition:none!important}
::view-transition-group(central-profile-photo) {
  animation-duration:320ms;
  animation-timing-function:cubic-bezier(.22,.72,.18,1);
  overflow:hidden;
  border-radius:16px;
}
::view-transition-old(central-profile-photo),
::view-transition-new(central-profile-photo) {
  height:100%;
  width:100%;
  object-fit:cover;
  animation-duration:160ms;
  mix-blend-mode:normal;
}
/* Suppress the older entrance during this photo's navigation choreography. */
#view-work.profile-photo-entry .media-stage,
#view-work.profile-photo-entry .stage-img { animation:none; }
/* The cached thumbnail stays sharp and keeps the same geometry as the final
   portrait. A second blur/scale transition fights the photo's own motion. */
#view-work.profile-photo-entry .stage-img,
#view-work.profile-photo-entry .stage-img.warm{filter:none;transform:none;transition:none}
@media(prefers-reduced-motion:reduce) {
  ::view-transition-group(central-profile-photo),
  ::view-transition-old(central-profile-photo),
  ::view-transition-new(central-profile-photo) { animation:none; }
}
