.quote-bar{gap:12px;min-height:53px;padding:8px 12px 9px;background:transparent;align-items:center}.quote-preview-copy{display:grid;gap:2px;flex:1;min-width:0;padding-left:10px;border-left:2px solid #c6cbd2}.quote-preview-author,.quote-preview-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:18px}.quote-preview-author{font-size:12px;font-weight:500;color:#596270}.quote-preview-text{font-size:12px;color:#8c929c}.quote-dismiss{appearance:none;display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#9097a1;cursor:pointer}.quote-dismiss svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quote-dismiss:hover,.quote-dismiss:active{background:#e8ebef;color:#4e5966}.quote-dismiss:focus-visible{outline:2px solid #929ba8;outline-offset:2px}.message.is-quote-target .message-bubble,.system-message.is-quote-target{animation:quote-locate-pulse 2.4s ease-out}@keyframes quote-locate-pulse{0%,30%{box-shadow:0 0 0 4px rgba(77,91,110,.28)}65%{box-shadow:0 0 0 4px rgba(77,91,110,.14)}100%{box-shadow:0 0 0 4px transparent}}@media(prefers-reduced-motion:reduce){.message.is-quote-target .message-bubble,.system-message.is-quote-target{animation:none;outline:2px solid #a1aab6;outline-offset:3px}}
.message.is-quote-arc .message-bubble{position:relative;outline:0;animation:quote-arc-outline 2.4s ease-out both}
.message.is-quote-arc .message-bubble::after{content:"";position:absolute;top:4px;bottom:4px;left:-5px;width:12px;border-left:2px solid #8390a0;border-radius:50%;pointer-events:none;animation:quote-arc-fade 2.4s ease-out both}
@keyframes quote-arc-outline{0%,35%{box-shadow:0 0 0 1px #9ca9b7a6}100%{box-shadow:0 0 0 1px transparent}}
@keyframes quote-arc-fade{0%,35%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
 .message.is-quote-arc .message-bubble{animation:none;outline:1px solid #9ca9b7;outline-offset:0}
 .message.is-quote-arc .message-bubble::after{animation:none}
}
@media(min-width:760px) and (min-height:501px),(min-width:760px) and (pointer:fine){.composer{padding:10px 12px 12px;background:#fff}.composer-box{gap:8px;min-height:132px;padding:10px 11px 8px;border:1px solid #dedfe3;border-radius:8px;background:#fafafa;box-shadow:0 1px 3px #20242c05}.composer-box:focus-within{border-color:#bfc6d0;box-shadow:none}.composer-box .composer-input{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.composer-box .composer-input textarea,.composer-box .composer-input textarea:focus,.composer-box .composer-input textarea:focus-visible{min-height:74px;max-height:180px;padding:0 1px;border:0;border-radius:0;background:transparent;outline:0;box-shadow:none;font-size:14px;line-height:1.65}.composer-toolbar{margin:0;padding:0;align-items:center}.composer-tools{gap:2px}.composer-tools .icon-button{width:30px;height:30px;padding:6px;color:#7b818b}.composer-toolbar #composerHint{display:none}.composer-box .send-button{height:30px;min-height:30px;min-width:66px;padding:0 15px;border-radius:6px;font-size:12px}}

.message-bubble.can-swipe-quote{touch-action:pan-y}
.message-bubble.is-swiping-quote{position:relative;translate:var(--quote-swipe-x,0px) 0;transition:none}
.message-swipe-quote-icon{display:none;position:absolute;left:-32px;top:50%;translate:0 -50%;width:26px;height:26px;border-radius:50%;background:#e7ecf2;color:#697888;place-items:center;pointer-events:none}
.is-swiping-quote>.message-swipe-quote-icon{display:grid}
.is-quote-ready>.message-swipe-quote-icon{background:#3e4b5b;color:#fff}
.message-swipe-quote-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
.chat-recall-label{position:relative;display:inline-block;padding:3px 13px;border-radius:5px;background:#edf0f3;color:#637080}
.chat-recall-label.is-folding{animation:chat-recall-fold .24s ease-out both}
.chat-recall-label.is-folding::after{content:"";position:absolute;top:0;right:0;width:9px;height:9px;background:#c3ccd8;clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none;animation:chat-recall-corner .24s ease-out both}
@keyframes chat-recall-fold{0%{transform:perspective(180px) rotateX(-39deg) scaleX(1.13);opacity:.4}100%{transform:none;opacity:1}}
@keyframes chat-recall-corner{0%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.chat-recall-label.is-folding,.chat-recall-label.is-folding::after{animation:none}.chat-recall-label.is-folding::after{display:none}}

.quote-return{
 --quote-return-base:calc(var(--composer-height,136px) + 31px);
 position:absolute;z-index:6;right:30px;bottom:var(--quote-return-base);
 display:flex;align-items:center;gap:7px;min-height:39px;padding:0 12px;border:1px solid #dce2e9;border-radius:22px;
 background:#fff;color:#374659;box-shadow:0 3px 12px #25354818;font:inherit;font-size:12px;
}
.quote-return:not([hidden]){animation:quote-return-in .16s ease-out}
.quote-return:hover{background:#f5f6f8}
.quote-return:focus-visible{outline:2px solid #8693a2;outline-offset:2px}
.quote-return svg{width:14px;height:14px}
.active-chat:has(#jumpLatest:not([hidden]))>.quote-return{bottom:calc(var(--quote-return-base) + 47px)}
.active-chat:has(.quote-return:not([hidden]))>.mention-reminder{transform:translateY(-46px)}
@keyframes quote-return-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media(max-width:759px),(max-height:500px) and (pointer:coarse){
 .quote-return{--quote-return-base:calc(var(--composer-height,113px) + 27px);right:14px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.quote-return:not([hidden]){animation:none}}

.chat-date-float{position:relative;height:0;flex:none;z-index:4;pointer-events:none}
.chat-date-float-label{
 position:absolute;top:9px;left:50%;transform:translate(-50%,-3px);
 display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;
 border:1px solid #dce2e9;border-radius:16px;background:#fff;color:#47586a;box-shadow:0 2px 7px #25354814;
 font-size:11px;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .16s ease,transform .16s ease;
}
.chat-date-float-label::before{
 content:'';width:10px;height:4px;border-top:1px solid #8297a9;border-radius:50%;transform:rotate(-12deg);
}
.chat-date-float.is-visible .chat-date-float-label{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.chat-date-float-label{transition:none}}
