/* Extracted from account/pages/profile.php for CSP compliance. */
@keyframes achv-rise {
            0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
            14%  { opacity: var(--pk, .65); }
            78%  { opacity: calc(var(--pk, .65) * 0.45); }
            100% { transform: translateY(-120px) translateX(var(--drift, 0px)) scale(0.1); opacity: 0; }
        }
        .achv-particles { position: absolute; inset: 0; pointer-events: none; overflow: visible; z-index: 0; }
        .ap {
            position: absolute;
            bottom: 8px;
            border-radius: 50%;
            animation: achv-rise var(--dur, 2.5s) ease-in var(--delay, 0s) infinite;
            opacity: 0;
            width: var(--s, 5px);
            height: var(--s, 5px);
            left: var(--x, 50%);
            background: var(--c, rgba(234,179,8,.9));
            filter: blur(var(--b, 2px));
        }
.achv-particles-red { --ap-c1: rgba(239,68,68,.85); --ap-c2: rgba(252,165,165,.7); --ap-c3: rgba(220,38,38,.75); }
.achv-particles-green { --ap-c1: rgba(34,197,94,.85); --ap-c2: rgba(134,239,172,.7); --ap-c3: rgba(22,163,74,.75); }
.achv-particles-blue { --ap-c1: rgba(59,130,246,.85); --ap-c2: rgba(147,197,253,.7); --ap-c3: rgba(37,99,235,.75); }
.achv-particles-cyan { --ap-c1: rgba(34,211,238,.85); --ap-c2: rgba(165,243,252,.7); --ap-c3: rgba(8,145,178,.75); }
.achv-particles-purple { --ap-c1: rgba(168,85,247,.85); --ap-c2: rgba(216,180,254,.7); --ap-c3: rgba(126,34,206,.75); }
.achv-particles-yellow { --ap-c1: rgba(234,179,8,.85); --ap-c2: rgba(253,224,71,.7); --ap-c3: rgba(202,138,4,.75); }
