.chat-main { padding: 2rem 0 3rem; max-width: 820px; }
.chat-title { font-family: var(--serif); color: var(--cream); margin: 0 0 0.4rem; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.badge { font-family: var(--font); font-size: 0.8rem; vertical-align: middle; border: 1px solid var(--gold); color: var(--gold-2); border-radius: 999px; padding: 0.15rem 0.6rem; }
.chat-sub { color: var(--muted); margin: 0 0 1rem; }
.chat-warn { border: 1px solid var(--line); background: rgba(201, 162, 39, 0.08); border-radius: 12px; padding: 0.75rem 1rem; font-size: 0.92rem; color: var(--cream); margin-bottom: 1rem; }
.chat-log { min-height: 320px; max-height: 60vh; overflow-y: auto; background: rgba(18, 42, 74, 0.55); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.msg { max-width: 85%; padding: 0.7rem 0.95rem; border-radius: 14px; white-space: pre-wrap; word-wrap: break-word; }
.msg p { margin: 0; }
.msg.user { align-self: flex-end; background: var(--gold); color: var(--navy); }
.msg.bot { align-self: flex-start; background: var(--navy-3); color: var(--ink); border: 1px solid rgba(201, 162, 39, 0.2); }
.msg.err { align-self: flex-start; background: rgba(255, 180, 168, 0.12); color: #FFB4A8; }
.msg .meta { display: block; margin-top: 0.4rem; font-size: 0.75rem; color: var(--muted); }
.chat-form { display: flex; gap: 0.6rem; margin-top: 0.9rem; align-items: stretch; }
.chat-form textarea { flex: 1; resize: vertical; min-height: 3rem; font: inherit; color: var(--ink); background: rgba(7, 21, 38, 0.8); border: 1px solid var(--line); border-radius: 12px; padding: 0.7rem 0.9rem; }
.chat-form textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.chat-status { color: var(--muted); font-size: 0.9rem; min-height: 1.2em; }
