body {
    overflow: hidden;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    position: relative;
    background: linear-gradient(45deg, #3f2a51, #6a4c92);
}

.corner-img {
    position: absolute;
    width: 100px;
    height: 100px;
    object-fit: cover;
    z-index: 2;
}

.sparkle {
    position: absolute;
    pointer-events: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: gold;
    box-shadow: 0 0 6px gold, 0 0 12px white;
    animation: explode 0.6s ease-out forwards;
    z-index: 3;
}

@keyframes explode {
    0% {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }

    100% {
        opacity: 0;
        /* Custom CSS variables handle outward trajectory */
        transform: translate(var(--tx), var(--ty)) scale(0);
    }
}