@keyframes chatMessage{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes chatTwinkle{from{opacity:.25}to{opacity:.55}}
@keyframes chatTyping{0%,60%,100%{opacity:.45;transform:translate3d(0,0,0)}30%{opacity:1;transform:translate3d(0,-4px,0)}}
@keyframes chatConnect{0%,70%{opacity:1}100%{opacity:0}}
#assistant-messages [data-fresh="true"]{animation:chatMessage .24s ease-out both}
#chat-stars>div{animation:chatTwinkle 3.8s ease-in-out infinite alternate}
#chat-stars>div:nth-child(3n){animation-delay:-1.3s}
#chat-stars>div:nth-child(3n+1){animation-delay:-2.7s;animation-duration:4.8s}
#assistant-typing>div{animation:chatTyping .9s ease-in-out infinite}
#assistant-typing>div:nth-child(2){animation-delay:.12s}
#assistant-typing>div:nth-child(3){animation-delay:.24s}
#chat-toggle-thumb{transition:transform .18s ease-out}
#chat-connecting{animation:chatConnect .65s ease-out both}
@media(prefers-reduced-motion:reduce){#assistant-messages [data-fresh="true"]{animation-duration:.001s}#chat-stars>div,#assistant-typing>div{animation:none}#chat-toggle-thumb{transition:none}}

@keyframes documentPulse{0%,100%{opacity:.3}50%{opacity:1}}
#document-live-dot{animation:documentPulse 2.3s ease-in-out infinite}
#screen-stack [data-route]{backface-visibility:hidden}
#bottom-tabs [role="tab"]{transition:opacity .12s ease-out}
#bottom-tabs [role="tab"]:active{opacity:.6}
#documents-stack{overflow:hidden}
@media(prefers-reduced-motion:reduce){#document-live-dot{animation:none}#documents-stack *{transition:none!important}#bottom-tabs [role="tab"]{transition:none}}

#home-profile,#home-scanner{touch-action:manipulation}
#gosscan-animation{contain:layout paint;isolation:isolate}
@media(prefers-reduced-motion:reduce){#home-profile,#home-scanner{transition:none!important}}
