/* Optimized Widget: user_avatar */
.user-avatar { position: relative; display: inline-flex; align-items: center; justify-content: center; overflow: visible; background: transparent; flex-shrink: 0; border-radius: 12px; }
.user-avatar--mini { height: 100%; width: auto; aspect-ratio: 21 / 9; z-index: 5; }
.user-avatar--maxi { width: 100%; max-width: 400px; min-height: 300px; }
.identity-card__avatar-container { position: relative; padding: 3px; background: #000 !important; border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8); z-index: 10; width: 260px; margin-left: auto; margin-right: auto; transition: none !important; overflow: hidden; }
.identity-card__avatar-container::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(135deg, rgba(var(--order-rgb, 255, 255, 255), 0.6), transparent 40%) !important; pointer-events: none; transition: none !important; }
.identity-card__avatar-container::after { content: ""; position: absolute; inset: 0; z-index: 6; background: linear-gradient(to right, rgba(var(--order-rgb, 255, 255, 255), 0.3) 0%, transparent 12%),
                linear-gradient(to left, rgba(var(--order-rgb, 255, 255, 255), 0.3) 0%, transparent 12%); pointer-events: none; border-radius: inherit; mix-blend-mode: hard-light; transition: opacity 0.3s ease; }
.identity-card__avatar-container:hover::after { opacity: 0.8; }
.identity-card__avatar-container img { border-radius: 14px; display: block; width: 100%; height: auto; position: relative; z-index: 5; }
.user-avatar__fused-image { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease; display: block; will-change: transform, filter; transform: translate3d(0, 0, 0); backface-visibility: hidden; }
.user-avatar:hover .user-avatar__fused-image { transform: scale(1.05); }
.user-avatar__decor { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-size: cover; opacity: 0.6; transition: opacity 0.5s ease, transform 0.5s ease; z-index: 1; -webkit-mask-image: radial-gradient(circle at center, black 20%, transparent 80%),
                linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0) 100%); mask-image: radial-gradient(circle at center, black 20%, transparent 80%),
                linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0) 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
.user-avatar:hover .user-avatar__decor { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
.user-avatar__aura { 
    position: absolute; inset: 0; z-index: 2; pointer-events: none; 
    transition: opacity 0.4s ease, transform 0.4s ease; 
    opacity: 0.8; 
    background-color: var(--aura-color, var(--order-color)); 
    -webkit-mask-image: var(--aura-image); mask-image: var(--aura-image); 
    -webkit-mask-size: contain; mask-position: center; mask-repeat: no-repeat; 
    mix-blend-mode: plus-lighter; 
}

/* Calque HD (Émergence sans flash) */
.user-avatar__aura::after {
    content: "";
    position: absolute; inset: 0;
    background-color: inherit;
    -webkit-mask-image: var(--aura-image-hd, none); mask-image: var(--aura-image-hd, none); 
    -webkit-mask-size: contain; mask-position: center; mask-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.2s ease-out;
    z-index: 3;
    pointer-events: none;
}

.user-avatar__aura.is-hydrated::after {
    opacity: 1;
}

.user-avatar.is-neutral-state-active .user-avatar__aura { 
    background-color: transparent !important; 
    background-image: var(--aura-image) !important; 
    background-size: contain !important; 
    background-position: center !important; 
    background-repeat: no-repeat !important; 
    -webkit-mask-image: none !important; mask-image: none !important; 
    mix-blend-mode: normal !important; opacity: 1 !important; 
    animation: none !important; transform: none !important; 
}

/* Support Neutre pour la HD */
.user-avatar.is-neutral-state-active .user-avatar__aura::after {
    background-image: var(--aura-image-hd, none) !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
    -webkit-mask-image: none !important;
}
.user-avatar:hover .user-avatar__aura { opacity: 1; transform: scale(1.02); }
.user-avatar.is-neutral-state-active:hover .user-avatar__aura { opacity: 1 !important; transform: none !important; }
.user-avatar__image { position: relative; z-index: 3; display: block; width: 99%; height: 160%; object-fit: contain; transform: translateY(14%) translateX(-3%); -webkit-mask-image: linear-gradient(to bottom,
                        rgba(0, 0, 0, 1) 0%,
                        rgba(0, 0, 0, 1) 80%,
                        rgba(0, 0, 0, 0) 100%); mask-image: linear-gradient(to bottom,
                        rgba(0, 0, 0, 1) 0%,
                        rgba(0, 0, 0, 1) 80%,
                        rgba(0, 0, 0, 0) 100%); transition: filter 0.4s ease, transform 0.4s ease; }
.identity-card__avatar-container .user-avatar__skin-layer, .user-avatar__skin-layer { position: absolute; z-index: 6; display: block; width: 99%; height: 160%; object-fit: contain; transform: translateY(14%) translateX(-3%) translate3d(0, 0, 0); pointer-events: none; backface-visibility: hidden; will-change: transform, opacity; }
.user-avatar:hover .user-avatar__image { transform: translateY(15%) scale(1.05); filter: brightness(1.1) contrast(1.1) drop-shadow(0 20px 15px var(--order-color)); }
.user-avatar:hover .user-avatar__skin-layer { transform: translateY(15%) translateX(-3%) scale(1.05) translate3d(0, 0, 0); }
.user-avatar--anonymous { background: linear-gradient(135deg, #1e272e, #000); overflow: hidden; }
.user-avatar--anonymous img { width: 75%; height: 75%; opacity: 0.4; filter: grayscale(1); }
.user-avatar.order-theme-ombres { filter: grayscale(1) brightness(0.4) contrast(1.6); transition: filter 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.user-avatar.order-theme-ombres:hover { filter: grayscale(1) brightness(0.6) contrast(1.8); }
.user-avatar.order-theme-ombres .user-avatar__image { filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.9)) grayscale(1); opacity: 0.85; transition: opacity 0.5s ease; }
.user-avatar.order-theme-ombres:hover .user-avatar__image { filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 1)) grayscale(1); opacity: 1; }
.user-avatar.order-theme-ombres .user-avatar__fused-image { opacity: 0.9; }
.user-avatar.order-theme-ombres:hover .user-avatar__fused-image { opacity: 1; }
.user-avatar.order-theme-ombres .myrank-stats-overlay { opacity: 0.35; mix-blend-mode: multiply; }
.user-avatar.order-theme-ombres.mobile-avatar-wrapper { background: linear-gradient(135deg, #1a1a1a 0%, #333333 100%) !important; border-color: rgba(255, 255, 255, 0.1) !important; }
