.form-help { margin: -8px 0 2px; color: var(--muted); font-size: 12px; }
.room-heading-actions { display: flex; align-items: center; gap: 9px; }
.room-heading-actions button b { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 5px; border-radius: 999px; background: var(--gold); color: #17211e; font-size: 11px; }
.chat-panel { position: fixed; right: 18px; bottom: 18px; z-index: 90; width: min(390px, calc(100vw - 36px)); height: min(560px, calc(100vh - 100px)); display: grid; grid-template-rows: auto 1fr auto; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); box-shadow: 0 25px 80px #0006; overflow: hidden; }
.chat-heading { display: flex; align-items: center; justify-content: space-between; padding: 18px; border-bottom: 1px solid var(--line); }
.chat-heading h2 { margin: 0; font: 25px Georgia, serif; }
.chat-heading button { border: 0; background: none; color: var(--ink); font-size: 27px; }
.chat-log { overflow-y: auto; padding: 15px; display: flex; flex-direction: column; gap: 8px; }
.chat-message { padding: 9px 11px; border-radius: 11px; background: var(--paper); font-size: 13px; overflow-wrap: anywhere; }
.chat-message strong { display: block; color: var(--green2); font-size: 11px; }
.chat-message span { display: block; margin-top: 2px; }
.chat-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 14px; border-top: 1px solid var(--line); }
.chat-form input { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); }
.chat-form button { padding-inline: 15px; }
.chat-float-layer { position: fixed; left: 50%; bottom: 25px; z-index: 80; transform: translateX(-50%); display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
.chat-float-message { width: min(360px, calc(100vw - 32px)); padding: 10px 13px; border: 1px solid var(--line); border-radius: 13px; background: color-mix(in srgb, var(--panel) 95%, transparent); box-shadow: var(--shadow); animation: chat-float 9s ease both; overflow-wrap: anywhere; }
.chat-float-message strong { display: block; color: var(--green2); font-size: 11px; }
.chat-float-message span { font-size: 13px; }
@keyframes chat-float { 0% { opacity: 0; transform: translateY(10px); } 8%, 82% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateY(-12px); } }
