.funnel-message-editor { border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); overflow: hidden; min-width: 0; }
.funnel-message-editor:focus-within { border-color: var(--accent); }
.funnel-message-toolbar { display: flex; gap: 4px; padding: 6px 8px; border-bottom: 1px solid var(--border); background: var(--ivory); }
.funnel-message-tool.btn { width: 34px; height: 34px; min-height: 34px; padding: 0; border-radius: var(--r-button); font-size: 16px; }
.funnel-message-tool[data-command="bold"] { font-weight: 700; }
.funnel-message-tool[data-command="italic"] { font-style: italic; }
.funnel-message-tool[data-command="underline"] { text-decoration: underline; }
.funnel-message-tool[data-command="strikeThrough"] { text-decoration: line-through; }
.funnel-message-tool[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); }
.funnel-message-body.textarea { display: block; min-height: 112px; padding: 12px; border: 0; border-radius: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 16px; line-height: 1.5; box-shadow: none; }
.funnel-message-body:empty::before { content: attr(data-placeholder); color: var(--text-3); pointer-events: none; }
.funnel-message-body a { color: var(--accent); text-decoration: underline; }
.funnel-message-hint { padding: 0 12px 12px; margin: 0; font-size: 12px; line-height: 1.45; color: var(--text-2); }
.funnel-message-link-dialog { width: min(420px, calc(100vw - 32px)); padding: 24px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); color: var(--text); box-shadow: var(--shadow-md); }
.funnel-message-link-dialog::backdrop { background: rgb(17 24 39 / 35%); }
.funnel-message-link-dialog h3 { margin: 0 0 18px; }
.funnel-message-link-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.funnel-message-link-error { color: var(--danger); font-size: 13px; }
.funnel-message-tool:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
