/* 111CT: composición maestro único aprobada en laboratorio V2.
   Fondo único, máscara circular e ilustración sin rectángulo; marco independiente. */
.cosmetic-avatar .avatar-art-slot,
.offline-exact .oe-portrait .oe-art,
.avatar-slot .avatar-hole,
.bot-avatar .bot-avatar-hole,
.winner-avatar-frame .winner-avatar-cavity {
  background:radial-gradient(circle at 40% 30%,#1e6350,#083b2c 75%)!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.cosmetic-avatar .avatar-art-slot, #homeCosmeticAvatar .avatar-art-slot, body.home-route .avatar-halo.cosmetic-avatar .avatar-art-slot{left:15%!important;top:15%!important;width:70%!important;height:70%!important;transform:none!important;display:grid!important;place-items:center!important;}
.cosmetic-avatar .avatar-art-img, body.home-route .avatar-halo.cosmetic-avatar .avatar-art-img{width:100%!important;height:100%!important;object-fit:contain!important;}
.cosmetic-avatar .avatar-frame-img{inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;image-rendering:auto!important;}
.offline-exact .oe-portrait .oe-art{left:15%!important;top:15%!important;width:70%!important;height:70%!important;transform:none!important;object-fit:contain!important;}
.offline-exact .oe-portrait .oe-frame{object-fit:contain!important;image-rendering:auto!important;z-index:2;}
.avatar-slot .avatar-hole{left:15%!important;top:15%!important;width:70%!important;height:70%!important;}
.avatar-slot .avatar-art{width:100%!important;height:100%!important;object-fit:contain!important;}
.avatar-slot .avatar-frame{left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:contain!important;image-rendering:auto!important;}
.bot-avatar .bot-avatar-hole{left:15%!important;top:15%!important;width:70%!important;height:70%!important;}
.bot-avatar .bot-avatar-art{width:100%!important;height:100%!important;object-fit:contain!important;}
.bot-avatar .bot-avatar-frame{inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;image-rendering:auto!important;}
/* Modal de ganador: eliminar el aro CSS duplicado y usar un marco SVG real. */
.winner-avatar-frame{position:relative!important;width:76px!important;height:76px!important;display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;}
.winner-avatar-frame::after{display:none!important;content:none!important;}
.winner-avatar-frame .winner-avatar-cavity{position:absolute!important;inset:15%!important;width:70%!important;height:70%!important;display:block!important;}
.winner-avatar-frame .winner-avatar{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;}
.winner-avatar-frame .winner-frame-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:auto;pointer-events:none;}

/* 111CU · Ajuste proporcional de la composición Avatar Maestro.
   Más aire interior y marco ligeramente más grande. No cambia assets ni lógica. */
.cosmetic-avatar .avatar-art-slot,
#homeCosmeticAvatar .avatar-art-slot,
body.home-route .avatar-halo.cosmetic-avatar .avatar-art-slot,
.avatar-slot .avatar-hole,
.bot-avatar .bot-avatar-hole,
.winner-avatar-frame .winner-avatar-cavity {
  left:18%!important;
  top:18%!important;
  width:64%!important;
  height:64%!important;
}
.cosmetic-avatar .avatar-frame-img,
.avatar-slot .avatar-frame,
.bot-avatar .bot-avatar-frame,
.winner-avatar-frame .winner-frame-image {
  left:-3%!important;
  top:-3%!important;
  right:auto!important;
  bottom:auto!important;
  width:106%!important;
  height:106%!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
/* El avatar offline es la propia imagen; reducir su zona sin escalar todo el retrato. */
.offline-exact .oe-portrait .oe-art {
  left:18%!important;
  top:18%!important;
  width:64%!important;
  height:64%!important;
}
.offline-exact .oe-portrait .oe-frame {
  left:-3%!important;
  top:-3%!important;
  width:106%!important;
  height:106%!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
