@keyframes reveal-rise{0%{opacity:0;translate:0 12px}}@keyframes reveal-soft{0%{opacity:0;translate:0 4px}}@keyframes flow-draw{0%{stroke-dashoffset:1px;stroke-opacity:0}15%{stroke-opacity:1}to{stroke-dashoffset:0;stroke-opacity:1}}@keyframes flow-pop{0%{opacity:0}}@keyframes typing-dot{0%,60%,to{opacity:.3;translate:0}30%{opacity:1;translate:0 -2px}}@keyframes trace-mark{0%{opacity:0;scale:.86}}@keyframes trace-inspect-pulse{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){[data-reveal]:not([data-inview])>*{opacity:0}[data-reveal][data-inview]>*{animation:.6s cubic-bezier(.2,.8,.2,1) backwards reveal-rise;animation-delay:var(--reveal-delay,0s)}[data-reveal][data-inview]>:first-child{--reveal-delay:0s}[data-reveal][data-inview]>:nth-child(2){--reveal-delay:.1s}[data-reveal][data-inview]>:nth-child(3){--reveal-delay:.2s}[data-reveal][data-inview]>:nth-child(n+4){--reveal-delay:.3s}[data-reveal=soft][data-inview]>*{animation-name:reveal-soft;animation-duration:.4s}[data-chat-anim] [data-chat-msg]:not([data-shown]){opacity:0}[data-chat-anim] [data-chat-msg][data-shown]{animation:.45s cubic-bezier(.2,.8,.2,1) backwards reveal-rise}.typing-dot{animation:1s ease-in-out infinite typing-dot}.trace-hint{animation:.48s cubic-bezier(.2,.8,.2,1) .12s backwards reveal-soft}.trace-hint .trace-mark{animation:.42s cubic-bezier(.2,.8,.2,1) backwards trace-mark}.trace-hint .trace-mark:first-child{animation-delay:.22s}.trace-hint .trace-mark:nth-child(2){animation-delay:.32s}.trace-hint .trace-mark:nth-child(3){animation-delay:.4s}.trace-hint .trace-mark:nth-child(4){animation-delay:.46s}.trace-inspect{animation:.5s cubic-bezier(.2,.8,.2,1) .42s backwards reveal-soft,2.8s ease-in-out 1.1s infinite trace-inspect-pulse}[data-flow-anim] .flow-edge{stroke-dasharray:1}[data-flow-anim]:not([data-inview]) .flow-edge{stroke-opacity:0}[data-flow-anim]:not([data-inview]) .flow-count{opacity:0!important}[data-flow-anim][data-inview] .flow-edge{animation:.7s cubic-bezier(.4,0,.2,1) backwards flow-draw;animation-delay:var(--flow-delay,0s)}[data-flow-anim][data-inview] .flow-count{animation:.3s ease-out backwards flow-pop;animation-delay:var(--flow-delay,0s)}}
