.up-who { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; background: transparent; border: 0; padding: 2px 4px; border-radius: 4px; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.up-who:hover, .up-who:focus-visible { background: rgba(255, 255, 255, .08); outline: none; }
.up-who .up-text { display: flex; flex-direction: column; min-width: 0; cursor: pointer; }
.up-who .up-name, .up-who .up-status { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dot.idle { background: #f0b232; }
.dot.dnd { background: #f23f43; }

.statusmenu { position: fixed; z-index: 60; width: 260px; background: #111214; border-radius: 6px; padding: 8px; box-shadow: 0 8px 16px rgba(0, 0, 0, .35); color: #b5bac1; }
.statusmenu button.sm-opt { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 7px 8px; border: 0; border-radius: 3px; background: transparent; color: #dbdee1; font: 500 14px var(--d-font, sans-serif); cursor: pointer; }
.statusmenu button.sm-opt:hover, .statusmenu button.sm-opt:focus-visible { background: #5865f2; color: #fff; outline: none; }
.statusmenu button.sm-opt.on { background: #2b2d31; }
.statusmenu .sm-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; background: #80848e; }
.statusmenu .sm-dot.online { background: #23a55a; }
.statusmenu .sm-dot.idle { background: #f0b232; }
.statusmenu .sm-dot.dnd { background: #f23f43; }
.statusmenu .sm-sub { display: block; font-size: 12px; font-weight: 400; opacity: .75; }
.statusmenu hr { border: 0; height: 1px; background: #2b2d31; margin: 6px 0; }
.statusmenu .sm-text { width: 100%; box-sizing: border-box; padding: 8px; background: #1e1f22; border: 0; border-radius: 3px; color: #dbdee1; font: 14px var(--d-font, sans-serif); }
.statusmenu .sm-text:focus { outline: 2px solid #5865f2; }
.statusmenu .sm-acts { display: flex; gap: 6px; justify-content: flex-end; margin-top: 6px; }

.mcard-user { font-size: 13px; color: #b5bac1; margin-top: -2px; }
.mcard-status { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #dbdee1; margin-top: 4px; }
.mcard-status .dot { position: static; flex: none; border-color: transparent; }
.mcard-bio { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; color: #dbdee1; }
.bio-count { font-size: 12px; color: #b5bac1; margin: 4px 0 0; text-align: right; }
.bio-count.bad { color: #f23f43; }
