@keyframes velvi-message-in {from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
@keyframes velvi-dot {0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.velvi-message{animation:velvi-message-in .24s ease-out both}
.velvi-message>div{box-shadow:0 2px 12px #00000012;padding:11px 14px;border:1px solid #ffffff08}
.velvi-message p{font-weight:400;line-height:1.55;letter-spacing:.005em}
.velvi-message em{color:#ede5f1}.velvi-message strong{font-weight:700}
.velvi-typing{position:absolute;left:14px;bottom:calc(100% + 9px);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px 14px 14px 4px;background:#211b27;color:#d9bbcf;font-size:12px;box-shadow:0 3px 14px #0002}
form:has(>.velvi-typing){position:relative}
.velvi-typing-dots{display:flex;gap:3px}.velvi-typing-dots i{width:5px;height:5px;border-radius:50%;background:#ff70ba;animation:velvi-dot 1.2s ease-in-out infinite}.velvi-typing-dots i:nth-child(2){animation-delay:.15s}.velvi-typing-dots i:nth-child(3){animation-delay:.3s}
.velvi-text-caret{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-2px;background:#ff79c7}
@media(prefers-reduced-motion:reduce){.velvi-message,.velvi-typing-dots i{animation:none}.velvi-text-caret{display:none}}
.velvi-message:not(:has(.velvi-sender-avatar)){justify-content:flex-end}
.velvi-message:has(.velvi-sender-avatar){align-items:flex-end;gap:8px}
.velvi-sender-avatar{position:relative;display:flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:#49253d;color:#ffb2da;font-size:12px;margin-bottom:2px}
.velvi-sender-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.velvi-sender-name{display:block;color:#fbb1d7;font-size:12px;font-weight:700;line-height:1.3;margin-bottom:3px}
