@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.1s!important;scroll-behavior:auto!important}.animate-bounce,.animate-error-shake,.animate-fade-in,.animate-hover-lift,.animate-shine,.animate-skeleton,.animate-status-pulse,.animate-success-ripple,.border-shimmer,.connector-bounce,.error-pulse,.flow-pulse,.text-shimmer{animation:none!important}.animate-success-ripple:after{display:none!important}.animate-retry-countdown{transition:transform .1s ease!important}.animate-spin{animation-duration:3s!important;animation-timing-function:ease-in-out!important}.animate-pulse{animation-duration:4s!important;animation-timing-function:ease-in-out!important}.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition:none!important}.hover\:-translate-y-1:hover,.hover\:scale-105:hover,.hover\:scale-110:hover{transform:none!important}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes status-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes retry-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes success-ripple{0%{opacity:.8;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes error-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes hover-lift{0%{transform:translateY(0) scale(1);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}to{transform:translateY(-2px) scale(1.005);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-shine{animation:shine 2s infinite}.animate-status-pulse{animation:status-pulse .6s ease-out}.animate-retry-countdown{animation:retry-countdown var(--countdown-duration,5s) linear;transform-origin:left}.animate-success-ripple{animation:success-ripple .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.animate-success-ripple:after{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(34,197,94,.3);animation:inherit;pointer-events:none}.animate-error-shake{animation:error-shake .3s cubic-bezier(.68,-.55,.265,1.55)}.animate-skeleton{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));background-size:200px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.animate-hover-lift{transition:all .15s ease-out}.animate-hover-lift:hover{animation:hover-lift .15s ease-out forwards}.duration-fast{animation-duration:.15s;transition-duration:.15s}.duration-medium{animation-duration:.25s;transition-duration:.25s}.duration-slow{animation-duration:.4s;transition-duration:.4s}.ease-micro{animation-timing-function:ease-out;transition-timing-function:ease-out}.ease-transition{animation-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-complex{animation-timing-function:cubic-bezier(.68,-.55,.265,1.55);transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}@keyframes connector-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.connector-bounce{animation:connector-bounce 2s ease-in-out infinite}.connector-glow{position:relative}.connector-glow:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(45deg,transparent,rgba(var(--primary),.1),transparent);-webkit-mask-composite:subtract;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:source-out;mask-composite:subtract;opacity:0;transition:opacity .3s ease}.connector-glow:hover:before{opacity:1}@media (prefers-contrast:high){.focus-ring{--tw-ring-color:hsl(var(--primary))}}.focus-ring:focus{outline:2px solid transparent;outline-offset:2px}.focus-ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--primary)/0.5);--tw-ring-offset-width:2px;--tw-ring-offset-color:hsl(var(--background))}@media (prefers-contrast:high){.focus-ring-high{--tw-ring-color:hsl(var(--primary));outline-color:hsl(var(--primary));outline-width:3px}}.focus-ring-high:focus{outline:2px solid transparent;outline-offset:2px}.focus-ring-high:focus-visible{outline-width:2px;outline-offset:2px;outline-color:hsl(var(--primary));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--primary)/0.5)}.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;position:absolute;top:1rem;left:1rem;z-index:50;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--primary));padding:.5rem 1rem;font-weight:500;color:hsl(var(--primary-foreground));--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-contrast:high){.bg-gradient-to-br,.bg-gradient-to-l,.bg-gradient-to-r{background:var(--background)!important}.border-border\/50,.border-border\/60{border-color:var(--border)!important;border-width:2px!important}.text-muted-foreground{color:var(--foreground)!important}.focus-visible\:ring-primary\/50{--tw-ring-color:hsl(var(--primary))!important}.focus-visible\:outline-primary{outline-color:hsl(var(--primary))!important;outline-width:3px!important}[role=status]{border-width:2px!important}}