/* =====================================================================
   chat.css — chat por canais (js/chat.js). Classes começam com "cht-".
   Esconde o chat antigo do ui.js (.ui-chat) e ocupa o mesmo canto (↙).
   Camada: HUD (z 20); ficha dos links z 66 (acima das janelas, abaixo dos toasts).
   ===================================================================== */
.ui-chat { display: none !important; }

.cht {
  --cht-op: .72;
  --cht-ouro: #f0cf74; --cht-ouro2: #b8954a; --cht-bronze: #6e5626;
  --cht-texto: #ece8dc; --cht-fraco: #a99e80;
  position: fixed; left: 8px; bottom: 8px; z-index: 20;
  width: 380px; height: 176px; display: flex; flex-direction: column;
  font: 12px/1.4 "Segoe UI", system-ui, sans-serif; color: var(--cht-texto);
  background:
    linear-gradient(rgba(34,24,58,calc(var(--cht-op) * .9)), rgba(14,11,26,var(--cht-op)));
  border: 1px solid var(--cht-bronze); border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(240,207,116,.16), 0 3px 12px rgba(0,0,0,.5);
}
.cht * { box-sizing: border-box; }
.cht.hidden { display: none !important; }
.cht.cht-foco { border-color: var(--cht-ouro2); box-shadow: inset 0 0 0 1px rgba(240,207,116,.3), 0 0 14px rgba(240,190,90,.22), 0 3px 12px rgba(0,0,0,.5); }

/* abas */
.cht-topo { display: flex; align-items: flex-end; gap: 1px; padding: 3px 4px 0; border-bottom: 1px solid rgba(110,86,38,.7); flex: none; }
.cht-aba { position: relative; background: transparent; color: var(--cht-fraco); border: 1px solid transparent; border-bottom: 0;
  border-radius: 5px 5px 0 0; padding: 2px 6px; font: 600 11px "Segoe UI", sans-serif; cursor: pointer; white-space: nowrap; }
.cht-aba:hover { color: #e8dcb8; }
.cht-aba.cht-sel { color: var(--cht-ouro); background: rgba(58,42,92,.85); border-color: rgba(184,149,74,.55); }
.cht-aba.cht-nova::after { content: ''; position: absolute; top: 2px; right: 1px; width: 5px; height: 5px; border-radius: 50%; background: var(--cht-ouro); box-shadow: 0 0 4px var(--cht-ouro); }
.cht-min { margin-left: auto; background: transparent; border: 0; color: var(--cht-fraco); font: 700 13px sans-serif; padding: 0 7px 2px; cursor: pointer; }
.cht-min:hover { color: var(--cht-ouro); }

/* lista */
.cht-lista { flex: 1; min-height: 0; overflow-y: auto; padding: 3px 7px; scrollbar-width: thin; scrollbar-color: #5a4a7a transparent; word-wrap: break-word; }
.cht-msg { margin: 1px 0; }
.cht-hora { color: #6f6a85; font-size: 10.5px; }
.cht-tag { font-weight: 600; }
.cht-vazio { color: #77708f; font-style: italic; padding: 6px 2px; }
.cht-autor { color: #9fd0ff; font-weight: 600; cursor: pointer; text-decoration: none; }
.cht-autor.cht-eu { color: #ffe9a8; }
.cht-autor:hover, .cht-link:hover { text-decoration: underline; }
.cht-link { cursor: pointer; font-weight: 600; text-decoration: none; text-shadow: 0 0 6px rgba(0,0,0,.6); }

/* cores por canal */
.cht-c-sistema .cht-tag { color: var(--cht-ouro); }
.cht-c-sistema .cht-txt { color: #f3e3a6; }
.cht-s-nivel .cht-txt { color: var(--cht-ouro); font-weight: 700; }
.cht-s-batalha .cht-txt { color: #ffb3a6; }
.cht-s-geral .cht-txt { color: #d6e4ff; }
.cht-s-aviso .cht-txt { color: #ff9f8a; }
.cht-c-global .cht-tag { color: #ffc96a; }  .cht-c-global .cht-txt { color: #fff1d0; }
.cht-c-proximo .cht-tag { color: #e6e2ff; } .cht-c-proximo .cht-txt { color: #f4f2ff; }
.cht-c-guilda .cht-tag { color: #7ddc8a; }  .cht-c-guilda .cht-txt { color: #c4f5cb; }
.cht-c-party .cht-tag { color: #6fc7ff; }   .cht-c-party .cht-txt { color: #c9ecff; }

/* entrada */
.cht-entrada { display: flex; gap: 3px; padding: 3px 4px 4px; border-top: 1px solid rgba(110,86,38,.45); flex: none; }
.cht-canal { flex: none; width: 74px; background: #1b1430; color: var(--cht-ouro); border: 1px solid var(--cht-bronze); border-radius: 4px;
  font: 600 11px "Segoe UI", sans-serif; padding: 1px 2px; cursor: pointer; }
.cht[data-envio="proximo"] .cht-canal { color: #e6e2ff; }
.cht[data-envio="guilda"] .cht-canal { color: #7ddc8a; }
.cht[data-envio="party"] .cht-canal { color: #6fc7ff; }
.cht-campo { flex: 1; min-width: 0; background: rgba(8,6,16,.75); color: #fff6dc; border: 1px solid #3f3360; border-radius: 4px;
  font: 12px "Segoe UI", sans-serif; padding: 2px 6px; outline: none; }
.cht-campo::placeholder { color: #6d6688; }
.cht-campo:focus { border-color: var(--cht-ouro2); background: rgba(14,10,26,.92); }
.cht-enviar { flex: none; width: 26px; background: linear-gradient(#ffe79a, #e0b54a 55%, #b8862a); color: #2a1d05; border: 1px solid #f7dc8c;
  border-radius: 4px; font: 700 11px sans-serif; cursor: pointer; padding: 0; }
.cht-enviar:hover { filter: brightness(1.1); }

/* minimizado: só abas + campo */
.cht.cht-minimizado { height: auto; }
.cht.cht-minimizado .cht-lista { display: none; }

/* ficha (clique num link) */
.cht-ficha { position: fixed; z-index: 66; min-width: 190px; max-width: 300px; padding: 10px 12px 10px;
  font: 12px/1.4 "Segoe UI", system-ui, sans-serif; color: #ece8dc;
  background: linear-gradient(#251a40, #120d22); border: 1px solid #b8954a; border-radius: 8px;
  box-shadow: 0 0 0 1px #1a1408, 0 8px 28px rgba(0,0,0,.65); }
.cht-ficha.hidden { display: none !important; }
.cht-ficha p { margin: 6px 0 0; }
.cht-ficha small { display: block; color: #a99e80; font-size: 11px; }
.cht-f-x { position: absolute; top: 4px; right: 5px; background: transparent; border: 0; color: #a99e80; cursor: pointer; font-size: 12px; }
.cht-f-x:hover { color: #f0cf74; }
.cht-f-cab { display: flex; align-items: center; gap: 8px; padding-right: 14px; }
.cht-f-cab b { font-size: 13px; }
.cht-f-bola { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 2px solid rgba(0,0,0,.5); box-shadow: inset -3px -4px 6px rgba(0,0,0,.35), 0 0 0 1px #b8954a; }
.cht-f-voce { display: inline !important; }
.cht-f-st { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px 10px; margin-top: 7px; color: #c8c0a6; }
.cht-f-st b { color: #fff; }
.cht-f-obs { color: #8f87a8; font-style: italic; }
.cht-f-bt { margin-top: 8px; width: 100%; padding: 4px 8px; font: 600 12px "Segoe UI", sans-serif; color: #2a1d05; cursor: pointer;
  background: linear-gradient(#ffe79a, #e0b54a 55%, #b8862a); border: 1px solid #f7dc8c; border-radius: 5px; }
.cht-f-item .pa-tip-top { display: flex; gap: 8px; align-items: center; padding-right: 14px; }
.cht-f-item .pa-tip-top b, .cht-f-item .pa-tip-top small { display: block; }

/* telas menores: mesmas posições do chat antigo */
@media (max-width: 1180px) { .cht { width: 300px; height: 160px; bottom: 64px; } .cht-aba { padding: 2px 4px; font-size: 10.5px; } }
@media (max-width: 900px) { .cht { bottom: 110px; } }

/* mensagem privada (2026-11-05) */
.cht-c-privado .cht-tag { color: #ff8fd8; }   .cht-c-privado .cht-txt { color: #ffd6f2; }
.cht[data-envio="privado"] .cht-canal { color: #ff8fd8; }
.cht-para { flex: none; width: 82px; min-width: 0; background: rgba(8,6,16,.75); color: #ffd6f2; border: 1px solid #6b3a62; border-radius: 4px; padding: 3px 6px; font: inherit; font-size: 12px; outline: none; }
.cht-para::placeholder { color: #8a6688; }
.cht-para:focus { border-color: #ff8fd8; }
.cht-pm-para { color: #ff8fd8; }