/* Shared conversation controls: all content is local and all message HTML is escaped. */
.conversation-main{position:relative}.message{animation:none}.message.is-new{animation:message-arrive .26s cubic-bezier(.2,.8,.2,1)}
.message-bubble{position:relative}.message-bubble .emoji-only{font-size:32px;line-height:1.5}.message-quote{border-left:2px solid #a7cfff90;background:#09101b40;border-radius:4px 8px 8px 4px;padding:7px 10px;margin-bottom:9px;display:grid;gap:3px;font-size:11px;max-width:100%}.message-quote strong{color:#b9d5f8;font-weight:500}.message-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8298b5}.reply-button{border:0;background:none;color:#91abd0;font-size:15px;padding:0 3px;opacity:.45}.message:hover .reply-button,.reply-button:focus-visible{opacity:1}.message-meta{align-items:center}
.composer{align-items:flex-end}.composer textarea{resize:none;max-height:150px}.composer .icon-button{flex-shrink:0;margin-bottom:2px}.reply-composer{margin:0 26px 8px;border-left:2px solid #a4cbfa;background:#9abded0b;border-radius:0 10px 10px 0;padding:10px 12px;display:flex;align-items:center;gap:12px}.reply-composer[hidden],.emoji-picker[hidden],.history-search[hidden]{display:none}.reply-composer>div{min-width:0;flex:1;display:grid;gap:4px;font-size:11px}.reply-composer strong{font-weight:500;color:#bbd7fa}.reply-composer span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#8298b5}
.emoji-picker{position:absolute;bottom:110px;left:28px;z-index:5;width:min(355px,calc(100% - 56px));max-height:450px;overflow:auto;border:1px solid #adcfff35;border-radius:18px;background:linear-gradient(130deg,#17263aee,#0d1729f5);box-shadow:0 20px 80px #0007;backdrop-filter:blur(25px);padding:16px;animation:message-arrive .18s ease-out}.emoji-picker header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:400}.emoji-picker input,.history-search input{min-width:0;width:100%;background:#07101d70;border:1px solid #8db2e228;border-radius:9px;color:#d5e5fa;padding:9px 12px;font-size:12px}.emoji-picker section h3{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;color:#7f99ba;margin:15px 0 8px}.emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.emoji-grid button{border:0;border-radius:9px;background:none;font-family:'Segoe UI Emoji',sans-serif;font-size:23px;height:37px;padding:0;transition:background .15s,transform .15s}.emoji-grid button:hover{background:#a6caff1c;transform:translateY(-2px)}.history-search{padding:10px 24px;display:flex;align-items:center;gap:8px;background:#9abbec06;border-bottom:1px solid #9abcde15}
@keyframes message-arrive{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.message.is-new,.emoji-picker{animation:none}.emoji-grid button{transition:none}}
