:root { color-scheme: dark; }
[hidden] { display: none !important; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #000; color: #f2f2f2;
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
main { max-width: 760px; margin: 0 auto; min-height: 100%; display: flex; flex-direction: column;
  align-items: center; padding: 24px 16px; gap: 20px; }
.brasao-slot { width: 180px; height: 180px; display: flex; align-items: center; justify-content: center; flex: none; }
.brasao-slot img { max-width: 100%; max-height: 100%; }
.entrar { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 24px; }
.aviso { color: #bbb; margin: 0; }
.botao { background: #fff; color: #000; border: 0; border-radius: 6px; padding: 10px 18px;
  font: 600 15px/1 inherit; cursor: pointer; text-decoration: none; }
.botao:disabled { opacity: .5; cursor: wait; }
.chat { width: 100%; flex: 1; display: flex; flex-direction: column; gap: 12px; min-height: 0; }
.mensagens { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 4px; min-height: 240px; }
.msg { padding: 10px 14px; border-radius: 10px; max-width: 88%; white-space: pre-wrap; word-wrap: break-word; }
.msg.eu { align-self: flex-end; background: #1f1f1f; border: 1px solid #333; }
.msg.acervo { align-self: flex-start; background: #0b0b0b; border: 1px solid #fff3; }
.msg.erro { align-self: center; color: #bbb; font-size: 14px; }
.form { display: flex; gap: 8px; }
textarea { flex: 1; resize: none; background: #0d0d0d; color: #f2f2f2; border: 1px solid #444; border-radius: 8px;
  padding: 10px 12px; font: inherit; }
textarea:focus { outline: 1px solid #fff; }
