/* Message actions use the top layer: the conversation's scrolling area cannot clip them. */
.message-context{position:fixed;inset:auto;margin:0;padding:0;width:294px;max-width:calc(100vw - 20px);border:0;background:transparent;color:var(--theme-text,#263e32);font:inherit;overflow:auto;box-shadow:none;scrollbar-width:thin}
.message-context::backdrop{background:transparent;pointer-events:none}
.message-context{filter:drop-shadow(0 8px 12px #102b2026)}
.message-quick-reactions,.message-context-menu{border:1px solid var(--theme-line,#e0e8e2);background:var(--theme-surface,#fff)}
.message-quick-reactions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;padding:6px;border-radius:30px;gap:0;margin-bottom:7px}
.message-quick-reactions button{display:grid;place-items:center;min-width:0;height:39px;border-radius:50%;border:0;background:transparent;color:var(--theme-muted,#66786d);cursor:pointer}
.message-quick-reactions img{width:30px;height:30px;object-fit:contain;transition:transform .14s ease}
.message-quick-reactions button:hover img{transform:translateY(-2px) scale(1.13)}
.message-quick-reactions button:last-child{background:var(--theme-surface-muted,#f0f5f1);margin:3px;height:33px}
.message-context-menu{padding:6px;border-radius:15px;display:grid}
.message-context-menu button{display:flex;align-items:center;gap:13px;border:0;background:transparent;border-radius:9px;padding:11px 13px;min-height:46px;color:inherit;font:inherit;font-size:.88rem;text-align:left;cursor:pointer}
.message-context-menu .icon{width:22px;height:22px;flex-shrink:0;color:var(--theme-muted,#6e8075)}
.message-context button:disabled{opacity:.4;cursor:default}
.message-context button:not(:disabled):hover,.message-context button.is-mine{background:var(--theme-hover,#edf4ee)}
.message-context button:focus-visible,.message-reactions button:focus-visible,.message-selection-bar button:focus-visible,.chat-message:focus-visible{outline:2px solid var(--theme-accent,#236b53);outline-offset:2px}
.chat-message.message-context-active{outline:2px solid var(--theme-accent-border,#8fb49c);outline-offset:3px}
.message-context-expanded{width:330px;padding:12px;border:1px solid var(--theme-line,#dbe5dc);border-radius:18px;background:var(--theme-surface,#fff);filter:none;box-shadow:0 10px 32px #102b2026}
.message-reaction-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.86rem;margin-bottom:10px}
.message-reaction-heading button{border:0;background:transparent;color:var(--theme-muted,#66786d);display:grid;place-items:center;width:32px;height:32px;border-radius:8px}
.message-reaction-search,.message-forward-search{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--theme-surface-muted,#f1f5f0);border:1px solid var(--theme-line,#e1e8df);border-radius:12px;color:var(--theme-muted,#64776a)}
.message-reaction-search input,.message-forward-search input{width:100%;min-width:0;border:0;padding:2px 0;background:transparent;color:var(--theme-text,#263e32);font:inherit;font-size:.85rem;outline:none}
.message-reaction-search:focus-within,.message-forward-search:focus-within{outline:2px solid var(--theme-accent-border,#8fb49c)}
.message-reaction-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:10px;max-height:min(270px,40dvh);overflow:auto;scrollbar-width:thin}
.message-reaction-grid button{border:0;background:transparent;display:grid;place-items:center;min-width:0;aspect-ratio:1;border-radius:9px;cursor:pointer}.message-reaction-grid img{width:30px;height:30px}.message-reaction-grid p{grid-column:1/-1;font-size:.85rem;padding:12px;color:var(--theme-muted,#6a7f6c)}
.chat-message{padding-bottom:.4rem}
.chat-message-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 10px;margin-top:6px;min-width:0}
.chat-message-footer .chat-message-meta{flex:0 0 auto;margin:0 0 0 auto;min-height:28px;white-space:nowrap}
.message-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.chat-message-footer .message-reactions{flex:1 1 0;min-width:min-content;margin:0}
.message-reactions button{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:2px 8px 2px 5px;border:1px solid var(--theme-line,#dce7de);border-radius:20px;background:var(--theme-surface-muted,#f1f6ef);color:var(--theme-text,#305f43);font:inherit;font-size:.73rem;cursor:pointer}
.message-reactions img{width:20px;height:20px;object-fit:contain}.message-reactions button.is-mine{border-color:var(--theme-accent-border,#4f8968);background:var(--theme-selected,#e0eee4)}.message-reactions button:hover{background:var(--theme-hover,#e5f0e7)}
.message-forwarded{display:flex;align-items:flex-start;gap:7px;color:var(--theme-muted,#4f7a60);font-size:.73rem;line-height:1.5;margin-bottom:9px}.message-forwarded .icon{width:17px;height:17px;flex-shrink:0}.message-forwarded strong{font-weight:600}
.message-quote{display:block;width:100%;text-align:left;padding:8px 11px;margin-bottom:10px;border:0;border-left:3px solid var(--theme-accent-border,#578c6b);border-radius:3px 8px 8px 3px;background:var(--theme-selected,#eaf3e9);color:var(--theme-text,#365b41);font:inherit;cursor:pointer}
.message-quote strong,.message-quote span{display:block;font-size:.77rem;line-height:1.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42ch}.message-quote span{color:var(--theme-muted,#607963)}
.chat-reply-banner{display:flex;align-items:center;gap:11px;padding:9px 10px;margin-bottom:10px;border-left:3px solid var(--theme-accent-border,#578c6b);background:var(--theme-selected,#eaf3e9);border-radius:3px 9px 9px 3px;color:var(--theme-text,#365b41)}.chat-reply-banner[hidden]{display:none}.chat-reply-banner>span{flex:1;min-width:0}.chat-reply-banner strong,.chat-reply-banner small{display:block;font-size:.76rem;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-reply-banner small{color:var(--theme-muted,#657d67)}.chat-reply-banner>.icon{flex-shrink:0}
.message-selection-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--theme-line,#d9e6da);background:var(--theme-selected,#eaf3e9);color:var(--theme-text,#365b41);flex-shrink:0}
.message-selection-bar strong{flex:1;font-size:.8rem;white-space:nowrap}.message-selection-bar button{display:flex;align-items:center;gap:7px;border:0;background:transparent;border-radius:8px;min-width:35px;min-height:35px;padding:7px;color:inherit;font:inherit;font-size:.76rem;cursor:pointer}.message-selection-bar button:hover{background:var(--theme-hover,#d9e9de)}.message-selection-bar button:disabled{opacity:.4}
.is-selecting .chat-message:not(.deleted){cursor:pointer;padding-left:45px}.is-selecting .chat-message.is-selected{border-color:var(--theme-accent-border,#598766);box-shadow:0 0 0 2px var(--theme-accent-border,#598766)}
.message-select-check{position:absolute;left:11px;top:13px;display:grid;place-items:center;width:23px;height:23px;border:1.5px solid var(--theme-muted,#84978a);border-radius:50%;background:transparent;color:var(--theme-on-accent,#fff);padding:0;cursor:pointer}.message-select-check[aria-pressed=true]{background:var(--theme-accent,#236b53);border-color:var(--theme-accent,#236b53)}.message-select-check .icon{width:16px;height:16px}
.message-highlight{outline:3px solid var(--theme-accent-border,#578c6b);outline-offset:3px}
.message-forward-preview{display:flex;align-items:center;gap:12px;padding:12px;border-left:3px solid var(--theme-accent-border,#578c6b);background:var(--theme-selected,#eaf3e9);border-radius:4px 10px 10px 4px;margin-bottom:17px;color:var(--theme-text,#365b41)}.message-forward-preview>span{min-width:0;flex:1}.message-forward-preview strong,.message-forward-preview small{display:block;font-size:.84rem;line-height:1.5}.message-forward-preview small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--theme-muted,#657d67);margin-top:4px}
.message-forward-targets{display:grid;gap:4px;max-height:min(330px,38dvh);overflow:auto;margin-top:12px;scrollbar-width:thin}.message-forward-targets>button{display:flex;align-items:center;gap:12px;text-align:left;padding:10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--theme-text,#365b41);font:inherit;cursor:pointer}.message-forward-targets>button:hover{background:var(--theme-hover,#eff5ed)}.message-forward-targets>button[aria-pressed=true]{border-color:var(--theme-accent-border,#578c6b);background:var(--theme-selected,#eaf3e9)}.message-forward-targets .avatar{width:40px;height:40px;flex-shrink:0}.message-forward-targets>button>span:not(.avatar){flex:1;min-width:0}.message-forward-targets strong,.message-forward-targets small{display:block;font-size:.84rem;line-height:1.4}.message-forward-targets small{font-size:.73rem;margin-top:5px;color:var(--theme-muted,#657d67)}.message-forward-targets i{width:24px;flex-shrink:0;color:var(--theme-accent,#236b53)}.message-forward-note{color:var(--theme-muted,#657d67);font-size:.75rem;line-height:1.6;margin-top:14px}
@container (max-width:600px){.message-selection-bar button span{display:none}}
@media(max-width:480px){.message-context{width:280px}.message-context-expanded{width:310px}.message-selection-bar{padding:7px 9px;gap:4px}.message-selection-bar button span{display:none}.message-quote strong,.message-quote span{max-width:28ch}}
@media(prefers-reduced-motion:reduce){.message-quick-reactions img{transition:none}}
