/* Floating Widget */
.wpstscr-floating-widget-preview {
    position: fixed;
    z-index: 9999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    opacity: 0;
}
.wpstscr-floating-widget-preview.visible { opacity: 1; }

.wpstscr-floating-widget-preview.bottom-right { bottom: 20px; right: 20px; }
.wpstscr-floating-widget-preview.bottom-left { bottom: 20px; left: 20px; }
.wpstscr-floating-widget-preview.top-right { top: 33px; right: 20px; }
.wpstscr-floating-widget-preview.top-left { top: 33px; left: 20px; }
.wpstscr-floating-widget-preview.center-right { top: 50%; right: 20px; transform: translateY(-50%); }
.wpstscr-floating-widget-preview.center-left { top: 50%; left: 20px; transform: translateY(-50%); }

.wpstscr-floating-widget-preview img { pointer-events: none; }

.wpstscr-floating-widget-preview .tooltip {
    position: absolute;
    background: #333;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s;
}

.wpstscr-floating-widget-preview:hover .tooltip { opacity: 1; }

.tooltip.top { bottom: 110%; left: 50%; transform: translateX(-50%); }
.tooltip.bottom { top: 110%; left: 50%; transform: translateX(-50%); }
.tooltip.left { right: 110%; top: 50%; transform: translateY(-50%); }
.tooltip.right { left: 110%; top: 50%; transform: translateY(-50%); }

/* Entry Animations */
.animate__fade-in { animation: fadeIn 0.8s ease forwards; }
.animate__bounce { animation: bounceIn 0.8s ease forwards; }
.animate__zoom-in { animation: zoomIn 0.8s ease forwards; }
.animate__slide-in { animation: slideIn 0.8s ease forwards; }
.animate__pulse { animation: pulse 0.8s ease forwards; }
.animate__flip { animation: flipIn 0.6s forwards; }
.animate__slide-up { animation: slideUp 0.4s forwards; }
.animate__slide-down { animation: slideDown 0.4s forwards; }

/* Hover Animations */
.hover-grow:hover { transform: scale(1.1); }
.hover-spin:hover { transform: rotate(360deg); transition: 0.6s ease; }
.hover-wiggle:hover { animation: wiggle 0.5s ease; }

/* Idle Animations */
.idle-pulse { animation: idlePulse 2s infinite ease-in-out; }
.idle-float { animation: idleFloat 3s infinite ease-in-out; }
.idle-bob { animation: idleBob 2.5s infinite ease-in-out; }

/* Tooltip Animations */
.tooltip-fade { animation: fadeIn 0.3s ease; }
.tooltip-slide { animation: slideIn 0.3s ease; }
.tooltip-pop { animation: popIn 0.3s ease; }

@keyframes fadeIn { from {opacity:0;} to {opacity:1;} }
@keyframes bounceIn { 0%{transform:scale(0.5);} 60%{transform:scale(1.2);} 100%{transform:scale(1);} }
@keyframes zoomIn { from {transform:scale(0);} to {transform:scale(1);} }
@keyframes slideIn { from {transform:translateY(50px);} to {transform:translateY(0);} }
@keyframes pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.05);} }
@keyframes wiggle { 0%,100%{transform:rotate(0);} 25%{transform:rotate(3deg);} 75%{transform:rotate(-3deg);} }
@keyframes idlePulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.03);} }
@keyframes idleFloat { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-5px);} }
@keyframes idleBob { 0%,100%{transform:translateY(0);} 50%{transform:translateY(3px);} }
@keyframes popIn { 0%{transform:scale(0.7);opacity:0;} 100%{transform:scale(1);opacity:1;} }
@keyframes flipIn { from { transform: rotateY(90deg); opacity: 0; } to { transform: rotateY(0); opacity: 1; } }
@keyframes slideUp { from { transform: translateY(40px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes slideDown { from { transform: translateY(-40px); opacity: 0; } to { transfor
