@keyframes dootsa-shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes dootsa-pulse-ring{0%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(.95)}}@keyframes dootsa-expand-in{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:800px;transform:translateY(0)}}@keyframes dootsa-star-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes dootsa-ai-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dootsa-menu-bar{0%,to{transform:scaleX(1)}50%{transform:scaleX(.85)}}.dootsa-auth-btn{transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.dootsa-auth-btn:hover{box-shadow:0 8px 24px hsl(var(--primary) / .25);transform:translateY(-1px)}.dootsa-auth-btn:after{content:"";background:linear-gradient(90deg, transparent, hsl(var(--primary-foreground) / .15), transparent);pointer-events:none;background-size:200% 100%;animation:2.5s infinite dootsa-shimmer;position:absolute;inset:0}.dootsa-pulse-btn{animation:2s ease-in-out infinite dootsa-pulse-ring}.dootsa-expand-panel{animation:.35s ease-out forwards dootsa-expand-in;overflow:hidden}.dootsa-rating-star-active{animation:.3s dootsa-star-pop}.dootsa-ai-spinner{animation:1.2s linear infinite dootsa-ai-orbit}.dootsa-scale-option{transition:transform .15s,background .15s,border-color .15s}.dootsa-scale-option:hover{transform:translateY(-2px)}.dootsa-scale-option[data-selected=true]{transform:scale(1.08)}.dootsa-radio-ring{transition:border-color .2s,box-shadow .2s}.dootsa-radio-ring[data-checked=true]{box-shadow:0 0 0 3px hsl(var(--primary) / .2)}.dootsa-receipt-tear{background:repeating-linear-gradient(90deg, hsl(var(--border)) 0, hsl(var(--border)) 4px, transparent 4px, transparent 8px);height:4px}.dootsa-bubble-btn{--btn-bubble:#7d2ae8;isolation:isolate;transition:all .2s;position:relative}.dootsa-bubble-btn:active:not(:disabled){transform:scale(.96)}.dootsa-bubble-btn:before,.dootsa-bubble-btn:after{content:"";z-index:-1;pointer-events:none;background-repeat:no-repeat;width:150%;height:100%;position:absolute;left:50%;transform:translate(-50%)}.dootsa-bubble-btn:hover:before,.dootsa-bubble-btn.dootsa-bubble-burst:before{background-image:radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, transparent 20%, var(--btn-bubble) 20%, transparent 30%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, transparent 10%, var(--btn-bubble) 15%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%);background-position:50% 120%;background-size:10% 10%,20% 20%,15% 15%,20% 20%,18% 18%,10% 10%,15% 15%,10% 10%,18% 18%;animation:.6s dootsa-bubble-top;top:-70%}@keyframes dootsa-bubble-top{0%{background-position:5% 90%,10% 90%,10% 90%,15% 90%,25% 90%,25% 90%,40% 90%,55% 90%,70% 90%}50%{background-position:0 80%,0 20%,10% 40%,20% 0,30% 30%,22%,50%,65% 20%,90% 30%}to{background-position:0 70%,0 10%,10% 30%,20% -10%,30% 20%,22% 40%,50% 40%,65% 10%,90% 20%;background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%}}.dootsa-bubble-btn:hover:after,.dootsa-bubble-btn.dootsa-bubble-burst:after{background-image:radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, transparent 10%, var(--btn-bubble) 15%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%), radial-gradient(circle, var(--btn-bubble) 20%, transparent 20%);background-position:50% 0;background-size:15% 15%,20% 20%,18% 18%,20% 20%,15% 15%,20% 20%,18% 18%;animation:.6s dootsa-bubble-bottom;bottom:-70%}@keyframes dootsa-bubble-bottom{0%{background-position:10% -10%,30% 10%,55% -10%,70% -10%,85% -10%,70% -10%,70% 0}50%{background-position:0 80%,20% 80%,45% 60%,60% 100%,75% 70%,95% 60%,105% 0}to{background-position:0 90%,20% 90%,45% 70%,60% 110%,75% 80%,95% 70%,110% 10%;background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%}}@media (prefers-reduced-motion:reduce){.dootsa-bubble-btn:hover:before,.dootsa-bubble-btn:hover:after,.dootsa-bubble-btn.dootsa-bubble-burst:before,.dootsa-bubble-btn.dootsa-bubble-burst:after{background-image:none;animation:none}}@keyframes survey-flow-in-forward{0%{opacity:0;transform:translateY(36px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes survey-flow-in-back{0%{opacity:0;transform:translateY(-28px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}.survey-flow-stage{animation-duration:.48s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.survey-flow-stage[data-direction=forward]{animation-name:survey-flow-in-forward}.survey-flow-stage[data-direction=back]{animation-name:survey-flow-in-back}.survey-flow-progress{background:color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:999px;height:6px;overflow:hidden}.survey-flow-progress>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.survey-flow-progress[data-finished=true]{animation:.7s ease-out survey-flow-complete-pulse;overflow:visible}.survey-flow-complete-mark{animation:.55s cubic-bezier(.22,1,.36,1) survey-flow-complete-pop}@keyframes survey-flow-complete-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes survey-flow-complete-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 40%, transparent)}to{box-shadow:0 0 0 10px #0000}}@media (prefers-reduced-motion:reduce){.survey-flow-stage{animation:none}.survey-flow-progress>span{transition:none}.survey-flow-progress[data-finished=true],.survey-flow-complete-mark{animation:none}}
