@media screen and (max-width: 696px) {
    body {
        overflow-x: hidden;
    }
}

.sticker-wrapper {
    position: absolute;
    z-index: -9999;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
}

.sticker-placed {
    position: absolute;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
    z-index: 90;
    transition: transform 0.1s ease-out, opacity 0.6s ease-out;

    opacity: 0;
}

.sticker-placed.is-visible {
    opacity: 0.8;
}

.sticker-placed.is-visible[style*="opacity"] {

}

.sticker-placed:active {
    cursor: grabbing;
}

.sticker-placed.is-dragging {
    z-index: 9999;
    transition: none;
}

.sticker-placed img {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
    -webkit-user-drag: none;
}

.sticker-placed.is-hidden {
    opacity: 0;
    transform: scale(0);
    pointer-events: none;
}

.sticker-placed.blink {
    animation: blink 1s ease-in-out infinite;
}

.sticker-placed.pop {
    animation: pop 3s ease-out infinite;
}

.sticker-placed.float {
    animation: float 3s ease-in-out infinite;
}

.sticker-placed.shake {
    animation: shake 0.5s ease-in-out infinite;
}

.sticker-placed.spin {
    animation: spin 4s linear infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

@keyframes pop {
    0% { transform: scale(1); }
    5% { transform: scale(0); }
    15% { transform: scale(1.1); }
    20% { transform: scale(1); }
    100% { transform: scale(1); }
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes shake {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    75% { transform: rotate(5deg); }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}