/* Native same-origin navigation transitions; no intercepted links or delayed navigation. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .16s ease both}
::view-transition-new(root){animation:page-in .26s cubic-bezier(.2,.7,.3,1) both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
html{scroll-behavior:smooth}
body.workspace-page .app-main{animation:content-arrive .3s ease both}
@keyframes content-arrive{from{opacity:.6}to{opacity:1}}
.btn,button.prompt-chip,.side-nav a,.journey-card{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}
details[open]>:not(summary){animation:content-arrive .2s ease}
dialog[open]{animation:dialog-arrive .2s ease}
@keyframes dialog-arrive{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root),body.workspace-page .app-main,details[open]>:not(summary),dialog[open]{animation:none!important}.btn,button.prompt-chip,.side-nav a,.journey-card{transition:none!important}}
