/* Кнопка оформления использует те же цвета и размеры, что действия редактора. */
.post-composer-format-toggle {
  flex: 0 0 auto;
  border: 0;
  border-radius: 0.65rem;
  background: var(--vmesta-surface, transparent);
  color: var(--vmesta-accent, currentColor);
  font: inherit;
  font-weight: 700;
  min-width: 2.5rem;
  min-height: 2.5rem;
  cursor: pointer;
}
.post-composer-format-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
/* Общий вид блока кода и скопированного моноширинного фрагмента. */
.vmesta-text-copy.vmesta-text-code {
  display: block;
  max-width: 100%;
  margin-block: .3em;
  overflow: auto;
  border-radius: .55em;
  background: color-mix(in srgb, var(--bg-card, #222) 75%, #000);
}
.vmesta-text-code .vmesta-code-header {
  display: block;
  padding: .3em .65em;
  background: color-mix(in srgb, var(--theme-accent, #ff9500) 22%, transparent);
  font-size: .8em;
}
.vmesta-text-code code { display: block; padding: .55em .75em; white-space: pre-wrap; overflow-wrap: anywhere; }
.vmesta-text-copy.vmesta-text-mono { padding-inline: .18em; border-radius: .2em; background: color-mix(in srgb, currentColor 12%, transparent); }
.vmesta-text-copy:active { background: color-mix(in srgb, var(--theme-accent, #ff9500) 30%, transparent); }
/* Мягкое движение на скрытом тексте, без нагрузки при уменьшении анимации. */
.vmesta-text-spoiler[aria-expanded="false"] {
  background-image: radial-gradient(circle at 20% 35%, #fff9 1px, transparent 1.5px), radial-gradient(circle at 80% 65%, #fff8 1px, transparent 1.5px);
  background-size: 13px 13px, 19px 19px;
  animation: vmesta-text-stars177 5s linear infinite;
}
@keyframes vmesta-text-stars177 {
  to { background-position: 13px 13px, -19px 19px, 63px -47px; }
}
@media (prefers-reduced-motion: reduce) {
  .vmesta-text-spoiler[aria-expanded="false"] { animation: none; }
}
/* Диалог остаётся в видимой области при раскрытии системной клавиатуры. */
.vmesta-format-overlay { box-sizing: border-box; }
.vmesta-format-overlay .vmesta-format-menu { box-sizing: border-box; max-height: min(80dvh, 100%); }
@media (max-width: 600px) {
  .vmesta-format-overlay .vmesta-format-menu { max-height: min(80dvh, 100%); }
}

/* Код и копируемый монофрагмент выделяются цветом активной темы. */
.vmesta-text-copy.vmesta-text-code { border-left: 3px solid var(--theme-accent, #ff9500); }
.vmesta-text-copy.vmesta-text-mono { background: color-mix(in srgb, #4696dc 25%, transparent); }

.vmesta-text-code[data-long-code="true"][aria-expanded="false"] code { line-height: 1.4em; max-height: 21em; overflow: hidden; }
.vmesta-code-expand { border: 0; background: transparent; color: var(--theme-accent, #ff9500); cursor: pointer; padding: .3em .7em; }

/* Моно выделено самим цветом букв; фон остаётся прозрачным. */
.vmesta-text-copy.vmesta-text-mono,
.vmesta-text-copy.vmesta-text-mono:active {
  background: transparent; padding-inline: 0;
  color: var(--theme-accent, #ff9500);
}
/* Мелкое звёздное поле движется, пока текст скрыт. */
.vmesta-text-spoiler[aria-expanded="false"] {
  color: transparent;
  background-color: color-mix(in srgb, var(--bg-card, #222) 72%, #52645c);
  background-image: radial-gradient(circle at 20% 30%, #fff9 .55px, transparent 1px), radial-gradient(circle at 70% 65%, #fff7 .55px, transparent 1px), radial-gradient(circle at 50% 50%, #f8a143 1px, transparent 1.5px);
  background-size: 11px 13px, 17px 19px, 63px 47px;
}
/* Кавычки видимы, но не меняют исходный копируемый текст. */



/* Декоративный значок цитаты не добавляется в копируемый текст. */
.vmesta-quote-end::after { content: ""; display: inline-block; width: .85em; height: .85em; margin-inline-start: .3em; background: var(--theme-accent, #ff9500); mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M4 11V7a3 3 0 0 1 3-3h2v3H7v3h3v5H7l-2 4H3l2-4H4zm10 0V7a3 3 0 0 1 3-3h2v3h-2v3h3v5h-3l-2 4h-2l2-4h-1z%22/%3E%3C/svg%3E") center / contain no-repeat; }
/* Меню выделения: только поля, поддерживающие оформление. */
.vmesta-format-overlay .vmesta-format-menu{width:min(360px,calc(100vw - 32px));min-width:0;overflow:hidden;border-radius:18px;background:var(--bg-card,#2c211b);color:var(--text-main,#fff);box-shadow:0 12px 36px #0006}
.vmesta-format-overlay .vmesta-format-menu header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.vmesta-format-overlay .vmesta-format-menu header button{width:36px;height:36px;flex:none;border:0;border-radius:12px;font-size:25px;line-height:1;background:var(--bg-secondary,#423127);color:var(--theme-accent,#ff9500)}
.vmesta-format-overlay .vmesta-format-commands{display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden;padding:0 10px 12px;max-height:min(65dvh,520px)}
.vmesta-format-overlay .vmesta-format-commands button{display:block;width:100%;min-width:0;text-align:left;min-height:44px;padding:10px 14px;border:0;border-radius:12px;background:var(--bg-secondary,#423127);color:var(--theme-accent,#ff9500);font:inherit;cursor:pointer}
.vmesta-format-overlay .vmesta-format-commands button:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
@media (hover:hover) and (pointer:fine){.vmesta-format-context-ready .messenger-format-trigger,.vmesta-format-context-ready .post-composer-format-toggle{display:none!important}}

.vmesta-format-overlay .vmesta-format-commands button:has(.vmesta-format-icon){display:flex;align-items:center;gap:12px}
.vmesta-format-icon,.vmesta-format-icon svg{display:block;width:20px;height:20px;flex:none}

/* Возвращаем полю ввода место скрытой кнопки на большом экране. */
@media (hover:hover) and (pointer:fine){html:root body .messenger-composer:not(.is-recording):has(> .messenger-format-trigger){grid-template-columns:auto minmax(0,1fr) auto auto!important}html:root body .messenger-composer:not(.is-recording):has(> .messenger-format-trigger):has(> .messenger-sender-identity),html:root body .messenger-composer:not(.is-recording)[data-vm-rel-13]:has(> .messenger-format-trigger){grid-template-columns:auto auto minmax(0,1fr) auto auto!important}}
/* Компактный список Aa располагается над полем и не затемняет экран. */
.vmesta-format-overlay.vmesta-format-inline{background:transparent;display:block}.vmesta-format-inline .vmesta-format-menu{position:absolute;left:8px;bottom:8px;display:flex;flex-direction:column;max-height:70%;width:min(300px,calc(100% - 16px))}.vmesta-format-inline .vmesta-format-commands{min-height:0;flex:1;overflow:auto}.vmesta-format-inline .vmesta-format-menu header{padding:8px 10px}.vmesta-format-inline .vmesta-format-commands button{min-height:40px;padding:8px 10px}

/* Обсуждение находится поверх чата: общие правила страницы не должны сдвигать окно. */
html:root body.channel-discussion140-open #messages-root .messenger-conversation{position:fixed!important;inset:24px max(24px,calc((100vw - 900px)/2))!important;width:auto!important;height:auto!important;max-height:none!important;z-index:2147481100!important;border-radius:18px!important}
html:root body.channel-discussion140-open #messages-root .messenger-conversation .messenger-room-message-avatar .messenger-avatar{display:block;width:30px;height:30px;overflow:hidden;border-radius:9px}
html:root body.channel-discussion140-open #messages-root .messenger-conversation .messenger-room-message-avatar img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){html:root body.channel-discussion140-open #messages-root .messenger-conversation{inset:0!important;width:100%!important;height:100dvh!important;border-radius:0!important}}

/* Явные ячейки не зависят от скрытой кнопки форматирования и старых атрибутов. */
@media (hover:hover) and (pointer:fine){
html:root body.messages-route #messages-root .messenger-composer:not(.is-recording):has(> .messenger-format-trigger){grid-template-columns:auto minmax(0,1fr) auto auto!important}
html:root body.messages-route #messages-root .messenger-composer:not(.is-recording):has(> .messenger-format-trigger):has(> .messenger-sender-identity){grid-template-columns:auto auto minmax(0,1fr) auto auto!important}
html:root body.messages-route #messages-root .messenger-composer:not(.is-recording):has(> .messenger-format-trigger)>#messenger-input{grid-column:2!important;width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important}
html:root body.messages-route #messages-root .messenger-composer:not(.is-recording):has(> .messenger-format-trigger):has(> .messenger-sender-identity)>#messenger-input{grid-column:3!important}
html:root body.messages-route #messages-root .messenger-attach-menu button{grid-template-columns:2.1rem minmax(0,1fr)!important;min-width:0!important}
html:root body.messages-route #messages-root .messenger-attach-menu button>i{width:2.1rem!important;height:2.1rem!important;min-width:2.1rem!important}
html:root body.messages-route #messages-root .messenger-attach-menu button>i svg{width:1.2rem!important;height:1.2rem!important;max-width:none!important;flex:none!important}
}
