@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--animation-duration-fast:150ms;--animation-duration-normal:250ms;--animation-duration-slow:350ms;--animation-easing-smooth:cubic-bezier(0.4,0,0.2,1);--animation-easing-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--animation-easing-ease-out:cubic-bezier(0,0,0.2,1)}.animate-micro-bounce{animation:micro-bounce var(--animation-duration-fast) var(--animation-easing-bounce)}.animate-gentle-pulse{animation:gentle-pulse 2s var(--animation-easing-smooth) infinite}.animate-fade-in{animation:fade-in var(--animation-duration-normal) var(--animation-easing-ease-out)}.animate-slide-up{animation:slide-up var(--animation-duration-normal) var(--animation-easing-ease-out)}.animate-slide-down{animation:slide-down var(--animation-duration-normal) var(--animation-easing-ease-out)}.animate-scale-in{animation:scale-in var(--animation-duration-normal) var(--animation-easing-smooth)}.btn-animated{position:relative;overflow:hidden;transition:all var(--animation-duration-normal) var(--animation-easing-smooth);transform:translateY(0)}.btn-animated:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-animated:active{transform:translateY(0);transition-duration:var(--animation-duration-fast)}.btn-animated:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--animation-duration-slow) var(--animation-easing-smooth)}.btn-animated:hover:before{left:100%}.group:hover .group-hover\:scale-110{transform:scale(1.1)}.group:hover .group-hover\:translate-x-1{transform:translateX(.25rem)}.card-animated{transition:all var(--animation-duration-normal) var(--animation-easing-smooth);transform:translateY(0) scale(1)}.card-animated:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 25px rgba(0,0,0,.1)}.field-animated{position:relative;transition:all var(--animation-duration-normal) var(--animation-easing-smooth)}.field-animated:focus-within{transform:scale(1.01)}.field-animated input,.field-animated select,.field-animated textarea{transition:all var(--animation-duration-normal) var(--animation-easing-smooth)}.field-animated input:focus,.field-animated select:focus,.field-animated textarea:focus{box-shadow:0 0 0 3px rgba(59,130,246,.1);border-color:#3b82f6}.loading-spinner{animation:spin 1s linear infinite}.loading-dots:after{content:"";animation:loading-dots 1.5s infinite}.loading-pulse{animation:gentle-pulse 1.5s ease-in-out infinite}.progress-animated{position:relative;overflow:hidden}.progress-animated:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 2s infinite}.accordion-content{overflow:hidden;transition:max-height var(--animation-duration-slow) var(--animation-easing-smooth)}.accordion-content.expanded{animation:accordion-expand var(--animation-duration-slow) var(--animation-easing-smooth)}.accordion-content.collapsed{animation:accordion-collapse var(--animation-duration-slow) var(--animation-easing-smooth)}.nav-item{position:relative;transition:all var(--animation-duration-normal) var(--animation-easing-smooth)}.nav-item:before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:#3b82f6;transition:width var(--animation-duration-normal) var(--animation-easing-smooth);transform:translateY(-50%)}.nav-item.active:before,.nav-item:hover:before{width:4px}.result-reveal{animation:result-reveal var(--animation-duration-slow) var(--animation-easing-smooth)}.result-card{animation:result-card-enter var(--animation-duration-normal) var(--animation-easing-smooth);animation-fill-mode:both}.result-card:first-child{animation-delay:0s}.result-card:nth-child(2){animation-delay:.1s}.result-card:nth-child(3){animation-delay:.2s}@keyframes micro-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes gentle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes loading-dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}@keyframes progress-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes accordion-expand{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}@keyframes accordion-collapse{0%{max-height:1000px;opacity:1}to{max-height:0;opacity:0}}@keyframes result-reveal{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes result-card-enter{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.badge-minimal{position:absolute;top:-1px;right:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);padding:2px 8px;border-radius:2px;font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-left:2px solid;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all var(--animation-duration-fast) var(--animation-easing-smooth);z-index:20;transform:translateY(-50%)}.badge-minimal:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 2px 4px rgba(0,0,0,.08)}.badge-minimal.badge-tou{border-left-color:rgb(34,197,94);color:rgb(21,128,61)}.badge-minimal.badge-cmu,.badge-minimal.badge-source{border-left-color:rgb(59,130,246);color:rgb(29,78,216)}.badge-minimal.badge-lamal{border-left-color:rgb(239,68,68);color:rgb(185,28,28)}.badge-minimal.badge-obligatory{border-left-color:rgb(245,158,11);color:rgb(180,83,9)}.badge-ghost{position:absolute;top:-1px;right:8px;background:transparent;padding:1px 6px;border-radius:1px;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid;transition:all var(--animation-duration-fast) var(--animation-easing-smooth);z-index:25;transform:translateY(-50%);opacity:.8}.badge-ghost:hover{opacity:1;transform:translateY(-50%) scale(1.05)}.badge-ghost.badge-tou{border-color:rgb(34,197,94);color:rgb(21,128,61)}.badge-ghost.badge-cmu,.badge-ghost.badge-source{border-color:rgb(59,130,246);color:rgb(29,78,216)}.badge-ghost.badge-lamal{border-color:rgb(239,68,68);color:rgb(185,28,28)}.badge-ghost.badge-obligatory{border-color:rgb(245,158,11);color:rgb(180,83,9)}.badge-professional{position:absolute;top:-1px;right:16px;background:white;padding:3px 10px;border:1px solid;border-radius:3px;font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all var(--animation-duration-fast) var(--animation-easing-smooth);z-index:25;transform:translateY(-50%)}.badge-professional:before{content:"";position:absolute;top:-1px;left:-4px;right:-4px;height:calc(100% + 2px);background:white;z-index:-1;border-radius:4px}.badge-professional:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 2px 6px rgba(0,0,0,.15)}.badge-professional.badge-tou{border-color:rgb(34,197,94);color:rgb(21,128,61)}.badge-professional.badge-cmu,.badge-professional.badge-source{border-color:rgb(59,130,246);color:rgb(29,78,216)}.badge-professional.badge-lamal{border-color:rgb(239,68,68);color:rgb(185,28,28)}.badge-professional.badge-obligatory{border-color:rgb(245,158,11);color:rgb(180,83,9)}.card-with-badge{position:relative;overflow:visible}.card-with-badge:before{content:"";position:absolute;top:-2px;right:12px;width:80px;height:4px;background:white;z-index:20;border-radius:0 0 2px 2px}.transition-smooth{transition:all var(--animation-duration-normal) var(--animation-easing-smooth)}.transition-fast{transition:all var(--animation-duration-fast) var(--animation-easing-smooth)}.transition-slow{transition:all var(--animation-duration-slow) var(--animation-easing-smooth)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.3)}