.rt-bar { display: flex; gap: 1px; align-items: center; background: var(--panel2);
  border: 1px solid var(--border); border-bottom: none; border-radius: 10px 10px 0 0;
  padding: 5px 9px; flex-wrap: wrap; }
.rt-bar button { border: none; background: transparent; padding: 4px 8px; font-size: 13px;
                 border-radius: 6px; color: var(--text);
                 min-width: 26px; min-height: 26px; } /* WCAG 2.2 target ≥24px */
.rt-bar button:hover { background: var(--panel); }
.rt-bar .spacer { flex: 1; }
.rt-sep { width: 1px; height: 16px; background: var(--border); margin: 0 5px; }
.rt-count { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums;
            padding-left: 8px; }
/* лимит подписи под медиа: «N / 1024 · с фото»; длиннее — текст уйдёт отдельным сообщением */
.rt-count .rt-cnt-note { color: var(--text-faint); font-size: 10px; padding: 1px 6px; margin-left: 2px;
  border: 1px solid var(--border); border-radius: 999px; }
.rt-count.warn { color: var(--warn-text); font-weight: 600; }
.rt-count.warn .rt-cnt-note { color: var(--warn-text); border-color: color-mix(in srgb, var(--warn) 45%, transparent); }
.rt-count.over { color: var(--danger); font-weight: 700; }
.rt-cap-hint { color: var(--warn-text); background: color-mix(in srgb, var(--warn) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--warn) 35%, transparent); border-radius: 8px;
  padding: 6px 10px; margin-top: 6px; }
.rt-cap-hint.over { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent);
  border-color: color-mix(in srgb, var(--danger) 35%, transparent); }
.rt-bar .vars { position: relative; }
.rt-bar .vars > button { color: var(--muted); font-weight: 600; font-size: 12px; }
.rt-bar + .richtext { border-radius: 0 0 10px 10px; }

/* rich text editor */
.richtext {
  min-height: 140px; background: var(--bg); color: var(--text);
  border: 1px solid var(--border); border-radius: 8px; padding: 9px 11px;
  font-size: 14px; white-space: pre-wrap; outline: none; overflow-wrap: anywhere;
}
.richtext:focus { border-color: var(--accent); }
.richtext a { color: var(--accent); }
.richtext code { background: var(--panel2); padding: 1px 4px; border-radius: 4px;
                 font-family: ui-monospace, monospace; font-size: 13px; }
.richtext tg-spoiler { background: var(--panel2); border-bottom: 1px dashed var(--muted);
                       border-radius: 3px; padding: 0 2px; }
.richtext tg-emoji { outline: 1px dashed var(--accent); border-radius: 4px; padding: 0 1px; }
.richtext blockquote { border-left: 3px solid var(--accent); margin: 4px 0; padding: 2px 9px;
                       color: var(--muted); }
#rtToolbar {
  position: fixed; z-index: 50; display: none; gap: 1px;
  background: var(--panel2); border: 1px solid var(--border); border-radius: 10px;
  padding: 4px; box-shadow: 0 8px 24px rgba(0,0,0,.5);
}
#rtToolbar button { border: none; background: transparent; padding: 4px 9px;
                    font-size: 13px; border-radius: 6px; }
#rtToolbar button:hover { background: var(--panel); }
.emoji-pal { display: none; flex-wrap: wrap; gap: 2px; background: var(--panel2);
             border: 1px solid var(--border); border-radius: 10px; padding: 7px; margin-top: 7px; }
.emoji-pal.open { display: flex; }
.emoji-pal button { border: none; background: transparent; font-size: 19px; padding: 2px 5px; }
.emoji-pal button:hover { background: var(--panel); border-radius: 6px; }

/* ИИ-помощник */
.ai-panel { display: none; background: var(--panel2); border: 1px solid var(--border);
  border-radius: 10px; padding: 11px; margin-top: 8px; }
.ai-panel.open { display: block; }
.ai-panel textarea { min-height: 64px; }
.ai-out { background: var(--bg); border: 1px solid var(--border); border-radius: 8px;
  padding: 10px 12px; margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-out b { font-weight: 700; }
.ai-chip { display: inline-flex; gap: 5px; align-items: center; }

/* предпросмотр: медиа и длинный текст — двумя сообщениями, как пришлёт Telegram */
.tg-bubble.tg-next { margin-top: 4px; border-radius: 14px 14px 14px 4px; }
