/* R55 chat continuity: all controls reuse the existing composer/message surfaces. */
html #app #view-chats #messages .bubble-react__n {
  display:inline-block; inline-size:2.2ch; min-inline-size:2.2ch;
  text-align:center; font-variant-numeric:tabular-nums;
}
html #app #view-chats #messages .bubble-react[aria-busy="true"] .bubble-react__face {
  outline:1px solid currentColor; outline-offset:2px; animation:none;
}
html #app #view-chats #messages .bubble-react--zero { opacity:.7; }
html #app #view-chats #messages .bubble:has(.file-chip) { min-width:0; width:min(270px,100%); }
html #app #view-chats #messages .bubble .file-chip { width:100%; min-width:0; box-sizing:border-box; }
html #app #view-chats #messages .file-chip__body { min-width:0; }
html #app #view-chats #messages .file-chip__name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html #app #view-chats #messages .file-chip--pending { cursor:default; }
html #app #view-chats #messages .r55-mixed-media {
  width:100%; max-width:270px; aspect-ratio:4/3; height:auto; object-fit:contain;
  box-sizing:border-box; border-radius:14px;
}
html #app #view-chats #messages .r55-media-placeholder {
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px;
  padding:16px; background:color-mix(in srgb,currentColor 6%,transparent);
}
.r55-media-placeholder span { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html #app #view-chats #messages .bubble__send { min-height:60px; box-sizing:border-box; align-items:center; }
html #app #view-chats #messages .bubble__send-label { min-width:0; overflow-wrap:anywhere; }
html #app #view-chats #messages .bubble__send.is-fail { align-items:center; }
html #app #view-chats #messages .r55-quote { display:flex; gap:8px; align-items:center; min-width:0; max-width:100%; }
.r55-quote__copy { display:flex; flex-direction:column; min-width:0; }
.r55-quote__author { font-size:.88em; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.r55-quote__text { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
html #app #view-chats #messages .r55-quote__thumb { width:40px; height:40px; min-width:40px; flex:0 0 40px; margin:0; border-radius:8px; object-fit:cover; }
.r55-quote__file { display:grid; place-items:center; background:color-mix(in srgb,currentColor 8%,transparent); }
#edit-bar .reply-bar__body { min-width:0; }
#edit-bar.r55-edit-has-error #edit-bar-text { display:none; }
#edit-bar .r55-edit-error { font-size:12px; line-height:1.35; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#edit-bar .r55-edit-error[hidden] { display:none; }
#edit-bar { min-height:56px; }
#view-chats #messages .msg { position:relative; }
.r55-message-keyhint { display:none; position:absolute; z-index:5; inset-block-start:-14px; inset-inline-start:10px; padding:3px 7px; border-radius:7px; color:var(--text,#22304b); background:var(--surface,#fff); border:1px solid var(--border,#b8bfce); font-size:10px; line-height:1.2; white-space:nowrap; pointer-events:none; }
#view-chats #messages .msg:focus-visible>.r55-message-keyhint { display:block; }
#view-chats #messages .msg--pending>.r55-message-keyhint,#view-chats #messages .msg--failed>.r55-message-keyhint { display:none; }
.r55-menu-keyhint { font-size:10px; line-height:1.3; margin:6px 6px 0; text-align:center; color:var(--text,#33415b); white-space:nowrap; }
.r55-region-jumps { position:fixed; z-index:1000; inset-block-start:max(8px,env(safe-area-inset-top)); inset-inline-start:50%; transform:translate(-50%,-180%); display:flex; gap:4px; max-width:calc(100vw - 16px); padding:4px; border:1px solid var(--border,#b8bfce); border-radius:12px; background:var(--surface,#fff); box-shadow:0 4px 16px #0002; }
.r55-region-jumps:focus-within { transform:translate(-50%,0); }
.r55-region-jumps a { display:flex; align-items:center; min-height:44px; padding:0 8px; font-size:12px; line-height:1.2; text-align:center; color:var(--text,#24324a); text-decoration:none; border-radius:8px; }
.r55-region-jumps a[hidden] { display:none; }
.r55-region-jumps a:focus-visible { outline:2px solid var(--accent,#486be5); outline-offset:-2px; }
.r55-region-current:focus-visible { outline:2px solid var(--accent,#486be5); outline-offset:-3px; }
html #app #view-chats .vb-emoji-panel__grid[data-type="sticker"],html #app #view-chats .vb-emoji-panel__grid[data-type="custom"] { min-height:210px; }
@media(prefers-reduced-motion:reduce) { .r55-region-jumps,.bubble-react { animation:none!important; transition:none!important; } }
