@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal-stagger.is-visible>*:nth-child(1){transition-delay:0ms;opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>*:nth-child(2){transition-delay:.1s;opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>*:nth-child(3){transition-delay:.2s;opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>*:nth-child(4){transition-delay:.3s;opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>*:nth-child(5){transition-delay:.4s;opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>*:nth-child(6){transition-delay:.5s;opacity:1;transform:translateY(0)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-line{height:1rem;margin-bottom:var(--space-3)}.skeleton-line.lg{height:2rem}.skeleton-line.xl{height:3rem}.skeleton-circle{border-radius:50%}@keyframes scoreReveal{0%{transform:scale(1)}60%{transform:scale(1.05)}to{transform:scale(1)}}.score-reveal-pulse{animation:scoreReveal .3s cubic-bezier(.4,0,.2,1)}@keyframes checkDraw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.check-anim path{stroke-dasharray:100;stroke-dashoffset:100;animation:checkDraw .6s cubic-bezier(.65,0,.45,1) forwards;animation-delay:.1s}.btn-lift{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn-lift:hover:not(:disabled),.btn-lift:focus-visible:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #d977062e}.card-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.card-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.sticky-mobile-cta{display:none}@media (max-width: 767px){.sticky-mobile-cta{display:block;position:fixed;left:16px;right:16px;bottom:16px;z-index:100;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.sticky-mobile-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}}@keyframes loadingProgress{0%{width:0%}to{width:100%}}.loading-progress-bar{animation:loadingProgress 2s cubic-bezier(.4,0,.2,1) forwards}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--bg-tertiary)}.score-reveal-pulse{animation:none}.check-anim path{animation:none;stroke-dashoffset:0}.btn-lift:hover,.btn-lift:focus-visible,.card-lift:hover{transform:none}.sticky-mobile-cta{transition:none}.loading-progress-bar{animation:none;width:100%}}
