@keyframes reveal-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes check-grow{0%{transform:scaleX(.03)}to{transform:scaleX(.94)}}@keyframes pulse-soft{0%{box-shadow:0 0 0 0 rgba(255,138,128,.55)}70%{box-shadow:0 0 0 7px rgba(255,138,128,0)}to{box-shadow:0 0 0 0 rgba(255,138,128,0)}}.reveal{animation:reveal-up .5s cubic-bezier(.2,.75,.25,1) both}.reveal-item{animation:reveal-up .45s cubic-bezier(.2,.75,.25,1) both;animation-delay:calc(var(--i, 0) * 70ms)}.pop-in{animation:pop-in .42s cubic-bezier(.34,1.4,.64,1) .12s both}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.14) 37%,rgba(255,255,255,.06) 63%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}.check-progress{height:4px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.check-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff4d4d,#f2b24a);transform-origin:left center;animation:check-grow 7s cubic-bezier(.12,.65,.2,1) forwards}.pulse-dot{width:8px;height:8px;border-radius:999px;background:#ff8a80;animation:pulse-soft 1.6s ease-out infinite}.spinner{animation:spin .8s linear infinite}