.chat-shimmer{background-image:linear-gradient(90deg, var(--color-muted) 0%, var(--color-navy-900) 35%, var(--color-faint) 50%, var(--color-navy-900) 65%, var(--color-muted) 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite chat-shimmer}@keyframes chat-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-memory-fresh{animation:chat-memory-fresh 2.4s var(--ease-out-soft) both}@keyframes chat-memory-fresh{0%{background-color:var(--color-gold-100)}}.chat-arrive{animation:chat-arrive .45s var(--ease-out-soft) both}.chat-arrive-late{animation-delay:.4s}.chat-stagger>*{animation:chat-arrive .5s var(--ease-out-soft) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes chat-arrive{0%{opacity:0;transform:translateY(6px)}}.trip-reveal>*{animation:chat-arrive .55s var(--ease-out-soft) both}.trip-reveal>:first-child{animation:trip-unveil .9s var(--ease-out-soft) both}.trip-reveal>:nth-child(2){animation-delay:.12s}.trip-reveal>:nth-child(3){animation-delay:.2s}.trip-reveal>:nth-child(n+4){animation-delay:.28s}.trip-reveal>:last-child{animation-delay:.36s}.trip-item-changed{animation:trip-item-changed 2.8s var(--ease-out-soft) both}@keyframes trip-item-changed{0%{background-color:var(--color-gold-100)}}@keyframes trip-unveil{0%{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.chat-shimmer{color:var(--color-ink-soft);background-image:none;animation:none}}
