/* A labelled, viewport-clamped menu; the native summary remains the touch and keyboard entry point. */
.message-context-ready #messages .message-menu .message-actions { display:none!important; }
.message-context-ready #messages .message-menu summary { font-size:0;min-width:30px;min-height:26px;transition:opacity .12s;color:var(--muted); }
.message-context-ready #messages .message-menu summary::before { content:"";width:17px;height:17px;display:block;background:currentColor;mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' d='M5 6h14M5 12h14M5 18h14'/%3E%3C/svg%3E"); }
.message-context-ready #messages .message-menu summary:focus-visible { outline:2px solid var(--accent,#49a8ef);outline-offset:2px; }
.message-context-popup { position:fixed;z-index:1500;box-sizing:border-box;width:274px;max-width:calc(100vw - 16px);padding:6px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line,#40515f);border-radius:12px;background:var(--surface,#1c2933);color:var(--text,#eff7ff);box-shadow:0 8px 32px #0006;isolation:isolate;font-family:inherit; }
.message-context-popup * { box-sizing:border-box; }
.message-context-popup button { font:inherit;cursor:pointer;border:0;background:transparent;color:inherit;box-shadow:none;margin:0; }
.message-context-actions { display:flex;flex-direction:column;gap:1px; }
.message-context-actions button { display:flex;align-items:center;gap:14px;min-height:42px;width:100%;padding:9px 13px;border-radius:7px;text-align:start;font-size:14px;line-height:1.35; }
.message-context-popup svg { display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.message-context-popup svg.is-filled { fill:currentColor; }
.message-context-popup button:hover,.message-context-popup button:focus-visible { background:var(--surface-2,#2b3d4c);outline:none; }
.message-context-popup button:focus-visible { box-shadow:inset 0 0 0 2px var(--accent,#49a8ef); }
.message-context-actions .is-destructive { color:var(--danger,#ff8491); }
.message-context-reactions { display:flex;align-items:center;gap:0;padding:2px 0 7px;margin-bottom:4px;border-bottom:1px solid var(--line,#40515f); }
.message-context-reactions button { display:grid;place-items:center;min-width:0;width:calc(100% / 7);height:38px;padding:0;border-radius:50%;font-size:23px;line-height:1; }
.message-context-reactions button[aria-checked="true"] { background:var(--surface-2,#2b3d4c);box-shadow:inset 0 0 0 2px var(--accent,#49a8ef); }
.message-context-reactions [data-context-more] svg { width:18px;height:18px; }
.message-context-active { outline:1px solid var(--accent,#49a8ef);outline-offset:2px; }
@media(hover:hover) and (pointer:fine) {
  .message-context-ready #messages .message-menu summary { opacity:.4; }
  .message-context-ready #messages .message-bubble:hover .message-menu summary,
  .message-context-ready #messages .message-bubble:focus-within .message-menu summary { opacity:1; }
}
@media(hover:none),(pointer:coarse) {
  .message-context-ready #messages .message-menu summary { min-height:40px;min-width:40px; }
  .message-context-actions button { min-height:46px; }
}
@media(prefers-reduced-motion:reduce) { .message-context-ready #messages .message-menu summary { transition:none; } }
