/* === Styles extraits de forum.html === */
.notif-target .msg-bubble{outline:2px solid rgba(248,231,2,.75); box-shadow:0 0 0 6px rgba(248,231,2,.14);}

.u-forum-inline-1 { font-size:.65rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase }

.u-forum-inline-2 { display:none }

.u-forum-inline-3 { display:none }

.u-forum-inline-4 { display:none }

.u-forum-inline-5 { display:none }

.forum-error-text { max-width: 420px; text-align: center; color: #888; font-size: .8rem; line-height: 1.6; padding: 0 1rem; }
.forum-error-link { color: #f8e702; }
.conv-av-gold-soft { background: rgba(248,231,2,.18); }
.conv-av-red-soft { background: rgba(248,231,2,.16); }
.msg-audio { width: 100%; min-width: 200px; }

/* Badges forum non lus */
.forum-subchannel { position: relative; }
.forum-subchannel .forum-unread-badge { margin-left: auto; }
.conv-item .forum-unread-badge { margin-left: .35rem; }


/* Forum page modern shell */
body.fts-chat-modern .forum-category-group { margin-bottom: .45rem; }
body.fts-chat-modern .forum-category-group .conv-item:first-child { border-color: rgba(248,231,2,.16); }
body.fts-chat-modern .forum-unread-badge { box-shadow: 0 0 0 2px rgba(10,10,10,.85); }
body.fts-chat-modern .upload-bar { border-top: 1px solid rgba(255,255,255,.08); background: rgba(20,20,20,.92); }


/* Patch UX v19 — forum plus lisible sans changer Firebase */
body.fts-chat-modern .sb-title::after { opacity: .78; }
body.fts-chat-modern .forum-category-group {
  padding: .22rem 0 .34rem;
  border-bottom: 1px solid rgba(255,255,255,.045);
}
body.fts-chat-modern .forum-category-group:last-child { border-bottom: 0; }
body.fts-chat-modern .forum-subchannel {
  border: 1px solid transparent;
}
body.fts-chat-modern .forum-subchannel.active {
  border-color: rgba(248,231,2,.18);
  box-shadow: inset 0 0 0 1px rgba(248,231,2,.08);
}
body.fts-chat-modern .chat-empty-title span,
body.fts-chat-modern .chat-hdr-name { letter-spacing: .01em; }
body.fts-chat-modern .msg-audio-card {
  padding: .75rem;
  border: 1px solid rgba(248,231,2,.14);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: 0 12px 30px rgba(0,0,0,.2);
}
body.fts-chat-modern .msg-audio-title { font-weight: 900; }

/* ── Gamification Forum : badges publics + réactions ───────────── */
.msg-sender{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:7px 10px 4px;
  font-size:.78rem;
  font-weight:800;
  opacity:.95;
}
.msg-wrap.own .msg-sender{ justify-content:flex-end; }
.msg-sender-system{
  color:#8b6b00;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.msg-author-name-inline{ color:rgba(20,20,20,.78); }
.fts-public-badge{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:3px 8px;
  border-radius:999px;
  font-size:.72rem;
  line-height:1.1;
  font-weight:900;
  color:#171100;
  text-shadow:none;
  white-space:nowrap;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.72);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.fts-public-badge--artist{
  background:linear-gradient(135deg, #fff4a8, #ffffff);
  color:#171100;
  text-shadow:none;
  border-color:rgba(245,197,66,.55);
}
.fts-public-badge--rare{
  background:linear-gradient(135deg, #fff, #ffe7f0);
  color:#3a1430;
  text-shadow:none;
  border-color:rgba(255,119,170,.38);
}
.msg-reactions{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  margin:4px 10px 8px;
  min-height:28px;
}
.msg-wrap.own .msg-reactions{ justify-content:flex-end; }
.msg-reaction-summary,
.msg-react-open{
  border:1px solid rgba(0,0,0,.07);
  background:rgba(255,255,255,.82);
  border-radius:999px;
  min-height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(0,0,0,.06);
}
.msg-reaction-summary{ padding:3px 8px; gap:5px; }
.msg-react-open{ padding:3px 9px; font-size:.74rem; font-weight:900; color:rgba(40,40,40,.68); }
.msg-reaction-empty{ font-size:.68rem; font-weight:800; color:rgba(40,40,40,.42); }
.msg-reaction-icons{ display:inline-flex; align-items:center; letter-spacing:-4px; padding-right:3px; }
.msg-reaction-icons span{ font-size:.83rem; filter:drop-shadow(0 2px 3px rgba(0,0,0,.12)); }
.msg-reaction-total{ font-size:.72rem; font-weight:900; color:rgba(30,30,30,.66); }
.msg-reaction-picker{
  position:absolute;
  z-index:30;
  left:0;
  bottom:32px;
  display:none;
  align-items:center;
  gap:4px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 36px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
}
.msg-wrap.own .msg-reaction-picker{ left:auto; right:0; }
.msg-reaction-picker.is-open{ display:flex; animation:ftsReactionPop .14s ease-out; }
@keyframes ftsReactionPop{ from{ opacity:0; transform:translateY(6px) scale(.96); } to{ opacity:1; transform:translateY(0) scale(1); } }
.msg-react{
  border:0;
  background:transparent;
  border-radius:999px;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  cursor:pointer;
  font-size:1.1rem;
  transition:transform .14s ease, background .14s ease;
}
.msg-react:active{ transform:scale(.9); }
.msg-react:hover,
.msg-react.active{ background:#fff4ba; transform:translateY(-2px); }
.msg-react b{
  position:absolute;
  transform:translate(13px, 12px);
  font-size:.56rem;
  min-width:13px;
  height:13px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#111;
  color:#fff;
}

/* Correctif UX réactions forum + lisibilité auteurs */
.msg-author-name-inline{
  color:#f8e702 !important;
  font-weight:950;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
.msg-wrap.own .msg-author-name-inline{ color:#ffffff !important; }
.msg-reactions{
  gap:4px;
  margin:2px 10px 7px;
  min-height:22px;
}
.msg-reaction-summary,
.msg-react-open{
  border:1px solid rgba(248,231,2,.12);
  background:rgba(20,20,20,.38);
  color:rgba(255,255,255,.8);
  min-height:22px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);
}
.msg-reaction-summary{ padding:2px 7px; }
.msg-react-open{
  width:28px;
  height:22px;
  padding:0;
  font-size:.82rem;
  opacity:.72;
}
.msg-react-open:hover,
.msg-react-open:focus{ opacity:1; background:rgba(248,231,2,.16); }
.msg-reaction-icons span{ font-size:.78rem; }
.msg-reaction-total{ color:rgba(255,255,255,.72); font-size:.68rem; }
.msg-reaction-picker{
  bottom:28px;
  background:rgba(24,24,24,.92);
  border-color:rgba(248,231,2,.18);
  box-shadow:0 16px 42px rgba(0,0,0,.32);
}
.msg-react:hover,
.msg-react.active{ background:rgba(248,231,2,.22); }
.msg-react b{ color:#fff; }


/* Correctif v34 : bulles non lus visibles dans les canaux forum */
.forum-unread-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:900;
  line-height:1;
  color:#111;
  background:#f8e702;
  box-shadow:0 0 0 2px rgba(0,0,0,.75), 0 5px 14px rgba(248,231,2,.18);
}
.forum-subchannel .forum-unread-badge{ margin-left:auto; flex:0 0 auto; }
.conv-row1 .forum-unread-badge{ margin-left:auto; }
.forum-chevron{ margin-left:.35rem; }

/* Correctif v35 — badges forum lisibles sur fond sombre */
.msg-badge-slot .fts-public-badge,
.msg-sender .fts-public-badge{
  background:linear-gradient(135deg, rgba(18,18,18,.96), rgba(48,42,18,.92)) !important;
  color:#fff !important;
  border:1px solid rgba(248,231,2,.38) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.06) !important;
  text-shadow:0 1px 3px rgba(0,0,0,.65) !important;
}
.msg-badge-slot .fts-public-badge--artist,
.msg-sender .fts-public-badge--artist{
  background:linear-gradient(135deg, rgba(248,231,2,.28), rgba(18,18,18,.96)) !important;
  color:#fff !important;
  border-color:rgba(248,231,2,.68) !important;
}
.msg-badge-slot .fts-public-badge--rare,
.msg-sender .fts-public-badge--rare{
  background:linear-gradient(135deg, rgba(191,22,34,.35), rgba(18,18,18,.96)) !important;
  color:#fff !important;
  border-color:rgba(255,200,220,.34) !important;
}


/* Correctif v36 — badges forum lisibles sur tous les fonds */
body.fts-chat-modern .msg-sender .msg-author-name-inline{
  color:#fff !important;
  text-shadow:0 1px 3px rgba(0,0,0,.75) !important;
  font-weight:900 !important;
}
body.fts-chat-modern .msg-sender .msg-badge-slot .fts-public-badge,
body.fts-chat-modern .msg-sender .fts-public-badge,
body.fts-chat-modern .msg-badge-slot .fts-public-badge{
  background:
    radial-gradient(circle at 18% 20%, rgba(248,231,2,.22), transparent 35%),
    linear-gradient(135deg, rgba(16,16,16,.98), rgba(42,35,8,.96)) !important;
  color:#fff !important;
  border:1px solid rgba(248,231,2,.50) !important;
  box-shadow:
    0 8px 22px rgba(0,0,0,.42),
    inset 0 0 0 1px rgba(255,255,255,.07) !important;
  text-shadow:0 1px 4px rgba(0,0,0,.75) !important;
}
body.fts-chat-modern .msg-sender .msg-badge-slot .fts-public-badge--artist,
body.fts-chat-modern .msg-sender .fts-public-badge--artist,
body.fts-chat-modern .msg-badge-slot .fts-public-badge--artist{
  background:linear-gradient(135deg, rgba(70,58,0,.98), rgba(12,12,12,.98)) !important;
  color:#fff7b5 !important;
  border-color:rgba(248,231,2,.72) !important;
}
body.fts-chat-modern .msg-sender .msg-badge-slot .fts-public-badge--rare,
body.fts-chat-modern .msg-sender .fts-public-badge--rare,
body.fts-chat-modern .msg-badge-slot .fts-public-badge--rare{
  background:linear-gradient(135deg, rgba(92,12,30,.98), rgba(12,12,12,.98)) !important;
  color:#ffdbe8 !important;
  border-color:rgba(255,200,220,.58) !important;
}
