/* Calm transitions between complete pages; the header remains visually anchored. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .topbar{view-transition-name:site-header}
 #tom-image,.gd-project-preview img{view-transition-name:tomasaki-project}
 ::view-transition-group(root){animation-duration:340ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
 ::view-transition-old(root){animation:page-leave 170ms ease-out both}
 ::view-transition-new(root){animation:page-arrive 340ms cubic-bezier(.22,1,.36,1) both}
 ::view-transition-group(site-header){animation-duration:340ms}
 ::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}
 ::view-transition-old(site-header){display:none}
 ::view-transition-group(tomasaki-project){animation-duration:420ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
 @keyframes page-leave{to{opacity:0;transform:translateY(-6px)}}
 @keyframes page-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
