.msg-translate-btn {
    background: none; border: none; cursor: pointer;
    color: var(--muted); font-size: 13px; padding: 2px 6px;
    border-radius: 6px; transition: .15s; line-height: 1;
    opacity: 0; pointer-events: none;
}
.msg:hover .msg-translate-btn,
.msg.translated .msg-translate-btn { opacity: 1; pointer-events: auto; }
.msg-translate-btn:hover { color: var(--blue); background: var(--bg); }
.msg-translation {
    margin-top: 6px; padding: 6px 10px;
    background: var(--card2); border-radius: 8px;
    font-size: 12.5px; color: var(--text);
    border-right: 3px solid var(--blue);
    animation: trFadeIn .2s ease;
}
@keyframes trFadeIn { from { opacity:0; transform:translateY(-4px); } }
.msg-translation .tr-label { font-size: 10px; color: var(--muted); margin-bottom: 3px; }
