.cax-presence-avatar{display:inline-flex;position:relative;flex:none;vertical-align:middle;line-height:1}.cax-presence-avatar>.avatar{display:inline-flex}.cax-presence-dot{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;box-sizing:border-box;border-radius:50%;border:2px solid #202127;background:#777}.cax-presence-dot.online{background:#23a55a}.cax-presence-dot.idle{background:#f0b232}.cax-presence-dot.dnd{background:#f23f43}.cax-presence-dot.dnd:after{content:"";position:absolute;top:3px;left:1px;right:1px;height:2px;background:white;border-radius:2px}.cax-presence-dot.offline{background:#777;border-color:#202127;box-shadow:inset 0 0 0 2px #202127}/* Position presence against the actual avatar bounds, not its parent row. */
.cax-presence-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:max-content;height:max-content;line-height:0;isolation:isolate}
.cax-presence-avatar>.avatar{display:block;flex:0 0 auto}
.cax-presence-avatar>.cax-presence-dot{position:absolute;right:0;bottom:0;transform:translate(12%,12%);z-index:5;margin:0;pointer-events:none}
/* Large profile avatars previously used a negative margin on the child only,
   leaving the status dot anchored to the unshifted wrapper. */
.cax-profile-actions>.cax-presence-avatar{width:100px;height:100px;margin-top:-65px;overflow:visible}
.cax-profile-actions>.cax-presence-avatar>.avatar{width:100px;height:100px;margin-top:0}
.cax-profile-actions>.cax-presence-avatar>.cax-presence-dot{width:18px;height:18px;border-width:4px;right:7px;bottom:7px;transform:translate(15%,15%);border-color:#18191d}
/* DM introduction has a larger avatar; keep its dot attached too. */
.dm-intro>.cax-presence-avatar{width:68px;height:68px;margin-bottom:14px}
.dm-intro>.cax-presence-avatar>.avatar{width:68px;height:68px;margin-bottom:0}
.dm-intro>.cax-presence-avatar>.cax-presence-dot{width:15px;height:15px;border-width:3px}

/* Fix server member and DM list indicators: dot anchored to image, never row. */
.memberlist .cax-presence-avatar,
.sidebar .cax-presence-avatar,
.sidebar .content .cax-presence-avatar,
.account .cax-presence-avatar,
.message .cax-presence-avatar {
  position:relative!important;
  display:inline-grid!important;
  place-items:center;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle;
  overflow:visible!important;
  isolation:isolate;
}
.memberlist .cax-presence-avatar > .avatar,
.sidebar .cax-presence-avatar > .avatar,
.account .cax-presence-avatar > .avatar,
.message .cax-presence-avatar > .avatar {
  display:block!important;
  position:static!important;
  box-sizing:border-box!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%;
  object-fit:cover;
}
.memberlist .cax-presence-avatar > .cax-presence-dot,
.sidebar .cax-presence-avatar > .cax-presence-dot,
.account .cax-presence-avatar > .cax-presence-dot,
.message .cax-presence-avatar > .cax-presence-dot {
  position:absolute!important;
  width:12px!important;
  height:12px!important;
  top:auto!important;
  left:auto!important;
  right:-1px!important;
  bottom:-1px!important;
  margin:0!important;
  transform:none!important;
  border:2px solid #0d0e10!important;
  border-radius:50%;
  z-index:3;
  pointer-events:none;
}
/* Keep the larger profile and DM introduction avatar rules intact. */

/* Presence visibility for server and DM list rows */
.memberlist .cax-presence-dot,.sidebar #friendsSidebar .cax-presence-dot{display:block!important;opacity:1!important;visibility:visible!important;}
