@keyframes cardEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-enter{animation:cardEnter .4s ease backwards}@keyframes numberPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.pop{animation:numberPop .15s ease}@keyframes limitShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.at-limit{animation:limitShake .2s ease}@keyframes sectionHighlight{0%{box-shadow:0 0 0 3px #5f14e11a,0 8px 32px #00000014}50%{box-shadow:0 0 0 6px #5f14e126,0 8px 32px #00000014}to{box-shadow:0 0 0 3px #5f14e11a,0 8px 32px #00000014}}.pulse{animation:sectionHighlight .6s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.qty-btn:hover:not(:disabled){transform:scale(1.08)}.qty-btn:active:not(:disabled){transform:scale(.92)}.focus-ring:focus-visible{outline:2px solid var(--color-purple-blue);outline-offset:2px}.active-card{box-shadow:0 0 0 3px #5f14e11f,0 4px 12px #5f14e126}.active-card,.active-card-elevated{background:linear-gradient(135deg,var(--color-primary-50) 0,hsla(0,0%,100%,.9) 40%,#fff 100%);border-color:var(--color-purple-blue)}.active-card-elevated{box-shadow:0 0 0 3px #5f14e11f,0 4px 12px #5f14e126,inset 0 1px #ffffffe6}.card-hover:hover{border-color:var(--color-gray-300);box-shadow:0 4px 16px #00000014,0 8px 32px #0000000f}
