.nexora-chat-messages { min-height:0 !important; flex:1 !important; display:flex !important; flex-direction:column !important; gap:16px !important; padding:16px !important; overflow-y:auto !important; background:#fff !important; overflow-anchor:none !important; }
.nexora-message { display:flex !important; gap:8px !important; flex:0 0 auto !important; animation:nexora-message-in .25s ease !important; }
.nexora-message--user { justify-content:flex-end !important; }
.nexora-message-avatar { width:32px !important; height:32px !important; display:grid !important; place-items:center !important; flex:0 0 32px !important; border-radius:50% !important; background:var(--nexora-blue) !important; color:#fff !important; font-size:10px !important; font-weight:700 !important; }
.nexora-bubble { width:fit-content !important; max-width:75% !important; padding:8px 12px !important; border-radius:20px !important; background:var(--nexora-bot) !important; color:#1f2937 !important; font-size:12px !important; line-height:1.4 !important; overflow-wrap:anywhere !important; }
.nexora-message--user .nexora-bubble { background:var(--nexora-blue) !important; color:#fff !important; border-bottom-right-radius:4px !important; }
.nexora-bubble p { margin:0 0 8px !important; }
.nexora-bubble p:last-child { margin-bottom:0 !important; }
.nexora-bubble ul,.nexora-bubble ol { margin:8px 0 !important; padding-left:18px !important; }
.nexora-bubble strong { font-weight:700 !important; color:var(--nexora-text) !important; }
.nexora-message--typing .nexora-bubble { display:flex !important; gap:4px !important; align-items:center !important; }
.nexora-message--typing .nexora-bubble span { width:5px !important; height:5px !important; border-radius:50% !important; background:var(--nexora-secondary) !important; animation:nexora-typing 1.1s infinite ease-in-out !important; }
.nexora-message--typing .nexora-bubble span:nth-child(2) { animation-delay:.12s !important; }
.nexora-message--typing .nexora-bubble span:nth-child(3) { animation-delay:.24s !important; }
@keyframes nexora-message-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes nexora-typing { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-3px); opacity:1; } }
