/* Motion is optional: there are deliberately no hidden/pending reveal rules. */
@view-transition{navigation:auto}

/* Supporting browsers softly bridge same-origin document changes. Navigation
   remains native; unsupported browsers simply render the next document. */
::view-transition-old(root){animation:solarcan-page-out 140ms ease both}
::view-transition-new(root){animation:solarcan-page-in 300ms cubic-bezier(.22,.7,.2,1) both}
@keyframes solarcan-page-out{to{opacity:0}}
@keyframes solarcan-page-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
