.floating-item{position:fixed;z-index:9990;pointer-events:none;animation:floating-item-drift 9s ease-in-out infinite;will-change:transform,left,top;transition:left 3.4s cubic-bezier(.45,.05,.25,1),top 3.4s cubic-bezier(.45,.05,.25,1)}.floating-item__target{position:relative;pointer-events:auto;display:block;padding:6px;background:transparent;border:0;cursor:grab;border-radius:999px;transition:transform .22s cubic-bezier(.2,.7,.3,1),filter .22s ease;animation:floating-item-enter .52s cubic-bezier(.2,.7,.3,1) both;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.floating-item__target:active{cursor:grabbing}.floating-item__target:hover,.floating-item__target:focus-visible{transform:scale(1.16);outline:none}.floating-item:hover,.floating-item[data-holding=true]{animation-play-state:paused}.floating-item__image{display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));pointer-events:none;position:relative;z-index:1}.floating-item__target:before{content:"";position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px;border-radius:999px;background:radial-gradient(circle,color-mix(in oklab,var(--color-primary, #4a90e2) 38%,transparent) 0%,color-mix(in oklab,var(--color-primary, #4a90e2) 12%,transparent) 45%,transparent 72%);opacity:0;transform:scale(.7);transition:opacity .26s ease,transform .26s ease;pointer-events:none;z-index:0}.floating-item[data-holding=true] .floating-item__target:before{opacity:1;transform:scale(1)}.floating-item__ring{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);transform:rotate(-90deg);pointer-events:none;opacity:0;transition:opacity .22s ease;z-index:2}.floating-item[data-holding=true] .floating-item__ring{opacity:1}.floating-item__ring-track{fill:none;stroke:color-mix(in oklab,var(--color-base-content, #222) 14%,transparent);stroke-width:3}.floating-item__ring-progress{fill:none;stroke:var(--color-primary, #4a90e2);stroke-width:4.5;stroke-linecap:round;transition:stroke-dashoffset 60ms linear;filter:drop-shadow(0 0 4px var(--color-primary, #4a90e2))}.floating-item[data-holding=true] .floating-item__target{animation:floating-item-tension 1s linear forwards}@keyframes floating-item-tension{0%{transform:scale(1.16) rotate(0)}50%{transform:scale(1.2) rotate(0)}72%{transform:scale(1.22) rotate(0)}78%{transform:scale(1.22) rotate(-1.6deg)}84%{transform:scale(1.22) rotate(1.6deg)}90%{transform:scale(1.22) rotate(-1.2deg)}96%{transform:scale(1.23) rotate(.6deg)}to{transform:scale(1.26) rotate(0)}}.floating-item--caught{animation-play-state:paused}.floating-item--caught .floating-item__target{animation:floating-item-caught .72s cubic-bezier(.32,.05,.4,1) forwards;pointer-events:none}@keyframes floating-item-caught{0%{transform:scale(1.26) translateY(0) rotate(0);opacity:1}18%{transform:scale(1.42) translateY(-10px) rotate(-12deg);opacity:1}to{transform:scale(.32) translateY(-110px) rotate(200deg);opacity:0}}.floating-item--caught .floating-item__target:before,.floating-item--caught .floating-item__ring{opacity:0}.floating-item__sparkle{position:fixed;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--color-primary, #4a90e2);box-shadow:0 0 4px var(--color-primary, #4a90e2),0 0 10px color-mix(in oklab,var(--color-primary, #4a90e2) 60%,transparent);pointer-events:none;z-index:1000;animation:floating-item-sparkle .72s cubic-bezier(.2,.6,.4,1) forwards;will-change:transform,opacity}@keyframes floating-item-sparkle{0%{transform:translate(0) scale(0);opacity:0}18%{transform:translate(calc(var(--dx, 0px) * .25),calc(var(--dy, 0px) * .25)) scale(1.1);opacity:1}to{transform:translate(var(--dx, 0px),var(--dy, 0px)) scale(.2);opacity:0}}.floating-item__feedback{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(-6px) scale(.94);background:var(--card-gradient, var(--color-base-100, #fff));color:var(--color-base-content, #222);border:1px solid color-mix(in oklab,var(--color-base-content, #222) 14%,transparent);border-radius:10px;padding:.55rem .9rem;font-size:.85rem;line-height:1.4;text-align:center;width:max-content;max-width:240px;box-shadow:0 6px 18px #0000002e;opacity:0;pointer-events:none;transition:opacity .24s ease,transform .32s cubic-bezier(.16,1,.3,1);z-index:3}.floating-item__feedback a{color:var(--color-primary, inherit);text-decoration:underline;text-underline-offset:2px}.floating-item__feedback--visible{opacity:1;transform:translate(-50%) translateY(0) scale(1);pointer-events:auto}.floating-item__feedback[data-kind=success]{border-color:color-mix(in oklab,var(--color-primary, #4a90e2) 55%,transparent)}.floating-item__feedback[data-kind=error]{border-color:color-mix(in oklab,var(--color-error, #c0392b) 60%,transparent);color:var(--color-error, #c0392b)}@keyframes floating-item-drift{0%{transform:translate(0) rotate(-3deg)}18%{transform:translate(14px,-8px) rotate(0)}34%{transform:translate(22px,-3px) rotate(2deg)}52%{transform:translate(8px,-16px) rotate(3deg)}68%{transform:translate(-14px,-10px) rotate(0)}84%{transform:translate(-18px,-2px) rotate(-2deg)}to{transform:translate(0) rotate(-3deg)}}.floating-item--docked{transition:none;animation:floating-item-drift-docked 7s ease-in-out infinite}@keyframes floating-item-drift-docked{0%{transform:translate(0) rotate(-2deg)}25%{transform:translate(6px,-4px) rotate(1deg)}50%{transform:translate(2px,-8px) rotate(2deg)}75%{transform:translate(-5px,-3px) rotate(-1deg)}to{transform:translate(0) rotate(-2deg)}}@keyframes floating-item-enter{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.floating-item,.floating-item__target,.floating-item__feedback{animation:none!important;transition:opacity .24s ease}.floating-item--caught .floating-item__target{animation:none!important;opacity:0}.floating-item__sparkle{display:none}}
