@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}}
