/* ---------- moderation: block / report ----------
   Every class starts with .mo- ; it builds on style.css (variables, .modal, .panel, .btn, .muted). Load after style.css. */

#modal-report { z-index: 80; } /* above the community and profile windows it is opened from */
.modal-card.mo-card { width: min(460px, 100%); max-height: 94vh; overflow-y: auto; background: rgba(20, 15, 54, .985); }
.mo-who { margin: 0 0 12px; color: var(--muted); font-weight: 700; overflow-wrap: anywhere; }
.mo-who b { color: var(--text); }
.mo-label { display: block; margin: 12px 0 6px; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--accent2); }
.mo-reasons { display: flex; flex-direction: column; gap: 6px; }
.mo-reason { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(8, 5, 28, .5); cursor: pointer; font-weight: 700; font-size: 14px; transition: border-color .15s, background .15s; }
.mo-reason:hover { border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .06); }
.mo-reason input { accent-color: var(--accent); width: 18px; height: 18px; margin: 0; flex: none; }
.mo-reason:has(input:checked) { border-color: var(--accent); background: rgba(255, 84, 112, .14); }
.mo-text { width: 100%; box-sizing: border-box; resize: vertical; min-height: 70px; max-height: 200px; padding: 10px 12px; border-radius: 12px; border: 2px solid var(--line); background: rgba(8, 5, 28, .6); color: var(--text); font: 600 14px var(--font); outline: none; }
.mo-text:focus { border-color: var(--accent); }
.mo-count { text-align: right; font-size: 12px; margin-top: 4px; }
.mo-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }

/* small popup menu (player list, chat) */
.mo-menu { position: fixed; z-index: 90; background: #1c1646; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 40px rgba(0, 0, 0, .6); padding: 4px; display: flex; flex-direction: column; min-width: 170px; }
.mo-menu button { background: none; border: 0; color: var(--text); text-align: left; font: 700 13px var(--font); padding: 10px 12px; border-radius: 8px; cursor: pointer; }
.mo-menu button:hover, .mo-menu button:focus-visible { background: rgba(255, 255, 255, .1); outline: none; }

/* quiet buttons next to the friend actions (player list / profile) */
.mo-more { background: none; border: 1px solid transparent; color: var(--muted); border-radius: 10px; padding: 6px 9px; font: 900 16px/1 var(--font); cursor: pointer; letter-spacing: 1px; }
.mo-more:hover { color: var(--text); border-color: var(--line); background: rgba(255, 255, 255, .08); }
.mo-quiet { background: rgba(255, 255, 255, .04); border: 1px solid var(--line); color: var(--muted); border-radius: 10px; padding: 7px 12px; font: 800 12px var(--font); cursor: pointer; white-space: nowrap; transition: border-color .15s, color .15s, background .15s; }
.mo-quiet:hover { color: var(--text); border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .1); }
.mo-quiet.bad:hover { color: #ff9a9a; border-color: #ff5470; }
.co-fa.big .mo-quiet { padding: 10px 14px; font-size: 13px; }
.co-fa.big { flex-wrap: wrap; }
.mo-tag { padding: 7px 12px; border-radius: 10px; font: 800 12px var(--font); color: #ff9a9a; border: 1px solid rgba(255, 84, 112, .45); background: rgba(255, 84, 112, .08); white-space: nowrap; }
.co-fa.big .mo-tag { padding: 10px 14px; font-size: 14px; }

/* own profile: blocked players */
.mo-blocked { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.mo-brow { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(8, 5, 28, .5); }
.mo-bav { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; flex: none; display: grid; place-items: center; background: linear-gradient(160deg, #4b3d99, #2b2260); font-weight: 900; border: 2px solid var(--line); }
.mo-bav img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mo-bname { flex: 1; min-width: 0; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-bname .lv { margin-left: 8px; }
.mo-empty { margin: 10px 0 0; }

/* chat: a player you blocked */
.name-menu .mo-sep { height: 1px; background: var(--line); margin: 4px 6px; }

@media (max-width: 560px) {
  .mo-actions .btn { flex: 1; }
  .mo-reason { padding: 12px; }
}
