.chat-tools-bar{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff}.chat-tools-bar button{background:#f0f5ee;border:1px solid #d7e3d1;color:#26573d;font-size:.875rem;padding:7px 12px;border-radius:8px}.chat-tools-bar button:hover{background:#e0eedb}.chat-pinned{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fff9e8;border-bottom:1px solid #efe3bd}.chat-pinned[hidden]{display:none}.pin-preview{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:none;color:#644c15;font-size:.875rem;padding:5px 0}.chat-pinned .quiet{font-size:.8125rem;white-space:nowrap}.chat-message .message-footer{font-size:.75rem}.chat-message .message-footer button,.chat-message .message-edited{font-size:.75rem}.message-menu-button{font-size:1.2rem!important;min-width:30px!important}.reaction-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.reaction-chip{font-size:.8125rem!important;min-height:30px;border:1px solid #cad9c5;border-radius:18px;background:white;color:#354839;padding:3px 9px}.reaction-chip.selected{background:#d7eacb;border-color:#639b50}.emoji-picker{display:flex;gap:7px;margin:12px 0 22px;flex-wrap:wrap}.emoji-picker button{font-size:1.45rem;background:#f1f5ed;min-width:46px;min-height:46px;padding:5px;border:1px solid #d9e4d2}.emoji-picker button.selected{background:#d9edcc;border-color:#619052}.pinned-badge{display:block;color:#816122;font-size:.75rem;margin:4px 0}.tool-quote{border-left:3px solid #a8bea0;background:#f5f8f2;padding:12px;font-size:.875rem;overflow-wrap:anywhere}.chat-tool-dialog{width:min(580px,calc(100vw - 24px))}.tool-result{display:block;width:100%;text-align:left;border:1px solid var(--line);background:white;border-radius:10px;margin:9px 0;padding:13px}.tool-result:hover{background:#f4f8f0}.tool-result strong{display:block;font-size:.9375rem;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.tool-result small{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.tool-message{max-width:100%!important;width:100%;margin:12px 0!important;box-sizing:border-box}.chat-search-form{display:flex!important;gap:8px!important;margin:8px 0 14px!important}.chat-search-form input{min-width:0;flex:1}.chat-search-form button{flex-shrink:0}.poll-message{width:min(420px,90%);background:white!important;min-width:0}.poll-card{text-align:left}.poll-card h3{font-size:1.0625rem;margin:9px 0 5px;line-height:1.6;overflow-wrap:anywhere}.poll-state{font-size:.75rem;font-weight:700;background:#edf4e5;color:#386327;padding:3px 7px;border-radius:5px}.poll-state.closed{background:#eeeeea;color:#62685d}.poll-meta{font-size:.75rem;color:var(--muted);line-height:1.7;margin:4px 0 12px}.poll-ballot{display:block!important;margin:0!important}.poll-choices{padding:0;border:0;margin:0;min-width:0}.poll-choice{position:relative;display:flex;align-items:center;gap:9px;margin:7px 0;border:1px solid #d5e0cd;border-radius:9px;padding:11px 10px;overflow:hidden;cursor:pointer;font-size:.9375rem;font-weight:400;background:#f9fbf6}.poll-choice.chosen{border-color:#639347;box-shadow:inset 0 0 0 1px #639347}.poll-choice input{position:relative;flex:0 0 17px;width:17px;min-height:17px;height:17px;margin:0;accent-color:#36734b}.poll-option-text{position:relative;flex:1;overflow-wrap:anywhere;min-width:0;line-height:1.5}.poll-option-count{position:relative;font-size:.75rem;white-space:nowrap;color:#48623b}.poll-bar{position:absolute;left:0;top:0;bottom:0;background:#e5efdb;pointer-events:none;transition:width .2s}.poll-total{font-size:.8125rem;color:var(--muted);margin:10px 0}.poll-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.poll-actions button{font-size:.8125rem;padding:7px 10px;min-height:34px}.poll-options-field{border:0;padding:0;margin:0;min-width:0}.poll-options-field legend{font-weight:600;font-size:.875rem;margin-bottom:6px}.poll-option-input{display:flex;gap:6px;margin-bottom:8px}.poll-option-input input{min-width:0;flex:1}.poll-option-input button{flex-shrink:0;font-size:.8125rem}.poll-voters{border-bottom:1px solid var(--line);padding:12px 0}.poll-voters p{font-size:.875rem;line-height:1.8}.poll-card input:disabled{opacity:.75}#poll-form .hint{margin:0;line-height:1.6}#chat-tool-content>.hint{line-height:1.6}.chat-tools-bar button:focus-visible,.poll-choice:focus-within,.reaction-chip:focus-visible{outline:2px solid #286440;outline-offset:2px}@media(max-width:760px){.chat-tools-bar{padding:8px 12px;gap:5px}.chat-tools-bar button{font-size:.8125rem;padding:7px 9px}.chat-pinned{padding:7px 12px}.poll-message{width:94%;max-width:94%!important;padding:13px!important}.chat-message .message-footer button{min-height:30px}.chat-tool-dialog{padding:18px}.poll-actions button{min-height:38px}.chat-search-form input{width:0}}@media(prefers-reduced-motion:reduce){.poll-bar{transition:none}}
.anonymous-option{margin:16px 0;padding:14px 16px;border:1px solid #dce5da;background:#f5f8f2;border-radius:12px}.anonymous-option .check-label{margin:0;font-weight:700}.anonymous-option p{margin:7px 0;line-height:1.6}.anonymous-option summary{cursor:pointer;font-size:13px;color:#476157}.push-diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 ui-monospace,monospace;padding:14px;border:1px solid #dce5da;border-radius:10px;background:#f5f8f2;user-select:text}
/* The row owns timestamps/read state; only message content is inside the bubble. */
.chat-main .message-stream,.inquiry-stream{gap:8px!important}
.message-stream>.chat-message.message-row{display:flex;flex-direction:column;width:100%!important;max-width:100%!important;min-width:0;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important;align-self:stretch;flex-shrink:0}
.message-row .message-day{text-align:center;align-self:center;font-size:12px;color:#526962;background:#dfe7e1;border-radius:20px;padding:5px 13px;margin:16px 0 18px}
.message-row .message-sender{font-size:12px;color:#53695c;margin:3px 0 5px 3px}
.message-row .message-line{display:flex;align-items:flex-end;gap:6px;width:100%;min-width:0}
.message-row.mine .message-line{flex-direction:row-reverse}
.message-bubble{width:fit-content;min-width:36px;max-width:min(78%,640px);padding:9px 13px;border:1px solid #dfe7dc;background:#fff;border-radius:3px 13px 13px 13px;box-shadow:0 1px 2px #18321908;overflow-wrap:anywhere}
.mine .message-bubble{background:#e5f0dd;border-color:#d2e2c9;border-radius:13px 3px 13px 13px}
.grouped-message .message-bubble{border-radius:10px}
.message-row .message-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;margin:0 0 1px;flex:0 0 auto;max-width:85px;font-size:10px;line-height:1.4;color:#708075}
.message-row.mine .message-footer{align-items:flex-end}
.message-row .message-time{order:3;white-space:nowrap;font-size:10px}
.message-row .message-read-button,.message-row .message-receipt{order:1;font-size:10px!important;min-height:20px!important;padding:1px 0!important;color:#708245;white-space:nowrap}
.message-row .message-edited{order:2;font-size:10px!important}
.message-bubble>.attachment-grid:empty,.message-bubble>.chat-extras:empty{display:none}
.message-bubble>.attachment-grid{margin-top:7px;width:min(340px,100%)}
.message-bubble>.rich-read+.attachment-grid:empty{margin:0}
.message-row.poll-message .message-bubble{width:min(420px,78%);background:#fff}
.message-row .poll-card{min-width:0}.message-row .message-kind,.message-row .broadcast-badge{font-size:11px;margin:0 0 5px}
.message-menu-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 20px}
.message-menu-actions .message-delete{padding:9px 15px;border:1px solid #edd4ce;border-radius:8px;color:#a34832;font-size:14px}
.message-action-dialog h2{font-size:20px}
.message-bubble:focus-visible{outline:2px solid #7caa91;outline-offset:3px}
@media(max-width:760px){.message-bubble{max-width:calc(100% - 64px);padding:8px 11px}.message-row .message-footer{max-width:60px}.message-row .message-read-button{font-size:9px!important}.message-row.poll-message .message-bubble{width:calc(100% - 64px);max-width:none}.message-row .message-day{font-size:11px;margin:12px 0}.message-row .message-sender{font-size:11px}.message-row .chat-extras .poll-card h3{font-size:15px}}
.chat-message.message-row.is-editing{outline:0}.message-row.is-editing .message-bubble{outline:2px solid #9ebc82;outline-offset:2px}
.message-context-menu{position:fixed;z-index:3000;width:252px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;margin:0;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 32px #0003;font-size:14px;line-height:1.4}
.message-menu-loading{padding:12px;color:var(--muted);font-size:13px}
.message-context-actions{display:grid;gap:2px}
.message-context-menu button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--ink);padding:9px 12px;font-size:14px;font-weight:500;text-align:left;text-decoration:none;white-space:nowrap}
.message-context-menu button:hover,.message-context-menu button:focus-visible{background:var(--light);outline:0;text-decoration:none}
.message-context-menu button:focus-visible{box-shadow:inset 0 0 0 2px var(--green)}
.message-context-menu .message-delete{color:var(--red);border-top:1px solid var(--line);margin-top:3px;border-radius:0 0 6px 6px}
.message-context-reactions{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;border-bottom:1px solid var(--line);margin-bottom:5px;padding:2px 0 7px}
.message-context-reactions button{justify-content:center;min-width:0;min-height:36px;padding:5px 0;font-size:20px}
.message-context-reactions button.selected{background:var(--light);box-shadow:inset 0 0 0 1px var(--green)}
@media(pointer:coarse){.message-context-menu button{min-height:44px}.message-context-reactions button{min-height:42px}}
.message-footer-actions{order:3;position:relative;display:grid;align-items:end}
.message-footer-actions>.message-time{grid-area:1/1}
.message-row .message-quick-reply{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%;min-height:0!important;padding:0;border:0;border-radius:4px;background:var(--light);color:var(--muted);font-size:18px;line-height:1;visibility:hidden;pointer-events:none}
.mine .message-quick-reply{justify-content:flex-end}
@media(hover:hover) and (pointer:fine){.message-row:hover .message-footer-actions>.message-time{visibility:hidden}.message-row:hover .message-quick-reply{visibility:visible;pointer-events:auto}}
.message-footer-actions:focus-within>.message-time{visibility:hidden}.message-row .message-quick-reply:focus-visible{visibility:visible;pointer-events:auto;outline:2px solid var(--green);outline-offset:2px}.message-quick-reply:hover{color:var(--green)}
.message-bubble>.message-reply-quote{display:block;width:100%;max-width:100%;border:0;border-left:3px solid var(--green);border-radius:4px;background:#ffffff65;color:var(--ink);padding:6px 9px;margin:0 0 9px;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.message-reply-quote strong{display:block;font-size:11px;color:var(--green);font-weight:600}.message-reply-quote span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;color:var(--muted)}.message-reply-quote:disabled{opacity:1;cursor:default}
.chat-reply-mode{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--light);border-left:3px solid var(--green);padding:9px 12px}.chat-reply-mode>div{min-width:0}.chat-reply-mode strong{display:block;font-size:12px}.chat-reply-mode small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--muted)}.chat-reply-mode>.quiet{font-size:22px;min-width:32px;min-height:32px}
.reply-highlight .message-bubble{outline:2px solid var(--green);outline-offset:3px}
