.floating-item{position:absolute;z-index:50;pointer-events:none;animation:floating-item-drift 8s ease-in-out infinite;will-change:transform}.floating-item__target{pointer-events:auto;display:block;padding:6px;background:transparent;border:0;cursor:pointer;border-radius:999px;transition:transform .16s ease,filter .16s ease;animation:floating-item-enter .5s ease-out both}.floating-item__target:hover,.floating-item__target:focus-visible{transform:scale(1.18);filter:drop-shadow(0 6px 12px rgba(0,0,0,.25));outline:none}.floating-item:hover{animation-play-state:paused}.floating-item__image{display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));pointer-events:none}@keyframes floating-item-drift{0%{transform:translate(0) rotate(-3deg)}25%{transform:translate(20px,-10px) rotate(2deg)}50%{transform:translateY(-14px) rotate(3deg)}75%{transform:translate(-20px,-6px) rotate(-2deg)}to{transform:translate(0) rotate(-3deg)}}@keyframes floating-item-enter{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes floating-item-exit{to{opacity:0;transform:scale(.3)}}.floating-item--caught .floating-item__target{animation:floating-item-exit .3s ease-in forwards;pointer-events:none}.floating-catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:floating-catcher-backdrop .2s ease-out;padding:1rem}@keyframes floating-catcher-backdrop{0%{opacity:0}to{opacity:1}}.floating-catcher__card{background:var(--card-gradient, var(--color-base-100, #fff));color:var(--color-base-content, #222);border:1px solid var(--color-item-border, rgba(0, 0, 0, .1));border-radius:16px;box-shadow:0 20px 50px #00000059;padding:2rem 1.75rem;text-align:center;max-width:360px;width:100%;animation:floating-catcher-card .22s cubic-bezier(.2,1.2,.4,1)}@keyframes floating-catcher-card{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-catcher__stage{position:relative;width:140px;height:140px;margin:0 auto 1.25rem;display:grid;place-items:center}.floating-catcher__ring{position:absolute;top:0;right:0;bottom:0;left:0;width:140px;height:140px;transform:rotate(-90deg);pointer-events:none}.floating-catcher__ring-track{fill:none;stroke:var(--color-base-300, rgba(0, 0, 0, .1));stroke-width:4}.floating-catcher__ring-progress{fill:none;stroke:var(--color-primary, #4a90e2);stroke-width:6;stroke-linecap:round;stroke-dasharray:408;stroke-dashoffset:408;transition:stroke-dashoffset 60ms linear}.floating-catcher__item{animation:floating-catcher-bob 2.4s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:transform .14s ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.floating-catcher[data-holding=true] .floating-catcher__item{transform:scale(.88);animation-play-state:paused}@keyframes floating-catcher-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.floating-catcher__prompt{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:var(--color-base-content, inherit)}.floating-catcher__hint{font-size:.85rem;color:var(--color-base-content, inherit);opacity:.7;margin:0 0 1rem}.floating-catcher__result{min-height:1.5rem;font-size:.95rem;margin:.5rem 0 0;line-height:1.4}.floating-catcher__result--success{color:var(--color-success, #2e8b57)}.floating-catcher__result--error{color:var(--color-error, #c0392b)}.floating-catcher__close{margin-top:1rem;background:var(--color-base-200, rgba(0, 0, 0, .05));border:1px solid var(--color-item-border, rgba(0, 0, 0, .1));color:var(--color-base-content, inherit);padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background .14s ease,transform .14s ease}.floating-catcher__close:hover{background:var(--color-base-300, rgba(0, 0, 0, .1));transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.floating-item,.floating-item__target,.floating-catcher__item{animation:none!important}.floating-catcher__card{animation:none}}
