@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.activity-step-classification .step-badge-processing,.activity-step-segmentation .step-badge-processing{opacity:1;animation:segmentationProcessing 14.5s ease-out infinite}@keyframes segmentationProcessing{0%{opacity:1}27.6%{opacity:1}30%{opacity:0}to{opacity:0}}.activity-step-classification .step-badge-completed,.activity-step-segmentation .step-badge-completed{opacity:0;animation:segmentationCompleted 14.5s ease-out infinite}@keyframes segmentationCompleted{0%{opacity:0}27.6%{opacity:0}30%{opacity:1}to{opacity:1}}.activity-step-classification svg.grow,.activity-step-segmentation svg.grow{opacity:0;animation:segmentationBottomLine 14.5s ease-out infinite}@keyframes segmentationBottomLine{0%{opacity:0}27.6%{opacity:0}30%{opacity:1}to{opacity:1}}.activity-step-cmr,.activity-step-extraction,.activity-step-packing-list{opacity:0;max-height:0;overflow:hidden;animation:extractionAppear 14.5s step-end infinite}@keyframes extractionAppear{0%{opacity:0;max-height:0}27.5%{opacity:0;max-height:0}27.6%{opacity:1;max-height:500px}to{opacity:1;max-height:500px}}.activity-step-cmr .step-badge-processing,.activity-step-extraction .step-badge-processing,.activity-step-packing-list .step-badge-processing{opacity:1;animation:extractionProcessing 14.5s ease-out infinite}@keyframes extractionProcessing{0%{opacity:1}41.4%{opacity:1}43.7%{opacity:0}to{opacity:0}}.activity-step-cmr .step-badge-completed,.activity-step-extraction .step-badge-completed,.activity-step-packing-list .step-badge-completed{opacity:0;animation:extractionCompleted 14.5s ease-out infinite}@keyframes extractionCompleted{0%{opacity:0}41.4%{opacity:0}43.7%{opacity:1}to{opacity:1}}.export-success-message{opacity:0;animation:exportSuccess 17s ease-out infinite}@keyframes exportSuccess{0%{opacity:0;transform:translateY(-4px)}40%{opacity:0;transform:translateY(-4px)}42%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}.animate-thread-scroll{animation:threadScroll 12s cubic-bezier(.4,0,.2,1) infinite;will-change:transform}.animate-system-message{animation:systemMessageFade 12s cubic-bezier(.4,0,.2,1) infinite;will-change:opacity,transform}@keyframes systemMessageFade{0%,15%{opacity:0;transform:translateY(10px)}20%,85%{opacity:1;transform:translateY(0)}90%,to{opacity:0;transform:translateY(10px)}}@keyframes threadScroll{0%,25%{transform:translateY(0)}35%,85%{transform:translateY(-320px)}95%,to{transform:translateY(0)}}