@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:1000px 100%;animation:shimmer 2s infinite}.progress-fill{transition:width .5s cubic-bezier(.4,0,.2,1)}input[type=checkbox]:checked,input[type=radio]:checked{background-color:#db2777;border-color:#db2777}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp .5s ease-out}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.glass-effect{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recommendation-badge{background:linear-gradient(135deg,#fde047,#facc15)}.popular-badge{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.limited-badge{background:linear-gradient(135deg,#fb923c,#ea580c)}.trust-badge{background:linear-gradient(135deg,#e5e7eb,#f3f4f6)}input[type=checkbox]:checked,input[type=radio]:checked{background-color:--brand;border-color:--brand}.animate-pulse-slow{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}.animate-slide-up{animation:slideUp .3s ease-out}.animate-bounce-gentle{animation:bounce 2s infinite}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.focus\:ring-brand:focus{--tw-ring-color: var(--brand)}.focus\:border-brand:focus{border-color:var(--brand)}canvas{image-rendering:-webkit-optimize-contrast;image-rendering:auto;image-rendering:high-quality;image-rendering:-webkit-crisp-edges;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated}.draggable-image{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:move;transform-origin:center center;transition:none}.draggable-image:active{cursor:grabbing}.zoom-transition{transition:transform .2s ease-out}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}.zoom-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.machine-canvas{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast}canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.draggable-image{image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;image-rendering:auto}@keyframes zoomIn{0%{transform:scale(1)}to{transform:scale(1.5)}}@media (min-width: 1024px){.sticky-until-end{position:sticky;top:5rem;align-self:flex-start}}@media (max-width: 1023px){.sticky-until-end{position:static}}
